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óVU=(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׌ Üócó&SUR3SS.$)NzBearer zapplication/json)Ú
Authorizationz Content-Type)r)rs rÚ_headersÚRentmanService._headerssà& t§{¡{ 
ð
rÚlimitÚoffsetcƒóX# URS3nXS.n[R"SS9IShvN nURX0R 5US9IShvN nUR 5 UR
5sSSS5IShvN $N[N7N !,IShvN (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éð
Ð  
ÐØ ÑÜ×$¨T×2°fØŸ C·±³È˜ÐPˆDØ × —9‘9“;÷3×2×2üsV,B*®B
¯B*²"BÁB Á#BÁ8 B*ÂBÂB*Â BÂB*ÂB'ÂB Â B'Â#B*cƒó¬# /nSnURXS9IShvN nURS/5nU(dU$URU5 X1-
nMJN77f)z9Paginate through all equipment pages until data is empty.rrdata)r+r%Úextend)rrÚ all_itemsrÚpager.s rÚget_all_equipmentÚ RentmanService.get_all_equipment(seéà*,ˆ ØˆØØ×0°uÐLˆ—88˜F 'ˆDÞØðÐð
× Ñ ˜ ‰Oˆ
ÙLùsAšA8AÚpayloadcƒóP# URS3n[R"SS9IShvN nURX R 5US9IShvN nUR 5 UR
5sSSS5IShvN $N[N7N !,IShvN (df  g=f7f)zAPOST /projectrequests to create a new project request in Rentman.z/projectrequestsrrr!r'©rr#r$Úpostrr&r')rr4r(r)r*s rÚcreate_project_requestÚ%RentmanService.create_project_request5svéàÐ Ð 0ÐÜ×$¨T×2°fØŸ S·-±-³/ȘÐPˆDØ × —9‘9“;÷3×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"SS9IShvN nURX0R 5US9IShvN nUR 5 UR
5sSSS5IShvN $N[N7N !,IShvN (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ÐÜ×$¨T×2°fØŸ S·-±-³/ÐHY˜ÐZˆDØ × —9‘9“;÷3×2×2üsV+B)­B ®B)±"BÁB Á#BÁ7 B)ÂB
ÂB)Â BÂ
B)ÂB&ÂB Â B&Â"B)ÚrawcójURS5=(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× â!<FÀcÌ4×;PÑ;P˜˜sŸw™w z°2Ó7ÔVYÐZ]ÓV^Ò
ðˆ
ˆJàÐ0¨bˆÜ,6°u¼d×,CÑ,C5—99˜V ÈUÏ[ÐVXÓIYˆô˜cŸg™g d¨BÓ—GG˜F —gg˜'×>¨3¯7©7°6¸2Ó+>Ø ØŸ7™7 =°"ÓŸ7™7 =°"Ó!Ÿg™gÐ&6¸Ó ØŸG™G —W‘W˜W bÓŸ ¨dÓ 
ð
ùò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ð—XX˜lÓ
Ø—88˜à—xx °Ó3ˆ Ø×$×*¨3°Ó2ˆÞ!&U˜1X¨Bˆ
Ü # 
¨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ð

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