MCPcopy Index your code
hub / github.com/diffgram/diffgram / task_update_api

Function task_update_api

default/methods/task/task/task_update.py:10–72  ·  view source on GitHub ↗

()

Source from the content-addressed store, hash-verified

8 methods = ['POST'])
9@limiter.limit("1 per second, 50 per minute, 500 per day")
10def task_update_api():
11 """
12
13 """
14 spec_list = [
15 {'task_id': {
16 'kind': int,
17 'permission': 'task'
18 }
19 },
20 {'task_ids': {
21 'kind': list,
22 'permission': 'task',
23 'required': False
24 }
25 },
26 {'mode': {
27 'kind': str,
28 'valid_values_list': ['toggle_deferred', 'incomplete']
29 }
30 },
31 {'status': {
32 'kind': str,
33 'valid_values_list': ['archived']
34 }
35 }
36 ]
37
38 log, input, untrusted_input = regular_input.master(request = request,
39 spec_list = spec_list)
40 if len(log["error"].keys()) >= 1:
41 return jsonify(log = log), 400
42
43 with sessionMaker.session_scope() as session:
44 task_list = []
45
46 member = get_member(session = session)
47
48 if input['task_id']:
49 task = Task.get_by_id(session = session,
50 task_id = input['task_id'])
51 task_list.append(task)
52 else:
53 task_list = Task.list(
54 session = session,
55 task_ids = input['task_ids']
56 )
57 for task in task_list:
58 Permission_Task.by_task_id_core(task.id)
59 task_update = Task_Update(
60 session = session,
61 task = task,
62 mode = input['mode'],
63 member = member,
64 status = input['status']
65 )
66
67 task_update.main()

Callers

nothing calls this directly

Calls 6

mainMethod · 0.95
Task_UpdateClass · 0.90
get_memberFunction · 0.85
by_task_id_coreMethod · 0.80
get_by_idMethod · 0.45
listMethod · 0.45

Tested by

no test coverage detected