diff --git a/Cargo.lock b/Cargo.lock index b701a302..1ffa30a0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3656,6 +3656,7 @@ dependencies = [ "ulid 1.0.0", "unicode-segmentation", "url-escape", + "validator 0.16.0", "web-push 0.10.0", ] diff --git a/crates/core/database/Cargo.toml b/crates/core/database/Cargo.toml index 49e79520..c1af007b 100644 --- a/crates/core/database/Cargo.toml +++ b/crates/core/database/Cargo.toml @@ -25,7 +25,9 @@ default = ["mongodb", "async-std-runtime", "tasks"] # Core revolt-config = { version = "0.7.0", path = "../config" } revolt-result = { version = "0.7.0", path = "../result" } -revolt-models = { version = "0.7.0", path = "../models" } +revolt-models = { version = "0.7.0", path = "../models", features = [ + "validator", +] } revolt-presence = { version = "0.7.0", path = "../presence" } revolt-permissions = { version = "0.7.0", path = "../permissions", features = [ "serde", @@ -45,6 +47,7 @@ decancer = "1.6.2" deadqueue = "0.2.4" linkify = { optional = true, version = "0.8.1" } url-escape = { optional = true, version = "0.1.1" } +validator = { version = "0.16", features = ["derive"] } isahc = { optional = true, version = "1.7", features = ["json"] } # Serialisation diff --git a/crates/core/database/src/models/messages/model.rs b/crates/core/database/src/models/messages/model.rs index 819cc3a5..373cf222 100644 --- a/crates/core/database/src/models/messages/model.rs +++ b/crates/core/database/src/models/messages/model.rs @@ -3,16 +3,14 @@ use std::collections::HashSet; use indexmap::{IndexMap, IndexSet}; use iso8601_timestamp::Timestamp; use revolt_config::config; -use revolt_models::{ - v0::{ - self, BulkMessageResponse, DataMessageSend, Embed, MessageAuthor, MessageSort, - MessageWebhook, PushNotification, ReplyIntent, SendableEmbed, Text, RE_MENTION, - }, - validator::Validate, +use revolt_models::v0::{ + self, BulkMessageResponse, DataMessageSend, Embed, MessageAuthor, MessageSort, MessageWebhook, + PushNotification, ReplyIntent, SendableEmbed, Text, RE_MENTION, }; use revolt_permissions::{ChannelPermission, PermissionValue}; use revolt_result::Result; use ulid::Ulid; +use validator::Validate; use crate::{ events::client::EventV1,