Files
hms-licht-ton/backend/app/services/__pycache__/rentman_service.cpython-313.pyc
T

96 lines
10 KiB
Plaintext
Raw Normal View History

ó
ÞNj_ãó‚•SrSSKrSSKrSSKrSSKJr SSKJr \R"\ 5r
\"5r Sr "SS5r
g)zGRentman API client wrapper for equipment import and request submission.éN)ÚAny)Ú get_settingszhttps://api.rentman.netc óv•\rSrSrSrSS\S-SS4SjjrS\\\44SjrSS\ S \ S\\\
44S
jjr SS\ S\ \\\
44S jjr
S \\\
4S\\\
44S
jrS\S\\\
4S\\\
44Sjr\S\\\
4S\\\
44Sj5r\S\\\
4S\\\
44Sj5r\S\\\
4S\\\
44Sj5rSrg)ÚRentmanServiceéz0Wrapper around the Rentman REST API using httpx.NÚtokenÚreturncóV•U=(d [RUl[Ulg©N)ÚsettingsÚrentman_api_tokenÚ_tokenÚRENTMAN_BASE_URLÚ _base_url)Úselfrs ÚI/a0/usr/workdir/hms-licht-ton-t04/backend/app/services/rentman_service.pyÚ__init__ÚRentmanService.__init__s€Ø×9œx×9Ñ9ˆŒ Ü)ˆ�ócó&•SUR3SS.$)NzBearer zapplication/json)Ú
Authorizationz Content-Type)r)rs rÚ_headersÚRentmanService._headerss€à& t§{¡{ mÐ4Ø.ñ
ð
rÚlimitÚoffsetcƒóX# •URS3nXS.n[R"SS9IShv•N nURX0R 5US9IShv•N nUR 5 UR
5sSSS5IShv•N $N[N7N !,IShv•N (df  g=f7f)zyFetch a single page of equipment from Rentman.
Returns the raw JSON response dict with 'data' and optional 'itemCount'.
z
/equipment©rrç>@©ÚtimeoutN)ÚheadersÚparams)rÚhttpxÚ AsyncClientÚgetrÚraise_for_statusÚjson)rrrÚurlr"ÚclientÚresps rÚget_equipment_pageÚ!RentmanService.get_equipment_pagesé€ð
—‘Ð  
Ð+ˆØ Ñ3ˆÜ×$Ò$¨T×2Ò2°fØŸ™ C·±³È˜ÐP×PˆDØ × !Ñ !Ô #Ø—9‘9“;÷3×2Ó2ÙP÷3×2×2Ð2üsV‚,B*®B
¯B*²"BÁB Á#BÁ8 B*ÂBÂB*Â BÂB*ÂB'ÂB Â B'Â#B*cƒó¬# •/nSnURXS9IShv•N nURS/5nU(dU$URU5 X1-
nMJN77f)z9Paginate through all equipment pages until data is empty.rrNÚdata)r+r%Úextend)rrÚ all_itemsrÚpager.s rÚget_all_equipmentÚ RentmanService.get_all_equipment(seé€à*,ˆ ØˆØØ×0Ñ0°uÐ0ÐL×LˆDØ—8‘8˜F BÓ'ˆDÞØðÐð
× Ñ ˜TÔ "Ø ‰OˆFñ
ÙLùs‚AšA›8AÚpayloadcƒóP# •URS3n[R"SS9IShv•N nURX R 5US9IShv•N nUR 5 UR
5sSSS5IShv•N $N[N7N !,IShv•N (df  g=f7f)zAPOST /projectrequests to create a new project request in Rentman.z/projectrequestsrrN©r!r'©rr#r$Úpostrr&r')rr4r(r)r*s rÚcreate_project_requestÚ%RentmanService.create_project_request5své€à—‘Ð Ð 0Ð1ˆÜ×$Ò$¨T×2Ò2°fØŸ™ S·-±-³/ȘÐP×PˆDØ × !Ñ !Ô #Ø—9‘9“;÷3×2Ó2ÙP÷3×2×2Ð2üsV‚(B&ªB«B&®"B ÁBÁ#B Á4 B&ÂB
ÂB&ÂB Â
B&Â B#ÂB Â B#ÂB&Ú
request_idÚequipment_payloadcƒóV# •URSUS3n[R"SS9IShv•N nURX0R 5US9IShv•N nUR 5 UR
5sSSS5IShv•N $N[N7N !,IShv•N (df  g=f7f)zEPOST /projectrequests/{id}/projectrequestequipment for a single item.z/projectrequests/z/projectrequestequipmentrrNr6r7)rr;r<r(r)r*s rÚadd_equipment_to_requestÚ'RentmanService.add_equipment_to_request=s€é€ð—‘Ð Ð 1°*°Ð=UÐVˆÜ×$Ò$¨T×2Ò2°fØŸ™ S·-±-³/ÐHY˜ÐZ×ZˆDØ × !Ñ !Ô #Ø—9‘9“;÷3×2Ó2ÙZ÷3×2×2Ð2üsV‚+B)­B ®B)±"BÁB Á#BÁ7 B)ÂB
ÂB)Â BÂ
B)ÂB&ÂB Â B&Â"B)Úrawcój•URS5=(d URS5=(d /n[U[5(aSUVs/sHEn[U[5(a"URSURSS55O
[ U5PMG nnO/nURS5=(d 0n[U[5(aURSS5O[ U=(d S5n[ URSS55URSS5URS 5=(d URS
S5UURS S5URS S5URS
05UURS5URSS5URSS5S. $s snf)z=Map a raw Rentman equipment object to equipment_cache schema.ÚimagesÚfilesr(ÚfilenameÚÚequipment_groupÚnameÚidÚnumberÚcodeÚ subcategoryÚ descriptionÚspecificationsÚ rental_priceÚbrandÚ availableT) Ú
rentman_idrGrIÚcategoryrKrLrMrBrNrOrP)r%Ú
isinstanceÚlistÚdictÚstr)r@rBÚimgÚ
image_urlsÚgrouprRs rÚtransform_equipmentÚ"RentmanService.transform_equipmentGso€ð—‘˜Ó"×< c§g¡g¨gÓ&6×<¸"ˆÜ �fœd× #Ñ #ñ"óâ!�Cô<FÀcÌ4×;PÑ;P�—‘˜˜sŸw™w z°2Ó6Ô7ÔVYÐZ]ÓV^Ò^Ù!ð
ðˆJð
ˆJà—‘Ð)Ó*×0¨bˆÜ,6°u¼d×,CÑ,C�5—9‘9˜V RÔ(ÌÈUÏ[ÐVXÓIYˆô˜cŸg™g d¨BÓ/Ó0Ø—G‘G˜F BÓ'Ø—g‘g˜hÓ'×>¨3¯7©7°6¸2Ó+>Ø ØŸ7™7 =°"Ó5ØŸ7™7 =°"Ó5Ø!Ÿg™gÐ&6¸Ó;Ø ØŸG™G NÓ3Ø—W‘W˜W bÓ)ØŸ™ ¨dÓ3ñ 
ð
ùòsÁ A F0r.cóª•URS5nURS5nURSS5nUR5RSS5nU(aUSOSn[U5S:”aUSOSnURSS5nSnU(a/[R
"S U5n U (aU R
S5n0S
URS S5_S U(aUS
3OS_SU(aUS3OS_SU(aUS3OS_SU(aUS3OS_SURS5=(d URSS5_SU_SU_SURSS5_SURSS5_SURSS5_SU_SU_S URS!S5_S"URS#5=(d URSS5_S$URS%S5_$)&zJMap frontend rental request data to Rentman POST /projectrequests payload.Ú
date_startÚdate_endÚ contact_namerEÚ érÚcontact_streetz(\d+[a-zA-Z]*)rGÚ
event_nameÚplanperiod_startzT08:00:00+02:00NÚplanperiod_endzT02:00:00+02:00Úusageperiod_startzT18:00:00+02:00Úusageperiod_endzT23:59:00+02:00Úcontact_companyÚcontact_person_first_nameÚcontact_person_lastnameÚcontact_person_emailÚ
contact_emailÚcontact_person_phoneÚ
contact_phoneÚ
location_nameÚlocationÚlocation_mailing_streetÚlocation_mailing_numberÚlocation_mailing_postalcodeÚcontact_postalcodeÚlocation_mailing_cityÚ contact_cityÚremarkÚmessage)r%ÚstripÚsplitÚlenÚreÚsearchrY)
r.r]r^r_ÚpartsÚ
first_nameÚ last_nameÚstreetÚ house_numberÚmatchs
rÚbuild_project_request_payloadÚ,RentmanService.build_project_request_payloadds€ð—X‘X˜lÓ+ˆ
Ø—8‘8˜JÓ'ˆà—x‘x °Ó3ˆ Ø×"Ñ"Ó$×*Ñ*¨3°Ó2ˆÞ!&�U˜1’X¨Bˆ
Ü # E£
¨Q£�E˜!’H°Bˆ à—‘Ð*¨BÓ/ˆØˆ Þ Ü—I’IÐ/°Ó8ˆEÞØ$Ÿ{™{¨1›~� ð
Ø �D—H‘H˜\¨2Ó.ð
à Æ* : ,¨oÑ >ÐRVð
ð
¾h  
¨/Ñ:ÈDð
ð
Æ: J <¨Ñ!?ÐSWð 
ð
¾x ( ¨?Ñ;ÈTð 
ð
˜DŸH™HÐ%6Ó7×W¸4¿8¹8ÀNÐTVÓ;Wð

ð
(¨ð
ð
& yð
ð
# D§H¡H¨_¸bÓ$Að
ð
# D§H¡H¨_¸bÓ$Að
ð
˜TŸX™X j°"Ó5ð
ð
& vð
ð
& |ð
ð
*¨4¯8©8Ð4HÈ"Ó+Mð
ð