fix: Add default role option for new users (#2665)
* Add defaultUserRole on server * Handle defaultUserRole on frontend * Handle tests * Handle user role in userCreator * Minor improvments * Fix prettier issue * Undefined when isNewTeam is false * Update app/scenes/Settings/Security.js Co-authored-by: Tom Moor <tom.moor@gmail.com> * Update app/scenes/Settings/Security.js Co-authored-by: Tom Moor <tom.moor@gmail.com> * Update app/scenes/Settings/Security.js Co-authored-by: Tom Moor <tom.moor@gmail.com> * Remove duplicate validation * Update Team.js * fix: Move note out of restricted width wrapper * Move language setting to use 'note' prop * Remove admin option Co-authored-by: Tom Moor <tom.moor@gmail.com>
This commit is contained in:
@@ -18,6 +18,7 @@ router.post("team.update", auth(), async (ctx) => {
|
||||
guestSignin,
|
||||
documentEmbeds,
|
||||
collaborativeEditing,
|
||||
defaultUserRole,
|
||||
} = ctx.body;
|
||||
const user = ctx.state.user;
|
||||
const team = await Team.findByPk(user.teamId);
|
||||
@@ -35,6 +36,9 @@ router.post("team.update", auth(), async (ctx) => {
|
||||
if (collaborativeEditing !== undefined) {
|
||||
team.collaborativeEditing = collaborativeEditing;
|
||||
}
|
||||
if (defaultUserRole !== undefined) {
|
||||
team.defaultUserRole = defaultUserRole;
|
||||
}
|
||||
|
||||
const changes = team.changed();
|
||||
const data = {};
|
||||
|
||||
@@ -21,6 +21,23 @@ describe("#team.update", () => {
|
||||
expect(body.data.name).toEqual("New name");
|
||||
});
|
||||
|
||||
it("should only allow member,viewer or admin as default role", async () => {
|
||||
const { admin } = await seed();
|
||||
const res = await server.post("/api/team.update", {
|
||||
body: { token: admin.getJwtToken(), defaultUserRole: "New name" },
|
||||
});
|
||||
|
||||
expect(res.status).toEqual(400);
|
||||
|
||||
const successRes = await server.post("/api/team.update", {
|
||||
body: { token: admin.getJwtToken(), defaultUserRole: "viewer" },
|
||||
});
|
||||
|
||||
const body = await successRes.json();
|
||||
expect(successRes.status).toEqual(200);
|
||||
expect(body.data.defaultUserRole).toBe("viewer");
|
||||
});
|
||||
|
||||
it("should allow identical team details", async () => {
|
||||
const { admin, team } = await seed();
|
||||
const res = await server.post("/api/team.update", {
|
||||
|
||||
Reference in New Issue
Block a user