@@ -176,11 +176,14 @@ async def get_file(code: str, token: str, ip: str = Depends(error_ip_limit), s:
176176async def share (background_tasks : BackgroundTasks , text : str = Form (default = None ),
177177 style : str = Form (default = '2' ), value : int = Form (default = 1 ), file : UploadFile = File (default = None ),
178178 ip : str = Depends (upload_ip_limit ), s : AsyncSession = Depends (get_session )):
179- code = await get_code (s )
180179 if style == '2' :
181180 if value > settings .MAX_DAYS :
182181 raise HTTPException (status_code = 400 , detail = f"最大有效天数为{ settings .MAX_DAYS } 天" )
183- exp_time = datetime .datetime .now () + datetime .timedelta (days = value )
182+ # 如果天数大于0,就设置过期时间,否则就设置为永久,无过期时间
183+ if settings .ENABLE_PERMANENT and value < 0 :
184+ exp_time = None
185+ else :
186+ exp_time = datetime .datetime .now () + datetime .timedelta (days = value )
184187 exp_count = - 1
185188 elif style == '1' :
186189 if value < 1 :
@@ -199,6 +202,7 @@ async def share(background_tasks: BackgroundTasks, text: str = Form(default=None
199202 background_tasks .add_task (storage .save_file , file , _text )
200203 else :
201204 size , _text , _type , name = len (text ), text , 'text' , '文本分享'
205+ code = await get_code (s )
202206 s .add (Codes (code = code , text = _text , size = size , type = _type , name = name , count = exp_count , exp_time = exp_time , key = key ))
203207 await s .commit ()
204208 upload_ip_limit .add_ip (ip )
0 commit comments