from cpl.database import TableABC from .city_model import CityModel class UserModel(TableABC): def __init__(self, name: str, city: CityModel, id=0): self.UserId = id self.Name = name self.CityId = city.CityId if city is not None else 0 self.City = city @staticmethod def get_create_string() -> str: return str( f""" CREATE TABLE IF NOT EXISTS `User` ( `UserId` INT(30) NOT NULL AUTO_INCREMENT, `Name` VARCHAR(64) NOT NULL, `CityId` INT(30), FOREIGN KEY (`UserId`) REFERENCES City(`CityId`), PRIMARY KEY(`UserId`) ); """ ) @property def insert_string(self) -> str: return str( f""" INSERT INTO `User` ( `Name` ) VALUES ( '{self.Name}' ); """ ) @property def udpate_string(self) -> str: return str( f""" UPDATE `User` SET `Name` = '{self.Name}', `CityId` = {self.CityId}, WHERE `UserId` = {self.UserId}; """ ) @property def delete_string(self) -> str: return str( f""" DELETE FROM `User` WHERE `UserId` = {self.UserId}; """ )