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

115 lines
14 KiB
Plaintext
Raw Normal View History

a
³»HjCXã @sFdZddlmZmZmZmZmZddlmZddl m
Z
m Z m Z m
Z
ddlmZmZddlmZddlmZmZmZddlmZmZed d
gd Ze d ¡ed
ƒed
ƒed
ƒed
ƒeddddedddeeƒeeƒfe ee ee ee eeeeedœddƒZe d¡eeƒeeƒfeeedœddƒZe d¡eeƒeeƒfeeeedœddƒZ e d¡eeƒeeƒfeeeedœd d!„ƒZ!e d"¡eeƒeeƒfeed#œd$d%„ƒZ"e d&¡ed
ƒed
ƒed
ƒed
ƒed
ƒeddddedddeeƒeeƒf e ee ee ee ee eeeeed'œ d(d)„ƒZ#e d*¡eeƒeeƒfeed#œd+d,„ƒZ$e %d-¡eeƒeeƒfee ee
feed.œd/d0„ƒZ&e d1¡eeƒeeƒfeed#œd2d3„ƒZ'e d4¡eeƒeeƒfeeed5œd6d7„ƒZ(e )d8¡eeƒeeƒfee
eeed9œd:d;„ƒZ*e d<¡eeƒeeƒfeed#œd=d>„ƒZ+e d?¡ed
ƒeddd@deeƒeeƒfee eeeedAœdBdC„ƒZ,e dD¡eeƒeeƒfeed#œdEdF„ƒZ-e )dD¡eeƒeeƒfeed#œdGdH„ƒZ.e )dI¡eeƒeeƒfeeedJœdKdL„ƒZ/e 0dM¡eeƒeeƒfeeedJœdNdO„ƒZ1e dP¡eeƒeeƒfeed#œdQdR„ƒZ2d
S)Su®
System Administration Router för LandveX Admin Backend.
Hanterar användare/roller, tenant-hantering, audit log, inställningar,
CloudFront/S3, backup och återställning.
é)Ú APIRouterÚDependsÚ
HTTPExceptionÚstatusÚQuery)Ú AsyncSession)ÚListÚOptionalÚDictÚAny)ÚdatetimeÚdate)Úget_db)Úget_current_userÚ
require_adminÚrequire_manager)ÚUserÚUserRolez/systemÚsystem)ÚprefixÚtagsz/usersNé2é)ÚgeÚle)r)ÚrolerÚ tenant_idÚsearchÚlimitÚoffsetÚdbÚ current_userc ƒddddddddd d
d œ
d d
dddddddd
d œ
ddddddddddd œ
dddddddddd d œ
d!d"d#dd$d%dddd d œ
g}ˆr’‡fd&d'„|Dƒ}ˆr¨‡fd(d'„|Dƒ}ˆr¾‡fd)d'„|Dƒ}ˆrÔ‡fd*d'„|Dƒ}||||t|ƒ||d+œS),u+Lista alla systemanvändare med filtrering.úusr-001úadmin@landvex.comÚAdminrÚadminÚactiveNTú2026-07-04T06:00:00Zú2024-01-01T00:00:00Z)
ÚidÚemailÚ
first_nameÚ last_namerrrÚ is_superuserÚ
last_loginÚ
created_atúusr-002úerik@landvex.comZErikZSvenssonú
tenant-001Fú2026-07-03T18:00:00Zúusr-003újohan@landvex.comZJohanZBerglundÚmanagerz2026-07-04T07:00:00Zz2024-06-01T00:00:00Zzusr-004zanalyst@landvex.comZAnalystZOneÚanalystz2026-07-01T09:00:00Zz2024-03-01T00:00:00Zúusr-005zviewer@landvex.comZViewerÚviewerÚinactivecsg|]}|dˆkr|qS©r©©Ú.0Úur;r<úK/home/bernt/.openclaw/workspace/landvex-admin-backend/app/routers/system.pyÚ
<listcomp>(óz%list_system_users.<locals>.<listcomp>csg|]}|dˆkr|qS©rr<r=rCr<r@rA*rBcsg|]}|dˆkr|qS©rr<r=rDr<r@rA,rBcsLg|]D}ˆ ¡|d ¡vsDˆ ¡|d ¡vsDˆ ¡|d ¡vr|qS)r*r+r,)Úlowerr=)rr<r@rA.rB)ÚusersÚtotalrr©Úlen) rrrrrrr r!rFr<)rrrrr@Úlist_system_userss
ûrJz/users/{user_id}©Úuser_idr r!cÃs6|ddddddddgd d d
d d œd
d
d d œgdd dœ
S)uHämta en specifik användare.r#r$rr%r&NTÚ*r'ú 192.168.1.1z Mozilla/5.0)Ú timestampÚipÚ
user_agentr3r()
r)r*r+r,rrrr-Ú permissionsr.Z
login_historyr/Ú
updated_atr<rKr<r<r@Úget_system_user2s 

