Files
param-hub-python/modules/routes/__pycache__/api_items.cpython-310.pyc
T

58 lines
5.8 KiB
Plaintext
Raw Normal View History

2026-07-10 23:59:53 +08:00
o
2026-07-11 00:34:47 +08:00
êQj8ã@sdZddlZddlZddlmZddlmZmZmZmZddl m
2026-07-10 23:59:53 +08:00
Z
2026-07-11 00:34:47 +08:00
ddl m Z m
Z
mZedeƒZe d¡d dƒZe d
¡d d ƒZejdd
2026-07-10 23:59:53 +08:00
gdddƒZejd
2026-07-11 00:34:47 +08:00
dgdddƒZejd
2026-07-10 23:59:53 +08:00
dgdddƒZejdd
gdddƒZejddgdddƒZejddd
2026-07-11 00:34:47 +08:00
gddd „ƒZdS)!u
动æ€åˆ†ç±»æ•°æ® API
éN)Údatetime)Ú BlueprintÚrequestÚjsonifyÚResponse)ÚDATA_DIR)Ú load_dataÚ save_dataÚparse_date_to_timestampÚ api_itemsz/api/items/<category_id>ctd|d}t|ƒ}tj dd¡dk}|rdd|Dƒ}tj dd¡tj d d
¡d
k}d d ˆdkrBt|d
2026-07-10 23:59:53 +08:00
dd}t|ƒSˆdvrRt|fdd|d}t|ƒS)items_ú.jsonÚallÚ0cSsg|]
2026-07-11 00:34:47 +08:00
}| dd¡r|qS)ÚvisibleT©Úget©Ú.0Úrú2works/param-hub-python/modules/routes/api_items.pyÚ
<listcomp>ózapi_items.<locals>.<listcomp>ÚsortÚdefaultÚorderÚdesccSs&| |¡}|dur|dvrdSdS|S)N)ÚpriceÚviewsÚyearrÚr)ÚkeyÚvalrrrÚsafe_keys
zapi_items.<locals>.safe_keycSs4| dd¡ t| dd¡ƒpt| dd¡ƒpd fS)NÚ is_pinnedFÚ publish_dater!Ú
2026-07-10 23:59:53 +08:00
created_atr)rr
©r"rrrÚ<lambda>s ÿÿþzapi_items.<locals>.<lambda>)r#)Únamerr r(r'rÚ
updated_atcs
ˆ|ˆƒS)Nrr)©r%Úsort_byrrr*#s
)r#Úreverse)rrrÚargsrÚsortedr)Ú category_idÚ
2026-07-11 00:34:47 +08:00
items_fileÚitemsÚ hide_hiddenr/rr-rr sþz"/api/items/<category_id>/<item_id>csLtd|d}t|ƒ}tfdd|Dƒdƒ}|s"tddiƒdfSt|ƒS)Nr r
2026-07-10 23:59:53 +08:00
c3ó |] }|dˆkr|VqdS©ÚidNrr©Úitem_idrrÚ <genexpr>+óz"api_item_detail.<locals>.<genexpr>ÚerrorúItem not foundé”)rrÚnextr©r2r:r3r4Úitemrr9rÚapi_item_detail's rCÚPOST)ÚmethodscCt ¡}td|d}t|ƒ}t ¡jdd|d<||d<t ¡  d¡|d<| 
2026-07-11 00:34:47 +08:00
dd ¡|d<| 
2026-07-10 23:59:53 +08:00
d
2026-07-11 00:34:47 +08:00
d ¡|d
2026-07-10 23:59:53 +08:00
<| 
2026-07-11 00:34:47 +08:00
d d
¡|d <| 
2026-07-10 23:59:53 +08:00
dd¡|d<|  |¡t ||ƒt
2026-07-11 00:34:47 +08:00
|ƒS)Nr r
é r8r2ú%Y-%m-%d %H:%M:%Sr(rTr'r!rrr&F)rÚget_jsonrrÚuuidÚuuid4ÚhexrÚnowÚstrftimerÚappendr r)r2Údatar3r4rrrÚapi_create_item1s

rPÚPUTcszt ¡}td|d}t|ƒ}tfdd|Dƒdƒ}|s&tddiƒdfS| |¡t ¡  d¡|d <t
||ƒt|ƒS)
Nr r
c3r6r7rrr9rrr;Gr<z"api_update_item.<locals>.<genexpr>r=r>r?rGr,) rrHrrr@rÚupdaterrLrMr )r2r:rOr3r4rBrr9rÚapi_update_itemBs

rSÚDELETEcs@td|d}t|ƒ}fdd|Dƒ}t||ƒtddiƒS)Nr r
csg|]
}|dˆkr|qS)r8rrr9rrrTrz#api_delete_item.<locals>.<listcomp>ÚsuccessT)rrr r)r2r:r3r4rr9rÚapi_delete_itemPs

 rVz*/api/items/<category_id>/<item_id>/visiblecsrtd|d}t|ƒ}tfdd|Dƒdƒ}|s"tddiƒdfS| dd ¡ |d<t||ƒtd |dd
œƒS) Nr r
c3r6r7rrr9rrr;]r<z*api_toggle_item_visible.<locals>.<genexpr>r=r>r?rT)rUr)rrr@rrr rArr9rÚapi_toggle_item_visibleYs
rWz/api/items/<category_id>/exportÚGETc
2026-07-10 23:59:53 +08:00
Cz<td|d}t|ƒ}d||t|ƒt ¡ d¡ddœ}tj|ddd }t|d
d d |d
t ¡ d¡did}|WSt yX}zt
dt |ƒiƒdfWYd}~Sd}~ww)u!导出指定分类的所有数æ®r r
r4rGz1.0)Útyper2r4ÚcountÚ export_timeÚversionFé)Ú ensure_asciiÚindentzapplication/jsonzContent-Dispositionzattachment; filename=z-export-z %Y%m%d%H%M%S)ÚmimetypeÚheadersr=éôN) rrÚlenrrLrMÚjsonÚdumpsrÚ ExceptionrÚstr)r2r3r4Ú export_dataÚjson_strÚresponseÚerrrÚapi_export_itemsgs* úý ÿrlz/api/items/<category_id>/importc
2026-07-11 00:34:47 +08:00
sPztjdkrtd|ddddidœƒWSt ¡}|rd|vr(td d
iƒd fWStj dd ¡}td
|d}t|ƒ}|d}dddgdœ}|D]9‰tfdd|Dƒdƒ}|rt|dkrj|  ˆ¡|dd7<qH|d