fix: update Reference type to be lifetime parameterized in admin API functions
This commit is contained in:
@@ -17,7 +17,7 @@ use crate::routes::admin::util::{
|
||||
pub async fn admin_comment_edit(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
id: Reference,
|
||||
id: Reference<'_>,
|
||||
body: Json<v0::AdminCommentEdit>,
|
||||
) -> Result<EmptyResponse> {
|
||||
let user = flatten_authorized_user(&auth);
|
||||
|
||||
@@ -13,7 +13,7 @@ use crate::routes::admin::util::{
|
||||
pub async fn admin_comment_fetch_case(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
id: Reference,
|
||||
id: Reference<'_>,
|
||||
) -> Result<Json<Vec<v0::AdminComment>>> {
|
||||
let user = flatten_authorized_user(&auth);
|
||||
if !user_has_permission(user, v0::AdminUserPermissionFlags::Comments) {
|
||||
|
||||
@@ -13,7 +13,7 @@ use crate::routes::admin::util::{
|
||||
pub async fn admin_comment_fetch_object(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
id: Reference,
|
||||
id: Reference<'_>,
|
||||
) -> Result<Json<Vec<v0::AdminComment>>> {
|
||||
let user = flatten_authorized_user(&auth);
|
||||
if !user_has_permission(user, v0::AdminUserPermissionFlags::Comments) {
|
||||
|
||||
@@ -12,7 +12,7 @@ use crate::routes::admin::util::{flatten_authorized_user, user_has_permission};
|
||||
pub async fn admin_edit_user(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
target: Reference,
|
||||
target: Reference<'_>,
|
||||
body: Json<v0::AdminUserEdit>,
|
||||
) -> Result<EmptyResponse> {
|
||||
let user = flatten_authorized_user(&auth);
|
||||
|
||||
@@ -13,7 +13,7 @@ use crate::routes::admin::util::user_has_permission;
|
||||
pub async fn admin_revoke_token(
|
||||
db: &State<Database>,
|
||||
auth: AdminMachineToken,
|
||||
token: Reference,
|
||||
token: Reference<'_>,
|
||||
) -> Result<EmptyResponse> {
|
||||
if !user_has_permission(
|
||||
&auth.on_behalf_of,
|
||||
|
||||
@@ -15,9 +15,9 @@ use crate::routes::admin::util::{
|
||||
pub async fn admin_server_add_member(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
id: Reference,
|
||||
id: Reference<'_>,
|
||||
case: Option<&str>,
|
||||
user_id: Reference,
|
||||
user_id: Reference<'_>,
|
||||
suppress_alerts: bool,
|
||||
) -> Result<Json<v0::MemberWithUserResponse>> {
|
||||
let user = flatten_authorized_user(&auth);
|
||||
|
||||
@@ -19,9 +19,9 @@ use crate::routes::admin::util::{
|
||||
pub async fn admin_server_ban_member(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
id: Reference,
|
||||
id: Reference<'_>,
|
||||
case: Option<&str>,
|
||||
user_id: Reference,
|
||||
user_id: Reference<'_>,
|
||||
suppress_alerts: bool,
|
||||
body: Json<v0::DataBanCreate>,
|
||||
) -> Result<Json<v0::ServerBan>> {
|
||||
|
||||
@@ -16,9 +16,9 @@ use crate::routes::admin::util::{
|
||||
pub async fn admin_server_change_owner(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
id: Reference,
|
||||
id: Reference<'_>,
|
||||
case: Option<&str>,
|
||||
user_id: Reference,
|
||||
user_id: Reference<'_>,
|
||||
) -> Result<EmptyResponse> {
|
||||
let user = flatten_authorized_user(&auth);
|
||||
if !user_has_permission(user, v0::AdminUserPermissionFlags::ManageServers) {
|
||||
|
||||
@@ -15,8 +15,8 @@ use crate::routes::admin::util::{
|
||||
pub async fn admin_server_create_invite(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
id: Reference,
|
||||
channel_id: Reference,
|
||||
id: Reference<'_>,
|
||||
channel_id: Reference<'_>,
|
||||
case: Option<&str>,
|
||||
slug: Option<&str>,
|
||||
) -> Result<Json<v0::Invite>> {
|
||||
|
||||
@@ -15,7 +15,7 @@ use crate::routes::admin::util::{
|
||||
pub async fn admin_server_delete(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
id: Reference,
|
||||
id: Reference<'_>,
|
||||
case: Option<&str>,
|
||||
) -> Result<EmptyResponse> {
|
||||
let user = flatten_authorized_user(&auth);
|
||||
|
||||
@@ -16,9 +16,9 @@ use crate::routes::admin::util::{
|
||||
pub async fn admin_server_delete_invites(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
id: Reference,
|
||||
id: Reference<'_>,
|
||||
case: Option<&str>,
|
||||
slug: Option<Reference>,
|
||||
slug: Option<Reference<'_>>,
|
||||
) -> Result<EmptyResponse> {
|
||||
let user = flatten_authorized_user(&auth);
|
||||
if !user_has_permission(user, v0::AdminUserPermissionFlags::ManageServers) {
|
||||
|
||||
@@ -16,7 +16,7 @@ use crate::routes::admin::util::{
|
||||
pub async fn admin_server_edit(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
id: Reference,
|
||||
id: Reference<'_>,
|
||||
case: Option<&str>,
|
||||
body: Json<v0::DataEditServer>,
|
||||
) -> Result<Json<v0::Server>> {
|
||||
|
||||
@@ -16,9 +16,9 @@ use crate::routes::admin::util::{
|
||||
pub async fn admin_server_remove_members(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
id: Reference,
|
||||
id: Reference<'_>,
|
||||
case: Option<&str>,
|
||||
user_id: Vec<Reference>,
|
||||
user_id: Vec<Reference<'_>>,
|
||||
suppress_alerts: bool,
|
||||
) -> Result<EmptyResponse> {
|
||||
let admin_user = flatten_authorized_user(&auth);
|
||||
|
||||
@@ -18,9 +18,9 @@ use crate::routes::admin::util::{
|
||||
pub async fn admin_server_unban_member(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
id: Reference,
|
||||
id: Reference<'_>,
|
||||
case: Option<&str>,
|
||||
user_id: Reference,
|
||||
user_id: Reference<'_>,
|
||||
suppress_alerts: bool,
|
||||
body: Json<v0::DataBanCreate>,
|
||||
) -> Result<EmptyResponse> {
|
||||
|
||||
@@ -14,7 +14,7 @@ use crate::routes::admin::util::{
|
||||
pub async fn admin_server_get(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
id: Reference,
|
||||
id: Reference<'_>,
|
||||
case: Option<&str>,
|
||||
) -> Result<Json<v0::AdminServerResponse>> {
|
||||
let user = flatten_authorized_user(&auth);
|
||||
|
||||
@@ -16,7 +16,7 @@ use crate::routes::admin::util::{
|
||||
pub async fn admin_server_get_members(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
id: Reference,
|
||||
id: Reference<'_>,
|
||||
case: Option<&str>,
|
||||
after: Option<usize>,
|
||||
) -> Result<Json<v0::AdminMemberWithUserAndOffsetResponse>> {
|
||||
|
||||
@@ -15,7 +15,7 @@ use crate::routes::admin::util::{
|
||||
pub async fn admin_server_get_participants(
|
||||
db: &State<Database>,
|
||||
auth: AdminAuthorization,
|
||||
id: Reference,
|
||||
id: Reference<'_>,
|
||||
case: Option<&str>,
|
||||
) -> Result<Json<Vec<(v0::User, Option<v0::Member>)>>> {
|
||||
let user = flatten_authorized_user(&auth);
|
||||
|
||||
@@ -96,7 +96,7 @@ mod test {
|
||||
.await
|
||||
.expect("Failed to create test server");
|
||||
|
||||
let (member, channels) = Member::create(&harness.db, &server, &user, Some(channels))
|
||||
let (member, channels) = Member::create(&harness.db, &server, &user, Some(channels), false)
|
||||
.await
|
||||
.expect("Failed to create member");
|
||||
let channel = &channels[0];
|
||||
|
||||
@@ -238,7 +238,7 @@ mod test {
|
||||
.await
|
||||
.expect("Failed to update the channel permissions for special role");
|
||||
|
||||
Member::create(&harness.db, &server, &user, Some(channels.clone()))
|
||||
Member::create(&harness.db, &server, &user, Some(channels.clone()), false)
|
||||
.await
|
||||
.expect("Failed to create member");
|
||||
let member = Reference::from_unchecked(&user.id)
|
||||
@@ -278,9 +278,15 @@ mod test {
|
||||
"Mention failed to be scrubbed when the user is not part of the server"
|
||||
);
|
||||
|
||||
Member::create(&harness.db, &server, &second_user, Some(channels.clone()))
|
||||
.await
|
||||
.expect("Failed to create second member");
|
||||
Member::create(
|
||||
&harness.db,
|
||||
&server,
|
||||
&second_user,
|
||||
Some(channels.clone()),
|
||||
false,
|
||||
)
|
||||
.await
|
||||
.expect("Failed to create second member");
|
||||
let mut second_member = Reference::from_unchecked(&second_user.id)
|
||||
.as_member(&harness.db, &server.id)
|
||||
.await
|
||||
@@ -544,7 +550,7 @@ mod test {
|
||||
}),
|
||||
)
|
||||
.await;
|
||||
let (mut other_member, _) = Member::create(&harness.db, &server, &other_user, None)
|
||||
let (mut other_member, _) = Member::create(&harness.db, &server, &other_user, None, false)
|
||||
.await
|
||||
.expect("Failed to add test member");
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ mod test {
|
||||
|
||||
let channel = &channels[0];
|
||||
|
||||
Member::create(&harness.db, &server, &user, Some(channels.clone()))
|
||||
Member::create(&harness.db, &server, &user, Some(channels.clone()), false)
|
||||
.await
|
||||
.expect("Failed to create member");
|
||||
let member = Reference::from_unchecked(&user.id)
|
||||
|
||||
Reference in New Issue
Block a user