Example #1
0
        public async Task <IActionResult> DeleteAttachedFile(long id, long?fileId)
        {
            if (fileId == null)
            {
                return(JsonBadRequest("File ID is required."));
            }
            if (fileId.Value < 0)
            {
                return(JsonBadRequest("The file is locked. You can NOT delete the file."));
            }
            //存在チェック
            //子の添付ファイルが存在すれば親の推論履歴は必ず存在するはずなので、そっちはチェックしない
            InferenceHistoryAttachedFile file = await inferenceHistoryRepository.GetAttachedFileAsync(fileId.Value);

            if (file == null)
            {
                return(JsonNotFound($"File ID {fileId.Value} is not found."));
            }

            inferenceHistoryRepository.DeleteAttachedFile(file);
            await storageLogic.DeleteFileAsync(ResourceType.InferenceHistoryAttachedFiles, file.StoredPath);

            unitOfWork.Commit();

            return(JsonNoContent());
        }