U
    $i                     @   s   d dl Z d dlmZmZmZ d dlmZmZmZmZm	Z	m
Z
 d dlmZmZ d dlmZmZmZ d dlmZ G dd deZdS )	    N)datetimedatetimezone)StringIntegerDateDateTimeText
ForeignKey)ListOptional)Mappedmapped_columnrelationship)Basec                   @   sB  e Zd ZU dZeeddd dZee e	d< eee
ddd	d
dZee e	d< eed
dZee e	d< eed
dZee e	d< eed
dZee e	d< eeddZeee  e	d< eed
dZee e	d< eedd
dZee e	d< eedddd dZee e	d< edddZed e	d< eddddd Zeed  e	d!< d"S )#LoanloansTc                   C   s   t t S N)struuiduuid4 r   r   6/var/www/html/me.goteku.com/backend/app/models/loan.py<lambda>       zLoan.<lambda>)primary_keydefaultidzemployees.idCASCADE)ondeleteF)nullableemployee_id	loan_datetotal_amountmonthly_deductiondescriptionremaining_balanceactive)r   r    status)r   c                   C   s   t tjS r   )r   nowr   utcr   r   r   r   r      r   )r   
created_atEmployee)back_populatesemployeeLoanTransactionZloanzall, delete-orphanz LoanTransaction.transaction_date)r-   cascadeorder_bytransactionsN)__name__
__module____qualname____tablename__r   r   r   r   r   __annotations__r
   r!   r   r"   r   r   r#   intr$   r	   r%   r   r&   r(   r   r+   r   r   r.   r2   r   r   r   r   r   r   	   s8   
   
  r   )r   r   r   r   
sqlalchemyr   r   r   r   r	   r
   typingr   r   sqlalchemy.ormr   r   r   app.core.databaser   r   r   r   r   r   <module>   s    