1 | import * as stream from "stream";
|
2 |
|
3 | import { Batch, BatchResultInfo } from "./batch";
|
4 | import { Callback, Connection, RestApiOptions } from "./connection";
|
5 | import { SObjectCreateOptions } from "./create-options";
|
6 | import { DescribeSObjectResult } from "./describe-result";
|
7 | import { Query } from "./query";
|
8 | import { QuickAction, QuickActionInfo } from "./quick-action";
|
9 | import { Record, RecordReference } from "./record";
|
10 | import { RecordResult } from "./record-result";
|
11 | import { SalesforceId } from "./salesforce-id";
|
12 |
|
13 | export class SObject<T> {
|
14 | record(id: SalesforceId): RecordReference<T>;
|
15 | retrieve(id: SalesforceId, callback?: Callback<Record<T>>): Promise<Record<T>>;
|
16 | retrieve(id: SalesforceId, options?: object, callback?: Callback<Record<T>>): Promise<Record<T>>;
|
17 | retrieve(ids: SalesforceId[], callback?: Callback<Array<Record<T>>>): Promise<Array<Record<T>>>;
|
18 | retrieve(ids: SalesforceId[], options?: object, callback?: Callback<Array<Record<T>>>): Promise<Array<Record<T>>>;
|
19 |
|
20 | update(record: Partial<T>, callback?: Callback<RecordResult>): Promise<RecordResult>;
|
21 | update(record: Partial<T>, options?: RestApiOptions, callback?: Callback<RecordResult>): Promise<RecordResult>;
|
22 | update(records: Array<Partial<T>>, callback?: Callback<RecordResult[]>): Promise<RecordResult[]>;
|
23 | update(
|
24 | records: Array<Partial<T>>,
|
25 | options?: RestApiOptions,
|
26 | callback?: Callback<RecordResult[]>,
|
27 | ): Promise<RecordResult[]>;
|
28 |
|
29 | updateBulk(input?: Record[] | stream.Stream | string, callback?: Callback<RecordResult[]>): Batch;
|
30 | updated(
|
31 | start: string | Date,
|
32 | end: string | Date,
|
33 | callback?: Callback<UpdatedRecordsInfo>,
|
34 | ): Promise<UpdatedRecordsInfo>;
|
35 | upsert(records: Record<T>, extIdField: string, callback?: Callback<RecordResult>): Promise<RecordResult>;
|
36 | upsert(
|
37 | records: Record<T>,
|
38 | extIdField: string,
|
39 | options?: RestApiOptions,
|
40 | callback?: Callback<RecordResult>,
|
41 | ): Promise<RecordResult>;
|
42 | upsert(records: Array<Record<T>>, extIdField: string, callback?: Callback<RecordResult[]>): Promise<RecordResult[]>;
|
43 | upsert(
|
44 | records: Array<Record<T>>,
|
45 | extIdField: string,
|
46 | options?: RestApiOptions,
|
47 | callback?: Callback<RecordResult[]>,
|
48 | ): Promise<RecordResult[]>;
|
49 | upsertBulk(
|
50 | input?: Array<Record<T>> | stream.Stream | string,
|
51 | callback?: Callback<RecordResult[] | BatchResultInfo[]>,
|
52 | ): Batch;
|
53 |
|
54 | find<T>(query?: object | string, callback?: Callback<Array<Record<T>>>): Query<Array<Record<T>>>;
|
55 | find<T>(
|
56 | query?: object | string,
|
57 | fields?: Object | string[] | string,
|
58 | callback?: Callback<Array<Record<T>>>,
|
59 | ): Query<Array<Record<T>>>;
|
60 | find<T>(
|
61 | query?: object | string,
|
62 | fields?: Object | string[] | string,
|
63 | options?: FindOptions,
|
64 | callback?: Callback<Array<Record<T>>>,
|
65 | ): Query<Array<Record<T>>>;
|
66 |
|
67 | findOne<T>(query?: object | string, callback?: Callback<Record<T>>): Query<Record<T> | null>;
|
68 | findOne<T>(
|
69 | query?: object | string,
|
70 | fields?: Object | string[] | string,
|
71 | callback?: Callback<Record<T>>,
|
72 | ): Query<Record<T> | null>;
|
73 | findOne<T>(
|
74 | query?: object | string,
|
75 | fields?: Object | string[] | string,
|
76 | options?: FindOptions,
|
77 | callback?: Callback<Record<T>>,
|
78 | ): Query<Record<T> | null>;
|
79 |
|
80 | approvalLayouts$: {
|
81 |
|
82 | (callback?: Callback<ApprovalLayoutInfo>): ApprovalLayoutInfo;
|
83 | clear(): void;
|
84 | };
|
85 | approvalLayouts(callback?: Callback<ApprovalLayoutInfo>): Promise<ApprovalLayoutInfo>;
|
86 | bulkload(
|
87 | operation: string,
|
88 | options?: { extIdField?: string | undefined },
|
89 | input?: Array<Record<T>> | stream.Stream | string,
|
90 | callback?: Callback<RecordResult[]>,
|
91 | ): Batch;
|
92 | compactLayouts$: {
|
93 |
|
94 | (callback?: Callback<CompactLayoutInfo>): CompactLayoutInfo;
|
95 | clear(): void;
|
96 | };
|
97 | compactLayouts(callback?: Callback<CompactLayoutInfo>): Promise<CompactLayoutInfo>;
|
98 | count(conditions?: object | string, callback?: Callback<number>): Query<number>;
|
99 | create(record: T, options?: RestApiOptions, callback?: Callback<RecordResult>): Promise<RecordResult>;
|
100 | create(record: T, callback?: Callback<RecordResult>): Promise<RecordResult>;
|
101 | create(record: T[], options?: RestApiOptions, callback?: Callback<RecordResult[]>): Promise<RecordResult[]>;
|
102 | create(record: T[], callback?: Callback<RecordResult[]>): Promise<RecordResult[]>;
|
103 | createBulk(input?: Array<Record<T>> | stream.Stream | string, callback?: Callback<RecordResult[]>): Batch;
|
104 | del(id: string, callback?: Callback<RecordResult>): Promise<RecordResult>;
|
105 | del(ids: string[], callback?: Callback<RecordResult[]>): Promise<RecordResult[]>;
|
106 | destroy(id: string, callback?: Callback<RecordResult>): Promise<RecordResult>;
|
107 | destroy(ids: string[], callback?: Callback<RecordResult[]>): Promise<RecordResult[]>;
|
108 | delete(id: string, callback?: Callback<RecordResult>): Promise<RecordResult>;
|
109 | delete(ids: string[], callback?: Callback<RecordResult[]>): Promise<RecordResult[]>;
|
110 | deleteBulk(input?: Array<Record<T>> | stream.Stream | string, callback?: Callback<RecordResult[]>): Batch;
|
111 | destroyBulk(input?: Array<Record<T>> | stream.Stream | string, callback?: Callback<RecordResult[]>): Batch;
|
112 | destroyHardBulk(input?: Array<Record<T>> | stream.Stream | string, callback?: Callback<RecordResult[]>): Batch;
|
113 | deleted(
|
114 | start: Date | string,
|
115 | end: Date | string,
|
116 | callback?: Callback<DeletedRecordsInfo>,
|
117 | ): Promise<DeletedRecordsInfo>;
|
118 | deleteHardBulk(input?: Array<Record<T>> | stream.Stream | string, callback?: Callback<RecordResult[]>): Batch;
|
119 | describe(callback?: Callback<DescribeSObjectResult>): Promise<DescribeSObjectResult>;
|
120 | describe$: {
|
121 |
|
122 | (callback?: Callback<DescribeSObjectResult>): DescribeSObjectResult;
|
123 | clear(): void;
|
124 | };
|
125 | insert(record: Record<T>, callback?: Callback<RecordResult>): Promise<RecordResult>;
|
126 | insert(records: Array<Record<T>>, callback?: Callback<RecordResult[]>): Promise<RecordResult[]>;
|
127 | insertBulk(input?: Array<Record<T>> | stream.Stream | string, callback?: Callback<RecordResult[]>): Batch;
|
128 |
|
129 | layouts$: {
|
130 | (layoutName?: string, callback?: Callback<LayoutInfo>): LayoutInfo;
|
131 | clear(): void;
|
132 | };
|
133 | layouts(layoutName?: string, callback?: Callback<LayoutInfo>): Promise<LayoutInfo>;
|
134 | listview(id: string): ListView;
|
135 | listviews(callback?: Callback<ListViewsInfo>): Promise<ListViewsInfo>;
|
136 | quickAction(actionName: string): QuickAction;
|
137 | quickActions(callback?: Callback<QuickActionInfo[]>): Promise<QuickActionInfo[]>;
|
138 | recent(callback?: Callback<RecordResult[]>): Promise<RecordResult[]>;
|
139 | select(callback?: Callback<T[]>): Query<T[]>;
|
140 |
|
141 | select(
|
142 | fields?: { [P in keyof T]: boolean } | Array<(keyof T)> | (keyof T),
|
143 | callback?: Callback<Array<Partial<T>>>,
|
144 | ): Query<Array<Partial<T>>>;
|
145 | }
|
146 |
|
147 | export interface FindOptions {
|
148 | limit?: number | undefined;
|
149 | offset?: number | undefined;
|
150 | skip?: number | undefined;
|
151 | }
|
152 |
|
153 | export interface UpdatedRecordsInfo {
|
154 | latestDateCovered: string;
|
155 | ids: string[];
|
156 | }
|
157 |
|
158 | export interface ApprovalLayoutInfo {
|
159 | approvalLayouts: Object[];
|
160 | }
|
161 |
|
162 | export interface CompactLayoutInfo {
|
163 | compactLayouts: Object[];
|
164 | defaultCompactLayoutId: string;
|
165 | recordTypeCompactLayoutMappings: Object[];
|
166 | }
|
167 |
|
168 | export interface DeletedRecordsInfo {
|
169 | earliestDateAvailable: string;
|
170 | latestDateCovered: string;
|
171 | deletedRecords: DeletedRecord[];
|
172 | }
|
173 |
|
174 | export interface DeletedRecord {
|
175 | id: string;
|
176 | deletedDate: string;
|
177 | }
|
178 |
|
179 | export interface LayoutInfo {
|
180 | layouts: Object[];
|
181 | recordTypeMappings: Object[];
|
182 | }
|
183 |
|
184 | export class ListView {
|
185 | constructor(connection: Connection, type: string, id: SalesforceId);
|
186 | }
|
187 |
|
188 | export class ListViewsInfo {}
|
189 |
|
190 | export { QuickAction };
|