def post_employee(): req = Req().request req.add_argument('employee') reqargs = req.parse_args() resp = Resp().response if not reqargs['employee']: resp['meta']['code'] = 403 resp['meta']['description'] = 'incorrect request' return jsonify(resp), 403 employee = Employee() if not employee.create( json.loads(reqargs['employee'].replace("'", '"'))): resp['meta']['code'] = 404 resp['meta'][ 'description'] = 'column not found/failed/login already exists' return jsonify(resp), 404 employee.id_registered_by = g.employee.id_employee try: g.db_session.add(employee) g.db_session.commit() except sqlalchemy.exc.IntegrityError as ex: log.warning('resources.Employees.post_employee(): ' + str(ex)) if 'UNIQUE constraint failed: employees.login' in str(ex): resp['meta']['code'] = 403 resp['meta']['description'] = 'login already exist' return jsonify(resp), 403 else: resp['meta']['code'] = 403 resp['meta']['description'] = str(ex) return jsonify(resp), 403 resp['meta']['description'] = 'success' resp['content']['id_employee'] = employee.id_employee return jsonify(resp), 200
from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from models.base import Base from util.config import app_config from models.employee import Employee from models.client import Client from models.season_ticket import SeasonTicket engine = create_engine(app_config.db_path, echo=False) Session = sessionmaker(bind=engine) if __name__ == "__main__": Base.metadata.create_all(engine) session = Session() employee = Employee() employee.create( dict(login='******', password='******', role='admin', status='active', name='aaa', surname='bbb', patronymic='ccc')) employee.id_registered_by = 1 session.add(employee) session.commit() session.close()