UNPKG

8.25 kBTypeScriptView Raw
1import { Callback, Connection } from '../connection';
2import { EventEmitter } from 'events';
3import { Stream } from 'stream';
4
5interface DeployResult {
6 id: string;
7 checkOnly: boolean;
8 completedDate: string;
9 createdDate: string;
10 details?: object[] | undefined;
11 done: boolean;
12 errorMessage?: string | undefined;
13 errorStatusCode?: string | undefined;
14 ignoreWarnings?: boolean | undefined;
15 lastModifiedDate: string;
16 numberComponentErrors: number;
17 numberComponentsDeployed: number;
18 numberComponentsTotal: number;
19 numberTestErrors: number;
20 numberTestsCompleted: number;
21 numberTestsTotal: number;
22 rollbackOnError?: boolean | undefined;
23 startDate: string;
24 status: string;
25 success: boolean;
26}
27
28interface MetadataObject {
29 childXmlNames?: string[] | undefined;
30 directoryName?: string | undefined;
31 inFolder?: boolean | undefined;
32 metaFile?: boolean | undefined;
33 suffix?: string | undefined;
34 xmlName: string;
35}
36
37interface DescribeMetadataResult {
38 metadataObjects: MetadataObject[];
39 organizationNamespace: string;
40 partialSaveAllowed: boolean;
41 testRequired: boolean;
42}
43
44interface FileProperties {
45 type: string;
46 createdById: string;
47 createdByName: string;
48 createdDate: string;
49 fileName: string;
50 fullName: string;
51 id: string;
52 lastModifiedById: string;
53 lastModifiedByName: string;
54 lastModifiedDate: string;
55 manageableState?: string | undefined;
56 namespacePrefix?: string | undefined;
57}
58
59interface ListMetadataQuery {
60 type: string;
61 folder?: string | undefined;
62}
63
64interface MetadataInfo {
65 fullName: string;
66}
67
68interface Package {
69 apiAccessLevel?: 'Unrestricted' | 'Restricted' | undefined;
70 description?: string | undefined;
71 fullName?: string | undefined;
72 namespacePrefix?: string | undefined;
73 objectPermissions?: ProfileObjectPermissions[] | undefined;
74 postInstallClass?: string | undefined;
75 setupWeblink?: string | undefined;
76 types: PackageTypeMembers[];
77 uninstallClass?: string | undefined;
78 version: string;
79}
80
81interface PackageTypeMembers {
82 members: string[];
83 name: string;
84}
85
86interface ProfileObjectPermissions {
87 allowCreate?: boolean | undefined;
88 allowDelete?: boolean | undefined;
89 allowEdit?: boolean | undefined;
90 allowRead?: boolean | undefined;
91 modifyAllRecords?: boolean | undefined;
92 object: string;
93 viewAllRecords?: boolean | undefined;
94}
95
96interface RetrieveRequest {
97 apiVersion?: string | undefined;
98 packageNames?: string[] | undefined;
99 singlePackage?: boolean | undefined;
100 specificFiles?: string[] | undefined;
101 unpackaged?: Package | undefined;
102}
103
104interface RetrieveMessage {
105 fileName: string;
106 problem: string;
107}
108
109interface RetrieveResult {
110 fileProperties: FileProperties[];
111 id: string;
112 messages: RetrieveMessage[];
113 zipFile: string;
114}
115
116interface SaveResult {
117 success: boolean;
118 fullName: string;
119 errors?: SaveError | Array<SaveError> | undefined;
120}
121
122interface SaveError {
123 fields: string | string[];
124 message: string;
125 statusCode: string;
126}
127
128interface UpdateMetadataInfo {
129 currentName: string;
130 metadata: MetadataInfo;
131}
132
133interface UpsertResult {
134 success: boolean;
135 fullName: string;
136 created: boolean;
137}
138
139interface AsyncResult {
140 done: boolean;
141 id: string;
142 state: string;
143 statusCode?: string | undefined;
144 message?: string | undefined;
145}
146
147interface DeployOptions {
148 allowMissingFiles?: boolean | undefined;
149 autoUpdatePackage?: boolean | undefined;
150 checkOnly?: boolean | undefined;
151 ignoreWarnings?: boolean | undefined;
152 performRetrieve?: boolean | undefined;
153 purgeOnDelete?: boolean | undefined;
154 rollbackOnError?: boolean | undefined;
155 runAllTests?: boolean | undefined;
156 runTests?: string[] | undefined;
157 singlePackage?: boolean | undefined;
158}
159
160export class AsyncResultLocator<T> extends EventEmitter implements PromiseLike<T> {
161 check(callback?: Callback<T>): Promise<T>;
162
163 complete(callback?: Callback<T>): Promise<T>;
164
165 poll(interval: number, timeout: number): void;
166
167 then<TResult1, TResult2>(
168 onfulfilled?: ((value: T) => PromiseLike<TResult1> | TResult1) | null,
169 onrejected?: ((reason: any) => PromiseLike<TResult2> | TResult2) | null,
170 ): Promise<TResult1 | TResult2>;
171
172 finally(onfinally?: () => void): Promise<T>;
173}
174
175export class DeployResultLocator<T> extends AsyncResultLocator<T> {}
176export class RetrieveResultLocator<T> extends AsyncResultLocator<T> {}
177
178export class Metadata {
179 pollInterval: number;
180 pollTimeout: number;
181
182 constructor(conn: Connection);
183
184 checkDeployStatus(id: string, includeDetails?: boolean, callback?: Callback<DeployResult>): Promise<DeployResult>;
185
186 checkRetrieveStatus(id: string, callback?: Callback<RetrieveResult>): Promise<RetrieveResult>;
187
188 checkStatus(
189 ids: string | string[],
190 callback?: Callback<AsyncResult | Array<AsyncResult>>,
191 ): AsyncResultLocator<AsyncResult | Array<AsyncResult>>;
192
193 create(
194 type: string,
195 metadata: MetadataInfo | Array<MetadataInfo>,
196 callback?: Callback<SaveResult | Array<SaveResult>>,
197 ): Promise<SaveResult | Array<SaveResult>>;
198
199 createAsync(
200 type: string,
201 metadata: MetadataInfo | Array<MetadataInfo>,
202 callback?: Callback<SaveResult | Array<SaveResult>>,
203 ): Promise<SaveResult | Array<SaveResult>>;
204
205 createSync(
206 type: string,
207 metadata: MetadataInfo | Array<MetadataInfo>,
208 callback?: Callback<SaveResult | Array<SaveResult>>,
209 ): Promise<SaveResult | Array<SaveResult>>;
210
211 delete(
212 type: string,
213 fullNames: string | string[],
214 callback?: Callback<SaveResult | Array<SaveResult>>,
215 ): Promise<SaveResult | Array<SaveResult>>;
216
217 deleteAsync(
218 type: string,
219 metadata: string | string[] | MetadataInfo | Array<MetadataInfo>,
220 callback?: Callback<AsyncResult | Array<AsyncResult>>,
221 ): AsyncResultLocator<AsyncResult | Array<AsyncResult>>;
222
223 deleteSync(
224 type: string,
225 fullNames: string | string[],
226 callback?: Callback<SaveResult | Array<SaveResult>>,
227 ): Promise<SaveResult | Array<SaveResult>>;
228
229 deploy(
230 zipInput: Stream | Buffer | string,
231 options: DeployOptions,
232 callback?: Callback<AsyncResult>,
233 ): DeployResultLocator<AsyncResult>;
234
235 describe(version?: string, callback?: Callback<DescribeMetadataResult>): Promise<DescribeMetadataResult>;
236
237 list(
238 queries: ListMetadataQuery | Array<ListMetadataQuery>,
239 version?: string,
240 callback?: Callback<Array<FileProperties>>,
241 ): Promise<Array<FileProperties>>;
242
243 read(
244 type: string,
245 fullNames: string | string[],
246 callback?: Callback<MetadataInfo | Array<MetadataInfo>>,
247 ): Promise<MetadataInfo | Array<MetadataInfo>>;
248
249 readSync(
250 type: string,
251 fullNames: string | string[],
252 callback?: Callback<MetadataInfo | Array<MetadataInfo>>,
253 ): Promise<MetadataInfo | Array<MetadataInfo>>;
254
255 rename(
256 type: string,
257 oldFullName: string,
258 newFullName: string,
259 callback?: Callback<SaveResult>,
260 ): Promise<SaveResult>;
261
262 retrieve(request: RetrieveRequest, callback?: Callback<AsyncResult>): RetrieveResultLocator<AsyncResult>;
263
264 update(
265 type: string,
266 updateMetadata: MetadataInfo | Array<MetadataInfo>,
267 callback?: Callback<SaveResult | Array<SaveResult>>,
268 ): Promise<SaveResult | Array<SaveResult>>;
269
270 updateAsync(
271 type: string,
272 updateMetadata: MetadataInfo,
273 callback?: Callback<AsyncResult | Array<AsyncResult>>,
274 ): AsyncResultLocator<AsyncResult | Array<AsyncResult>>;
275
276 updateSync(
277 type: string,
278 updateMetadata: MetadataInfo | Array<MetadataInfo>,
279 callback?: Callback<SaveResult | Array<SaveResult>>,
280 ): Promise<SaveResult | Array<SaveResult>>;
281
282 upsert(
283 type: string,
284 metadata: MetadataInfo | Array<MetadataInfo>,
285 callback?: Callback<UpsertResult | Array<UpsertResult>>,
286 ): Promise<UpsertResult | Array<UpsertResult>>;
287}
288
\No newline at end of file