Moves reports to common
Adds support for additional information
This commit is contained in:
@@ -33,6 +33,7 @@ import com.vitorpamplona.amethyst.commons.model.nip28PublicChats.PublicChatChann
|
|||||||
import com.vitorpamplona.amethyst.commons.model.nip28PublicChats.PublicChatListDecryptionCache
|
import com.vitorpamplona.amethyst.commons.model.nip28PublicChats.PublicChatListDecryptionCache
|
||||||
import com.vitorpamplona.amethyst.commons.model.nip28PublicChats.PublicChatListState
|
import com.vitorpamplona.amethyst.commons.model.nip28PublicChats.PublicChatListState
|
||||||
import com.vitorpamplona.amethyst.commons.model.nip38UserStatuses.UserStatusAction
|
import com.vitorpamplona.amethyst.commons.model.nip38UserStatuses.UserStatusAction
|
||||||
|
import com.vitorpamplona.amethyst.commons.model.nip56Reports.ReportAction
|
||||||
import com.vitorpamplona.amethyst.commons.richtext.RichTextParser
|
import com.vitorpamplona.amethyst.commons.richtext.RichTextParser
|
||||||
import com.vitorpamplona.amethyst.logTime
|
import com.vitorpamplona.amethyst.logTime
|
||||||
import com.vitorpamplona.amethyst.model.edits.PrivateStorageRelayListDecryptionCache
|
import com.vitorpamplona.amethyst.model.edits.PrivateStorageRelayListDecryptionCache
|
||||||
@@ -77,7 +78,6 @@ import com.vitorpamplona.amethyst.model.nip51Lists.searchRelays.SearchRelayListD
|
|||||||
import com.vitorpamplona.amethyst.model.nip51Lists.searchRelays.SearchRelayListState
|
import com.vitorpamplona.amethyst.model.nip51Lists.searchRelays.SearchRelayListState
|
||||||
import com.vitorpamplona.amethyst.model.nip51Lists.trustedRelays.TrustedRelayListDecryptionCache
|
import com.vitorpamplona.amethyst.model.nip51Lists.trustedRelays.TrustedRelayListDecryptionCache
|
||||||
import com.vitorpamplona.amethyst.model.nip51Lists.trustedRelays.TrustedRelayListState
|
import com.vitorpamplona.amethyst.model.nip51Lists.trustedRelays.TrustedRelayListState
|
||||||
import com.vitorpamplona.amethyst.model.nip56Reports.ReportAction
|
|
||||||
import com.vitorpamplona.amethyst.model.nip65RelayList.Nip65RelayListState
|
import com.vitorpamplona.amethyst.model.nip65RelayList.Nip65RelayListState
|
||||||
import com.vitorpamplona.amethyst.model.nip72Communities.CommunityListDecryptionCache
|
import com.vitorpamplona.amethyst.model.nip72Communities.CommunityListDecryptionCache
|
||||||
import com.vitorpamplona.amethyst.model.nip72Communities.CommunityListState
|
import com.vitorpamplona.amethyst.model.nip72Communities.CommunityListState
|
||||||
@@ -571,7 +571,8 @@ class Account(
|
|||||||
suspend fun report(
|
suspend fun report(
|
||||||
user: User,
|
user: User,
|
||||||
type: ReportType,
|
type: ReportType,
|
||||||
) = sendMyPublicAndPrivateOutbox(ReportAction.report(user, type, userProfile(), signer))
|
content: String = "",
|
||||||
|
) = sendMyPublicAndPrivateOutbox(ReportAction.report(user, type, content, userProfile(), signer))
|
||||||
|
|
||||||
suspend fun delete(note: Note) = delete(listOf(note))
|
suspend fun delete(note: Note) = delete(listOf(note))
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -701,9 +701,10 @@ class AccountViewModel(
|
|||||||
fun report(
|
fun report(
|
||||||
user: User,
|
user: User,
|
||||||
type: ReportType,
|
type: ReportType,
|
||||||
|
content: String = "",
|
||||||
) {
|
) {
|
||||||
launchSigner {
|
launchSigner {
|
||||||
account.report(user, type)
|
account.report(user, type, content)
|
||||||
account.hideUser(user.pubkeyHex)
|
account.hideUser(user.pubkeyHex)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-5
@@ -18,10 +18,10 @@
|
|||||||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
package com.vitorpamplona.amethyst.model.nip56Reports
|
package com.vitorpamplona.amethyst.commons.model.nip56Reports
|
||||||
|
|
||||||
import com.vitorpamplona.amethyst.model.Note
|
import com.vitorpamplona.amethyst.commons.model.Note
|
||||||
import com.vitorpamplona.amethyst.model.User
|
import com.vitorpamplona.amethyst.commons.model.User
|
||||||
import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner
|
import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner
|
||||||
import com.vitorpamplona.quartz.nip56Reports.ReportEvent
|
import com.vitorpamplona.quartz.nip56Reports.ReportEvent
|
||||||
import com.vitorpamplona.quartz.nip56Reports.ReportType
|
import com.vitorpamplona.quartz.nip56Reports.ReportType
|
||||||
@@ -31,6 +31,7 @@ class ReportAction {
|
|||||||
suspend fun report(
|
suspend fun report(
|
||||||
user: User,
|
user: User,
|
||||||
type: ReportType,
|
type: ReportType,
|
||||||
|
content: String = "",
|
||||||
by: User,
|
by: User,
|
||||||
signer: NostrSigner,
|
signer: NostrSigner,
|
||||||
): ReportEvent? {
|
): ReportEvent? {
|
||||||
@@ -39,7 +40,7 @@ class ReportAction {
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
val template = ReportEvent.build(user.pubkeyHex, type)
|
val template = ReportEvent.build(user.pubkeyHex, type, content)
|
||||||
|
|
||||||
return signer.sign(template)
|
return signer.sign(template)
|
||||||
}
|
}
|
||||||
@@ -57,7 +58,7 @@ class ReportAction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return note.event?.let {
|
return note.event?.let {
|
||||||
signer.sign(ReportEvent.build(it, type))
|
signer.sign(ReportEvent.build(it, type, content))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -77,8 +77,9 @@ class ReportEvent(
|
|||||||
fun build(
|
fun build(
|
||||||
reportedPost: Event,
|
reportedPost: Event,
|
||||||
type: ReportType,
|
type: ReportType,
|
||||||
|
comment: String = "",
|
||||||
createdAt: Long = TimeUtils.now(),
|
createdAt: Long = TimeUtils.now(),
|
||||||
) = eventTemplate(KIND, "", createdAt) {
|
) = eventTemplate(KIND, comment, createdAt) {
|
||||||
alt(ALT_PREFIX + type.code)
|
alt(ALT_PREFIX + type.code)
|
||||||
event(reportedPost.id, type)
|
event(reportedPost.id, type)
|
||||||
user(reportedPost.pubKey, type)
|
user(reportedPost.pubKey, type)
|
||||||
@@ -91,8 +92,9 @@ class ReportEvent(
|
|||||||
fun build(
|
fun build(
|
||||||
reportedUser: HexKey,
|
reportedUser: HexKey,
|
||||||
type: ReportType,
|
type: ReportType,
|
||||||
|
comment: String = "",
|
||||||
createdAt: Long = TimeUtils.now(),
|
createdAt: Long = TimeUtils.now(),
|
||||||
) = eventTemplate(KIND, "", createdAt) {
|
) = eventTemplate(KIND, comment, createdAt) {
|
||||||
alt(ALT_PREFIX + type.code)
|
alt(ALT_PREFIX + type.code)
|
||||||
user(reportedUser, type)
|
user(reportedUser, type)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user