import { HTTP } from './client'; import { Comment, CommentClient } from './comments'; import { Context, ContextClient } from './contexts'; import { Filter, FilterClient } from './filters'; import { GithubConfig, GithubConfigClient } from './github'; import { JiraConfig, JiraConfigClient } from './jira'; import { SettingClient, Settings } from './settings'; import { Source, SourceClient } from './sources'; import { Task, TaskClient } from './tasks'; import { User, UserClient } from './users'; export { User, UserClient, PatchedUser } from './users'; export { Task, PatchedTask } from './tasks'; export { Context, PatchedContext } from './contexts'; export { Filter, Column, PatchedFilter } from './filters'; export { Comment, PatchedComment } from './comments'; export { Source, PatchedSource } from './sources'; export { Settings } from './settings'; export { GithubConfig } from './github'; export { JiraConfig } from './jira'; export { ajv } from './validator'; export * from './client'; export { Paginated, APIError, isAPIError } from './client/model-client'; export class Client { client: HTTP; filters: FilterClient; sources: SourceClient; comments: CommentClient; users: UserClient; settings: SettingClient; contexts: ContextClient; tasks: TaskClient; github: GithubConfigClient; jira: JiraConfigClient; constructor(token: string, baseUrl = 'https://taskforge.io') { this.client = new HTTP(token, baseUrl); this.comments = new CommentClient(this.client); this.contexts = new ContextClient(this.client); this.filters = new FilterClient(this.client); this.settings = new SettingClient(this.client); this.sources = new SourceClient(this.client); this.tasks = new TaskClient(this.client); this.users = new UserClient(this.client); this.github = new GithubConfigClient(this.client); this.jira = new JiraConfigClient(this.client); } } function isModel() { return function isM(data: any): data is M { return data && data !== undefined && data !== null && data.id; }; } export const isSource = isModel(); export const isTask = isModel(); export const isContext = isModel(); export const isUser = isModel(); export const isFilter = isModel(); export const isGithubConfig = isModel(); export const isJiraConfig = isModel(); export const isSettings = isModel(); export const isComment = isModel();