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
|
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()
|
||||||
|
|
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue