@cobaltio/cobalt-js 9.0.0-beta.1 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cobalt.d.ts CHANGED
@@ -128,25 +128,6 @@ export interface CobaltOptions {
128
128
  /** The session token. */
129
129
  token?: string;
130
130
  }
131
- /**
132
- * @deprecated
133
- */
134
- export interface EcosystemLead {
135
- _id: string;
136
- name?: string;
137
- email: string;
138
- description?: string;
139
- created_at: string;
140
- }
141
- /**
142
- * @deprecated
143
- */
144
- export interface EcosystemLeadPayload {
145
- slug: string;
146
- name?: string;
147
- email: string;
148
- description?: string;
149
- }
150
131
  export interface RuleOptions {
151
132
  rule_column: {
152
133
  rhs: {
@@ -361,19 +342,26 @@ declare class Cobalt {
361
342
  */
362
343
  private keybased;
363
344
  /**
364
- * Connect the specified application, optionally with the auth data that user provides.
365
- * @param {String} slug The application slug.
366
- * @param {AuthType} authType The auth type to use.
367
- * @param {Object.<string, string>} [payload] The key value pairs of auth data.
368
- * @returns {Promise<Boolean>} Whether the connection was successful.
345
+ * Connects the specified application using the provided authentication type and optional auth data.
346
+ * @param params - The parameters for connecting the application.
347
+ * @param params.slug - The application slug.
348
+ * @param params.type - The authentication type to use. If not provided, it defaults to `keybased` if payload is provided, otherwise `oauth2`.
349
+ * @param params.payload - key-value pairs of authentication data required for the specified auth type.
350
+ * @returns A promise that resolves to true if the connection was successful, otherwise false.
351
+ * @throws Throws an error if the authentication type is invalid or the connection fails.
369
352
  */
370
- connect(slug: string, authType: AuthType, payload?: Record<string, string>): Promise<boolean>;
353
+ connect({ slug, type, payload, }: {
354
+ slug: string;
355
+ type?: AuthType;
356
+ payload?: Record<string, string>;
357
+ }): Promise<boolean>;
371
358
  /**
372
359
  * Disconnect the specified application and remove any associated data from Cobalt.
373
360
  * @param {String} slug The application slug.
361
+ * @param {AuthType} [type] The authentication type to use. If not provided, it'll remove all the connected accounts.
374
362
  * @returns {Promise<unknown>}
375
363
  */
376
- disconnect(slug: string): Promise<unknown>;
364
+ disconnect(slug: string, type?: AuthType): Promise<unknown>;
377
365
  /**
378
366
  * Returns the specified config, or creates one if it doesn't exist.
379
367
  * @param {ConfigPayload} payload The payload object for config.
@@ -408,13 +396,6 @@ declare class Cobalt {
408
396
  * @returns {Promise<unknown>}
409
397
  */
410
398
  deleteConfig(slug: string, configId?: string): Promise<unknown>;
411
- /**
412
- * @deprecated
413
- * Create a lead for an ecosystem app.
414
- * @param {EcosystemLeadPayload} payload The payload object for the lead.
415
- * @returns {Promise<EcosystemLead>}
416
- */
417
- createEcosystemLead(payload: EcosystemLeadPayload): Promise<EcosystemLead>;
418
399
  /**
419
400
  * Returns the specified field of the config.
420
401
  * @param {String} slug The application slug.
package/cobalt.js CHANGED
@@ -218,32 +218,37 @@ class Cobalt {
218
218
  });
219
219
  }
220
220
  /**
221
- * Connect the specified application, optionally with the auth data that user provides.
222
- * @param {String} slug The application slug.
223
- * @param {AuthType} authType The auth type to use.
224
- * @param {Object.<string, string>} [payload] The key value pairs of auth data.
225
- * @returns {Promise<Boolean>} Whether the connection was successful.
221
+ * Connects the specified application using the provided authentication type and optional auth data.
222
+ * @param params - The parameters for connecting the application.
223
+ * @param params.slug - The application slug.
224
+ * @param params.type - The authentication type to use. If not provided, it defaults to `keybased` if payload is provided, otherwise `oauth2`.
225
+ * @param params.payload - key-value pairs of authentication data required for the specified auth type.
226
+ * @returns A promise that resolves to true if the connection was successful, otherwise false.
227
+ * @throws Throws an error if the authentication type is invalid or the connection fails.
226
228
  */
227
- connect(slug, authType, payload) {
229
+ connect({ slug, type, payload, }) {
228
230
  return __awaiter(this, void 0, void 0, function* () {
229
- switch (authType) {
231
+ switch (type) {
230
232
  case AuthType.OAuth2:
231
233
  return this.oauth(slug, payload);
232
234
  case AuthType.KeyBased:
233
235
  return this.keybased(slug, payload);
234
236
  default:
235
- throw new Error(`Invalid auth type: ${authType}`);
237
+ if (payload)
238
+ return this.keybased(slug, payload);
239
+ return this.oauth(slug);
236
240
  }
237
241
  });
238
242
  }
239
243
  /**
240
244
  * Disconnect the specified application and remove any associated data from Cobalt.
241
245
  * @param {String} slug The application slug.
246
+ * @param {AuthType} [type] The authentication type to use. If not provided, it'll remove all the connected accounts.
242
247
  * @returns {Promise<unknown>}
243
248
  */
244
- disconnect(slug) {
249
+ disconnect(slug, type) {
245
250
  return __awaiter(this, void 0, void 0, function* () {
246
- const res = yield fetch(`${this.baseUrl}/api/v1/linked-acc/integration/${slug}`, {
251
+ const res = yield fetch(`${this.baseUrl}/api/v1/linked-acc/integration/${slug}${type ? `?auth_type=${type}` : ""}`, {
247
252
  method: "DELETE",
248
253
  headers: {
249
254
  authorization: `Bearer ${this.token}`,
@@ -360,29 +365,6 @@ class Cobalt {
360
365
  return yield res.json();
361
366
  });
362
367
  }
363
- /**
364
- * @deprecated
365
- * Create a lead for an ecosystem app.
366
- * @param {EcosystemLeadPayload} payload The payload object for the lead.
367
- * @returns {Promise<EcosystemLead>}
368
- */
369
- createEcosystemLead(payload) {
370
- return __awaiter(this, void 0, void 0, function* () {
371
- const res = yield fetch(`${this.baseUrl}/api/v1/ecosystem/leads`, {
372
- method: "POST",
373
- headers: {
374
- authorization: `Bearer ${this.token}`,
375
- "content-type": "application/json",
376
- },
377
- body: JSON.stringify(payload),
378
- });
379
- if (res.status >= 400 && res.status < 600) {
380
- const error = yield res.json();
381
- throw error;
382
- }
383
- return yield res.json();
384
- });
385
- }
386
368
  /**
387
369
  * Returns the specified field of the config.
388
370
  * @param {String} slug The application slug.
package/cobalt.ts CHANGED
@@ -139,27 +139,6 @@ export interface CobaltOptions {
139
139
  token?: string;
140
140
  }
141
141
 
142
- /**
143
- * @deprecated
144
- */
145
- export interface EcosystemLead {
146
- _id: string;
147
- name?: string;
148
- email: string;
149
- description?: string;
150
- created_at: string;
151
- }
152
-
153
- /**
154
- * @deprecated
155
- */
156
- export interface EcosystemLeadPayload {
157
- slug: string;
158
- name?: string;
159
- email: string;
160
- description?: string;
161
- }
162
-
163
142
  export interface RuleOptions {
164
143
  rule_column: {
165
144
  rhs: {
@@ -541,30 +520,42 @@ class Cobalt {
541
520
  }
542
521
 
543
522
  /**
544
- * Connect the specified application, optionally with the auth data that user provides.
545
- * @param {String} slug The application slug.
546
- * @param {AuthType} authType The auth type to use.
547
- * @param {Object.<string, string>} [payload] The key value pairs of auth data.
548
- * @returns {Promise<Boolean>} Whether the connection was successful.
549
- */
550
- public async connect(slug: string, authType: AuthType, payload?: Record<string, string>): Promise<boolean> {
551
- switch (authType) {
523
+ * Connects the specified application using the provided authentication type and optional auth data.
524
+ * @param params - The parameters for connecting the application.
525
+ * @param params.slug - The application slug.
526
+ * @param params.type - The authentication type to use. If not provided, it defaults to `keybased` if payload is provided, otherwise `oauth2`.
527
+ * @param params.payload - key-value pairs of authentication data required for the specified auth type.
528
+ * @returns A promise that resolves to true if the connection was successful, otherwise false.
529
+ * @throws Throws an error if the authentication type is invalid or the connection fails.
530
+ */
531
+ public async connect({
532
+ slug,
533
+ type,
534
+ payload,
535
+ }: {
536
+ slug: string;
537
+ type?: AuthType;
538
+ payload?: Record<string, string>;
539
+ }): Promise<boolean> {
540
+ switch (type) {
552
541
  case AuthType.OAuth2:
553
542
  return this.oauth(slug, payload);
554
543
  case AuthType.KeyBased:
555
544
  return this.keybased(slug, payload);
556
545
  default:
557
- throw new Error(`Invalid auth type: ${authType}`);
546
+ if (payload) return this.keybased(slug, payload);
547
+ return this.oauth(slug);
558
548
  }
559
549
  }
560
550
 
561
551
  /**
562
552
  * Disconnect the specified application and remove any associated data from Cobalt.
563
553
  * @param {String} slug The application slug.
554
+ * @param {AuthType} [type] The authentication type to use. If not provided, it'll remove all the connected accounts.
564
555
  * @returns {Promise<unknown>}
565
556
  */
566
- public async disconnect(slug: string): Promise<unknown> {
567
- const res = await fetch(`${this.baseUrl}/api/v1/linked-acc/integration/${slug}`, {
557
+ public async disconnect(slug: string, type?: AuthType): Promise<unknown> {
558
+ const res = await fetch(`${this.baseUrl}/api/v1/linked-acc/integration/${slug}${type ? `?auth_type=${type}` : ""}`, {
568
559
  method: "DELETE",
569
560
  headers: {
570
561
  authorization: `Bearer ${this.token}`,
@@ -691,30 +682,6 @@ class Cobalt {
691
682
  return await res.json();
692
683
  }
693
684
 
694
- /**
695
- * @deprecated
696
- * Create a lead for an ecosystem app.
697
- * @param {EcosystemLeadPayload} payload The payload object for the lead.
698
- * @returns {Promise<EcosystemLead>}
699
- */
700
- public async createEcosystemLead(payload: EcosystemLeadPayload): Promise<EcosystemLead> {
701
- const res = await fetch(`${this.baseUrl}/api/v1/ecosystem/leads`, {
702
- method: "POST",
703
- headers: {
704
- authorization: `Bearer ${this.token}`,
705
- "content-type": "application/json",
706
- },
707
- body: JSON.stringify(payload),
708
- });
709
-
710
- if (res.status >= 400 && res.status < 600) {
711
- const error = await res.json();
712
- throw error;
713
- }
714
-
715
- return await res.json();
716
- }
717
-
718
685
  /**
719
686
  * Returns the specified field of the config.
720
687
  * @param {String} slug The application slug.
@@ -1 +1 @@
1
- window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzytWsqqurQUAmx4Kpg=="
1
+ window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzwMKVNfWAgCbHgqm"
@@ -1 +1 @@
1
- window.navigationData = "eJyVk9FKwzAUht/lXBeHA0V6J6IgDByCeCFepMmpC8uS0JzihvjuslW3FpOT7Lb/939pTpK3LyDcEtRw5xphCCrwglZQgzQiBAyz4fvFijYGKlhrq6C+nN98V8fmrfdGS0Ha2VNdW8KuFRLDbJRPNfOr65FmWOjJ77kQFU0IXmVb/ZFw7KN8+UGjUYzhkOc1S7EzTnCiXyKvenXdujXuk3H9IZzsXrqwC4SbBSb+a0L8U1XDzYAaFPoOpSBUkPJz24+B56+2Rdknb94x5QbyaH1P6eM+xZxkIRo00f4h4arLvjFasqc7Rcpl3PijZLk6lLtDgfy5N8g9/VHOaV68EoT5pxfhOG3JPLOTfP8BOa3d9A=="
1
+ window.navigationData = "eJyNk01LAzEQhv9LzsViwVJ6E1EQBEtb8SAeZndnu6FpEpoJbRH/u7v1YxvMTnKd532fXSbJ24cgPJKYi1tPzYqAvBMjYYGadoba79y4J1cN7VSLt1JXYj77HAXt9clirNvNh5t3pgBFfa9U4By68fc87F1Pgm9aq2QJJI3u61IT7msoW8MFDzWTm+m/H3i2Xc5FRUGCV+labgYcHUqXHySqijGceVqzgJMywIl+EmnVq9lva2UOjOs3wsnuj1j6wbP6o5ziUVtPwwvqMSd5ggJVtH8mXHXhi/ZCsfsII/ky7ryiyXy1y3e7DPnSK+QeywXnNC+2AsL0ZY3kOG3OPpObfP8CA8O/QA=="
@@ -1 +1 @@
1
- window.searchData = "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";
1
+ window.searchData = "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";