mirror of
https://github.com/documenso/documenso.git
synced 2025-11-13 00:03:33 +10:00
feat: add team user management endpoints to api (#1416)
## Description Adds user management capabilities to our current API. Allows for adding, removing, listing and updating members of a given team using a valid API token. ## Related Issue N/A ## Changes Made - Added an endpoint for inviting a team member - Added an endpoint for removing a team member - Added an endpoint for updating a team member - Added an endpoint for listing team members ## Testing Performed Tests were written for this feature request
This commit is contained in:
@ -12,10 +12,12 @@ import {
|
||||
ZDeleteFieldMutationSchema,
|
||||
ZDeleteRecipientMutationSchema,
|
||||
ZDownloadDocumentSuccessfulSchema,
|
||||
ZFindTeamMembersResponseSchema,
|
||||
ZGenerateDocumentFromTemplateMutationResponseSchema,
|
||||
ZGenerateDocumentFromTemplateMutationSchema,
|
||||
ZGetDocumentsQuerySchema,
|
||||
ZGetTemplatesQuerySchema,
|
||||
ZInviteTeamMemberMutationSchema,
|
||||
ZNoBodyMutationSchema,
|
||||
ZResendDocumentForSigningMutationSchema,
|
||||
ZSendDocumentForSigningMutationSchema,
|
||||
@ -26,13 +28,17 @@ import {
|
||||
ZSuccessfulGetDocumentResponseSchema,
|
||||
ZSuccessfulGetTemplateResponseSchema,
|
||||
ZSuccessfulGetTemplatesResponseSchema,
|
||||
ZSuccessfulInviteTeamMemberResponseSchema,
|
||||
ZSuccessfulRecipientResponseSchema,
|
||||
ZSuccessfulRemoveTeamMemberResponseSchema,
|
||||
ZSuccessfulResendDocumentResponseSchema,
|
||||
ZSuccessfulResponseSchema,
|
||||
ZSuccessfulSigningResponseSchema,
|
||||
ZSuccessfulUpdateTeamMemberResponseSchema,
|
||||
ZUnsuccessfulResponseSchema,
|
||||
ZUpdateFieldMutationSchema,
|
||||
ZUpdateRecipientMutationSchema,
|
||||
ZUpdateTeamMemberMutationSchema,
|
||||
} from './schema';
|
||||
|
||||
const c = initContract();
|
||||
@ -273,6 +279,61 @@ export const ApiContractV1 = c.router(
|
||||
},
|
||||
summary: 'Delete a field from a document',
|
||||
},
|
||||
|
||||
findTeamMembers: {
|
||||
method: 'GET',
|
||||
path: '/api/v1/team/:id/members',
|
||||
responses: {
|
||||
200: ZFindTeamMembersResponseSchema,
|
||||
400: ZUnsuccessfulResponseSchema,
|
||||
401: ZUnsuccessfulResponseSchema,
|
||||
404: ZUnsuccessfulResponseSchema,
|
||||
500: ZUnsuccessfulResponseSchema,
|
||||
},
|
||||
summary: 'List team members',
|
||||
},
|
||||
|
||||
inviteTeamMember: {
|
||||
method: 'POST',
|
||||
path: '/api/v1/team/:id/members/invite',
|
||||
body: ZInviteTeamMemberMutationSchema,
|
||||
responses: {
|
||||
200: ZSuccessfulInviteTeamMemberResponseSchema,
|
||||
400: ZUnsuccessfulResponseSchema,
|
||||
401: ZUnsuccessfulResponseSchema,
|
||||
404: ZUnsuccessfulResponseSchema,
|
||||
500: ZUnsuccessfulResponseSchema,
|
||||
},
|
||||
summary: 'Invite a member to a team',
|
||||
},
|
||||
|
||||
updateTeamMember: {
|
||||
method: 'PUT',
|
||||
path: '/api/v1/team/:id/members/:memberId',
|
||||
body: ZUpdateTeamMemberMutationSchema,
|
||||
responses: {
|
||||
200: ZSuccessfulUpdateTeamMemberResponseSchema,
|
||||
400: ZUnsuccessfulResponseSchema,
|
||||
401: ZUnsuccessfulResponseSchema,
|
||||
404: ZUnsuccessfulResponseSchema,
|
||||
500: ZUnsuccessfulResponseSchema,
|
||||
},
|
||||
summary: 'Update a team member',
|
||||
},
|
||||
|
||||
removeTeamMember: {
|
||||
method: 'DELETE',
|
||||
path: '/api/v1/team/:id/members/:memberId',
|
||||
body: null,
|
||||
responses: {
|
||||
200: ZSuccessfulRemoveTeamMemberResponseSchema,
|
||||
400: ZUnsuccessfulResponseSchema,
|
||||
401: ZUnsuccessfulResponseSchema,
|
||||
404: ZUnsuccessfulResponseSchema,
|
||||
500: ZUnsuccessfulResponseSchema,
|
||||
},
|
||||
summary: 'Remove a member from a team',
|
||||
},
|
||||
},
|
||||
{
|
||||
baseHeaders: ZAuthorizationHeadersSchema,
|
||||
|
||||
Reference in New Issue
Block a user