mirror of https://github.com/usbharu/Hideout.git
doc: LocalFileSystemMediaDataStore.ktにドキュメントを追加
This commit is contained in:
parent
a8da0f5366
commit
b56c5410aa
|
@ -9,6 +9,15 @@ import kotlin.io.path.deleteIfExists
|
|||
import kotlin.io.path.outputStream
|
||||
|
||||
@Service
|
||||
/**
|
||||
* ローカルファイルシステムにメディアを保存します
|
||||
*
|
||||
* @constructor
|
||||
* ApplicationConfigとLocalStorageConfigをもとに作成
|
||||
*
|
||||
* @param applicationConfig ApplicationConfig
|
||||
* @param localStorageConfig LocalStorageConfig
|
||||
*/
|
||||
class LocalFileSystemMediaDataStore(
|
||||
applicationConfig: ApplicationConfig,
|
||||
localStorageConfig: LocalStorageConfig
|
||||
|
@ -49,6 +58,11 @@ class LocalFileSystemMediaDataStore(
|
|||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* メディアを削除します。サムネイルも削除されます。
|
||||
*
|
||||
* @param id 削除するメディアのid [SuccessSavedMedia.name]を指定します。
|
||||
*/
|
||||
override suspend fun delete(id: String) {
|
||||
buildSavePath(savePath, id).deleteIfExists()
|
||||
buildSavePath(savePath, "thumbnail-$id").deleteIfExists()
|
||||
|
|
|
@ -1,7 +1,31 @@
|
|||
package dev.usbharu.hideout.core.service.media
|
||||
|
||||
/**
|
||||
* メディアを保存するインタフェース
|
||||
*
|
||||
*/
|
||||
interface MediaDataStore {
|
||||
/**
|
||||
* InputStreamを使用してメディアを保存します
|
||||
*
|
||||
* @param dataMediaSave FileとThumbnailのinputStream
|
||||
* @return 保存されたメディア
|
||||
*/
|
||||
suspend fun save(dataMediaSave: MediaSave): SavedMedia
|
||||
|
||||
/**
|
||||
* 一時ファイルのパスを使用してメディアを保存します
|
||||
*
|
||||
* @param dataSaveRequest FileとThumbnailのパス
|
||||
* @return 保存されたメディア
|
||||
*/
|
||||
suspend fun save(dataSaveRequest: MediaSaveRequest): SavedMedia
|
||||
|
||||
/**
|
||||
* メディアを削除します
|
||||
* 実装はサムネイル、メタデータなども削除するべきです。
|
||||
*
|
||||
* @param id 削除するメディアのid 通常は[SuccessSavedMedia.name]を指定します。
|
||||
*/
|
||||
suspend fun delete(id: String)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue