Exemple #1
0
 def add(session: FileOperator,
         name: str,
         device: str,
         hardware: str,
         quality: str,
         grade: str,
         grade_reference: str,
         type: str,
         customer: str,
         is_enabled=True):
     # existing_products = Product.get_all(session)
     # if name in existing_products:
     #     raise KeyError(f"product '{name}' already exists")
     product = {
         "name": name,
         "device": device,
         "hardware": hardware,
         "is_enabled": is_enabled,
         "grade": grade,
         "quality": quality,
         "grade_reference": grade_reference,
         "type": type,
         "customer": customer
     }
     session.query(Types.Product())
     session.add(product)
     session.commit()
Exemple #2
0
 def get_all_for_hardware(session: FileOperator, hardware: str) -> list:
     return session.query(Types.Product())\
                   .filter(lambda Product: Product.hardware == hardware)\
                   .all()
Exemple #3
0
 def remove(session: FileOperator, name: str):
     session.query(Types.Product())\
            .filter(lambda Product: Product.name == name)\
            .delete()
     session.commit()
Exemple #4
0
 def get_for_device(session: FileOperator, device_name: str) -> list:
     return session.query(Types.Product())\
                   .filter(lambda Product: Product.device == device_name)\
                   .all()
Exemple #5
0
 def update_state(session: FileOperator, name: str, state: bool):
     product = session.query(Types.Product())\
                      .filter(lambda Product: Product.name == name)\
                      .one()
     product.is_enabled = state
     session.commit()
Exemple #6
0
 def get(session: FileOperator, name: str) -> DBObject:
     return session.query(Types.Product())\
                   .filter(lambda Product: Product.name == name)\
                   .one_or_none()
Exemple #7
0
 def get_all(session: FileOperator) -> list:
     return session.query(Types.Product()).all()