from DepositAPI.api.Api import BaseApiView
from DepositAPI.model.BaseModel import BaseModel
from DepositAPI.model.TruckProduct import TruckProduct as DBModel
from DepositAPI.api.Response import SuccessResponse
from DepositAPI.libs.db.RDbSql import DbMySql
from DepositAPI.common import Utility

class TruckProduct(BaseApiView, BaseModel):
    def __init__(self):
        self.modelClass = DBModel()
    def edit_data(self, request, pk):
        action = Utility.get_prop(request, 'ActionType', True, '')
        db = DbMySql()
        if action == 'delete':
            query_sql = f""" DELETE FROM tbl_truck_product WHERE TruckID = {pk} AND ProductID = {request.data['ProductID']};"""
            db.query(query=query_sql)
            query_sql = f""" UPDATE tbl_product SET Status = 2 WHERE ID = {request.data['ProductID']};"""
            db.query(query=query_sql)
            return SuccessResponse(data={})
        else:
            query_sql = f""" UPDATE tbl_truck_product SET NumberOfPack = {request.data['NumberOfPack']} WHERE TruckID = {request.data['TruckID']} AND ProductID = {request.data['ProductID']};"""
            db.query(query=query_sql)
            return SuccessResponse(data={})