Exemple #1
0
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)
Exemple #4
0
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))
Exemple #6
0
def api_create_job():
    data = request.json

    validate('create_job', data)

    return create_job(**data)