
    =hC                        d dl mZmZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZmZ d dlmZ d dlmZ d d	lmZmZ d d
lmZ d dlmZmZ d dlmZmZ d dlmZ  eddg      ZejA                  dde      edededefd              Z!y)    )	APIRouterDepends)	BaseModel)Optional)datetimetimezone)UserRepository)handles_authenticationuser_dependency)db_dependency)CompanyRepository)CompanySchemaCreateCompanyRequest)Message)ResponseObjectResponseModel)BusinessTypeRegisterStep)AlreadyExistsExceptionz/api/companyzCompany Setup)prefixtagsz/create   )status_coderesponse_modeluserrequestdbc                   K   t        |      }t        |      }|j                  | j                  d             d {   }|rt	        d      t        |j                  | j                  d      |j                  |j                  |j                  |j                  |j                  t        j                  t        j                        t        j                  t        j                        	      }|j!                  |       d {   }|j#                  | j                  d      t$        j&                         d {    |j)                  | j                  d      |j*                         d {    t-        j.                  t0        j2                  j4                  dz  dt$        j&                  j6                  i      S 7 7 7 7 Ww)NidCompany)	nameuser_idbusiness_typeaddress1address2zip_codeofficial_phone
created_at
updated_atstep)messageobj)r   r	   get_by_user_idgetr   r   r!   r#   r$   r%   r&   r'   r   nowr   utccreate_companyupdate_stepr   SETUP_PHONEupdate_default_companyr   r   postr   SuccessOBJECT_CREATEDvalue)r   r   r   company_repo	user_repoexisting_companycompany_datacompanys           D/var/www/html/phonemate/phone_mate_backend/app/api/company_router.pyr1   r1      sQ     %R(Lr"I)88$HH$Y// \\++!!!!!!--<<-<<-
L !//==G


0H0H
III

*
*488D>7::
FFF==!?!?)!KRXZfZrZrZxZxQyzz) I  >IFsG   :GF>CGG6G:G;2G-G.AGGGGN)"fastapir   r   pydanticr   typingr   r   r   repositories.user_repositoryr	   utils.auth_dependencyr
   r   utils.databaser   repositories.company_repositoryr   schemas.companyr   r   utils.messagesr   utils.responser   r   utils.constantsr   r   utils.exceptionsr   routerr5   r1        r>   <module>rN      s    &   ' 7 I ( = ? " 8 6 3	./@	A YC8KL{ {9M {S` {  M{rM   