add:新增永久保存,但是会永久占用一个码,问题待解决

This commit is contained in:
lan
2023-02-11 19:41:44 +08:00
parent f72e121406
commit 71e7c6170b
4 changed files with 22 additions and 13 deletions
+6 -2
View File
@@ -176,11 +176,14 @@ async def get_file(code: str, token: str, ip: str = Depends(error_ip_limit), s:
async def share(background_tasks: BackgroundTasks, text: str = Form(default=None),
style: str = Form(default='2'), value: int = Form(default=1), file: UploadFile = File(default=None),
ip: str = Depends(upload_ip_limit), s: AsyncSession = Depends(get_session)):
code = await get_code(s)
if style == '2':
if value > settings.MAX_DAYS:
raise HTTPException(status_code=400, detail=f"最大有效天数为{settings.MAX_DAYS}")
exp_time = datetime.datetime.now() + datetime.timedelta(days=value)
# 如果天数大于0,就设置过期时间,否则就设置为永久,无过期时间
if settings.ENABLE_PERMANENT and value < 0:
exp_time = None
else:
exp_time = datetime.datetime.now() + datetime.timedelta(days=value)
exp_count = -1
elif style == '1':
if value < 1:
@@ -199,6 +202,7 @@ async def share(background_tasks: BackgroundTasks, text: str = Form(default=None
background_tasks.add_task(storage.save_file, file, _text)
else:
size, _text, _type, name = len(text), text, 'text', '文本分享'
code = await get_code(s)
s.add(Codes(code=code, text=_text, size=size, type=_type, name=name, count=exp_count, exp_time=exp_time, key=key))
await s.commit()
upload_ip_limit.add_ip(ip)