def create_division(t_id): if not request.json: abort(400) if not all( len(val.strip()) >= 1 for val in request.json.values() if isinstance(val, unicode)): return length_require_envelop() _result = {'name', 'code'} - set(request.json.keys()) if _result: return keys_require_envelop('Key: %r is require' % ', '.join(_result)) request.json['display_name'] = request.json['name'].strip() request.json['name'] = request.json['name'].strip().lower() #inject the id request.json['division_type_id'] = t_id try: db_session.add(Division(**request.json)) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_created_envelop(request.json)
def create_employee_extra(id): #cheek to see if ther is json if not request.json: abort(400) #if there is json, if there are required fields required_keys = set(col.name for col in EmployeeExtra.__mapper__.columns) - {'id', 'employee_id'} #keys from the rquest object result = request.json.keys() - required_keys #if there is extra remaining keys , abort if result: return extra_keys_envelop('keys not accepeted %r' % result) #check to see if there are any valuekjdhflkjadsfaklsdhfkajsds less than 1 if not all(len(str(val).strip())>=1 for val in request.json.values()): return length_require_envelop() #clearn up the dictionary json_vals = {key : val.strip() if isinstance(val, str) else val for key, val in request.json.items()} #try to insert to database try: db_session.add(EmployeeExtra(**json_vals, employee_id=id)) db_session.commit() except IntegrityError as e: return record_exists_envelop() except Exception as e: raise e return fatal_error_envelop() else: return record_created_envelop(request.json)
def update_agencytype(id): if not request.json: abort(400) #check to see if ther eis empty field if not all(len(val.strip()) >= 1 for val in request.json.values()\ if isinstance(val, str)): return length_require_envelop() if 'name' in request.json: request.json['display_name'] = request.json['name'].strip() request.json['name'] = request.json['name'].lower().strip() if 'code' in request.json: request.json['code'] = request.json['code'].strip() try: db_session.query(AgencyType).filter(AgencyType.id == id).update( request.json) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_updated_envelop(request.json)
def create_emp_position(): if not request.json: abort(401) required_fields = set(col.name for col in EmployeePosition.__mapper__.columns) - {'id', 'emp_pos_title_display_name', 'del_flag'} extra_fields = set(request.json) - required_fields if extra_fields: return extra_keys_envelop('Unknown Keys : %s' % ', '.join(key for key in extra_fields)) _required = required_fields - set(request.json) if _required: return missing_keys_envelop('Required Keys : %s' % ', '.join(key for key in _required)) #check to see if there is any blank if not all(len(val.strip()) >= 1 for key, val in request.json.items() if isinstance(val, str)): return length_require_envelop() #inject request.json['emp_pos_title_display_name'] = request.json['emp_pos_title'] request.json['emp_pos_title'] = request.json['emp_pos_title'].lower().strip() #initiate the dession try: e_type = EmployeePosition(**request.json) db_session.add(e_type) db_session.commit() except IntegrityError as e: return record_exists_envelop() except Exception as e: return fatal_error_envelop() else: return record_created_envelop(request.json)
def create_division_types(): if not request.json: abort(400) #empty check if not all( len(val.strip()) >= 1 for val in request.json.values() if isinstance(val, unicode)): return length_require_envelop() _result = {'name'} - set(request.json.keys()) if _result: return keys_require_envelop('key : name is required') request.json['display_name'] = request.json['name'].strip() request.json['name'] = request.json['name'].strip().lower() try: db_session.add(DivisionTypeSetup(**request.json)) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_created_envelop(request.json)
def add_company_detail(): if not set(request.json.keys()) == { 'name', 'currency_symbol', 'is_prefix', 'country', 'description' }: return missing_keys_envelop() if len(request.json['name']) < 4 or len( request.json['country']) < 3 or len( request.json['currency_symbol']) < 1: return length_require_envelop() #now shape up the fields name = request.json['name'].strip() currency_symbol = request.json['currency_symbol'].lower().strip() is_prefix = request.json['is_prefix'] country = request.json['country'].strip() des = request.json['description'].strip() company = CompanyDetail(name=name, currency_symbol=currency_symbol, is_prefix=is_prefix, country=country, description=des) try: db_session.add(company) db_session.commit() except IntegrityError as e: return record_exists_envelop() else: return record_created_envelop(request.json)
def _wrapper(*args, **kwargs): fields_db = set(col.name for col in model.__mapper__.columns) if not request.json: abort(400) required_keys = fields_db - set(_exclude) if _exclude else set() result = request.json.keys() - required_keys if result: return extra_keys_envelop('Keys not Accepeted %r' % (', '.join(key for key in result))) #check if there are any missing keys if not all(len(str(val).strip()) >= 1 for val in request.json.values()): return length_require_envelop() #everythin is okay return the function return func(*args, **kwargs)
def create_langauge(): if not request.json: abort(400) if not all( len(val.strip()) >= 1 for val in request.json.values() if isinstance(val, unicode)): return length_require_envelop() try: db_session.add(Language(**request.json)) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_created_envelop(request.json)
def create_employee_addresses(e_id): if not request.json: abort(400) if not all( len(val.strip()) >= 1 for val in request.json.values() if isinstance(val, unicode)): return length_require_envelop() request.json['employee_id'] = e_id try: db_session.add(EmployeeAddress(**request.json)) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_created_envelop(request.json)
def update_division_position(id): if not request.json: abort(400) if not all( len(val.strip()) >= 1 for val in request.json.values() if isinstance(val, unicode)): return length_require_envelop() try: db_session.query(DivisionPosition).filter( DivisionPosition.id == id).update(request.json) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_updated_envelop(request.json)
def create_facilities_by_facility_type(f_id): if not request.json: abort(400) #check to see if there is empty fileds if not all(len(val.strip()) >= 1 for val in request.json.values()\ if isinstance(val, str)): return length_require_envelop() #now see if if mandatory fields are not provided _required_keys = { 'district_id', 'province_id', 'region_id', 'agency_id', 'facility_name', 'facility_code' } _remaining = _required_keys - set(request.json.keys()) if _remaining: return keys_require_envelop('Missing Keys %s' % ', '.join(_remaining)) #now change facility display_name request.json['facility_display_name'] = request.json[ 'facility_name'].strip() request.json['facility_name'] = request.json['facility_name'].lower( ).strip() #now inject the facility type id request.json['facility_type_id'] = f_id #now initiate the session try: db_session.add(Facility(**request.json)) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_created_envelop(request.json)
def create_division_position(): '''This will create a new position for each individual division inside the facilitiy''' if not request.json: abort(400) if not all( len(val.strip()) >= 1 for val in request.json.values() if isinstance(val, unicode)): return length_require_envelop() #now make the request try: db_session.add(DivisionPosition(**request.json)) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_created_envelop(request.json)
def update_agency(a_id): #checck to see if there is json data if not request.json: abort(400) db_fields = set( col.name for col in Branch.__mapper__.columns) - {'id', 'is_branch'} result = set(request.json.keys()) - db_fields if result: return extra_keys_envelop('Keys not accepted %r' % (', '.join(key for key in result))) #now check if there are any missing values whose length is less than 2 if not all(len(str(val).strip()) >= 1 for val in request.json.values()): return length_require_envelop() json_request = dict(copy.deepcopy(request.json)) facility_display_name = request.json.get('facility_name', None) if facility_display_name is not None: facility_name = facility_display_name.strip().replace(' ', '').lower() json_request['facility_name'] = facility_name json_request['facility_display_name'] = facility_display_name.strip() inner = ', '.join('{:s} = {!r}'.format(key, val) for key, val in json_request.items()) query = '''UPDATE branches SET {:s} where id = {:d}'''.format(inner, a_id) print(query) with engine.connect() as con: try: con.execute(query) except IntegrityError as e: return record_exists_envelop() except Exception as e: raise return fatal_error_envelop() else: return record_updated_envelop(json_request)
def update_facility_division(f_id, fd_id): if not request.json: abort(400) if not all( len(val.strip()) >= 1 for val in request.json.values() if isinstance(val, unicode)): return length_require_envelop() #inject the value into the json try: db_session.query(FacilityDivision).filter( FacilityDivision.id == fd_id).update(request.json) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_updated_envelop(request.json)
def create_agency(): if not request.json: abort(400) #check to see if there is empty fields if not all( len(val.strip()) >= 1 for val in request.json.values() if isinstance(val, str)): return length_require_envelop() if 'name' in request.json: request.json['display_name'] = request.json['name'].strip() request.json['name'] = request.json['name'].lower().strip() try: db_session.add(Agency(**request.json)) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_envelop_envelop() else: return record_created_envelop(request.json)
def create_facility_type(): if not request.json: abort(400) if not all( len(val.strip()) >= 1 for val in request.json.values() if isinstance(val, str)): return length_require_envelop() if 'name' in request.json: request.json['display_name'] = request.json['name'].strip() request.json['name'] = request.json['name'].strip().lower() try: db_session.add(FacilityType(**request.json)) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_created_envelop(request.json)
def wrapper(*args, **kwargs): if not request.json: abort(400) db_fields = set(col.name for col in model.__mapper__.columns) required_fields = db_fields - set( exclude) if exclude is not None else set() result = set(request.json.keys()) - required_fields if result: return extra_keys_envelop('Keys not accepted : {!r}'.format( ', '.join(key for key in result))) #now check if there are empty fields if not all( len(str(val).strip()) >= 1 for val in request.json.values()): return length_require_envelop() #if everythin is fine then return the function return func(*args, **kwargs)
def create_emp_apptype(): #lower case the facility name if not request.json: abort(400) if 'name' not in request.json: return missing_keys_envelop() if not all(len(val.strip()) >= 1 for key, val in request.json.items()): return length_require_envelop() request.json['display_name'] = request.json['name'] request.json['name'] = request.json['name'].strip().lower() #insert into the database try: rel = EmployeeAppraisalType(**request.json) db_session.add(rel) db_session.commit() except IntegrityError as ie: return record_exists_envelop() else: return record_created_envelop(request.json)
def update_divisions_by_type(t_id, id): if not request.json: abort(400) if not all( len(val.strip()) >= 1 for val in request.json.values() if isinstance(val, unicode)): return length_require_envelop() if 'name' in request.json: request.json['display_name'] = request.json['name'].strip() request.json['name'] = request.json['name'].strip().lower() try: db_session.query(Division).filter(Division.id == id).update( request.json) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_updated_envelop(request.json)
def update_agency(id): if not request.json: abort(400) if not all(len(val.strip()) >= 1 for val in request.json.values()): return length_require_envelop() if 'name' in request.json: request.json['display_name'] = request.json['name'].strip() request.json['name'] = request.json['name'].lower().strip() if 'code' in request.json: request.json['code'] = request.json['code'].strip() try: db_session.query(Agency).filter(Agency.id == id).update(request.json) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_updated_envelop(request.json)
def create_facility_division(f_id): if not request.json: abort(400) if 'fac_div_name' not in request.json: return keys_require_envelop() if not all( len(val.strip()) >= 1 for val in request.json.values() if isinstance(val, unicode)): return length_require_envelop() #inject the value into the json request.json['facility_id'] = f_id try: db_session.add(FacilityDivision(**request.json)) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_created_envelop(request.json)
def lengthrequired(error): return length_require_envelop(), 411
def create_agencytypes(): """ This is used to create a new agency type. Call this api to create a new agency type. --- tags: - Create a Agency Type parameters: - name: language in: path type: string required: true description: The language name - name: size in: query type: integer description: size of awesomeness responses: 500: description: Error The language is not awesome! 200: description: A language with its awesomeness schema: id: awesome properties: language: type: string description: The language name default: Lua features: type: array description: The awesomeness list items: type: string default: ["perfect", "simple", "lovely"] """ if not request.json: abort(400) #check for the empty fields if not all( len(val.strip()) >= 1 for val in request.json.values() if isinstance(val, str)): return length_require_envelop() #now check if there is any extra keys from_db = set(request.json.keys()) - {'name', 'code', 'del_flag'} if from_db: return extra_keys_envelop('Extra keys : %s' % ', '.join(from_db)) required_keys = {'name', 'code'} - set(request.json.keys()) if required_keys: return keys_require_envelop('Keys required : %s' % ', '.join(required_keys)) #if everythin is fine if 'name' in request.json: request.json['display_name'] = request.json['name'].strip() request.json['name'] = request.json['name'].lower().strip() if 'code' in request.json: request.json['code'] = request.json['code'].strip() try: db_session.add(AgencyType(**request.json)) db_session.commit() except IntegrityError: return record_exists_envelop() except Exception: return fatal_error_envelop() else: return record_created_envelop(request.json)