o
    di(+                     @   s0  d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 G dd de	Z
G dd	 d	e	ZG d
d de	ZG dd de	ZG dd de	ZG dd de	ZG dd de	ZG dd de	ZG dd de	ZG dd de	ZG dd de	ZG dd de	ZG dd de	ZG d d! d!e	ZG d"d# d#e	Zd$S )%    )models)master_manager)!ContactUsRequestTypeMasterManager)DocumentsPath)	BaseModelc                   @   @   e Zd ZdZejdddddZe Z	dd Z
G dd	 d	Zd
S )CountryMasteraW  
    This is the CountryMaster model.
    It represents countries in the system.

    Attributes:
        name (str): The name of the country (maximum length 150 characters).

    Meta Options:
        db_table (str): The database table name for this model.

    Methods:
        __str__(): Returns a string representation of the country.
       FT
max_lengthnullblankuniquec                 C      | j  S Nnameself r   M/var/www/html/evchargy.com/django-station-ev/station_ev/apps/master/models.py__str__      zCountryMaster.__str__c                   @      e Zd ZdZdS )zCountryMaster.MetaZcountry_masterN__name__
__module____qualname__db_tabler   r   r   r   Meta        r   N)r   r   r   __doc__r   	CharFieldr   r   ZCountryManagerobjectsr   r   r   r   r   r   r   	       r   c                   @   r   )StateMasteraN  
    This is the StateMaster model.
    It represents states in the system.

    Attributes:
        name (str): The name of the state (maximum length 150 characters).

    Meta Options:
        db_table (str): The database table name for this model.

    Methods:
        __str__(): Returns a string representation of the state.
    r	   FTr
   c                 C   r   r   r   r   r   r   r   r   8   r   zStateMaster.__str__c                   @   r   )zStateMaster.MetaZstate_masterNr   r   r   r   r   r   ;   r    r   N)r   r   r   r!   r   r"   r   r   ZStateManagerr#   r   r   r   r   r   r   r%   $   r$   r%   c                   @   r   )
CityMasteraK  
    This is the CityMaster model.
    It represents cities in the system.

    Attributes:
        name (str): The name of the city (maximum length 150 characters).

    Meta Options:
        db_table (str): The database table name for this model.

    Methods:
        __str__(): Returns a string representation of the city.
    r	   FTr
   c                 C   r   r   r   r   r   r   r   r   S   r   zCityMaster.__str__c                   @   r   )zCityMaster.MetaZcity_masterNr   r   r   r   r   r   V   r    r   N)r   r   r   r!   r   r"   r   r   ZCityManagerr#   r   r   r   r   r   r   r&   ?   r$   r&   c                   @   sx   e Zd ZdZejddddZejdddZejdddZ	ej
ejddZejdddZe Zdd ZG d	d
 d
ZdS )NetworkOperatorMasteraU  
    This is the NetworkOperatorMaster model. It represents a network operator in the system.

    Attributes:
        name (str): The name of the network operator.
        phone (str): The phone number of the network operator.
        url (UrlField): A URL associated with the network operator.
        logo (FileField): An image representing the network operator.
        type_id (int): An identity for scraping data.

    Meta Options:
        db_table (str): The database table name for this model.

    Methods:
        __str__(): Returns a string representation of the network operator.
    FTr   r   r   r   r   	upload_tor   c                 C   r   r   r   r   r   r   r   r   w   r   zNetworkOperatorMaster.__str__c                   @   r   )zNetworkOperatorMaster.MetaZnetwork_operatorNr   r   r   r   r   r   z   r    r   N)r   r   r   r!   r   r"   r   phoneURLFieldurl	FileFieldr   get_network_operator_pathZlogoIntegerFieldtype_idr   ZNetworkOperatorManagerr#   r   r   r   r   r   r   r'   Z   s    r'   c                   @   sj   e Zd ZdZejddddZejdddZeje	j
ddZejdddZe Zdd ZG d	d
 d
