Files
Anton_wireframe/app/routers/__pycache__/investors.cpython-312.pyc
T

83 lines
14 KiB
Plaintext
Raw Normal View History

Ë
Œâh¶.ãó¬ddlmZmZddlmZddlmZmZddlm Z m
Z
m Z m Z ddl
mZddlmZmZddlmZmZe dg¬ «ZGd
d e«ZGd d
e«Zej1dee¬«e
e«fdefd«Zej1dee¬«e dd¬«e dd¬«e dd¬«e dd¬«e dd¬«e dd¬«e dd¬«e
e«fdeedeedeedeed eed!eed"eedefd#„«Zej1d$e¬«e
e«fd%edefd&„«Zej=de¬«e
e«fd'edefd(„«ZejAd$e¬«e
e«fd%ed'edefd)„«Z!ejEd$«e
2025-09-25 17:00:38 +01:00
e«fd%edefd*„«Z#ej1d+ee¬«e d,d-¬«e
e«fd%ed.edefd/„«Z$y)0é)ÚListÚOptional)Úget_db)Ú
InvestorTableÚ SectorTable)Ú APIRouterÚDependsÚ
HTTPExceptionÚQuery)Ú BaseModel)ÚInvestmentStageÚ InvestorData)ÚSessionÚ selectinloadzInvestor Routes)ÚtagscóleZdZUeed<dZeeed<eed<eed<eed<eed<eed<d Z eed
2025-09-25 17:00:38 +01:00
<y) ÚInvestorCreateÚnameNÚ descriptionÚaumÚcheck_size_lowerÚcheck_size_upperÚgeographic_focusÚ stage_focusrÚnumber_of_investments)
Ú__name__Ú
__module__Ú __qualname__ÚstrÚ__annotations__rrÚintr
r©óúL/home/oluwasanmi/Documents/Work/MKD/anton_wireframe/app/routers/investors.pyrrs=Ø
ƒIØ!%€K˜#‘Ó ƒHØÓØÓØÓØ Ó Ø!"И"r#rcó®eZdZUdZeeed<dZeeed<dZee ed<dZ
ee ed<dZ ee ed<dZ eeed<dZ
eeed<dZee ed <y)
ÚInvestorUpdateNrrrrrrrr)rrrrrrr rrr!rrrrr
rr"r#r$r&r&swØ€Dˆ(3‰-ÓØ!%€K˜#‘Ó€Cˆ#‰ÓØ&*Ðh˜s*Ø&*Ðh˜s*Ø&*Ðh˜s*Ø-1€K˜1Ø+/И8 C™=Ô/r#r&z
/investors)Úresponse_modelÚdbcó†|jt«jttj«ttj
«ttj ««j«}g}|D]@}t||j|j
|j ¬«}|j|«ŒB|S)z)Get all investors with their related data©ÚinvestorÚportfolio_companiesÚ team_membersÚsectors)
ÚqueryrÚoptionsrr,r-r.ÚallrÚappend)r(Ú investorsÚinvestor_data_listr+Ú
investor_datas r$Úread_investorsr6$ð Óß Ü œ× œ× œ× 
÷
ððÐØòÜØ (× <Ñ <Ø!××
ˆ
ð ×!  Ðr#z/investors/filterNzFilter by investment stage)rzMinimum check sizezMaximum check sizez Geographic focus (partial match)zSector name (partial match)z Minimum AUMz Maximum AUMÚstageÚmin_check_sizeÚmax_check_sizeÚ geographyÚsectorÚmin_aumÚmax_aumcóü|jt«jttj«ttj
«ttj ««}|r"|jtj|k(«}|"|jtj|k\«}|"|jtj|k«}|r2|jtjjd|d««}|"|jtj|k\«}|"|jtj|k«}|rO|jtj «jtj jd|d««}|j#«} g}
| D]@} t%| | j| j
| j ¬«} |
j'| «ŒB|
S)z*Filter investors based on various criteriaú%r*)r/rr0rr,r-r.ÚfilterrrrrÚilikerÚjoinrrr1rr2)
r7r8r9r:r;r<r=r(r/r3r4r+r5s
r$Úfilter_investorsrC?ð$
H‰H”]Ó ”]×”]×”]×
€Eñ
Ø œ]×6¸%ÑàÐ œ]×;¸~ÑàÐ œ]×;¸~ÑáØ œ]×AÀAÀiÀ[ÐPQÐBRÓàÐØ œ]×.°'ÑàÐØ œ]×.°'Ñ:ˆñØ
œ=× × Ñ × " Q v h¨a  
ˆð— ‘ “ €IðÐØòÜØ (× <Ñ <Ø!××
ˆ
ð ×!  Ðr#z/investors/{investor_id}Ú investor_idcó¬|jt«jttj«ttj
«ttj ««jtj|k(«j«}|s
tdd¬«t||j|j
|j ¬«S)zGet a specific investor by IDé”úInvestor not found©Ú status_codeÚdetailr*) r/rr0rr,r-r.r@ÚidÚfirstr
r)rDr(r+s r$Ú
read_investorrMð Óß Ü œ× œ× œ× 
÷

× Ñ  KÑ/Ó 0ß ð
ñ ܨÐ4HÔ ØØ×× Ñ ô  ðr#r+có8tdi|j«¤Ž}|j|«|j«|j |«|j t«j
ttj«ttj«ttj««jtj|jk(«j«}t||j|j|j¬«S)zCreate a new investorr*r")rÚdictÚaddÚcommitÚrefreshr/r0rr,r-r.r@rKrLr)r+r(Ú db_investorÚinvestor_with_relationss r$Úcreate_investorrUšô Ñ2 (§-¡-£/Ñ2€K؇FFˆ;ÔØ‡II„K؇JJˆ{Ôð Óß Ü œ× œ× œ× 
÷

× Ñ  K§N¡NÑ2Ó 3ß ðô Ø,×'× ðr#cóâ|jt«jtj|k(«j «}|s
t dd¬«|j
d¬«}|j«D]\}}t|||«Œ|j«|j|«|jt«jttj«ttj«ttj««jtj|k(«j «}t!||j|j|j¬«S)zUpdate an existing investorrFrGrHT)Ú
exclude_unsetr*)r/rr@rKrLr
rOÚitemsÚsetattrrQrRr0rr,r-r.r)rDr+r(rSÚ update_dataÚfieldÚvaluerTs r$Úupdate_investorr]·s(ð Ó×&¤}×'7Ñ'7¸;Ñ'FÓG×ñ ܨÐ4HÔ—-‘-¨d3€KØ+‰ ˆˆuÜ ˜U EÕ‡II„K؇JJˆ{Ôð Óß Ü œ× œ× œ× 
÷

× Ñ  KÑ/Ó 0ß ðô Ø,×'× ðr#cóð|jt«jtj|k(«j «}|s
t dd¬«|j
|«|j«ddiS)zDelete an investorrFrGrHÚmessagezInvestor deleted successfully)r/rr@rKrLr
ÚdeleterQ)rDr(rSs r$Údelete_investorraÞshð Ó×&¤}×'7Ñ'7¸;Ñ'FÓG×ñ ܨÐ4HÔ‡IIˆkÔØ‡II„KØ Ð 7r#z /investors/{investor_id}/similaré
z-Maximum number of similar investors to returnÚlimitc óÞ|jt«jttj«ttj