Skip to content

Commit 7d3fd44

Browse files
committed
mirage: Allow adding teams in the add owner endpoint
1 parent a4288b1 commit 7d3fd44

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

mirage/route-handlers/crates.js

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -242,13 +242,27 @@ export function register(server) {
242242
const body = JSON.parse(request.requestBody);
243243

244244
let users = [];
245+
let teams = [];
245246
for (let login of body.owners) {
246-
let user = schema.users.findBy({ login });
247-
if (!user) {
248-
return new Response(404, {}, { errors: [{ detail: `could not find user with login \`${login}\`` }] });
247+
if (login.includes(':')) {
248+
let team = schema.teams.findBy({ login });
249+
if (!team) {
250+
return new Response(404, {}, { errors: [{ detail: `could not find team with login \`${login}\`` }] });
251+
}
252+
253+
teams.push(team);
254+
} else {
255+
let user = schema.users.findBy({ login });
256+
if (!user) {
257+
return new Response(404, {}, { errors: [{ detail: `could not find user with login \`${login}\`` }] });
258+
}
259+
260+
users.push(user);
249261
}
262+
}
250263

251-
users.push(user);
264+
for (let team of teams) {
265+
schema.crateOwnerships.create({ crate, team });
252266
}
253267

254268
for (let invitee of users) {

0 commit comments

Comments
 (0)