ZdS )ConnectorMastera  
    This is the ConnectorMaster model.
    It represents connectors (plugs) in the system.

    Attributes:
        name (str): The name of the connector
        short_name (str): The short name of the connector
        image (FileField): An image representing the connector.
        type_id (int): An identity of scar data

    Meta Options:
        db_table (str): The database table name for this model.

    Methods:
        __str__(): Returns a string representation of the connector.
    FTr(   r)   r*   c                 C   r   r   r   r   r   r   r   r      r   zConnectorMaster.__str__c                   @   r   )zConnectorMaster.MetaZconnector_masterNr   r   r   r   r   r      r    r   N)r   r   r   r!   r   r"   r   Z
short_namer/   r   get_connector_pathimager1   r2   r   ZConnectorManagerr#   r   r   r   r   r   r   r3   ~   s    r3   c                   @   sL   e Zd ZdZejddddZejdddZe	 Z
dd ZG dd	 d	Zd
S )LocationMastera  
    This is the LocationMaster model.
    It represents locations in the system.

    Attributes:
        name (str): The name of the location (maximum length 150 characters).
        type_id (str): An identity of scar data

    Meta Options:
        db_table (str): The database table name for this model.

    Methods:
        __str__(): Returns a string representation of the location.
    FTr(   r)   c                 C   r   r   r   r   r   r   r   r      r   zLocationMaster.__str__c                   @   r   )zLocationMaster.MetaZlocation_masterNr   r   r   r   r   r      r    r   N)r   r   r   r!   r   r"   r   r2   r   ZLocationManagerr#   r   r   r   r   r   r   r6          r6   c                   @   sL   e Zd ZdZejddddZejdddZe	
 Zdd ZG dd	 d	Zd
S )AmenitiesMasteram  
    This is the AmenitiesMaster model.
    It represents amenities in the system.

    Attributes:
        name (str): The name of the amenities
        type_id (int): An identity of scarp data

    Meta Options:
        db_table (str): The database table name for this model.

    Methods:
        __str__(): Returns a string representation of the amenities.
    FTr(   r)   c                 C   r   r   r   r   r   r   r   r      r   zAmenitiesMaster.__str__c                   @   r   )zAmenitiesMaster.MetaZamenities_masterNr   r   r   r   r   r      r    r   N)r   r   r   r!   r   r"   r   r1   r2   r   ZAmenitiesManagerr#   r   r   r   r   r   r   r8      r7   r8   c                   @   s>   e Zd ZdZejddddZe Z	dd Z
G dd dZd	S )
RatingLabelMasteraB  
    This is the RatingLabelMaster model.
    It represents label for ratings in the system.

    Attributes:
        label (str): The label of the rating.

    Meta Options:
        db_table (str): The database table name for this model.

    Methods:
        __str__(): Returns a string representation of the label.
    FTr(   c                 C   r   r   )labelr   r   r   r   r      r   zRatingLabelMaster.__str__c                   @   r   )zRatingLabelMaster.MetaZrating_label_masterNr   r   r   r   r   r      r    r   N)r   r   r   r!   r   r"   r:   r   ZRatingLabelManagerr#   r   r   r   r   r   r   r9      s    r9   c                   @   s\   e Zd ZdZejddZejdddZej	e
ddZejejdZe ZG d	d
 d
ZdS )RatingLabelsAssetaE  
    This is the RatingLabelsAsset model.
    It represents assets labeled based on ratings.

    Attributes:
        rating (int): The numeric rating associated with the asset (non-null, non-blank).
        title (str): The title of rating asset
        labels (ManyToManyField): The labels associated with the asset (non-null, non-blank).
        asset (FileField): The file representing the asset.

    Meta Options:
        db_table (str): The database table name for this model.

    Note:
        - `AssetTypeConstants` is used for the choices in the `asset_type` field.
    T)r   Fr)   Zrating_label_assets)related_name)r+   c                   @   r   )zRatingLabelsAsset.MetaZrating_labels_assetNr   r   r   r   r   r     r    r   N)r   r   r   r!   r   
