MCPcopy Index your code
hub / github.com/vastsa/FileCodeBox / update_file

Function update_file

apps/admin/views.py:566–604  ·  view source on GitHub ↗
(
    data: UpdateFileData,
    file_service: FileService = Depends(get_file_service),
)

Source from the content-addressed store, hash-verified

564
565@admin_api.patch("/file/update")
566async def update_file(
567 data: UpdateFileData,
568 file_service: FileService = Depends(get_file_service),
569):
570 file_code = await FileCodes.filter(id=data.id).first()
571 if not file_code:
572 raise HTTPException(status_code=404, detail="文件不存在")
573 target_name = file_service._build_file_activity_name(file_code)
574 update_data = {}
575
576 if data.code is not None and data.code != file_code.code:
577 # 判断code是否存在
578 if await FileCodes.filter(code=data.code).first():
579 raise HTTPException(status_code=400, detail="code已存在")
580 update_data["code"] = data.code
581 if data.prefix is not None and data.prefix != file_code.prefix:
582 update_data["prefix"] = data.prefix
583 if data.suffix is not None and data.suffix != file_code.suffix:
584 update_data["suffix"] = data.suffix
585 if (
586 data.expired_at is not None
587 and data.expired_at != ""
588 and data.expired_at != file_code.expired_at
589 ):
590 update_data["expired_at"] = data.expired_at
591 if data.expired_count is not None and data.expired_count != file_code.expired_count:
592 update_data["expired_count"] = data.expired_count
593
594 await file_code.update_from_dict(update_data).save()
595 if update_data:
596 await file_service.record_admin_activity(
597 action="file.update",
598 target_type="file",
599 target_id=data.id,
600 target_name=target_name,
601 count=1,
602 meta={"fields": sorted(update_data.keys())},
603 )
604 return APIResponse(detail="更新成功")

Callers

nothing calls this directly

Calls 5

APIResponseClass · 0.90
record_admin_activityMethod · 0.80
firstMethod · 0.45
filterMethod · 0.45

Tested by

no test coverage detected