cloudflare
Version:
The official TypeScript library for the Cloudflare API
179 lines (153 loc) • 3.86 kB
text/typescript
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
import { APIResource } from '../../../resource';
import * as Core from '../../../core';
import * as Shared from '../../shared';
import { SinglePage } from '../../../pagination';
export class MessageResource extends APIResource {
/**
* Create a New Request Message
*/
create(
accountIdentifier: string,
requestIdentifier: string,
body: MessageCreateParams,
options?: Core.RequestOptions,
): Core.APIPromise<Message> {
return (
this._client.post(
`/accounts/${accountIdentifier}/cloudforce-one/requests/${requestIdentifier}/message/new`,
{ body, ...options },
) as Core.APIPromise<{ result: Message }>
)._thenUnwrap((obj) => obj.result);
}
/**
* Update a Request Message
*/
update(
accountIdentifier: string,
requestIdentifier: string,
messageIdentifer: number,
body: MessageUpdateParams,
options?: Core.RequestOptions,
): Core.APIPromise<Message> {
return (
this._client.put(
`/accounts/${accountIdentifier}/cloudforce-one/requests/${requestIdentifier}/message/${messageIdentifer}`,
{ body, ...options },
) as Core.APIPromise<{ result: Message }>
)._thenUnwrap((obj) => obj.result);
}
/**
* Delete a Request Message
*/
delete(
accountIdentifier: string,
requestIdentifier: string,
messageIdentifer: number,
options?: Core.RequestOptions,
): Core.APIPromise<MessageDeleteResponse> {
return this._client.delete(
`/accounts/${accountIdentifier}/cloudforce-one/requests/${requestIdentifier}/message/${messageIdentifer}`,
options,
);
}
/**
* List Request Messages
*/
get(
accountIdentifier: string,
requestIdentifier: string,
body: MessageGetParams,
options?: Core.RequestOptions,
): Core.PagePromise<MessagesSinglePage, Message> {
return this._client.getAPIList(
`/accounts/${accountIdentifier}/cloudforce-one/requests/${requestIdentifier}/message`,
MessagesSinglePage,
{ body, method: 'post', ...options },
);
}
}
export class MessagesSinglePage extends SinglePage<Message> {}
export interface Message {
/**
* Message ID
*/
id: number;
/**
* Author of message
*/
author: string;
/**
* Content of message
*/
content: string;
/**
* Whether the message is a follow-on request
*/
is_follow_on_request: boolean;
/**
* Message last updated time
*/
updated: string;
/**
* Message creation time
*/
created?: string;
}
export interface MessageDeleteResponse {
errors: Array<Shared.ResponseInfo>;
messages: Array<Shared.ResponseInfo>;
/**
* Whether the API call was successful
*/
success: true;
}
export interface MessageCreateParams {
/**
* Content of message
*/
content?: string;
}
export interface MessageUpdateParams {
/**
* Content of message
*/
content?: string;
}
export interface MessageGetParams {
/**
* Page number of results
*/
page: number;
/**
* Number of results per page
*/
per_page: number;
/**
* Retrieve messages created after this time
*/
after?: string;
/**
* Retrieve messages created before this time
*/
before?: string;
/**
* Field to sort results by
*/
sort_by?: string;
/**
* Sort order (asc or desc)
*/
sort_order?: 'asc' | 'desc';
}
MessageResource.MessagesSinglePage = MessagesSinglePage;
export declare namespace MessageResource {
export {
type Message as Message,
type MessageDeleteResponse as MessageDeleteResponse,
MessagesSinglePage as MessagesSinglePage,
type MessageCreateParams as MessageCreateParams,
type MessageUpdateParams as MessageUpdateParams,
type MessageGetParams as MessageGetParams,
};
}