class Veiculo(BaseModel): """ Representa base de veiculos cadastrados das pessoas do condominio. """ id_owner = peewee.IntegerField() # Foreign key (locador ou locatario) license_plate = peewee.CharField(null=False) color = peewee.CharField(null=False) vehicle_type = peewee.CharField()
class Visitante(BaseModel): """ Representa base de visitantes cadastrados """ visitor_name = peewee.CharField(null=False) visitor_email = peewee.CharField() visitor_cpf = peewee.CharField(null=False) visitor_phone = peewee.CharField(null=False) visitor_address = peewee.CharField()
class Locacao(BaseModel): """ Representa base de dados sobre a locação do imovel teremos 3 chaves estrangeiras: locador, locatario, imovel """ id_locador = peewee.IntegerField() # foreign key id_locatario = peewee.IntegerField() # foreign key id_imovel = peewee.IntegerField() # foreign key initial_date = peewee.CharField(null=False) finish_date = peewee.CharField(null=False) rented_value = peewee.DoubleField(null=False)
class Materiais(BaseModel): """ Representa base de estoque de materias do condominio """ product_name = peewee.CharField(null=False) product_qtd = peewee.IntegerField(default=0)
class Pessoa(BaseModel): """ Representa base de pessoas independente se é locatario ou locador """ name = peewee.CharField(null=False) email = peewee.CharField() cpf = peewee.CharField(null=False) nacionality = peewee.CharField() phone = peewee.CharField(null=False) birthday = peewee.CharField() costumer_type = peewee.CharField() sex = peewee.CharField()
class Owner(BaseModel): """ Classe que representa um proprietário de imóvel dentro da aplicação """ owner_name = peewee.CharField() cpf = peewee.CharField() email = peewee.CharField() telephone = peewee.CharField() sex = peewee.CharField() birthday = peewee.DateField() nationality = peewee.CharField(null=True) type_person = peewee.CharField() address = peewee.ForeignKeyField(Address)
class Address(BaseModel): """ Representa um endereço, seja de imóvel, proprietário ou locatário na aplicação. """ address = peewee.CharField() number = peewee.IntegerField() cep = peewee.CharField() complement = peewee.CharField(null=True) state = peewee.CharField() city = peewee.CharField() neighborhood = peewee.CharField()