UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

114 lines (94 loc) 2.83 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import * as Core from "../../core"; import { APIResource } from "../../resource"; import * as InvitesAPI from "./invites"; import * as Shared from "../shared"; import { SinglePage } from "../../pagination"; export class Invites extends APIResource { /** * Lists all invitations associated with my user. */ list(options?: Core.RequestOptions): Core.PagePromise<InvitesSinglePage, Invite> { return this._client.getAPIList('/user/invites', InvitesSinglePage, options); } /** * Responds to an invitation. */ edit( inviteId: string, body: InviteEditParams, options?: Core.RequestOptions, ): Core.APIPromise<InviteEditResponse> { return ( this._client.patch(`/user/invites/${inviteId}`, { body, ...options }) as Core.APIPromise<{ result: InviteEditResponse; }> )._thenUnwrap((obj) => obj.result); } /** * Gets the details of an invitation. */ get(inviteId: string, options?: Core.RequestOptions): Core.APIPromise<InviteGetResponse> { return ( this._client.get(`/user/invites/${inviteId}`, options) as Core.APIPromise<{ result: InviteGetResponse }> )._thenUnwrap((obj) => obj.result); } } export class InvitesSinglePage extends SinglePage<Invite> {} export interface Invite { /** * ID of the user to add to the organization. */ invited_member_id: string | null; /** * ID of the organization the user will be added to. */ organization_id: string; /** * Invite identifier tag. */ id?: string; /** * When the invite is no longer active. */ expires_on?: string; /** * The email address of the user who created the invite. */ invited_by?: string; /** * Email address of the user to add to the organization. */ invited_member_email?: string; /** * When the invite was sent. */ invited_on?: string; /** * Organization name. */ organization_name?: string; /** * Roles to be assigned to this user. */ roles?: Array<Shared.Role>; /** * Current status of the invitation. */ status?: 'pending' | 'accepted' | 'rejected' | 'expired'; } export type InviteEditResponse = unknown | string | null; export type InviteGetResponse = unknown | string | null; export interface InviteEditParams { /** * Status of your response to the invitation (rejected or accepted). */ status: 'accepted' | 'rejected'; } export namespace Invites { export import Invite = InvitesAPI.Invite; export import InviteEditResponse = InvitesAPI.InviteEditResponse; export import InviteGetResponse = InvitesAPI.InviteGetResponse; export import InvitesSinglePage = InvitesAPI.InvitesSinglePage; export import InviteEditParams = InvitesAPI.InviteEditParams; }