@wireapp/core 43.14.3 → 44.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/lib/Account.d.ts +6 -9
- package/lib/Account.d.ts.map +1 -1
- package/lib/Account.js +20 -43
- package/lib/messagingProtocols/mls/MLSService/MLSService.d.ts +7 -1
- package/lib/messagingProtocols/mls/MLSService/MLSService.d.ts.map +1 -1
- package/lib/messagingProtocols/mls/MLSService/MLSService.js +11 -3
- package/lib/messagingProtocols/mls/MLSService/MLSService.types.d.ts +0 -4
- package/lib/messagingProtocols/mls/MLSService/MLSService.types.d.ts.map +1 -1
- package/lib/team/TeamService.d.ts +1 -0
- package/lib/team/TeamService.d.ts.map +1 -1
- package/lib/team/TeamService.js +3 -0
- package/package.json +2 -2
package/lib/Account.d.ts
CHANGED
|
@@ -117,7 +117,6 @@ export declare class Account extends TypedEventEmitter<Events> {
|
|
|
117
117
|
*/
|
|
118
118
|
useAPIVersion(min: number, max: number, allowDev?: boolean): Promise<BackendFeatures>;
|
|
119
119
|
private persistCookie;
|
|
120
|
-
private getE2EIStatus;
|
|
121
120
|
enrollE2EI({ displayName, handle, teamId, discoveryUrl, oAuthIdToken, certificateTtl, }: {
|
|
122
121
|
displayName: string;
|
|
123
122
|
handle: string;
|
|
@@ -160,18 +159,16 @@ export declare class Account extends TypedEventEmitter<Events> {
|
|
|
160
159
|
/**
|
|
161
160
|
* Will register a new client for the current user
|
|
162
161
|
*/
|
|
163
|
-
registerClient(loginData: LoginData, clientInfo?: ClientInfo,
|
|
162
|
+
registerClient(loginData: LoginData, clientInfo?: ClientInfo,
|
|
163
|
+
/** will add extra manual entropy to the client's identity being created */
|
|
164
|
+
entropyData?: Uint8Array): Promise<RegisteredClient>;
|
|
165
|
+
getLocalClient(): Promise<RegisteredClient | undefined> | undefined;
|
|
164
166
|
/**
|
|
165
|
-
* Will
|
|
166
|
-
*/
|
|
167
|
-
private initMLSClient;
|
|
168
|
-
/**
|
|
169
|
-
* Will initiate all the cryptographic material of the device and setup all the background tasks.
|
|
167
|
+
* Will initiate all the cryptographic material of the given registered device and setup all the background tasks.
|
|
170
168
|
*
|
|
171
169
|
* @returns The local existing client or undefined if the client does not exist or is not valid (non existing on backend)
|
|
172
170
|
*/
|
|
173
|
-
initClient(client: RegisteredClient): Promise<RegisteredClient>;
|
|
174
|
-
initClient(): Promise<RegisteredClient | undefined>;
|
|
171
|
+
initClient(client: RegisteredClient, willEnrollE2ei?: boolean): Promise<RegisteredClient>;
|
|
175
172
|
private buildCryptoClient;
|
|
176
173
|
/**
|
|
177
174
|
* In order to be able to send MLS messages, the core needs a few information from the consumer.
|
package/lib/Account.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../src/Account.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,YAAY,EAGZ,OAAO,EACP,MAAM,EAEN,SAAS,EAEV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAuB,UAAU,EAAE,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAEnG,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../src/Account.ts"],"names":[],"mappings":"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"}
|
package/lib/Account.js
CHANGED
|
@@ -57,7 +57,6 @@ const client_1 = require("@wireapp/api-client/lib/client/");
|
|
|
57
57
|
const event_1 = require("@wireapp/api-client/lib/event");
|
|
58
58
|
const tcp_1 = require("@wireapp/api-client/lib/tcp/");
|
|
59
59
|
const ReconnectingWebsocket_1 = require("@wireapp/api-client/lib/tcp/ReconnectingWebsocket");
|
|
60
|
-
const team_1 = require("@wireapp/api-client/lib/team");
|
|
61
60
|
const TimeUtil_1 = require("@wireapp/commons/lib/util/TimeUtil");
|
|
62
61
|
const logdown_1 = __importDefault(require("logdown"));
|
|
63
62
|
const api_client_1 = require("@wireapp/api-client");
|
|
@@ -83,7 +82,7 @@ const encryptedStore_1 = require("./secretStore/encryptedStore");
|
|
|
83
82
|
const secretKeyGenerator_1 = require("./secretStore/secretKeyGenerator");
|
|
84
83
|
const self_1 = require("./self/");
|
|
85
84
|
const CoreDB_1 = require("./storage/CoreDB");
|
|
86
|
-
const
|
|
85
|
+
const team_1 = require("./team/");
|
|
87
86
|
const user_1 = require("./user/");
|
|
88
87
|
const RecurringTaskScheduler_1 = require("./util/RecurringTaskScheduler");
|
|
89
88
|
var EVENTS;
|
|
@@ -180,15 +179,6 @@ class Account extends commons_1.TypedEventEmitter {
|
|
|
180
179
|
const entity = { expiration: cookie.expiration, zuid: cookie.zuid };
|
|
181
180
|
return storeEngine.updateOrCreate(auth_1.AUTH_TABLE_NAME, auth_1.AUTH_COOKIE_KEY, entity);
|
|
182
181
|
}
|
|
183
|
-
async getE2EIStatus() {
|
|
184
|
-
var _a, _b, _c;
|
|
185
|
-
const features = await this.apiClient.api.teams.feature.getAllFeatures();
|
|
186
|
-
const clientCanUseE2EI = (_b = (_a = this.coreCryptoConfig) === null || _a === void 0 ? void 0 : _a.mls) === null || _b === void 0 ? void 0 : _b.useE2EI;
|
|
187
|
-
const teamCanUseE2EI = ((_c = features[team_1.FEATURE_KEY.MLSE2EID]) === null || _c === void 0 ? void 0 : _c.status) === team_1.FeatureStatus.ENABLED;
|
|
188
|
-
return {
|
|
189
|
-
isFeatureEnabled: clientCanUseE2EI && teamCanUseE2EI,
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
182
|
async enrollE2EI({ displayName, handle, teamId, discoveryUrl, oAuthIdToken, certificateTtl = 90 * (TimeUtil_1.TimeInMillis.DAY / 1000), }) {
|
|
193
183
|
var _a, _b, _c;
|
|
194
184
|
const context = this.apiClient.context;
|
|
@@ -251,7 +241,9 @@ class Account extends commons_1.TypedEventEmitter {
|
|
|
251
241
|
/**
|
|
252
242
|
* Will register a new client for the current user
|
|
253
243
|
*/
|
|
254
|
-
async registerClient(loginData, clientInfo = coreDefaultClient,
|
|
244
|
+
async registerClient(loginData, clientInfo = coreDefaultClient,
|
|
245
|
+
/** will add extra manual entropy to the client's identity being created */
|
|
246
|
+
entropyData) {
|
|
255
247
|
if (!this.service || !this.apiClient.context || !this.storeEngine) {
|
|
256
248
|
throw new Error('Services are not set or context not initialized.');
|
|
257
249
|
}
|
|
@@ -260,54 +252,39 @@ class Account extends commons_1.TypedEventEmitter {
|
|
|
260
252
|
const initialPreKeys = await this.service.proteus.createClient(entropyData);
|
|
261
253
|
const client = await this.service.client.register(loginData, clientInfo, initialPreKeys);
|
|
262
254
|
const clientId = client.id;
|
|
263
|
-
if (this.service.mls) {
|
|
264
|
-
const { userId, domain = '' } = this.apiClient.context;
|
|
265
|
-
await this.initMLSClient({ id: userId, domain }, client);
|
|
266
|
-
}
|
|
267
|
-
this.logger.info(`Created new client {mls: ${!!this.service.mls}, id: ${clientId}}`);
|
|
268
255
|
await this.service.notification.initializeNotificationStream(clientId);
|
|
269
256
|
await this.service.client.synchronizeClients(clientId);
|
|
270
|
-
return
|
|
257
|
+
return client;
|
|
271
258
|
}
|
|
272
|
-
|
|
273
|
-
* Will create a new MLS Client for the current user
|
|
274
|
-
*/
|
|
275
|
-
async initMLSClient(userId, client) {
|
|
259
|
+
getLocalClient() {
|
|
276
260
|
var _a;
|
|
277
|
-
|
|
278
|
-
throw new Error('MLS Services is not ready.');
|
|
279
|
-
}
|
|
280
|
-
// we need to check if E2EI is enabled before creating the client
|
|
281
|
-
// in case it is enabled we are not supposed to upload new keypackages, that are not of type x509, to the backend
|
|
282
|
-
const { isFeatureEnabled } = await this.getE2EIStatus();
|
|
283
|
-
await this.service.mls.initClient(userId, client, isFeatureEnabled);
|
|
261
|
+
return (_a = this.service) === null || _a === void 0 ? void 0 : _a.client.loadClient();
|
|
284
262
|
}
|
|
285
|
-
|
|
263
|
+
/**
|
|
264
|
+
* Will initiate all the cryptographic material of the given registered device and setup all the background tasks.
|
|
265
|
+
*
|
|
266
|
+
* @returns The local existing client or undefined if the client does not exist or is not valid (non existing on backend)
|
|
267
|
+
*/
|
|
268
|
+
async initClient(client, willEnrollE2ei = false) {
|
|
286
269
|
if (!this.service || !this.apiClient.context || !this.storeEngine) {
|
|
287
270
|
throw new Error('Services are not set.');
|
|
288
271
|
}
|
|
289
|
-
|
|
290
|
-
if (!validClient) {
|
|
291
|
-
return undefined;
|
|
292
|
-
}
|
|
293
|
-
this.apiClient.context.clientId = validClient.id;
|
|
272
|
+
this.apiClient.context.clientId = client.id;
|
|
294
273
|
// Call /access endpoint with client_id after client initialisation
|
|
295
|
-
await this.apiClient.transport.http.associateClientWithSession(
|
|
274
|
+
await this.apiClient.transport.http.associateClientWithSession(client.id);
|
|
296
275
|
await this.service.proteus.initClient(this.storeEngine, this.apiClient.context);
|
|
297
276
|
if (this.service.mls) {
|
|
298
277
|
const { userId, domain = '' } = this.apiClient.context;
|
|
299
|
-
|
|
300
|
-
await this.initMLSClient({ id: userId, domain }, validClient);
|
|
301
|
-
}
|
|
278
|
+
await this.service.mls.initClient({ id: userId, domain }, client, willEnrollE2ei);
|
|
302
279
|
// initialize schedulers for pending mls proposals once client is initialized
|
|
303
280
|
await this.service.mls.initialisePendingProposalsTasks();
|
|
304
281
|
// initialize scheduler for syncing key packages with backend
|
|
305
|
-
await this.service.mls.schedulePeriodicKeyPackagesBackendSync(
|
|
282
|
+
await this.service.mls.schedulePeriodicKeyPackagesBackendSync(client.id);
|
|
306
283
|
// leave stale conference subconversations (e.g after a crash)
|
|
307
284
|
await this.service.subconversation.leaveStaleConferenceSubconversations();
|
|
308
285
|
}
|
|
309
|
-
this.currentClient =
|
|
310
|
-
return
|
|
286
|
+
this.currentClient = client;
|
|
287
|
+
return client;
|
|
311
288
|
}
|
|
312
289
|
async buildCryptoClient(context, storeEngine, encryptedStore) {
|
|
313
290
|
const baseConfig = {
|
|
@@ -367,7 +344,7 @@ class Account extends commons_1.TypedEventEmitter {
|
|
|
367
344
|
const conversationService = new conversation_1.ConversationService(this.apiClient, proteusService, this.db, this.groupIdFromConversationId, subconversationService, mlsService);
|
|
368
345
|
const notificationService = new notification_1.NotificationService(this.apiClient, this.storeEngine, conversationService);
|
|
369
346
|
const selfService = new self_1.SelfService(this.apiClient);
|
|
370
|
-
const teamService = new
|
|
347
|
+
const teamService = new team_1.TeamService(this.apiClient);
|
|
371
348
|
const broadcastService = new broadcast_1.BroadcastService(this.apiClient, proteusService);
|
|
372
349
|
const userService = new user_1.UserService(this.apiClient);
|
|
373
350
|
this.service = {
|
|
@@ -45,7 +45,13 @@ export declare class MLSService extends TypedEventEmitter<Events> {
|
|
|
45
45
|
private readonly textEncoder;
|
|
46
46
|
private readonly textDecoder;
|
|
47
47
|
constructor(apiClient: APIClient, coreCryptoClient: CoreCrypto, coreDatabase: CoreDatabase, recurringTaskScheduler: RecurringTaskScheduler, { keyingMaterialUpdateThreshold, nbKeyPackages, cipherSuite, }: Partial<MLSServiceConfig>);
|
|
48
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Will initialize an MLS client
|
|
50
|
+
* @param userId the user owning the client
|
|
51
|
+
* @param client id of the client to initialize
|
|
52
|
+
* @param skipInitIdentity avoid registering the client's identity to the backend (needed for e2eidentity as the identity will be uploaded and signed only when enrollment is successful)
|
|
53
|
+
*/
|
|
54
|
+
initClient(userId: QualifiedId, client: RegisteredClient, skipInitIdentity?: boolean): Promise<void>;
|
|
49
55
|
private getCredentialType;
|
|
50
56
|
private readonly uploadCommitBundle;
|
|
51
57
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MLSService.d.ts","sourceRoot":"","sources":["../../../../src/messagingProtocols/mls/MLSService/MLSService.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAqB,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAC,sBAAsB,EAAE,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AAChG,OAAO,EAAC,8BAA8B,EAAE,2BAA2B,EAAC,MAAM,+BAA+B,CAAC;AAE1G,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAIzD,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAW,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,eAAe,EAIf,cAAc,EACd,UAAU,EAEV,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAC,gBAAgB,EAAuD,MAAM,oBAAoB,CAAC;AAE1G,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAGrD,OAAO,EAAC,sBAAsB,EAAC,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAC,aAAa,EAAE,mBAAmB,EAAE,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAQ/E,OAAO,EAAC,QAAQ,EAAE,4BAA4B,EAAE,4BAA4B,EAAC,MAAM,UAAU,CAAC;AAK9F,eAAO,MAAM,oBAAoB,UAAW,UAAU,GAAG,EAAE,KAAG,UAE7D,CAAC;AAEF,KAAK,sBAAsB,GACvB;IACE,MAAM,EAAE,gBAAgB,CAAC;IACzB,uBAAuB,EAAE;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,aAAa,CAAA;KAAC,CAAC;CACtE,GACD;IAAC,MAAM,EAAE,YAAY,CAAA;CAAC,CAAC;AAE3B,UAAU,qBAAsB,SAAQ,gBAAgB;IACtD;;OAEG;IACH,uCAAuC,EAAE,MAAM,CAAC;CACjD;AAQD,KAAK,MAAM,GAAG;IACZ,QAAQ,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC;IAC3C,wBAAwB,EAAE,MAAM,EAAE,CAAC;CACpC,CAAC;AACF,qBAAa,UAAW,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IAOrD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IATzC,MAAM,iBAAuC;IAC7C,MAAM,EAAE,qBAAqB,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;gBAG9B,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,UAAU,EAC5B,YAAY,EAAE,YAAY,EAC1B,sBAAsB,EAAE,sBAAsB,EAC/D,EACE,6BAA2E,EAC3E,aAA2C,EAC3C,WAAuC,GACxC,EAAE,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"MLSService.d.ts","sourceRoot":"","sources":["../../../../src/messagingProtocols/mls/MLSService/MLSService.ts"],"names":[],"mappings":"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"}
|
|
@@ -160,7 +160,13 @@ class MLSService extends commons_1.TypedEventEmitter {
|
|
|
160
160
|
minRequiredNumberOfAvailableKeyPackages: Math.floor(nbKeyPackages / 2),
|
|
161
161
|
};
|
|
162
162
|
}
|
|
163
|
-
|
|
163
|
+
/**
|
|
164
|
+
* Will initialize an MLS client
|
|
165
|
+
* @param userId the user owning the client
|
|
166
|
+
* @param client id of the client to initialize
|
|
167
|
+
* @param skipInitIdentity avoid registering the client's identity to the backend (needed for e2eidentity as the identity will be uploaded and signed only when enrollment is successful)
|
|
168
|
+
*/
|
|
169
|
+
async initClient(userId, client, skipInitIdentity = false) {
|
|
164
170
|
await this.coreCryptoClient.mlsInit((0, MLSId_1.generateMLSDeviceId)(userId, client.id), [this.config.cipherSuite], this.config.nbKeyPackages);
|
|
165
171
|
await this.coreCryptoClient.registerCallbacks({
|
|
166
172
|
// All authorization/membership rules are enforced on backend
|
|
@@ -168,9 +174,11 @@ class MLSService extends commons_1.TypedEventEmitter {
|
|
|
168
174
|
authorize: async () => true,
|
|
169
175
|
userAuthorize: async () => true,
|
|
170
176
|
});
|
|
171
|
-
|
|
177
|
+
const isFreshMLSSelfClient = typeof client.mls_public_keys.ed25519 !== 'string' || client.mls_public_keys.ed25519.length === 0;
|
|
178
|
+
const shouldinitIdentity = !(isFreshMLSSelfClient && skipInitIdentity);
|
|
179
|
+
if (shouldinitIdentity) {
|
|
172
180
|
// We need to make sure keypackages and public key are uploaded to the backend
|
|
173
|
-
if (
|
|
181
|
+
if (isFreshMLSSelfClient) {
|
|
174
182
|
await this.uploadMLSPublicKeys(client);
|
|
175
183
|
}
|
|
176
184
|
await this.verifyRemoteMLSKeyPackagesAmount(client.id);
|
|
@@ -22,10 +22,6 @@ export interface MLSServiceConfig {
|
|
|
22
22
|
* default ciphersuite to use for MLS (MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519 = 1 by default)
|
|
23
23
|
*/
|
|
24
24
|
cipherSuite: Ciphersuite;
|
|
25
|
-
/**
|
|
26
|
-
* signals if the E2E - Identity process should be used
|
|
27
|
-
*/
|
|
28
|
-
useE2EI?: boolean;
|
|
29
25
|
}
|
|
30
26
|
export type NewCrlDistributionPointsPayload = {
|
|
31
27
|
crlNewDistributionPoints?: string[] | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MLSService.types.d.ts","sourceRoot":"","sources":["../../../../src/messagingProtocols/mls/MLSService/MLSService.types.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAEpE,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IAErD;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,6BAA6B,EAAE,MAAM,CAAC;IACtC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"MLSService.types.d.ts","sourceRoot":"","sources":["../../../../src/messagingProtocols/mls/MLSService/MLSService.types.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAEpE,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IAErD;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,6BAA6B,EAAE,MAAM,CAAC;IACtC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,MAAM,+BAA+B,GAAG;IAAC,wBAAwB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;CAAC,CAAC"}
|
|
@@ -12,5 +12,6 @@ export declare class TeamService {
|
|
|
12
12
|
removeMember(teamId: string, userId: string, password: string): Promise<void>;
|
|
13
13
|
updateMember(teamId: string, memberData: MemberData): Promise<void>;
|
|
14
14
|
updateTeam(teamId: string, teamData: UpdateTeamData): Promise<void>;
|
|
15
|
+
getTeamFeatureConfig(): Promise<import("@wireapp/api-client/lib/team/").FeatureList>;
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=TeamService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TeamService.d.ts","sourceRoot":"","sources":["../../src/team/TeamService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAExH,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE9C,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAE1C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,UAAU,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI1C,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAIlC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7E,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"TeamService.d.ts","sourceRoot":"","sources":["../../src/team/TeamService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAExH,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE9C,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAE1C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,UAAU,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI1C,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAIlC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7E,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,oBAAoB;CAG5B"}
|
package/lib/team/TeamService.js
CHANGED
|
@@ -50,5 +50,8 @@ class TeamService {
|
|
|
50
50
|
updateTeam(teamId, teamData) {
|
|
51
51
|
return this.apiClient.api.teams.team.putTeam(teamId, teamData);
|
|
52
52
|
}
|
|
53
|
+
getTeamFeatureConfig() {
|
|
54
|
+
return this.apiClient.api.teams.feature.getAllFeatures();
|
|
55
|
+
}
|
|
53
56
|
}
|
|
54
57
|
exports.TeamService = TeamService;
|
package/package.json
CHANGED