()
| 8 | methods = ['POST']) |
| 9 | @limiter.limit("1 per second, 50 per minute, 500 per day") |
| 10 | def 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() |
nothing calls this directly
no test coverage detected