
    :j
                         d Z ddlmZmZmZmZmZmZmZm	Z	m
Z
 ddlmZ ddlmZ ddlmZ ddlZddlmZ  G d d	e      Z G d
 de      Zy)z!
Company-related database models
    )	ColumnInteger
BigIntegerStringBooleanDateTimeText
ForeignKeyTime)relationship)func)UUIDN)Basec                   h   e Zd ZdZ e ed      dej                  d      Z e e	d      d      Z
 e e	d      d      Z ee ed	            Z e e	d
      d      Z e e	d
      d      Z e e	d      d      Z e e	d
      d      Z e e	d
            Z e e	d
            Z e e	d
      d      Z e e	d
            Z e e	d
            Z e e	d
            Z e e	d
            Z e ed       ej8                               Z e ed       ej8                          ej8                               Z ee      Z  e e	d            Z! e e	d      d      Z" ee#d      Z$ e%dd      Z& e%dd      Z' e%dd      Z( e%dd      Z) e%dd      Z* e%dd      Z+y)Company	companiesTas_uuid)primary_keydefaultindex   F)nullable   zcountries.country_id2   
   timezoneserver_default)r    onupdatei     pendingr   z09:00:00Countryback_populatesUserCompanycompany
BeachPlace
RestaurantMarket	AdventureN),__name__
__module____qualname____tablename__r   PG_UUIDuuiduuid4
company_idr   company_nameaddressr   r
   
country_idprovincecitypostal_codephonemobilefaxemailregistration_number
vat_number
tax_officewebsiter   r   nowcreate_dateupdate_dater	   remarkscompany_logo_pathcompany_statusr   send_time_reportsr   countryuser_companiesbeach_placesrestaurantsmarkets
adventures     4/var/www/bookbeach.app/backend/app/models/company.pyr   r      s   M-4[_`J&+6LVC[51G,B!CDJfRj51H&*u-De4K6":.EF2JF

C6":.E ,r
#Jr
#JVBZ G40LK40V^VZV^V^V`aKTlGvd|,F2J	:NtZ8 9[AG!-	JNYGL|IFK8I>Gk)DJrR   r   c                   $   e Zd ZdZ eedd      Z e ed       ed            Z	 e ed       ed            Z
 e ed      d	      Z eed	      Z e ed
       ej"                               Z edd      Z edd      ZddifZy)r(   rL   T)r   r   r   zusers.user_idzcompanies.company_id   ownerr$   r   r   Userr&   r   extend_existingN)r.   r/   r0   r1   r   r   user_company_idr2   r
   user_idr5   r   roler   	is_activer   r   rD   
created_atr   userr)   __table_args__rQ   rR   rS   r(   r(   .   s    $MZTFOWT*J,GHG-z:P/QRJ&*g.Dw-I$/
KJ /?@D95EFG 
D!NrR   r(   )__doc__
sqlalchemyr   r   r   r   r   r   r	   r
   r   sqlalchemy.ormr   sqlalchemy.sqlr   sqlalchemy.dialects.postgresqlr   r2   r3   app.db.sessionr   r   r(   rQ   rR   rS   <module>rf      s@    f e e '  :  Ed ED$ rR   