doc: LocalFileSystemMediaDataStore.ktにドキュメントを追加

This commit is contained in:
usbharu 2023-12-06 14:24:36 +09:00
parent a8da0f5366
commit b56c5410aa
2 changed files with 38 additions and 0 deletions

View File

@ -9,6 +9,15 @@ import kotlin.io.path.deleteIfExists
import kotlin.io.path.outputStream import kotlin.io.path.outputStream
@Service @Service
/**
* ローカルファイルシステムにメディアを保存します
*
* @constructor
* ApplicationConfigとLocalStorageConfigをもとに作成
*
* @param applicationConfig ApplicationConfig
* @param localStorageConfig LocalStorageConfig
*/
class LocalFileSystemMediaDataStore( class LocalFileSystemMediaDataStore(
applicationConfig: ApplicationConfig, applicationConfig: ApplicationConfig,
localStorageConfig: LocalStorageConfig localStorageConfig: LocalStorageConfig
@ -49,6 +58,11 @@ class LocalFileSystemMediaDataStore(
) )
} }
/**
* メディアを削除しますサムネイルも削除されます
*
* @param id 削除するメディアのid [SuccessSavedMedia.name]を指定します
*/
override suspend fun delete(id: String) { override suspend fun delete(id: String) {
buildSavePath(savePath, id).deleteIfExists() buildSavePath(savePath, id).deleteIfExists()
buildSavePath(savePath, "thumbnail-$id").deleteIfExists() buildSavePath(savePath, "thumbnail-$id").deleteIfExists()

View File

@ -1,7 +1,31 @@
package dev.usbharu.hideout.core.service.media package dev.usbharu.hideout.core.service.media
/**
* メディアを保存するインタフェース
*
*/
interface MediaDataStore { interface MediaDataStore {
/**
* InputStreamを使用してメディアを保存します
*
* @param dataMediaSave FileとThumbnailのinputStream
* @return 保存されたメディア
*/
suspend fun save(dataMediaSave: MediaSave): SavedMedia suspend fun save(dataMediaSave: MediaSave): SavedMedia
/**
* 一時ファイルのパスを使用してメディアを保存します
*
* @param dataSaveRequest FileとThumbnailのパス
* @return 保存されたメディア
*/
suspend fun save(dataSaveRequest: MediaSaveRequest): SavedMedia suspend fun save(dataSaveRequest: MediaSaveRequest): SavedMedia
/**
* メディアを削除します
* 実装はサムネイルメタデータなども削除するべきです
*
* @param id 削除するメディアのid 通常は[SuccessSavedMedia.name]を指定します
*/
suspend fun delete(id: String) suspend fun delete(id: String)
} }