UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

262 lines 9.7 kB
import { UsersParamsSchema, UsersResponseSchema, UsersCreateRequestSchema, UsersCreateResponseSchema, UsersIdResponseSchema, UsersIdUpdateRequestSchema, UsersIdUpdateResponseSchema, UsersIdDeleteResponseSchema, UsersIdDocResponseSchema, UsersIdTrinityParamsSchema, UsersIdTrinityResponseSchema, UsersIdGroupsParamsSchema, UsersIdGroupsResponseSchema, UsersIdGroupsCreateRequestSchema, UsersIdGroupsCreateResponseSchema, UsersIdGroupsGroupIdResponseSchema, UsersVerifyPasswordRequestSchema, UsersVerifyPasswordResponseSchema, } from '../schemas'; /** * Creates the users resource methods * OpenAPI Path: /users → users.* * @description User management operations */ export function createUsersResource(executeRequest) { return { /** * List users - /users GET * @fullPath api.joomla.users.list * @service joomla * @domain user-management * @dataMethod usersData.list * @discoverable true */ list: async (params) => { return executeRequest({ method: 'GET', path: '/users', paramsSchema: UsersParamsSchema, responseSchema: UsersResponseSchema, }, params); }, /** * Create user - /users POST * @fullPath api.joomla.users.create * @service joomla * @domain user-management * @dataMethod usersData.create * @discoverable true */ create: async (request) => { return executeRequest({ method: 'POST', path: '/users', paramsSchema: UsersCreateRequestSchema, responseSchema: UsersCreateResponseSchema, }, request); }, /** * Get user by ID - /users/{id} GET * @fullPath api.joomla.users.get * @service joomla * @domain user-management * @dataMethod usersData.get * @discoverable true */ get: async (userId) => { return executeRequest({ method: 'GET', path: '/users/{id}', responseSchema: UsersIdResponseSchema, }, undefined, { id: String(userId) }); }, /** * Update user - /users/{id} PUT * @fullPath api.joomla.users.update * @service joomla * @domain user-management * @dataMethod usersData.update * @discoverable true */ update: async (userId, request) => { return executeRequest({ method: 'PUT', path: '/users/{id}', paramsSchema: UsersIdUpdateRequestSchema, responseSchema: UsersIdUpdateResponseSchema, }, request, { id: String(userId) }); }, /** * Delete user - /users/{id} DELETE * @fullPath api.joomla.users.delete * @service joomla * @domain user-management * @dataMethod usersData.delete * @discoverable true */ delete: async (userId) => { return executeRequest({ method: 'DELETE', path: '/users/{id}', responseSchema: UsersIdDeleteResponseSchema, }, undefined, { id: String(userId) }); }, /** * User document - /users/{id}/doc */ doc: { /** * Get user document - /users/{id}/doc GET * @fullPath api.joomla.users.doc.get * @service joomla * @domain user-management * @dataMethod usersData.doc.get * @discoverable true */ get: async (userId) => { return executeRequest({ method: 'GET', path: '/users/{id}/doc', responseSchema: UsersIdDocResponseSchema, }, undefined, { id: String(userId) }); }, }, /** * Trinity user document - /users/{id}/trinity */ trinity: { /** * Get trinity user document - /users/{id}/trinity GET * @fullPath api.joomla.users.trinity.get * @service joomla * @domain user-management * @dataMethod usersData.trinity.get * @discoverable true */ get: async (userId, params) => { return executeRequest({ method: 'GET', path: '/users/{id}/trinity', paramsSchema: UsersIdTrinityParamsSchema, responseSchema: UsersIdTrinityResponseSchema, }, params, { id: String(userId) }); }, }, /** * User groups - /users/{id}/groups */ groups: { /** * List user groups - /users/{id}/groups GET * @fullPath api.joomla.users.groups.list * @service joomla * @domain user-management * @dataMethod usersData.groups.list * @discoverable true */ list: async (userId, params) => { return executeRequest({ method: 'GET', path: '/users/{id}/groups', paramsSchema: UsersIdGroupsParamsSchema, responseSchema: UsersIdGroupsResponseSchema, }, params, { id: userId }); }, /** * Create user group mapping - /users/{id}/groups POST * @fullPath api.joomla.users.groups.create * @service joomla * @domain user-management * @dataMethod usersData.groups.create * @discoverable true */ create: async (userId, request) => { return executeRequest({ method: 'POST', path: '/users/{id}/groups', paramsSchema: UsersIdGroupsCreateRequestSchema, responseSchema: UsersIdGroupsCreateResponseSchema, }, request, { id: String(userId) }); }, /** * Get specific user group - /users/{id}/groups/{groupId} GET * @fullPath api.joomla.users.groups.get * @service joomla * @domain user-management * @dataMethod usersData.groups.get * @discoverable true */ get: async (userId, groupId) => { return executeRequest({ method: 'GET', path: '/users/{id}/groups/{groupId}', responseSchema: UsersIdGroupsGroupIdResponseSchema, }, undefined, { id: userId, groupId: String(groupId) }); }, }, /** * Password verification - /users/verify-password */ verifyPassword: { /** * Verify user password - /users/verify-password POST * @fullPath api.joomla.users.verifyPassword.create * @service joomla * @domain user-management * @dataMethod usersData.verifyPassword.create * @discoverable true */ create: async (request) => { return executeRequest({ method: 'POST', path: '/users/verify-password', paramsSchema: UsersVerifyPasswordRequestSchema, responseSchema: UsersVerifyPasswordResponseSchema, }, request); }, }, }; } /** * Creates the usersData resource methods (data-only versions) */ export function createUsersDataResource(users) { return { list: async (params) => { const response = await users.list(params); return response.data; }, create: async (request) => { const response = await users.create(request); return response.data; }, get: async (userId) => { const response = await users.get(userId); return response.data; }, update: async (userId, request) => { const response = await users.update(userId, request); return response.data; }, delete: async (userId) => { const response = await users.delete(userId); return response.data; }, doc: { get: async (userId) => { const response = await users.doc.get(userId); return response.data; }, }, trinity: { get: async (userId, params) => { const response = await users.trinity.get(userId, params); return response.data; }, }, groups: { list: async (userId, params) => { const response = await users.groups.list(userId, params); return response.data; }, create: async (userId, request) => { const response = await users.groups.create(userId, request); return response.data; }, get: async (userId, groupId) => { const response = await users.groups.get(userId, groupId); return response.data; }, }, verifyPassword: { create: async (request) => { const response = await users.verifyPassword.create(request); return response.data; }, }, }; } //# sourceMappingURL=users.js.map