UNPKG

@letsparky/api-v2-client

Version:

TypeScript client for the LetsParky API V2

74 lines (73 loc) 2.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Tenants = void 0; const validators_1 = require("./validators"); class Tenants { constructor(client) { this.client = client; } /** * Get a paginated list of tenants (SYSTEM only) * @param filters Optional filter parameters * @returns Promise with paginated tenant list */ async list(filters) { return this.client.get('/tenants', filters); } /** * Get a paginated list of tenants with pagination controls (SYSTEM only) * @param paginationParams Pagination parameters (page, limit, sort, order) * @param filters Optional filter parameters * @returns Promise with paginated tenants */ async listPaginated(paginationParams, filters) { return this.client.getPaginated('/tenants', paginationParams, filters); } /** * Get a specific tenant by ID * @param tenantId The ID of the tenant to retrieve * @returns Promise with tenant details */ async get(tenantId) { validators_1.Validators.validateId(tenantId, 'Tenant'); return this.client.get(`/tenants/${tenantId}`); } /** * Create a new tenant (SYSTEM only) * @param params The tenant creation parameters * @returns Promise with the created tenant */ async create(params) { return this.client.post('/tenants', params); } /** * Update an existing tenant * @param tenantId The ID of the tenant to update * @param params The tenant update parameters * @returns Promise with the updated tenant */ async update(tenantId, params) { validators_1.Validators.validateId(tenantId, 'Tenant'); return this.client.put(`/tenants/${tenantId}`, params); } /** * Delete a tenant (SYSTEM only) * @param tenantId The ID of the tenant to delete * @returns Promise with the deletion result */ async delete(tenantId) { validators_1.Validators.validateId(tenantId, 'Tenant'); return this.client.delete(`/tenants/${tenantId}`); } /** * Assign a user to a tenant (SYSTEM only) * @param tenantId The ID of the tenant to assign the user to * @param params The user assignment parameters * @returns Promise with the assignment result */ async assignUser(tenantId, params) { validators_1.Validators.validateId(tenantId, 'Tenant'); return this.client.post(`/tenants/${tenantId}/users`, params); } } exports.Tenants = Tenants;