coconut-open-api-js
Version:
Coconut Calendar JS Open API SDK
87 lines (86 loc) • 2.9 kB
TypeScript
import { AxiosInstance } from 'axios';
import { AttendeeModel } from '../models/attendee';
import { PreferenceModel } from '../models/preference';
import Conditional, { ConditionalResource } from './conditional';
export interface WaitListAttributes {
notes?: string;
}
export interface WaitListParameters {
data: {
attributes: {
details?: string;
};
relationships: {
client?: {
data: object;
};
location?: {
data: {
id: string;
type: string;
};
};
preferences?: {
data: object[];
};
service?: {
data: {
id: string;
type: string;
};
};
user?: {
data: {
id: string;
type: string;
};
};
};
type: string;
};
}
export interface WaitListRelationship {
attendee?: AttendeeModel;
location?: number | string;
preferences?: PreferenceModel | PreferenceModel[];
service?: number | string;
user?: number | string;
}
export interface WaitListResource extends ConditionalResource {
add(): Promise<any>;
at(location: number | string): this;
belonging(client: number | string): this;
find(list: number | string): Promise<any>;
for(attendee: AttendeeModel): this;
include(includes: string): this;
prefers(preferences: PreferenceModel | PreferenceModel[]): this;
provided(notes: string): this;
remove(list: number | string): Promise<any>;
seeking(service: number | string): this;
update(list: number | string): Promise<any>;
with(user: number | string): this;
}
export interface WaitListUrlParameters {
client?: number | string;
include?: string;
}
export default class WaitList extends Conditional implements WaitListResource {
protected attributes: WaitListAttributes;
protected client: AxiosInstance;
protected parameters: WaitListUrlParameters;
protected relationships: WaitListRelationship;
constructor(client: AxiosInstance);
add(): Promise<any>;
at(location: number | string): this;
belonging(client: number | string): this;
find(list: number | string): Promise<any>;
for(attendee: AttendeeModel): this;
include(includes: string): this;
prefers(preferences: PreferenceModel | PreferenceModel[]): this;
provided(notes: string): this;
remove(list: number | string): Promise<any>;
seeking(service: number | string): this;
update(list: number | string): Promise<any>;
with(user: number | string): this;
protected params(): WaitListParameters;
}