///
import fs from 'fs';
export interface Component {
getComponentName(): string;
}
export interface ParsableComponent extends Component {
toString(): string;
toJSON(): Partial;
}
export interface ICatalystJSON {
[x: string]: any;
}
export interface ICatalystSysUser {
user_id: string;
email_id: string;
first_name: string;
last_name: string;
zuid?: string;
is_confirmed?: boolean;
}
export interface ICatalystProject {
id: string;
project_name: string;
project_type?: string;
}
export interface ICatalystGResponse extends ICatalystJSON {
created_time?: string;
created_by?: ICatalystSysUser;
modified_time?: string;
modified_by?: ICatalystSysUser;
project_details?: ICatalystProject;
}
export interface ICatalystSegment {
id: string;
segment_name: string;
}
export interface ICatalystCache {
cache_name: string;
cache_value: string;
expires_in: string;
expiry_in_hours: string;
segment_details: ICatalystSegment;
}
export interface ICatalystCronUrl {
url: string;
headers?: {
[x: string]: string;
};
params?: {
[x: string]: string;
};
request_method: string;
request_body?: string;
}
export interface ICatalystCronJob {
time_of_execution?: string | number;
repetition_type?: string;
hour?: number;
minute?: number;
second?: number;
days?: Array;
weeks_of_month?: Array;
week_day?: Array;
months?: Array;
timezone?: string;
}
export interface ICatalystCron {
id: string | number;
cron_name: string;
description?: string;
cron_type: string;
status: boolean;
cron_url_details: ICatalystCronUrl;
job_detail: ICatalystCronJob;
success_count: number;
failure_count: number;
}
export interface ICatalystMail {
from_email: string;
to_email: string | Array;
subject: string;
content?: string;
cc?: Array;
bcc?: Array;
reply_to?: Array;
html_mode?: boolean;
display_name?: string;
attachments?: Array;
}
export interface ICatalystPushDetails {
message: string;
additional_info?: {
[x: string]: any;
};
badge_count?: number;
reference_id?: string;
expiry_time?: number;
}
export interface ICatalystMobileNotification {
recipients: Array;
push_details: ICatalystPushDetails;
}
export interface ICatalystSearch extends ICatalystJSON {
search: string;
search_table_columns: {
[tableName: string]: Array;
};
select_table_columns?: {
[tableName: string]: Array;
};
order_by?: {
[x: string]: any;
};
start?: number;
end?: number;
}
export interface ICatalystUser {
zuid: string;
/** @deprecated use {@link org_id} field instead */
zaaid?: string;
org_id: string;
status: string;
user_id: string;
is_confirmed: boolean;
email_id: string;
first_name: string;
last_name: string;
created_time: string;
modified_time: string;
invited_time: string;
role_details: {
role_id: string;
role_name: string;
};
}
export interface ICatalystSignupConfig extends ICatalystJSON {
platform_type: string;
redirect_url?: string;
template_details?: {
senders_mail?: string;
subject?: string;
message?: string;
};
}
export interface ICatalystSignupUserConfig extends ICatalystJSON {
first_name: string;
last_name?: string;
email_id: string;
org_id: string;
role_id?: string;
}
export interface ICatalystFolder {
id: string;
folder_name?: string;
}
export interface ICatalystFile {
id: string;
file_location?: string;
file_name: string;
file_size: number;
folder_details: string;
}
export interface ICatalystColumn {
table_id: string;
column_sequence: string;
column_id: string;
column_name: string;
category: number;
data_type: string;
max_length: string;
is_mandatory: boolean;
default_value?: any;
decimal_digits?: string;
is_unique: boolean;
search_index_enabled: boolean;
}
export interface ICatalystRow {
CREATORID: string;
CREATEDTIME: string;
MODIFIEDTIME: string;
ROWID: string;
[columnName: string]: any;
}
export interface ICatalystTable {
table_id?: string;
table_name?: string;
table_scope?: string;
project_id?: ICatalystProject;
modified_time?: string;
modified_by?: ICatalystSysUser;
}
export interface ICatalystSignupValidationReq {
user_details: {
email_id: string;
first_name: string;
last_name: string;
org_id?: string;
role_details?: {
role_id: string;
role_name: string;
};
};
auth_type: 'web' | 'mobile';
}
export interface ICatalystCustomTokenDetails extends ICatalystJSON {
type: 'web' | 'mobile';
user_details: {
email_id: string;
first_name: string;
last_name: string;
org_id?: string;
role_name?: string;
phone_number?: string;
country_code?: string;
};
}
export interface ICatalystCustomTokenResponse {
jwt_token: string;
client_id: string;
scopes: Array;
}
export interface ICatalystBulkCallback {
url: string;
headers?: {
[x: string]: string;
};
params?: {
[x: string]: string;
};
}
export interface ICatalystBulkReadQuery {
page?: number;
select_columns?: Array;
criteria?: {
group_operator: string;
group: Array<{
column_name: string;
comparator: string;
value: string;
}>;
};
}
export interface ICatalystBulkWriteInput {
operation?: 'insert' | 'update' | 'upsert';
find_by?: string;
fk_mapping?: Array<{
local_column: string;
reference_column: string;
}>;
}
export interface ICatalystBulkJob {
job_id: string;
status: 'In-Progress' | 'Completed' | 'Failed';
operation: string;
project_details: ICatalystProject;
created_by: ICatalystSysUser;
created_time: string;
query?: Array<{
table_id: string;
details: {
page?: number;
file_id?: string;
};
}>;
callback?: ICatalystBulkCallback;
results?: {
download_url?: string;
description: string;
details?: Array<{
table_id: string;
records_processed: number;
more_records?: boolean;
}>;
};
}
export interface ICatalystConnectionsResponse {
headers: Record;
parameters: Record;
}