()
| 16 | @limiter.limit("10 per day") |
| 17 | @General_permissions.grant_permission_for(['normal_user']) |
| 18 | def builder_enable_api(): |
| 19 | user_email = None |
| 20 | |
| 21 | with sessionMaker.session_scope() as session: |
| 22 | |
| 23 | log = {} |
| 24 | log['success'] = False |
| 25 | log['error'] = {} |
| 26 | |
| 27 | data = request.get_json(force = True) # Force = true if not set as application/json' |
| 28 | |
| 29 | user = User.get(session) |
| 30 | |
| 31 | # TODO test mode to disable this check |
| 32 | |
| 33 | # if user.api_enabled_builder is True: |
| 34 | # log['error']['general'] = "Already enabled." |
| 35 | # return jsonify(log = log), 200 |
| 36 | |
| 37 | first_name = data.get('first_name', None) |
| 38 | last_name = data.get('last_name', None) |
| 39 | # phone_number = data.get('phone_number', None) |
| 40 | how_hear_about_us = data.get('how_hear_about_us', None) |
| 41 | city = data.get('city', None) |
| 42 | company = data.get('company', None) |
| 43 | how_many_data_labelers = data.get('how_many_data_labelers') |
| 44 | |
| 45 | |
| 46 | # TODO shared validation with update / edit methods |
| 47 | # if not account_edit.valid_name() |
| 48 | |
| 49 | if not first_name: |
| 50 | log['error']['first_name'] = "Please provide your first name" |
| 51 | |
| 52 | if not last_name: |
| 53 | log['error']['last_name'] = "Please provide your last name" |
| 54 | |
| 55 | # if not phone_number: |
| 56 | # log['error']['phone_number'] = "Please provide your phone number" |
| 57 | |
| 58 | if not city: |
| 59 | log['error']['city'] = "Please provide your city" |
| 60 | |
| 61 | if not company: |
| 62 | log['error']['company'] = "Please provide your company name" |
| 63 | |
| 64 | if not first_name or not last_name or not city or not company: |
| 65 | return jsonify(log = log), 200 |
| 66 | |
| 67 | # TODO validation |
| 68 | |
| 69 | session.add(user) |
| 70 | |
| 71 | # User update |
| 72 | user.first_name = first_name |
| 73 | user.last_name = last_name |
| 74 | # user.phone_number = phone_number |
| 75 | user.how_hear_about_us = how_hear_about_us |
nothing calls this directly
no test coverage detected