def api_apply_advert(advert_id): candidate = request.json validate('advert_application', candidate) apply_advert(advert_id, **candidate) return {'submitted': True}
def sign_in_company(): data = request.json validate('sign_in_company', data) data = request.json hm_data = { "username": data.get('hm_email'), "password": data.get('hm_password'), "first_name": data.get('hm_first_name'), "last_name": data.get('hm_last_name'), "title": data.get('hm_title') } company_user = user.create_user(user_type=UserType.HIRING_MANAGER, **hm_data) company_data = { "name": data.get('company_name'), "description": data.get('company_description'), "contacts": { "email": data.get('hm_email') } } created_company = company.create_company_hiring_manager( admin_user_id=company_user['_id'], **company_data) return get_company(created_company['_id'])
def create_company(): identity = get_jwt_identity() data = request.json validate('create_company', data) return company.create_company_admin(admin_user_id=identity['username'], **data)
def api_edit_job(job_id): data = request.json identity = get_jwt_identity() job = get_job(job_id) if identity['role'] != UserType.ADMIN and \ any(adv['status'] != AdvertStatus.DRAFT for adv in job['adverts']): raise ActionNotAllowed("User not allowed to edit an approved advert") validate('edit_job', data) return edit_job(_id=job_id, **data)
def assert_validate_json_schema(json_schema_name, data): try: validate(json_schema_name, data) except Exception as e: assert False, "The provided data is not a valid `{schema}`: {msg}"\ .format(schema=json_schema_name, msg=str(e))
def api_create_job(): data = request.json validate('create_job', data) return create_job(**data)