29 lines
1.2 KiB
Python
29 lines
1.2 KiB
Python
|
from dataclasses import dataclass
|
||
|
import uuid
|
||
|
from sqlalchemy import ForeignKey, Integer, Numeric, Uuid, Boolean, Column, String, Enum
|
||
|
|
||
|
from app.database import Base
|
||
|
from app.schemas.chargepoint_variable import AttributeType, MutabilityType, DataType
|
||
|
|
||
|
@dataclass
|
||
|
class ChargepointVariable(Base):
|
||
|
__tablename__ = "chargepoint_variables"
|
||
|
|
||
|
id = Column(Uuid, primary_key=True, default=uuid.uuid4)
|
||
|
name = Column(String)
|
||
|
type = Column(Enum(AttributeType), default=AttributeType.ACTUAL)
|
||
|
value = Column(String, nullable=True)
|
||
|
mutability = Column(Enum(MutabilityType), default=MutabilityType.READ_WRITE)
|
||
|
persistent = Column(Boolean, default=False)
|
||
|
constant = Column(Boolean, default=False)
|
||
|
unit = Column(String, nullable=True)
|
||
|
data_type = Column(Enum(DataType), nullable=True)
|
||
|
min_limit = Column(Numeric, nullable=True)
|
||
|
max_limit = Column(Numeric, nullable=True)
|
||
|
values_list = Column(String, nullable=True)
|
||
|
component_name = Column(String)
|
||
|
component_instance = Column(String, nullable=True)
|
||
|
evse = Column(Integer, nullable=True)
|
||
|
connector_id = Column(Integer, nullable=True)
|
||
|
|
||
|
chargepoint_id = Column(Uuid, ForeignKey("chargepoints.id"), index=True)
|