@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
205 lines • 7.27 kB
TypeScript
import type { JoomlaClient } from '../client';
import type { UsersParams, UsersResponse, UsersCreateRequest, UsersCreateResponse, UsersIdResponse, UsersIdUpdateRequest, UsersIdUpdateResponse, UsersIdDeleteResponse, UsersIdDocResponse, UsersIdTrinityParams, UsersIdTrinityResponse, UsersIdGroupsParams, UsersIdGroupsResponse, UsersIdGroupsCreateRequest, UsersIdGroupsCreateResponse, UsersIdGroupsGroupIdResponse, UsersVerifyPasswordRequest, UsersVerifyPasswordResponse } from '../schemas';
type ExecuteRequest = JoomlaClient['executeRequest'];
/**
* Creates the users resource methods
* OpenAPI Path: /users → users.*
* @description User management operations
*/
export declare function createUsersResource(executeRequest: ExecuteRequest): {
/**
* List users - /users GET
* @fullPath api.joomla.users.list
* @service joomla
* @domain user-management
* @dataMethod usersData.list
* @discoverable true
*/
list: (params?: UsersParams) => Promise<UsersResponse>;
/**
* Create user - /users POST
* @fullPath api.joomla.users.create
* @service joomla
* @domain user-management
* @dataMethod usersData.create
* @discoverable true
*/
create: (request: UsersCreateRequest) => Promise<UsersCreateResponse>;
/**
* Get user by ID - /users/{id} GET
* @fullPath api.joomla.users.get
* @service joomla
* @domain user-management
* @dataMethod usersData.get
* @discoverable true
*/
get: (userId: number | string) => Promise<UsersIdResponse>;
/**
* Update user - /users/{id} PUT
* @fullPath api.joomla.users.update
* @service joomla
* @domain user-management
* @dataMethod usersData.update
* @discoverable true
*/
update: (userId: number | string, request: UsersIdUpdateRequest) => Promise<UsersIdUpdateResponse>;
/**
* Delete user - /users/{id} DELETE
* @fullPath api.joomla.users.delete
* @service joomla
* @domain user-management
* @dataMethod usersData.delete
* @discoverable true
*/
delete: (userId: number | string) => Promise<UsersIdDeleteResponse>;
/**
* 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: (userId: number | string) => Promise<UsersIdDocResponse>;
};
/**
* 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: (userId: number | string, params?: UsersIdTrinityParams) => Promise<UsersIdTrinityResponse>;
};
/**
* 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: (userId: string, params?: UsersIdGroupsParams) => Promise<UsersIdGroupsResponse>;
/**
* 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: (userId: number | string, request: UsersIdGroupsCreateRequest) => Promise<UsersIdGroupsCreateResponse>;
/**
* 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: (userId: string, groupId: number | string) => Promise<UsersIdGroupsGroupIdResponse>;
};
/**
* 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: (request: UsersVerifyPasswordRequest) => Promise<UsersVerifyPasswordResponse>;
};
};
/**
* Creates the usersData resource methods (data-only versions)
*/
export declare function createUsersDataResource(users: ReturnType<typeof createUsersResource>): {
list: (params?: UsersParams) => Promise<import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">[]>;
create: (request: UsersCreateRequest) => Promise<{
id: number;
} & {
[k: string]: unknown;
}>;
get: (userId: number | string) => Promise<{
id: number;
} & {
[k: string]: unknown;
}>;
update: (userId: number | string, request: UsersIdUpdateRequest) => Promise<{
id: number;
} & {
[k: string]: unknown;
}>;
delete: (userId: number | string) => Promise<{
id: number;
} & {
[k: string]: unknown;
}>;
doc: {
get: (userId: number | string) => Promise<{
id: number;
name: string;
username: string;
email: string;
block: number;
registerDate: string;
lastvisitDate: string | null;
lastResetTime: string | null;
profileValues?: Record<string, unknown> | undefined;
customerId?: string | undefined;
contactId?: string | undefined;
timezone?: string | undefined;
language?: string | undefined;
groups?: {
id: number;
title: string;
}[] | undefined;
} & {
[k: string]: unknown;
}>;
};
trinity: {
get: (userId: number | string, params?: UsersIdTrinityParams) => Promise<{
id: number;
} & {
[k: string]: unknown;
}>;
};
groups: {
list: (userId: string, params?: UsersIdGroupsParams) => Promise<Record<string, unknown>[]>;
create: (userId: number | string, request: UsersIdGroupsCreateRequest) => Promise<Record<string, unknown>>;
get: (userId: string, groupId: number | string) => Promise<Record<string, unknown>>;
};
verifyPassword: {
create: (request: UsersVerifyPasswordRequest) => Promise<{
id: number;
username: string;
email: string;
isVerified: boolean;
token: string;
} & {
[k: string]: unknown;
}>;
};
};
export type UsersResource = ReturnType<typeof createUsersResource>;
export type UsersDataResource = ReturnType<typeof createUsersDataResource>;
export {};
//# sourceMappingURL=users.d.ts.map