|
|
|
@ -113,9 +113,9 @@ App::get('/v1/teams')
|
|
|
|
|
->label('sdk.response.code', Response::STATUS_CODE_OK)
|
|
|
|
|
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
|
|
|
|
|
->label('sdk.response.model', Response::MODEL_TEAM_LIST)
|
|
|
|
|
->param('search', '', new Text(256), 'Search term to filter your list results. Max length: 256 chars.', true)
|
|
|
|
|
->param('limit', 25, new Range(0, 100), 'Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request.', true)
|
|
|
|
|
->param('offset', 0, new Range(0, 2000), 'Results offset. The default value is 0. Use this param to manage pagination.', true)
|
|
|
|
|
->param('search', '', new Text(256), 'Search term to filter results. Max length: 256 chars.', true)
|
|
|
|
|
->param('limit', 25, new Range(0, 100), 'Limit how many results will be returned. Returns up to 25 results by default. Maximum of 100 results allowed per request.', true)
|
|
|
|
|
->param('offset', 0, new Range(0, 2000), 'Results offset. The default value is 0. Use this value to manage pagination.', true)
|
|
|
|
|
->param('orderType', 'ASC', new WhiteList(['ASC', 'DESC'], true), 'Order result by ASC or DESC order.', true)
|
|
|
|
|
->inject('response')
|
|
|
|
|
->inject('projectDB')
|
|
|
|
@ -150,7 +150,7 @@ App::get('/v1/teams/:teamId')
|
|
|
|
|
->label('sdk.response.code', Response::STATUS_CODE_OK)
|
|
|
|
|
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
|
|
|
|
|
->label('sdk.response.model', Response::MODEL_TEAM)
|
|
|
|
|
->param('teamId', '', new UID(), 'Team unique ID.')
|
|
|
|
|
->param('teamId', '', new UID(), 'Team ID.')
|
|
|
|
|
->inject('response')
|
|
|
|
|
->inject('projectDB')
|
|
|
|
|
->action(function ($teamId, $response, $projectDB) {
|
|
|
|
@ -178,8 +178,8 @@ App::put('/v1/teams/:teamId')
|
|
|
|
|
->label('sdk.response.code', Response::STATUS_CODE_OK)
|
|
|
|
|
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
|
|
|
|
|
->label('sdk.response.model', Response::MODEL_TEAM)
|
|
|
|
|
->param('teamId', '', new UID(), 'Team unique ID.')
|
|
|
|
|
->param('name', null, new Text(128), 'Team name. Max length: 128 chars.')
|
|
|
|
|
->param('teamId', '', new UID(), 'Team ID.')
|
|
|
|
|
->param('name', null, new Text(128), 'New team name. Max length: 128 chars.')
|
|
|
|
|
->inject('response')
|
|
|
|
|
->inject('projectDB')
|
|
|
|
|
->action(function ($teamId, $name, $response, $projectDB) {
|
|
|
|
@ -214,7 +214,7 @@ App::delete('/v1/teams/:teamId')
|
|
|
|
|
->label('sdk.description', '/docs/references/teams/delete-team.md')
|
|
|
|
|
->label('sdk.response.code', Response::STATUS_CODE_NOCONTENT)
|
|
|
|
|
->label('sdk.response.model', Response::MODEL_NONE)
|
|
|
|
|
->param('teamId', '', new UID(), 'Team unique ID.')
|
|
|
|
|
->param('teamId', '', new UID(), 'Team ID.')
|
|
|
|
|
->inject('response')
|
|
|
|
|
->inject('projectDB')
|
|
|
|
|
->inject('events')
|
|
|
|
@ -260,11 +260,11 @@ App::post('/v1/teams/:teamId/memberships')
|
|
|
|
|
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
|
|
|
|
|
->label('sdk.response.model', Response::MODEL_MEMBERSHIP)
|
|
|
|
|
->label('abuse-limit', 10)
|
|
|
|
|
->param('teamId', '', new UID(), 'Team unique ID.')
|
|
|
|
|
->param('email', '', new Email(), 'New team member email.')
|
|
|
|
|
->param('roles', [], new ArrayList(new Key()), 'Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](/docs/permissions). Max length for each role is 32 chars.')
|
|
|
|
|
->param('teamId', '', new UID(), 'Team ID.')
|
|
|
|
|
->param('email', '', new Email(), 'Email address of the new team member.')
|
|
|
|
|
->param('roles', [], new ArrayList(new Key()), 'An array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](/docs/permissions). Max length for each role is 32 chars.')
|
|
|
|
|
->param('url', '', function ($clients) { return new Host($clients); }, 'URL to redirect the user back to your app from the invitation email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.', false, ['clients']) // TODO add our own built-in confirm page
|
|
|
|
|
->param('name', '', new Text(128), 'New team member name. Max length: 128 chars.', true)
|
|
|
|
|
->param('name', '', new Text(128), 'Name of the new team member. Max length: 128 chars.', true)
|
|
|
|
|
->inject('response')
|
|
|
|
|
->inject('project')
|
|
|
|
|
->inject('user')
|
|
|
|
@ -472,9 +472,9 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId')
|
|
|
|
|
->label('sdk.response.code', Response::STATUS_CODE_OK)
|
|
|
|
|
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
|
|
|
|
|
->label('sdk.response.model', Response::MODEL_MEMBERSHIP)
|
|
|
|
|
->param('teamId', '', new UID(), 'Team unique ID.')
|
|
|
|
|
->param('teamId', '', new UID(), 'Team ID.')
|
|
|
|
|
->param('membershipId', '', new UID(), 'Membership ID.')
|
|
|
|
|
->param('roles', [], new ArrayList(new Key()), 'Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](/docs/permissions). Max length for each role is 32 chars.')
|
|
|
|
|
->param('roles', [], new ArrayList(new Key()), 'An array of strings. Use this param to set the user\'s roles in the team. A role can be any string. Learn more about [roles and permissions](/docs/permissions). Max length for each role is 32 chars.')
|
|
|
|
|
->inject('request')
|
|
|
|
|
->inject('response')
|
|
|
|
|
->inject('user')
|
|
|
|
@ -534,11 +534,11 @@ App::get('/v1/teams/:teamId/memberships')
|
|
|
|
|
->label('sdk.response.code', Response::STATUS_CODE_OK)
|
|
|
|
|
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
|
|
|
|
|
->label('sdk.response.model', Response::MODEL_MEMBERSHIP_LIST)
|
|
|
|
|
->param('teamId', '', new UID(), 'Team unique ID.')
|
|
|
|
|
->param('search', '', new Text(256), 'Search term to filter your list results. Max length: 256 chars.', true)
|
|
|
|
|
->param('limit', 25, new Range(0, 100), 'Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request.', true)
|
|
|
|
|
->param('offset', 0, new Range(0, 2000), 'Results offset. The default value is 0. Use this param to manage pagination.', true)
|
|
|
|
|
->param('orderType', 'ASC', new WhiteList(['ASC', 'DESC'], true), 'Order result by ASC or DESC order.', true)
|
|
|
|
|
->param('teamId', '', new UID(), 'Team ID.')
|
|
|
|
|
->param('search', '', new Text(256), 'Search term to filter your results. Max length: 256 chars.', true)
|
|
|
|
|
->param('limit', 25, new Range(0, 100), 'Limit how many results will be returned. By default will return a maximum of 25 results. Maximum of 100 results allowed per request.', true)
|
|
|
|
|
->param('offset', 0, new Range(0, 2000), 'Results offset. The default value is 0. Use this value to manage pagination.', true)
|
|
|
|
|
->param('orderType', 'ASC', new WhiteList(['ASC', 'DESC'], true), 'Order results by ASC or DESC order.', true)
|
|
|
|
|
->inject('response')
|
|
|
|
|
->inject('projectDB')
|
|
|
|
|
->action(function ($teamId, $search, $limit, $offset, $orderType, $response, $projectDB) {
|
|
|
|
@ -588,9 +588,9 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status')
|
|
|
|
|
->label('sdk.response.code', Response::STATUS_CODE_OK)
|
|
|
|
|
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
|
|
|
|
|
->label('sdk.response.model', Response::MODEL_MEMBERSHIP)
|
|
|
|
|
->param('teamId', '', new UID(), 'Team unique ID.')
|
|
|
|
|
->param('teamId', '', new UID(), 'Team ID.')
|
|
|
|
|
->param('membershipId', '', new UID(), 'Membership ID.')
|
|
|
|
|
->param('userId', '', new UID(), 'User unique ID.')
|
|
|
|
|
->param('userId', '', new UID(), 'User ID.')
|
|
|
|
|
->param('secret', '', new Text(256), 'Secret key.')
|
|
|
|
|
->inject('request')
|
|
|
|
|
->inject('response')
|
|
|
|
@ -734,7 +734,7 @@ App::delete('/v1/teams/:teamId/memberships/:membershipId')
|
|
|
|
|
->label('sdk.description', '/docs/references/teams/delete-team-membership.md')
|
|
|
|
|
->label('sdk.response.code', Response::STATUS_CODE_NOCONTENT)
|
|
|
|
|
->label('sdk.response.model', Response::MODEL_NONE)
|
|
|
|
|
->param('teamId', '', new UID(), 'Team unique ID.')
|
|
|
|
|
->param('teamId', '', new UID(), 'Team ID.')
|
|
|
|
|
->param('membershipId', '', new UID(), 'Membership ID.')
|
|
|
|
|
->inject('response')
|
|
|
|
|
->inject('projectDB')
|
|
|
|
|