Files
boc/landvex-admin-backend/app/__pycache__/schemas.cpython-39.pyc
T

147 lines
12 KiB
Plaintext
Raw Normal View History

a
c6GjA*ã@sldZddlmZddlmZmZmZmZddlmZddl m
Z
m Z m Z m
Z
mZddlmZmZmZmZGddde
ƒZGd d
d
e
ƒZGd d d eƒZGd
dde
ƒZGddde
ƒZGddde
ƒZGddde
ƒZGdddeƒZGdddeƒZGddde
ƒZGddde
ƒZGddde
ƒZGdd „d eƒZ Gd!d"„d"e
ƒZ!Gd#d$„d$eƒZ"Gd%d&„d&e"ƒZ#Gd'd(„d(e
ƒZ$Gd)d*„d*e
ƒZ%Gd+d,„d,e
ƒZ&Gd-d.„d.e
ƒZ'Gd/d0„d0e
ƒZ(Gd1d2„d2e
ƒZ)Gd3d4„d4e
ƒZ*Gd5d6„d6e
ƒZ+Gd7d8„d8e
ƒZ,Gd9d:„d:e
ƒZ-Gd;d<„d<e
ƒZ.Gd=d>„d>e
ƒZ/Gd?d@„d@e
ƒZ0GdAdB„dBe
ƒZ1GdCdD„dDe
ƒZ2GdEdF„dFe
ƒZ3dGS)Huy
Pydantic-scheman för LandveX Admin Backend.
Request/response-validering för tenants, users, auth, invitations, audit.
é)Údatetime)ÚOptionalÚDictÚAnyÚList)ÚUUID)Ú BaseModelÚEmailStrÚFieldÚ
ConfigDictÚfield_validator)ÚUserRoleÚ
UserStatusÚ
TenantTypeÚ TenantStatusc@sPeZdZUeed<eddddZeed<eddddZeed<e j
Z e ed<d S)
ÚUserBaseÚemail.ééd©Ú
min_lengthÚ
max_lengthÚ
first_nameÚ last_nameÚroleN) Ú__name__Ú
__module__Ú __qualname__r Ú__annotations__r
rÚstrrr
ÚVIEWERr©r!r!úD/home/bernt/.openclaw/workspace/landvex-admin-backend/app/schemas.pyrs
rc@sVeZdZUeddddZeed<eddddd Zeed
<ej Z
eed <e ed <ed
ddZ e
eed<ed
ddZe
eed<ed
ddZe
eed<ed
ddZe
eed<edddZeed<ed
ddZe
eed<ed
ddZe
eed<ed
ddZe
eed<ed
ddZe
eed<ed
ddZe
eed<ed
ddZe
eed<d
S) Ú
TenantBase.ééÿrÚnameérz
^[a-z0-9_-]+$)rrÚpatternÚslugÚ tenant_typeÚ
contact_emailNé2©rÚ
contact_phoneÚaddresséÚ postal_codeÚcityZSE©ÚdefaultrÚcountryéˆÚ descriptionÚwebsiteéÚmunicipality_codeÚ county_codeÚlatitudeÚ longitude)rrrr
r&rrr)rÚ MUNICIPALITYr*r r.rr/r1r2r5r7r8r:r;r<r=r!r!r!r"r#s
r#c@s4eZdZUedddZeeed<dZee ed<edddZ
eed <d
Z e ed <edd d
dZ
eeed<edd ddZeed<edd ddZeed<eddddZeed<eedZeeeefed<eedZeeeefed<eedZeeeefed<edƒedd „ƒƒZed!ƒed"d#„ƒƒZdS)$Ú TenantCreateNr0r-Ú
org_numberÚ
billing_emailÚbasicr,r3ÚplanFÚis_trialréZ©ÚgeÚleÚ
trial_daysé
é'©r4rGrHÚ max_usersééèÚ max_projectsiré@BÚstorage_quota_mb)Údefault_factoryÚfeaturesÚsettingsÚbrandingcCs@|dur dS| dd¡ dd¡}t|ƒdks4| ¡s<tdƒ|S) Úú-rJz7Invalid Swedish organization number (must be 10 digits))ÚreplaceÚlenÚisdigitÚ
ValueError)ÚclsÚcleanedr!r!r"Úvalidate_org_number8s z TenantCreate.validate_org_numberr)cCs | ¡ ¡S)N)ÚlowerÚstrip)r^r_r!r!r"Ú
validate_slugBszTenantCreate.validate_slug)rrrr
r@rrrrAr rCrDÚboolrIÚintrMrPrRÚdictrTrrrUrVr Ú classmethodrardr!r!r!r"r?+s"
  r?c@eZdZUeddddZeeed<dZee ed<edddZ
