Adds support for encrypted media uploads on NIP-17 DMs

This commit is contained in:
Vitor Pamplona
2024-12-23 20:30:22 -05:00
parent f839565152
commit 94c74a1e0c
45 changed files with 1556 additions and 332 deletions

View File

@@ -43,7 +43,7 @@ abstract class MediaUrlContent(
) : BaseMediaContent(description, dim, blurhash)
@Immutable
class MediaUrlImage(
open class MediaUrlImage(
url: String,
description: String? = null,
hash: String? = null,
@@ -54,8 +54,22 @@ class MediaUrlImage(
mimeType: String? = null,
) : MediaUrlContent(url, description, hash, dim, blurhash, uri, mimeType)
class EncryptedMediaUrlImage(
url: String,
description: String? = null,
hash: String? = null,
blurhash: String? = null,
dim: Dimension? = null,
uri: String? = null,
contentWarning: String? = null,
mimeType: String? = null,
val encryptionAlgo: String,
val encryptionKey: ByteArray,
val encryptionNonce: ByteArray,
) : MediaUrlImage(url, description, hash, blurhash, dim, uri, contentWarning, mimeType)
@Immutable
class MediaUrlVideo(
open class MediaUrlVideo(
url: String,
description: String? = null,
hash: String? = null,
@@ -68,6 +82,23 @@ class MediaUrlVideo(
mimeType: String? = null,
) : MediaUrlContent(url, description, hash, dim, blurhash, uri, mimeType)
@Immutable
class EncryptedMediaUrlVideo(
url: String,
description: String? = null,
hash: String? = null,
dim: Dimension? = null,
uri: String? = null,
artworkUri: String? = null,
authorName: String? = null,
blurhash: String? = null,
contentWarning: String? = null,
mimeType: String? = null,
val encryptionAlgo: String,
val encryptionKey: ByteArray,
val encryptionNonce: ByteArray,
) : MediaUrlVideo(url, description, hash, dim, uri, artworkUri, authorName, blurhash, contentWarning, mimeType)
@Immutable
abstract class MediaPreloadedContent(
val localFile: File?,