kassa added

This commit is contained in:
2022-01-20 16:28:05 +09:00
parent 5c71aef5bf
commit 831bb26887
10 changed files with 775 additions and 10 deletions

View File

53
kassa/cruds/doc.py Normal file
View File

@ -0,0 +1,53 @@
from ast import Dict
from sqlalchemy.orm import Session
import schemas
import models
def create_doc(db: Session, doc: schemas.Doc, external_id: str = None):
d = doc.dict()
external_id = external_id.lower()
doc_query = db.query(models.Doc).filter(
models.Doc.external_id == external_id)
error = d.pop('error', None)
payload = d.pop('payload', None)
warnings = d.pop('warnings', None)
if error:
create_error(db, error, external_id)
if payload:
create_payload(db, payload, external_id)
if doc_query.first():
doc_query.update(values=d)
else:
doc_query = models.Doc(**d)
db.add(doc_query)
db.commit()
def create_error(db: Session, error: schemas.Error, external_id: str = None):
err = error
err['external_id'] = external_id
err_query = db.query(models.Error).filter(
models.Error.external_id == external_id)
if err_query.first():
err_query.update(values=err)
else:
err_query = models.Error(**err, synchronize_session=False)
db.add(err_query)
db.commit()
def create_payload(db: Session, payload: schemas.Payload, external_id: str = None):
pay = payload
payload_query = db.query(models.Payload).filter(
models.Payload.external_id == external_id)
if payload_query.first():
payload_query.update(pay, synchronize_session=False)
else:
pay['external_id'] = external_id
model = models.Payload(**pay)
db.add(model)
db.commit()

0
kassa/cruds/sell.py Normal file
View File