eeed <dZ ee ed
<edddZ eeed <edd dZ
eeed
<edddZeeed<edddZeeed<edddZeeed<edddZeeed<eddddZeeed<eddddZeeed<eddddZeeed<dZeeeefed<dZeeeefed<dZeeeefed<edd dZeeed<edd dZeeed <dS)!Ú TenantUpdateNr$r%rr&r+r,r-r.rAr/r0r1rr2r6r7r8rCrrKrFrMrOrPrQrRrTrUrVr<r=)rrrr
r&rrrr+r r.rAr/r1r2r7r8rCrMrfrPrRrTrrrUrVr<r=r!r!r!r"riHs$
ric@s.eZdZUeed<edddZeeed<dS)ÚTenantStatusUpdateÚstatusNéÐr-Úreason) rrrrrr
rmrrr!r!r!r"rj]s
rjc@s&eZdZUdZeed<dZeed<dS)ÚTenantActivateRequestTÚ activate_nowFÚskip_schema_creationN)rrrrorerrpr!r!r!r"rnbs
 rnc@s$eZdZUeddddZeed<dS)ÚTenantSuspendRequest.rrlrrmN)rrrr
rmrrr!r!r!r"rqgs
rqc@eZdZUeddZeed<eeed<eed<e ed<eed<e
ed<ee ed <ee ed
<ee ed <ee ed <e ed
<e ed<e
ed<e ee
fed<e ee
fed<e ee
fed<dS)Ú TenantOutT©Úfrom_attributesÚidr@Ú schema_namerkrCrDZ
trial_ends_atZ activated_atZ suspended_atZ cancelled_atÚ
created_atÚ
updated_atÚ is_activerTrUrVN)rrrr Ú model_configrrrrrrerrrr!r!r!r"rrks"

     rrc@seZdZUeeed<eed<eed<eed<eeed<eeed<eeed<eeed<eeed <eeed
<eeed <eeed <d
S)ÚTenantDetailOutrArMrPrRZplan_started_atZplan_expires_atZsuspended_reasonZcancellation_reasonZ activated_byZ suspended_byÚ
created_byZ
updated_byN)rrrrrrrfrr!r!r!r"r{s
        r{c@s:eZdZUeeed<eed<eed<eed<eed<dS)Ú
TenantListOutÚitemsÚtotalÚpageÚ page_sizeÚpagesN)rrrrrrrrfr!r!r!r"r}s
 r}c@s^eZdZUeed<eed<eed<eed<eed<eed<eeefed<eeefed<d S)
Ú TenantStatsZ
total_tenantsZactive_tenantsZpending_tenantsZsuspended_tenantsZ
trial_tenantsZcancelled_tenantsZby_typeZby_planN)rrrrfrrrr!r!r!r"s
c@eZdZUeddZedddZeed<eddddZ eed <d
Z
e e ed <d
Z
e eed <ed
dd
Ze eed<ed
dd
Ze eed<ed
dd
Ze eed<dZeed<edddZeed<d
Ze eed<d
S)ÚTenantListParamsTrsr)r4rGr€r0rrLrNrkr*r-Úsearchr$r5r2rwÚsort_byÚdescz ^(asc|desc)$)r4r(Ú
sort_orderry)rrrr rzr
r€rfrrrkrrr*rr…rr5r2r†rˆryrer!r!r!r"r„¢s

 r„c@s6eZdZUedddZeeed<dZee ed<dS)Ú
UserCreateNé©rÚpasswordÚ tenant_id)
rrrr
rrrrrr!r!r!r"r‰²s
r‰c@seZdZUdZeeed<eddddZee ed<eddddZ
ee ed<dZ ee ed<dZ