Improve validation on api/users endpoints (#5752)
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
import { CollectionPermission } from "@shared/types";
|
||||
import { CollectionPermission, UserRole } from "@shared/types";
|
||||
import { CollectionUser } from "@server/models";
|
||||
import { UserRole } from "@server/models/User";
|
||||
import { buildUser, buildAdmin, buildCollection } from "@server/test/factories";
|
||||
import { setupTestDatabase } from "@server/test/support";
|
||||
import userDemoter from "./userDemoter";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { UserRole } from "@shared/types";
|
||||
import { ValidationError } from "@server/errors";
|
||||
import { Event, User } from "@server/models";
|
||||
import type { UserRole } from "@server/models/User";
|
||||
import CleanupDemotedUserTask from "@server/queues/tasks/CleanupDemotedUserTask";
|
||||
import { sequelize } from "@server/storage/database";
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { UserRole } from "@shared/types";
|
||||
import { buildUser } from "@server/test/factories";
|
||||
import { setupTestDatabase } from "@server/test/support";
|
||||
import userInviter from "./userInviter";
|
||||
@@ -12,7 +13,7 @@ describe("userInviter", () => {
|
||||
const response = await userInviter({
|
||||
invites: [
|
||||
{
|
||||
role: "member",
|
||||
role: UserRole.Member,
|
||||
email: "test@example.com",
|
||||
name: "Test",
|
||||
},
|
||||
@@ -28,7 +29,7 @@ describe("userInviter", () => {
|
||||
const response = await userInviter({
|
||||
invites: [
|
||||
{
|
||||
role: "member",
|
||||
role: UserRole.Member,
|
||||
email: " ",
|
||||
name: "Test",
|
||||
},
|
||||
@@ -44,7 +45,7 @@ describe("userInviter", () => {
|
||||
const response = await userInviter({
|
||||
invites: [
|
||||
{
|
||||
role: "member",
|
||||
role: UserRole.Member,
|
||||
email: "notanemail",
|
||||
name: "Test",
|
||||
},
|
||||
@@ -60,12 +61,12 @@ describe("userInviter", () => {
|
||||
const response = await userInviter({
|
||||
invites: [
|
||||
{
|
||||
role: "member",
|
||||
role: UserRole.Member,
|
||||
email: "the@same.com",
|
||||
name: "Test",
|
||||
},
|
||||
{
|
||||
role: "member",
|
||||
role: UserRole.Member,
|
||||
email: "the@SAME.COM",
|
||||
name: "Test",
|
||||
},
|
||||
@@ -81,7 +82,7 @@ describe("userInviter", () => {
|
||||
const response = await userInviter({
|
||||
invites: [
|
||||
{
|
||||
role: "member",
|
||||
role: UserRole.Member,
|
||||
email: user.email!,
|
||||
name: user.name,
|
||||
},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import uniqBy from "lodash/uniqBy";
|
||||
import { Role } from "@shared/types";
|
||||
import { UserRole } from "@shared/types";
|
||||
import InviteEmail from "@server/emails/templates/InviteEmail";
|
||||
import env from "@server/env";
|
||||
import Logger from "@server/logging/Logger";
|
||||
@@ -9,7 +9,7 @@ import { UserFlag } from "@server/models/User";
|
||||
export type Invite = {
|
||||
name: string;
|
||||
email: string;
|
||||
role: Role;
|
||||
role: UserRole;
|
||||
};
|
||||
|
||||
export default async function userInviter({
|
||||
@@ -59,8 +59,8 @@ export default async function userInviter({
|
||||
name: invite.name,
|
||||
email: invite.email,
|
||||
service: null,
|
||||
isAdmin: invite.role === "admin",
|
||||
isViewer: invite.role === "viewer",
|
||||
isAdmin: invite.role === UserRole.Admin,
|
||||
isViewer: invite.role === UserRole.Viewer,
|
||||
invitedById: user.id,
|
||||
flags: {
|
||||
[UserFlag.InviteSent]: 1,
|
||||
|
||||
Reference in New Issue
Block a user