File tree Expand file tree Collapse file tree 1 file changed +18
-4
lines changed Expand file tree Collapse file tree 1 file changed +18
-4
lines changed Original file line number Diff line number Diff 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 ) {
You can’t perform that action at this time.
0 commit comments