þðrTz/users/{user_id}/role©rLrr r!cÃsd||t|jƒt ¡ ¡dœS)uUppdatera en användares roll.Úupdated)rrLZnew_roleÚ
updated_byrS©Ústrr)r ÚnowÚ isoformatrUr<r<r@Úupdate_user_roleMs 
ûr\z/users/{user_id}/status©rLrr r!cÃsd||t|jƒt ¡ ¡dœS)u:Uppdatera en användares status (active/inactive/pending).rV)rrLÚ
new_statusrWrSrXr]r<r<r@Úupdate_user_status^s 
ûr_z/roles©r r!c ÃsHdddgd¢ddœddgd ¢d
dœd d gd
¢d
dœddgd¢d
dœgiS)u*Lista alla roller och deras behörigheter.Úrolesr%u:Fullständig Ã¥tkomst till alla moduler och inställningar) zusers:*z tenants:*z content:*ú
quixzoom:*z economy:*zhr:*zsystem:*zaudit:*z
settings:*é)ÚnameÚ descriptionrRZ
user_countr6u>Hantera innehÃ¥ll, missions och team-medlemmar inom sin tenant)ú content:readz
content:writerbú economy:readúhr:readzhr:writeú
audit:readrr7u)Läsa och analysera data, skapa rapporter)rfú
quixzoom:readrgrhrir9u1Endast läsÃ¥tkomst till dashboards och rapporter)rfrjrgrhr<r`r<r<r@Ú
list_rolesqs.ù
ù
ù
úäÿrkz
/audit-log) ÚactionÚ entity_typerLÚ from_dateÚto_daterrr r!c
ƒsZddddddddd d
d œ
d d
dddddddd
d œ
dddddddddd
d œ
dddddddddd
d œ
dd ddd!dddd"d
d œ
d#d$d%d&d'dddd(d
d œ
d)d*dd+d,dddd-d
d œ
d.d/dd0d1d2d3d4d5d
d œ
d6d7d8d9d:d;d;d<d=d
d œ
d>d?d@dAdBd;d;d<dCd
d œ
g
} ˆr fdDdE„| Dƒ} ˆr$‡fdFdE„| Dƒ} ˆr<‡fdGdE„| Dƒ} | |||t| ƒ||dHœS)Iu'Hämta system audit log med filtrering.zlog-001z2026-07-04T06:30:00ZÚUPDATEÚarticlezdecision-first-intelligencer0r1rNzUpdated article contentT)
r)rOrlrmÚ entity_idÚactor_idZ actor_emailÚactor_ipÚdetailsÚsuccesszlog-002ú2026-07-04T06:15:00ZÚCREATEÚmissionz mission-003r4r5z 192.168.1.2z$Created mission: Oslo Road Conditionzlog-003r'ÚLOGINÚuserz
User loginzlog-004r3ÚDELETEz
old-draft-001zDeleted draft articlezlog-005z2026-07-03T15:30:00Zr8zChanged user status to inactivezlog-006z2026-07-03T12:00:00ZZEXPORTZreportzpayroll-2026-06zExported payroll reportzlog-007z2026-07-03T09:00:00ZÚ transactionztx-001zCreated journal entryzlog-008z2026-07-02T16:00:00ZÚtenantr2r"r#z10.0.0.1zUpdated tenant settingszlog-009z2026-07-02T10:00:00ZZ
INVALIDATEÚ
cloudfrontÚE2M3J95HLUR89HrNzAuto-invalidated cachezlog-010z2026-07-01T08:00:00ZZBACKUPÚdatabasez
landvex-adminzDaily backup completedcsg|]}|dˆkr|qS©rlr<©r>Úlrr<r@rA¼rBz(get_system_audit_log.<locals>.<listcomp>csg|]}|dˆkr|qS©rmr<r…r<r@rA¾rBcsg|]}|dˆkr|qS)rsr<)rLr<r@rAÀrB)ÚlogsrGrrrH)
rlrmrLrnrorrr r!r†r<)rlrmrLr@Úget_system_audit_log¢s$ö r‡z /settingsc
Ãsrddddddddd d
œ d d d
dd dœd dddd
dœddddddœdddddœd
d dd
d
dd œd dd!d"d#dd$œd%œS)&u!Hämta alla systeminställningar.z
Landvex ABz 559123-4567zStorgatan 1, 111 22 Stockholmz+46 8 123 45 67zinfo@landvex.comzhttps://landvex.comÚSEKÚsvzEurope/Stockholm) Ú company_nameÚ
org_numberÚaddressÚphoner*ÚwebsiteÚcurrencyÚlanguageÚtimezoneFÚmanualTz Landvex Team)Ú auto_publishÚpublish_scheduleÚseo_auto_optimizeZdefault_authorZfeatured_image_requiredéUédé)Úmission_auto_approveÚmin_quality_scoreÚpayment_thresholdZmax_mission_duration_daysZcontributor_onboarding_requiredÚhourlyéz01-01ZINVé)Úledger_sync_intervalZdefault_vat_rateZfiscal_year_startZinvoice_prefixZpayment_terms_daysréé()Zvacation_days_per_yearZsick_leave_notification_daysZwork_hours_per_dayZovertime_thresholdNiPÃ)Z
email_enabledZ
slack_enabledZslack_webhook_urlZalert_on_system_errorZalert_on_low_balanceZlow_balance_thresholdéZé<é)Z mfa_requiredZpassword_min_lengthZpassword_expiry_daysZsession_timeout_minutesZmax_login_attemptsZlockout_duration_minutes©ZgeneralÚcontentÚquixzoomÚeconomyÚhrZ
notificationsÚsecurityr<r`r<r<r@Úget_all_settingsÆs`÷ ûûûüú úÑr«z/settings/{module})ÚmoduleÚsettingsr r!cÃsFgd¢}||vr(tddd |¡dd||t|jƒt ¡ ¡dœS)u0Uppdatera inställningar för en specifik modul.r¥iz Invalid module. Must be one of: z, )Ú status_codeÚdetailrV)rr­rWrS)rÚjoinrYr)r rZr[)r­r r!Z
valid_modulesr<r<r@Úupdate_module_settingss
ûr±z /cloudfrontc
Ãs@ddddddddd d