Common package
Submodules
Common.service module
- class Common.service.Service(*args, **kwargs)
Bases:
object- init_model(tables)
- static init_orm(model_config)
- query_api(api_name, request_method, request_params={}, headers=None, body=None)
method used for api queries — api_name: registered api name in api_config request_method: “get”, “post”, “put”, “delete” request_params: request parameters headers: request headers body: request body — USAGE: api_config = { “api_name1”: “http:api1:5000/path/to/api”, “api_name2”: “http:api2:5000/path/to/api”, }
- query_db(query, args=(), retval=False)
method used for sql database queries — query: sql query args: sql query arguments retval: True for SELECT | FALSE for INSERT, DELETE, etc
- query_model(model_name)
Method used for orm database queries — USAGE: with self.query_model(<TABLE NAME>) as (conn, <TABLE>):
res = conn.execute(…)
— model_name: table name
- Common.service.default_validator(col_type, val)
- Common.service.insert_into_dict(dest, keys, vals)
- Common.service.validate(self, data, optional=False, drop=False, exclude=[])
Validator method for request body. Injected into sqlalchemy Model. — USAGE: with self.query_model(<TABLE NAME>) as (conn, <TABLE>):
verified_json_body, status = <TABLE>.validate(<REQUEST BODY>) if status:
# validation success
- else:
# validation fail
— data: json dict — Returns dict of validated values mapped to model.
- Common.service.validator(*args)
Decorator which decorates validation functions. — USAGE:
# single value validator @validator(“Reservation.user”) def reservation_date_validator(user): # example validator
- if user is cond:
return True
return False
# multiple value validator @validator(“Reservation.start_date”, “Reservation.end_date”) def reservation_date_validator(start_date, end_date): # example validator
- if start_date is cond and end_date is cond:
return True
return False