UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

266 lines 9.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createUsersResource = createUsersResource; exports.createUsersDataResource = createUsersDataResource; const schemas_1 = require("../schemas"); /** * Creates the users resource methods * OpenAPI Path: /users → users.* * @description User management operations */ 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: schemas_1.UsersParamsSchema, responseSchema: schemas_1.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: schemas_1.UsersCreateRequestSchema, responseSchema: schemas_1.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: schemas_1.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: schemas_1.UsersIdUpdateRequestSchema, responseSchema: schemas_1.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: schemas_1.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: schemas_1.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: schemas_1.UsersIdTrinityParamsSchema, responseSchema: schemas_1.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: schemas_1.UsersIdGroupsParamsSchema, responseSchema: schemas_1.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: schemas_1.UsersIdGroupsCreateRequestSchema, responseSchema: schemas_1.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: schemas_1.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: schemas_1.UsersVerifyPasswordRequestSchema, responseSchema: schemas_1.UsersVerifyPasswordResponseSchema, }, request); }, }, }; } /** * Creates the usersData resource methods (data-only versions) */ 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