FloatFieldZratingr"   titleManyToManyFieldr9   labelsr/   r   get_rating_label_pathassetr   ZRatingLabelsAssetManagerr#   r   r   r   r   r   r;      s    r;   c                   @   .   e Zd ZdZe Ze Z	G dd dZ
dS )PrivacyPolicyMasterz
    This is the PrivacyPolicyMaster model.
    It represents content for PrivacyPolicy

    Attributes:
        content (str): Content for PrivacyPolicy

    Meta Options:
        db_table (str): The database table name for this model.
    c                   @   r   )zPrivacyPolicyMaster.MetaZprivacy_policy_masterNr   r   r   r   r   r   '  r    r   N)r   r   r   r!   r   	TextFieldcontentr   ZPrivacyPolicyManagerr#   r   r   r   r   r   rD     
    rD   c                   @   rC   )TermsOfUseMasterz
    This is the TermsOfUseMaster model.
    It represents TermsOfUse content.

    Attributes:
        content (content): Content for TermsOfUse

    Meta Options:
        db_table (str): The database table name for this model.
    c                   @   r   )zTermsOfUseMaster.MetaZterms_of_user_masterNr   r   r   r   r   r   <  r    r   N)r   r   r   r!   r   rE   rF   r   ZTermsOfUseMasterManagerr#   r   r   r   r   r   rH   +  rG   rH   c                   @   s2   e Zd ZdZejddZe Z	G dd dZ
dS )InsuranceCompanyMastera#  
    Model class for representing insurance companies.

    This model represents InsuranceCompanyMaster instances with a 'name' field.

    Attributes:
        name (str): The name of the insurance company.
        objects: Custom manager for querying InsuranceCompanyMaster instances.
    Tr   c                   @   r   )zInsuranceCompanyMaster.MetaZinsurance_company_masterNr   r   r   r   r   r   P  r    r   N)r   r   r   r!   r   r"   r   r   ZInsuranceCompanyMasterManagerr#   r   r   r   r   r   rI   @  s
    
rI   c                   @   s@   e Zd ZdZe Zejeej	ddZ
e ZG dd dZdS )InsuranceTypeMastera  
    Model class for representing insurance types.

    This model represents InsuranceTypeMaster instances with 'name' and 'insurance_company' fields.

    Attributes:
        name (str): The name of the insurance type.
        insurance_company: ForeignKey to InsuranceCompanyMaster, establishing a relationship.
        objects: Custom manager for querying InsuranceTypeMaster instances.
    Zinsurance_company_types)	on_deleter<   c                   @   r   )zInsuranceTypeMaster.MetaZinsurance_type_masterNr   r   r   r   r   r   j  r    r   N)r   r   r   r!   r   r"   r   
ForeignKeyrI   CASCADEZinsurance_companyr   ZInsuranceTypeMasterManagerr#   r   r   r   r   r   rK   T  s    rK   c                   @   s6   e Zd ZdZe Ze Ze	 Z
G dd dZdS )	FaqMastera  
    This is the FaqMaster model.
    It represents FaqMaster content.

    Attributes:
        content (content): title for FaqMaster
        content (content): Content for FaqMaster

    Meta Options:
        db_table (str): The database table name for this model.
    c                   @   r   )zFaqMaster.MetaZ
faq_masterNr   r   r   r   r   r     r    r   N)r   r   r   r!   r   rE   r>   rF   r   ZFaqMasterManagerr#   r   r   r   r   r   rO   n  s    rO   c                   @   s0   e Zd ZdZejddZe ZG dd dZ	dS )ContactUsRequestTypeMastera;  
    Model class for representing contact request types.

    This model represents different types of contact requests.

    Attributes:
        name (str): Name of the contact request type.
        objects (ContactUsRequestTypeMasterManager): Custom manager for querying ContactUsRequestTypeMaster instances.
    TrJ   c                   @   s   e Zd ZdZdZdS )zContactUsRequestTypeMaster.Metaz<
        Meta class to specify database table name.
        Zcontact_us_request_type_masterN)r   r   r   r!   r   r   r   r   r   r     s    r   N)
r   r   r   r!   r   rE   r   r   r#   r   r   r   r   r   rP     s
    
rP   N)	django.dbr   Zapps.master.managersr   Z#apps.master.managers.master_managerr   base.documents_pathr   base.modelsr   r   r%   r&   r'   r3   r6   r8   r9   r;   rD   rH   rI   rK   rO   rP   r   r   r   r   <module>   s(    $!"