UNPKG

keap-client

Version:

A client to work with Infusionsoft/Keap API.

41 lines (36 loc) 1.04 kB
import { Api } from "../utils/api"; import { Paginator } from "../utils/paginator"; import { createParams } from "../utils/queryParams"; export class Users { private api: Api; /** * Creates a new Users model. * @param api - The API client to use for making requests. */ constructor(api: Api) { this.api = api; } async listUsers(options?: { include_inactive?: boolean; include_partners?: boolean; limit?: number; offset?: number; }): Promise<Paginator<IUser> | undefined> { const params = options ? createParams(options, [ "limit", "offset", "include_inactive", "include_partners", ]) : ""; const r = await this.api.get("v1/users?" + params?.toString()); if (!r) return undefined; return Paginator.wrap(this.api, r, "users"); } async createUser(data: UserCreateRequest): Promise<IUser | undefined> { const r = await this.api.post("v1/users", data); if (!r) return undefined; return r as IUser; } }