hud-ai
Version:
Hud.ai API Client
107 lines (106 loc) • 3.98 kB
TypeScript
/// <reference types="bluebird" />
import * as Promise from 'bluebird';
import { HudAiCreateAttributes, HudAiListAttributes, HudAiUpdateAttributes, Resource } from '../utils/Resource';
import { RequestManager } from '../RequestManager';
import { Organization, OrganizationUserRole, User, OrganizationFeedSettings } from '../entities';
export interface OrganizationListAttributes extends HudAiListAttributes {
id?: string;
name?: string;
planId?: string;
emailDomain?: string;
ownerUserId?: string;
}
export interface OrganizationCreateAttributes extends HudAiCreateAttributes {
name?: string;
maxBillableAccounts?: number;
emailDomain: string;
signedLicenseAgreementAt?: Date;
ownerUserId?: string;
planId?: string;
}
export interface OrganizationUpdateAttributes extends HudAiUpdateAttributes {
name?: string;
maxBillableAccounts?: number;
emailDomain?: string;
signedLicenseAgreementAt?: Date;
ownerUserId?: string;
planId?: string;
}
export interface OrganizationSubscriptionCreateAttributes extends HudAiCreateAttributes {
plan: string;
source?: string;
}
export interface OrganizationUserListAttributes extends HudAiListAttributes {
organizationId: string;
email?: string;
name?: string;
}
export interface OrganizationUserActivateAttributes {
organizationId: string;
userId: string;
role?: string;
}
export interface OrganizationUserDeactivateAttributes {
organizationId: string;
userId: string;
}
export interface OrganizationUserRoleGetAttributes {
organizationId: string;
userId: string;
}
export interface OrganizationUserRoleUpdateAttributes {
organizationId: string;
userId: string;
role: 'admin' | 'owner' | 'manager' | 'member';
}
export interface OrganizationFeedSettingsGetAttributes {
organizationId: string;
}
export interface OrganizationFeedSettingsUpdateAttributes {
organizationId: string;
importance?: number;
article?: number;
tweet?: number;
quote?: number;
stockAlert?: number;
video?: number;
businessWord?: number;
feedContext?: number;
followedPerson?: number;
industryTerm?: number;
jobFunctionTerm?: number;
corpusTerm?: number;
source?: number;
minImportance?: number;
decay?: number;
decayOffset?: string;
}
export interface OrganizationFeedSettingsDeleteAttributes {
organizationId: string;
}
export declare class OrganizationResource extends Resource<Organization, OrganizationListAttributes, OrganizationCreateAttributes, OrganizationUpdateAttributes> {
constructor(requestManager: RequestManager);
list(listArgs: OrganizationListAttributes): Promise<{
count: number;
rows: Organization[];
}>;
create(createArgs: OrganizationCreateAttributes): Promise<Organization>;
get(id: string): Promise<Organization>;
update(id: string, updateArgs: OrganizationUpdateAttributes): Promise<Organization>;
del(id: string): Promise<void>;
destroy(id: string): Promise<void>;
getRole(args: OrganizationUserRoleGetAttributes): Promise<OrganizationUserRole>;
updateRole(args: OrganizationUserRoleUpdateAttributes): Promise<OrganizationUserRole>;
getFeedSettings(args: OrganizationFeedSettingsGetAttributes): Promise<OrganizationFeedSettings>;
updateFeedSettings(args: OrganizationFeedSettingsUpdateAttributes): Promise<OrganizationFeedSettings>;
deleteFeedSettings(args: OrganizationFeedSettingsDeleteAttributes): Promise<OrganizationFeedSettings>;
activateUser(args: OrganizationUserActivateAttributes): Promise<User>;
deactivateUser(args: OrganizationUserDeactivateAttributes): Promise<User>;
getUsers(listArgs: OrganizationUserListAttributes): Promise<{
count: number;
rows: User[];
}>;
createSubscription(args: OrganizationSubscriptionCreateAttributes): Promise<any>;
cancelSubscription(): Promise<any>;
getSubscription(): Promise<any>;
}