MCPcopy Index your code
hub / github.com/chartbrew/chartbrew / createUser

Method createUser

server/controllers/UserController.js:22–90  ·  view source on GitHub ↗
(user)

Source from the content-addressed store, hash-verified

20
21class UserController {
22 createUser(user) {
23 let gNewUser;
24 return db.User.findOne({ where: { email: user.email } })
25 .then(async (foundUser) => {
26 if (foundUser) return new Promise((resolve, reject) => reject(new Error(409)));
27
28 const bcryptHash = await bcrypt.hash(user.password, 10);
29
30 return db.User.create({
31 name: user.name,
32 email: user.email,
33 password: bcryptHash,
34 icon: user.icon,
35 active: true,
36 });
37 })
38 .then((newUser) => {
39 gNewUser = newUser;
40
41 if (settings.teamRestricted === "1") {
42 return newUser;
43 }
44
45 const newTeam = {
46 name: `${newUser.name}'s team`
47 };
48 return db.Team.create(newTeam);
49 })
50 .then((data) => {
51 if (settings.teamRestricted === "1") {
52 return data;
53 }
54
55 // create a default first project
56 const newProject = {
57 name: "My first dashboard",
58 team_id: data.id,
59 brewName: `my-first-dashboard-${nanoid(8)}`,
60 dashboardTitle: "My first dashboard",
61 };
62
63 // create a ghost project
64 const ghostProject = {
65 team_id: data.id,
66 name: "Ghost Project",
67 brewName: `ghost-project-${nanoid(8)}`,
68 dashboardTitle: "Ghost Project",
69 ghost: true,
70 };
71
72 // create async
73 db.Project.create(newProject);
74 db.Project.create(ghostProject);
75
76 const teamRole = {
77 team_id: data.id,
78 user_id: gNewUser.id,
79 role: "teamOwner",

Callers 1

UserRoute.jsFile · 0.80

Calls 2

hashMethod · 0.80
createMethod · 0.45

Tested by

no test coverage detected