Update to mongo 1.1.0-beta, start reset + migrations
This commit is contained in:
@@ -4,7 +4,7 @@ use crate::email;
|
||||
use crate::util::gen_token;
|
||||
|
||||
use bcrypt::{hash, verify};
|
||||
use bson::{doc, from_bson, Bson::UtcDatetime};
|
||||
use mongodb::bson::{doc, from_bson, Bson};
|
||||
use chrono::prelude::*;
|
||||
use database::user::User;
|
||||
use rocket_contrib::json::Json;
|
||||
@@ -75,8 +75,8 @@ pub fn create(info: Json<Create>) -> Response {
|
||||
"email_verification": {
|
||||
"verified": false,
|
||||
"target": info.email.clone(),
|
||||
"expiry": UtcDatetime(Utc::now() + chrono::Duration::days(1)),
|
||||
"rate_limit": UtcDatetime(Utc::now() + chrono::Duration::minutes(1)),
|
||||
"expiry": Bson::DateTime(Utc::now() + chrono::Duration::days(1)),
|
||||
"rate_limit": Bson::DateTime(Utc::now() + chrono::Duration::minutes(1)),
|
||||
"code": code.clone(),
|
||||
}
|
||||
},
|
||||
@@ -110,7 +110,7 @@ pub fn verify_email(code: String) -> Response {
|
||||
.find_one(doc! { "email_verification.code": code.clone() }, None)
|
||||
.expect("Failed user lookup")
|
||||
{
|
||||
let user: User = from_bson(bson::Bson::Document(u)).expect("Failed to unwrap user.");
|
||||
let user: User = from_bson(Bson::Document(u)).expect("Failed to unwrap user.");
|
||||
let ev = user.email_verification;
|
||||
|
||||
if Utc::now() > *ev.expiry.unwrap() {
|
||||
@@ -169,7 +169,7 @@ pub fn resend_email(info: Json<Resend>) -> Response {
|
||||
)
|
||||
.expect("Failed user lookup.")
|
||||
{
|
||||
let user: User = from_bson(bson::Bson::Document(u)).expect("Failed to unwrap user.");
|
||||
let user: User = from_bson(Bson::Document(u)).expect("Failed to unwrap user.");
|
||||
let ev = user.email_verification;
|
||||
|
||||
let expiry = ev.expiry.unwrap();
|
||||
@@ -180,7 +180,7 @@ pub fn resend_email(info: Json<Resend>) -> Response {
|
||||
json!({ "error": "You are being rate limited, please try again in a while." }),
|
||||
)
|
||||
} else {
|
||||
let mut new_expiry = UtcDatetime(Utc::now() + chrono::Duration::days(1));
|
||||
let mut new_expiry = Bson::DateTime(Utc::now() + chrono::Duration::days(1));
|
||||
if info.email.clone() != user.email {
|
||||
if Utc::now() > *expiry {
|
||||
return Response::Gone(
|
||||
@@ -188,7 +188,7 @@ pub fn resend_email(info: Json<Resend>) -> Response {
|
||||
);
|
||||
}
|
||||
|
||||
new_expiry = UtcDatetime(*expiry);
|
||||
new_expiry = Bson::DateTime(*expiry);
|
||||
}
|
||||
|
||||
let code = gen_token(48);
|
||||
@@ -198,7 +198,7 @@ pub fn resend_email(info: Json<Resend>) -> Response {
|
||||
"$set": {
|
||||
"email_verification.code": code.clone(),
|
||||
"email_verification.expiry": new_expiry,
|
||||
"email_verification.rate_limit": UtcDatetime(Utc::now() + chrono::Duration::minutes(1)),
|
||||
"email_verification.rate_limit": Bson::DateTime(Utc::now() + chrono::Duration::minutes(1)),
|
||||
},
|
||||
},
|
||||
None,
|
||||
@@ -234,7 +234,7 @@ pub fn login(info: Json<Login>) -> Response {
|
||||
.find_one(doc! { "email": info.email.clone() }, None)
|
||||
.expect("Failed user lookup")
|
||||
{
|
||||
let user: User = from_bson(bson::Bson::Document(u)).expect("Failed to unwrap user.");
|
||||
let user: User = from_bson(Bson::Document(u)).expect("Failed to unwrap user.");
|
||||
|
||||
match verify(info.password.clone(), &user.password)
|
||||
.expect("Failed to check hash of password.")
|
||||
|
||||
@@ -10,7 +10,7 @@ use crate::notifications::{
|
||||
};
|
||||
use crate::util::vec_to_set;
|
||||
|
||||
use bson::{doc, from_bson, Bson, Bson::UtcDatetime};
|
||||
use mongodb::bson::{doc, from_bson, Bson};
|
||||
use chrono::prelude::*;
|
||||
use mongodb::options::FindOptions;
|
||||
use num_enum::TryFromPrimitive;
|
||||
@@ -531,7 +531,7 @@ pub fn messages(
|
||||
let mut messages = Vec::new();
|
||||
for item in result {
|
||||
let message: Message =
|
||||
from_bson(bson::Bson::Document(item.unwrap())).expect("Failed to unwrap message.");
|
||||
from_bson(Bson::Document(item.unwrap())).expect("Failed to unwrap message.");
|
||||
messages.push(json!({
|
||||
"id": message.id,
|
||||
"author": message.author,
|
||||
@@ -667,7 +667,7 @@ pub fn edit_message(
|
||||
doc! {
|
||||
"$set": {
|
||||
"content": &edit.content,
|
||||
"edited": UtcDatetime(edited)
|
||||
"edited": Bson::DateTime(edited)
|
||||
},
|
||||
"$push": {
|
||||
"previous_content": {
|
||||
|
||||
@@ -9,7 +9,7 @@ use crate::notifications::{
|
||||
};
|
||||
use crate::util::gen_token;
|
||||
|
||||
use bson::{doc, from_bson, Bson};
|
||||
use mongodb::bson::{doc, from_bson, Bson};
|
||||
use mongodb::options::{FindOneOptions, FindOptions};
|
||||
use rocket::request::Form;
|
||||
use rocket_contrib::json::Json;
|
||||
@@ -107,7 +107,7 @@ pub fn guild(user: UserRef, target: Guild) -> Option<Response> {
|
||||
for item in results {
|
||||
if let Ok(entry) = item {
|
||||
if let Ok(channel) =
|
||||
from_bson(bson::Bson::Document(entry)) as Result<Channel, _>
|
||||
from_bson(Bson::Document(entry)) as Result<Channel, _>
|
||||
{
|
||||
channels.push(json!({
|
||||
"id": channel.id,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
use super::Response;
|
||||
|
||||
use bson::doc;
|
||||
use mongodb::bson::doc;
|
||||
|
||||
/// root
|
||||
#[get("/")]
|
||||
pub fn root() -> Response {
|
||||
Response::Success(json!({
|
||||
"revolt": "0.2.2"
|
||||
"revolt": "0.2.3"
|
||||
}))
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ use crate::notifications::{
|
||||
};
|
||||
use crate::routes::channel;
|
||||
|
||||
use bson::doc;
|
||||
use mongodb::bson::doc;
|
||||
use mongodb::options::{Collation, FindOptions, FindOneOptions};
|
||||
use rocket_contrib::json::Json;
|
||||
use serde::{Deserialize, Serialize};
|
||||
@@ -148,6 +148,7 @@ pub fn dms(user: UserRef) -> Response {
|
||||
for item in results {
|
||||
if let Ok(doc) = item {
|
||||
let id = doc.get_str("_id").unwrap();
|
||||
let last_message = doc.get_document("last_message").unwrap();
|
||||
let recipients = doc.get_array("recipients").unwrap();
|
||||
|
||||
match doc.get_i32("type").unwrap() {
|
||||
@@ -155,6 +156,7 @@ pub fn dms(user: UserRef) -> Response {
|
||||
channels.push(json!({
|
||||
"id": id,
|
||||
"type": 0,
|
||||
"last_message": last_message,
|
||||
"recipients": recipients,
|
||||
}));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user