@amityco/ts-sdk 7.27.1-7cc40d1b.0 → 7.27.1-8317d53.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/dist/@types/core/errors.d.ts +2 -1
- package/dist/@types/core/errors.d.ts.map +1 -1
- package/dist/@types/core/transport.d.ts +1 -0
- package/dist/@types/core/transport.d.ts.map +1 -1
- package/dist/@types/domains/client.d.ts +86 -0
- package/dist/@types/domains/client.d.ts.map +1 -1
- package/dist/channelRepository/observers/getChannel.d.ts.map +1 -1
- package/dist/client/api/createClient.d.ts.map +1 -1
- package/dist/client/api/getModuleSettings.d.ts +25 -0
- package/dist/client/api/getModuleSettings.d.ts.map +1 -0
- package/dist/client/api/index.d.ts +1 -0
- package/dist/client/api/index.d.ts.map +1 -1
- package/dist/client/api/tests/integration/moduleSettings.integration.test.d.ts +2 -0
- package/dist/client/api/tests/integration/moduleSettings.integration.test.d.ts.map +1 -0
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/utils/parseModuleSettings.d.ts +9 -0
- package/dist/client/utils/parseModuleSettings.d.ts.map +1 -0
- package/dist/client/utils/resolveModuleAvailability.d.ts +39 -0
- package/dist/client/utils/resolveModuleAvailability.d.ts.map +1 -0
- package/dist/client/utils/tests/resolveModuleAvailability.test.d.ts +2 -0
- package/dist/client/utils/tests/resolveModuleAvailability.test.d.ts.map +1 -0
- package/dist/core/errors.d.ts +20 -0
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/transports/http.d.ts.map +1 -1
- package/dist/core/transports/tests/moduleNotEntitled.test.d.ts +2 -0
- package/dist/core/transports/tests/moduleNotEntitled.test.d.ts.map +1 -0
- package/dist/core/transports/utils.d.ts.map +1 -1
- package/dist/index.cjs.js +242 -5
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +241 -6
- package/dist/index.umd.js +2 -2
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -796,6 +796,28 @@ class ASCConnectionError extends ASCError {
|
|
|
796
796
|
this.event = event;
|
|
797
797
|
}
|
|
798
798
|
}
|
|
799
|
+
/**
|
|
800
|
+
* Thrown when the network does not own a module the call needs. Raised from
|
|
801
|
+
* any module endpoint under `enforce` enforcement, mapped from app code
|
|
802
|
+
* `400325` — never from HTTP 403 alone, which already covers a role problem
|
|
803
|
+
* (`400300` / `400301`), a visitor (`403999`) and a bot (`403998`).
|
|
804
|
+
*
|
|
805
|
+
* `modules` carries **every** key the refusal named, as raw strings, so a
|
|
806
|
+
* caller can say which entitlement is absent without a second request.
|
|
807
|
+
*
|
|
808
|
+
* @category Errors
|
|
809
|
+
*/
|
|
810
|
+
class AmityModuleNotEntitledError extends ASCApiError {
|
|
811
|
+
/**
|
|
812
|
+
* @param message The server's message, e.g. `Module not entitled: chat, live`
|
|
813
|
+
* @param modules Every module key from the rejection's `data.modules`
|
|
814
|
+
*/
|
|
815
|
+
constructor(message, modules = []) {
|
|
816
|
+
super(message, 400325 /* Amity.ServerError.MODULE_NOT_ENTITLED */, "error" /* Amity.ErrorLevel.ERROR */);
|
|
817
|
+
this.modules = modules;
|
|
818
|
+
this.type = 'AmityModuleNotEntitledError';
|
|
819
|
+
}
|
|
820
|
+
}
|
|
799
821
|
|
|
800
822
|
let activeClient = null;
|
|
801
823
|
/**
|
|
@@ -1945,6 +1967,22 @@ function computeUrl(type, region) {
|
|
|
1945
1967
|
|
|
1946
1968
|
const uuid = () => uuid$1.v4().toString();
|
|
1947
1969
|
|
|
1970
|
+
/**
|
|
1971
|
+
* Reads the module keys a `MODULE_NOT_ENTITLED` rejection named.
|
|
1972
|
+
*
|
|
1973
|
+
* Every entry is kept, as a raw string: one call can need more than one
|
|
1974
|
+
* module, and a key this build predates is still the only part of the
|
|
1975
|
+
* payload a customer can act on.
|
|
1976
|
+
*
|
|
1977
|
+
* @category Transport
|
|
1978
|
+
* @hidden
|
|
1979
|
+
*/
|
|
1980
|
+
const extractNotEntitledModules = (data) => {
|
|
1981
|
+
const { modules } = data !== null && data !== void 0 ? data : {};
|
|
1982
|
+
if (!Array.isArray(modules))
|
|
1983
|
+
return [];
|
|
1984
|
+
return modules.filter((module) => typeof module === 'string');
|
|
1985
|
+
};
|
|
1948
1986
|
/**
|
|
1949
1987
|
* Unwraps v3 server payload (for error handling and type extraction)
|
|
1950
1988
|
*
|
|
@@ -1964,6 +2002,15 @@ const unwrapPayload = (response) => {
|
|
|
1964
2002
|
throw new ASCUnknownError(response.code);
|
|
1965
2003
|
}
|
|
1966
2004
|
else if (response.status === 'error') {
|
|
2005
|
+
/*
|
|
2006
|
+
* An entitlement refusal must not arrive as a generic failure: a customer
|
|
2007
|
+
* cannot then tell a module they have not bought from an outage. Keyed on
|
|
2008
|
+
* the app code, never on the HTTP status, so a role or membership problem
|
|
2009
|
+
* still maps to the generic error.
|
|
2010
|
+
*/
|
|
2011
|
+
if (response.code === 400325 /* Amity.ServerError.MODULE_NOT_ENTITLED */) {
|
|
2012
|
+
throw new AmityModuleNotEntitledError(response.message, extractNotEntitledModules(response.data));
|
|
2013
|
+
}
|
|
1967
2014
|
throw new ASCApiError(response.message, response.code, "error" /* Amity.ErrorLevel.ERROR */);
|
|
1968
2015
|
}
|
|
1969
2016
|
// unjust, but helps force uncast "T | undefined" to allow deconstruction without warnings
|
|
@@ -2158,20 +2205,28 @@ const createHttpTransport = (endpoint) => {
|
|
|
2158
2205
|
});
|
|
2159
2206
|
return response;
|
|
2160
2207
|
}, error => {
|
|
2161
|
-
var _a, _b, _c;
|
|
2208
|
+
var _a, _b, _c, _d;
|
|
2162
2209
|
const { response } = error;
|
|
2163
2210
|
// handle unauthorized request
|
|
2164
2211
|
if ((response === null || response === void 0 ? void 0 : response.data.code) === 400100 /* Amity.ServerError.UNAUTHORIZED */) {
|
|
2165
2212
|
fireEvent('tokenTerminated', "terminated" /* Amity.SessionStates.TERMINATED */);
|
|
2166
2213
|
}
|
|
2214
|
+
// handle globally banned user. The realtime `user.didGlobalBan` event can be missed
|
|
2215
|
+
// (e.g. MQTT dropped before delivery), so mirror the 400100 handling above and fire
|
|
2216
|
+
// the same virtual event the login subscriptions already listen to. That terminates
|
|
2217
|
+
// the session with `TokenTerminationReason.GLOBAL_BAN` and notifies `onClientBanned`
|
|
2218
|
+
// consumers, instead of leaving the session `established` with a revoked token.
|
|
2219
|
+
if (((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.code) === 400312 /* Amity.ServerError.GLOBAL_BAN */) {
|
|
2220
|
+
fireEvent('user.didGlobalBan', { users: [], files: [] });
|
|
2221
|
+
}
|
|
2167
2222
|
// handle visitor daily usage limit exceeded
|
|
2168
|
-
if (((
|
|
2223
|
+
if (((_b = response === null || response === void 0 ? void 0 : response.data) === null || _b === void 0 ? void 0 : _b.code) === 400323 /* Amity.ServerError.VISITOR_USAGE_LIMIT_EXCEEDED */) {
|
|
2169
2224
|
throttledFireVisitorUsageLimit();
|
|
2170
2225
|
throw new ASCError('Visitor usage limit exceeded', 400323 /* Amity.ServerError.VISITOR_USAGE_LIMIT_EXCEEDED */, "error" /* Amity.ErrorLevel.ERROR */);
|
|
2171
2226
|
}
|
|
2172
2227
|
// if it's an error with status in the response payload,
|
|
2173
2228
|
// then it's an expected error.
|
|
2174
|
-
if ((
|
|
2229
|
+
if ((_c = response === null || response === void 0 ? void 0 : response.data) === null || _c === void 0 ? void 0 : _c.status) {
|
|
2175
2230
|
unwrapPayload(response === null || response === void 0 ? void 0 : response.data);
|
|
2176
2231
|
}
|
|
2177
2232
|
// as on request cancellation error is returned
|
|
@@ -2179,7 +2234,7 @@ const createHttpTransport = (endpoint) => {
|
|
|
2179
2234
|
throw error;
|
|
2180
2235
|
}
|
|
2181
2236
|
// unexpected error.
|
|
2182
|
-
throw new Error((
|
|
2237
|
+
throw new Error((_d = response === null || response === void 0 ? void 0 : response.data) !== null && _d !== void 0 ? _d : error);
|
|
2183
2238
|
});
|
|
2184
2239
|
instance.defaults.paramsSerializer = {
|
|
2185
2240
|
encode: params => encodeURIComponent(params),
|
|
@@ -5465,6 +5520,95 @@ const getForYouFeedSetting = async () => {
|
|
|
5465
5520
|
};
|
|
5466
5521
|
/* end_public_function */
|
|
5467
5522
|
|
|
5523
|
+
const ENFORCEMENT_MODES = ['off', 'shadow', 'enforce'];
|
|
5524
|
+
/**
|
|
5525
|
+
* An unrecognised mode decodes to `off`, and so does an absent one. A mode
|
|
5526
|
+
* this build does not know must not withhold anything — defaulting to
|
|
5527
|
+
* `enforce` would let a server-side rename black out a customer's app.
|
|
5528
|
+
*
|
|
5529
|
+
* @category private
|
|
5530
|
+
*/
|
|
5531
|
+
const parseEnforcement = (mode) => {
|
|
5532
|
+
const match = ENFORCEMENT_MODES.find(value => value === mode);
|
|
5533
|
+
return match !== null && match !== void 0 ? match : 'off';
|
|
5534
|
+
};
|
|
5535
|
+
const parseGrants = (modules) => {
|
|
5536
|
+
const grants = {};
|
|
5537
|
+
Object.entries(modules !== null && modules !== void 0 ? modules : {}).forEach(([key, granted]) => {
|
|
5538
|
+
grants[key] = granted === true;
|
|
5539
|
+
});
|
|
5540
|
+
return grants;
|
|
5541
|
+
};
|
|
5542
|
+
/**
|
|
5543
|
+
* Every catalog entry survives, including one whose key this build has never
|
|
5544
|
+
* heard of, so a module added server-side is still listable.
|
|
5545
|
+
*
|
|
5546
|
+
* @category private
|
|
5547
|
+
*/
|
|
5548
|
+
const parseCatalog = (catalog) => {
|
|
5549
|
+
const parsed = {};
|
|
5550
|
+
Object.entries(catalog !== null && catalog !== void 0 ? catalog : {}).forEach(([key, definition]) => {
|
|
5551
|
+
const rawRequires = definition === null || definition === void 0 ? void 0 : definition.requires;
|
|
5552
|
+
const requires = Array.isArray(rawRequires)
|
|
5553
|
+
? rawRequires.filter((entry) => typeof entry === 'string')
|
|
5554
|
+
: [];
|
|
5555
|
+
parsed[key] = {
|
|
5556
|
+
label: typeof (definition === null || definition === void 0 ? void 0 : definition.label) === 'string' ? definition.label : key,
|
|
5557
|
+
kind: (definition === null || definition === void 0 ? void 0 : definition.kind) === 'setting' ? 'setting' : 'api',
|
|
5558
|
+
requires,
|
|
5559
|
+
};
|
|
5560
|
+
});
|
|
5561
|
+
return parsed;
|
|
5562
|
+
};
|
|
5563
|
+
/**
|
|
5564
|
+
* Decodes `GET /api/v3/network-settings/modules`. Nothing is trimmed: the
|
|
5565
|
+
* catalog is the dependency table callers resolve against, and a client that
|
|
5566
|
+
* cannot see it has to hardcode one.
|
|
5567
|
+
*
|
|
5568
|
+
* @category private
|
|
5569
|
+
*/
|
|
5570
|
+
const parseModuleSettings = (raw) => {
|
|
5571
|
+
var _a;
|
|
5572
|
+
return ({
|
|
5573
|
+
enforcement: parseEnforcement((_a = raw === null || raw === void 0 ? void 0 : raw.enforcement) !== null && _a !== void 0 ? _a : raw === null || raw === void 0 ? void 0 : raw.mode),
|
|
5574
|
+
modules: parseGrants(raw === null || raw === void 0 ? void 0 : raw.modules),
|
|
5575
|
+
catalog: parseCatalog(raw === null || raw === void 0 ? void 0 : raw.catalog),
|
|
5576
|
+
});
|
|
5577
|
+
};
|
|
5578
|
+
|
|
5579
|
+
/* begin_public_function
|
|
5580
|
+
id: client.getModuleSettings
|
|
5581
|
+
*/
|
|
5582
|
+
/**
|
|
5583
|
+
* ```js
|
|
5584
|
+
* import { Client } from '@amityco/ts-sdk'
|
|
5585
|
+
* const moduleSettings = await Client.getModuleSettings()
|
|
5586
|
+
* ```
|
|
5587
|
+
*
|
|
5588
|
+
* Fetches the network's module entitlements: which modules the network was
|
|
5589
|
+
* granted, whether core is enforcing those grants, and the catalog of all
|
|
5590
|
+
* modules with their dependency chains.
|
|
5591
|
+
*
|
|
5592
|
+
* The payload is returned whole — `catalog` is the dependency table
|
|
5593
|
+
* {@link resolveModuleAvailability} reads, and a client that cannot see it has
|
|
5594
|
+
* to hardcode one.
|
|
5595
|
+
*
|
|
5596
|
+
* The read is **advisory**. It tells a host what to offer; under `enforce` the
|
|
5597
|
+
* backend refuses a call to an unowned module regardless of what was resolved
|
|
5598
|
+
* here, and that refusal arrives as `AmityModuleNotEntitledError`.
|
|
5599
|
+
*
|
|
5600
|
+
* @returns A Promise of {@link Amity.ModuleSettings} object
|
|
5601
|
+
*
|
|
5602
|
+
* @category Client API
|
|
5603
|
+
* @async
|
|
5604
|
+
*/
|
|
5605
|
+
const getModuleSettings = async () => {
|
|
5606
|
+
const client = getActiveClient();
|
|
5607
|
+
const { data } = await client.http.get(`/api/v3/network-settings/modules`);
|
|
5608
|
+
return parseModuleSettings(data);
|
|
5609
|
+
};
|
|
5610
|
+
/* end_public_function */
|
|
5611
|
+
|
|
5468
5612
|
const checkUserPermission = (userId, permission) => {
|
|
5469
5613
|
var _a;
|
|
5470
5614
|
const user = (_a = pullFromCache(['user', 'get', userId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
@@ -9189,6 +9333,7 @@ const createClient = (apiKey, apiRegion = API_REGIONS.SG, { debugSession = DEFAU
|
|
|
9189
9333
|
getMarkerSyncConsistentMode,
|
|
9190
9334
|
getProductCatalogueSetting,
|
|
9191
9335
|
getForYouFeedSetting,
|
|
9336
|
+
getModuleSettings,
|
|
9192
9337
|
/**
|
|
9193
9338
|
* Prefix for the deviceId key in the local storage or async storage.
|
|
9194
9339
|
* This is allow user to have multiple SDK client and Mqtt client within the same app.
|
|
@@ -10234,6 +10379,92 @@ const getUserUnread = (callback) => {
|
|
|
10234
10379
|
};
|
|
10235
10380
|
};
|
|
10236
10381
|
|
|
10382
|
+
/**
|
|
10383
|
+
* ```js
|
|
10384
|
+
* import { Client, resolveModuleAvailability } from '@amityco/ts-sdk'
|
|
10385
|
+
*
|
|
10386
|
+
* const moduleSettings = await Client.getModuleSettings()
|
|
10387
|
+
*
|
|
10388
|
+
* if (resolveModuleAvailability(moduleSettings, 'live').isAvailable) {
|
|
10389
|
+
* // offer the Live entry point
|
|
10390
|
+
* }
|
|
10391
|
+
* ```
|
|
10392
|
+
*
|
|
10393
|
+
* Resolves whether one module is usable on this network.
|
|
10394
|
+
*
|
|
10395
|
+
* Availability is a function of all three fields of
|
|
10396
|
+
* {@link Amity.ModuleSettings} — the enforcement mode, the module's own grant,
|
|
10397
|
+
* and its prerequisite chain — combined in that order. Reading `modules`
|
|
10398
|
+
* directly contradicts the mode: staging answers `mode: 'off'` with
|
|
10399
|
+
* `modules: {}`, and every module still works.
|
|
10400
|
+
*
|
|
10401
|
+
* The dependency table comes from the payload's `catalog`, never from a
|
|
10402
|
+
* hardcoded copy, so a chain the backend changes takes effect without an SDK
|
|
10403
|
+
* release.
|
|
10404
|
+
*
|
|
10405
|
+
* The SDK does not hold the settings — the caller keeps what it fetched and
|
|
10406
|
+
* resolves against it. With no settings at all (a fetch that never succeeded)
|
|
10407
|
+
* the caller reads that as every module available: under `enforce` the backend
|
|
10408
|
+
* refuses the calls anyway, so the exposure is a screen that offers too much,
|
|
10409
|
+
* not one that withholds what a customer paid for.
|
|
10410
|
+
*
|
|
10411
|
+
* @param moduleSettings The network's module settings
|
|
10412
|
+
* @param moduleKey The module to resolve — an {@link Amity.ModuleKey}, so the
|
|
10413
|
+
* 15 keys this build knows complete and type-check while a catalog entry it
|
|
10414
|
+
* does not know still resolves.
|
|
10415
|
+
* @returns An {@link Amity.ModuleAvailability} answer
|
|
10416
|
+
*
|
|
10417
|
+
* @category Client API
|
|
10418
|
+
*/
|
|
10419
|
+
const resolveModuleAvailability = (moduleSettings, moduleKey, seen = new Set()) => {
|
|
10420
|
+
var _a, _b, _c, _d, _e;
|
|
10421
|
+
const isGranted = (_a = moduleSettings.modules[moduleKey]) !== null && _a !== void 0 ? _a : false;
|
|
10422
|
+
/*
|
|
10423
|
+
* Not enforcing: nothing is withheld, and no graph walk is needed. This has
|
|
10424
|
+
* to come first — `off` and `shadow` resolve available whatever the grant
|
|
10425
|
+
* says, and a cycle would otherwise return unavailable under `off` too.
|
|
10426
|
+
*/
|
|
10427
|
+
if (moduleSettings.enforcement !== 'enforce') {
|
|
10428
|
+
return { moduleKey, isAvailable: true, isGranted };
|
|
10429
|
+
}
|
|
10430
|
+
// A cycle in `requires` resolves unavailable rather than recursing.
|
|
10431
|
+
if (seen.has(moduleKey)) {
|
|
10432
|
+
return {
|
|
10433
|
+
moduleKey,
|
|
10434
|
+
isAvailable: false,
|
|
10435
|
+
isGranted,
|
|
10436
|
+
reason: 'prerequisiteUnavailable',
|
|
10437
|
+
unsatisfied: (_c = (_b = moduleSettings.catalog[moduleKey]) === null || _b === void 0 ? void 0 : _b.requires) !== null && _c !== void 0 ? _c : [],
|
|
10438
|
+
};
|
|
10439
|
+
}
|
|
10440
|
+
// The module's own grant is evaluated before its prerequisites, so
|
|
10441
|
+
// `notGranted` is reported in preference when both hold.
|
|
10442
|
+
if (!isGranted) {
|
|
10443
|
+
return { moduleKey, isAvailable: false, isGranted, reason: 'notGranted' };
|
|
10444
|
+
}
|
|
10445
|
+
const requires = (_e = (_d = moduleSettings.catalog[moduleKey]) === null || _d === void 0 ? void 0 : _d.requires) !== null && _e !== void 0 ? _e : [];
|
|
10446
|
+
if (requires.length === 0)
|
|
10447
|
+
return { moduleKey, isAvailable: true, isGranted };
|
|
10448
|
+
// `requires` is satisfied by any one entry, transitively.
|
|
10449
|
+
const isSatisfied = requires.some(dependency => resolveModuleAvailability(moduleSettings, dependency, new Set([...seen, moduleKey]))
|
|
10450
|
+
.isAvailable);
|
|
10451
|
+
if (isSatisfied)
|
|
10452
|
+
return { moduleKey, isAvailable: true, isGranted };
|
|
10453
|
+
/*
|
|
10454
|
+
* `unsatisfied` carries the whole `requires` list rather than one entry. Any
|
|
10455
|
+
* one of them would have satisfied the requirement, so naming a single
|
|
10456
|
+
* module misdirects: telling a Community-only customer "Comment needs post"
|
|
10457
|
+
* hides that Story would also have done.
|
|
10458
|
+
*/
|
|
10459
|
+
return {
|
|
10460
|
+
moduleKey,
|
|
10461
|
+
isAvailable: false,
|
|
10462
|
+
isGranted,
|
|
10463
|
+
reason: 'prerequisiteUnavailable',
|
|
10464
|
+
unsatisfied: requires,
|
|
10465
|
+
};
|
|
10466
|
+
};
|
|
10467
|
+
|
|
10237
10468
|
var index$t = /*#__PURE__*/Object.freeze({
|
|
10238
10469
|
__proto__: null,
|
|
10239
10470
|
getActiveClient: getActiveClient,
|
|
@@ -10257,6 +10488,7 @@ var index$t = /*#__PURE__*/Object.freeze({
|
|
|
10257
10488
|
getShareableLinkConfiguration: getShareableLinkConfiguration,
|
|
10258
10489
|
getProductCatalogueSetting: getProductCatalogueSetting,
|
|
10259
10490
|
getForYouFeedSetting: getForYouFeedSetting,
|
|
10491
|
+
getModuleSettings: getModuleSettings,
|
|
10260
10492
|
loginAsVisitor: loginAsVisitor,
|
|
10261
10493
|
loginAsBot: loginAsBot,
|
|
10262
10494
|
getCurrentUser: getCurrentUser,
|
|
@@ -10284,7 +10516,8 @@ var index$t = /*#__PURE__*/Object.freeze({
|
|
|
10284
10516
|
startMarkerSync: startMarkerSync,
|
|
10285
10517
|
startUnreadSync: startUnreadSync,
|
|
10286
10518
|
stopUnreadSync: stopUnreadSync,
|
|
10287
|
-
getMarkerSyncConsistentMode: getMarkerSyncConsistentMode
|
|
10519
|
+
getMarkerSyncConsistentMode: getMarkerSyncConsistentMode,
|
|
10520
|
+
resolveModuleAvailability: resolveModuleAvailability
|
|
10288
10521
|
});
|
|
10289
10522
|
|
|
10290
10523
|
/* begin_public_function
|
|
@@ -21277,6 +21510,8 @@ const getChannel = (channelId, callback) => {
|
|
|
21277
21510
|
onChannelMemberRemoved,
|
|
21278
21511
|
onChannelMemberBanned,
|
|
21279
21512
|
onChannelMemberUnbanned,
|
|
21513
|
+
onChannelMemberRoleAdded,
|
|
21514
|
+
onChannelMemberRoleRemoved,
|
|
21280
21515
|
onChannelSetMuted,
|
|
21281
21516
|
onChannelMessagePinned,
|
|
21282
21517
|
onChannelMessageUnpinned,
|
|
@@ -36897,4 +37132,4 @@ class AmityAttachmentProductTags {
|
|
|
36897
37132
|
}
|
|
36898
37133
|
}
|
|
36899
37134
|
|
|
36900
|
-
export { API_REGIONS, index$6 as AdRepository, AmityAttachmentProductTags, AmityAutoSubscription, AmityChannelNotificationModeEnum, AmityCommunityType, AmityEventOrderOption, AmityEventOriginType, AmityEventResponseStatus, AmityEventSortOption, AmityEventStatus, AmityEventType, AmityLiveViewerCountMode, AmitySharableContentType, AnalyticsSourceTypeEnum, index$g as CategoryRepository, index$k as ChannelRepository, index$t as Client, index$f as CommentRepository, CommunityNotificationEventNameEnum, CommunityPostSettingMaps, CommunityPostSettings, index$h as CommunityRepository, ContentFeedType, ContentFlagReasonEnum, index as CuratedContentRepository, DefaultCommunityPostSetting, index$2 as EventRepository, FeedDataTypeEnum, index$e as FeedRepository, FeedSortByEnum, FeedSourceEnum, FeedTypeEnum, FileAccessTypeEnum, index$q as FileRepository, FileType, GET_WATCHER_URLS, index$4 as InvitationRepository, InvitationSortByEnum, InvitationStatusEnum, InvitationTargetTypeEnum, InvitationTypeEnum, JoinRequestStatusEnum, JoinResultStatusEnum, index$3 as LiveReactionRepository, index$8 as LiveStreamPlayer, MembershipAcceptanceTypeEnum, MessageContentType, index$o as MessageRepository, NotificationRolesFilterTypeEnum, NotificationSettingsLevelEnum, index$9 as PollRepository, PostContentType, index$c as PostRepository, PostStructureType, index$1 as ProductRepository, index$p as ReactionRepository, index$a as RoomPresenceRepository, index$d as RoomRepository, SearchUsersByEnum, index$7 as StoryRepository, index$b as StreamRepository, index$n as SubChannelRepository, SubscriptionLevels, UserNotificationModuleNameEnum, UserReportTypeEnum, index$r as UserRepository, UserTypeEnum, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, exceedsUntilAtBoundary, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, filterByUntilAt, filterCommentsByBlockUsers, filterPostsByBlockUsers, getBlockUsersId, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getLiveReactionTopic, getLiveStreamTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkId, getNetworkTopic, getPostTopic, getRole, getRoomStreamerTopic, getRoomWatcherTopic, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, index$5 as notificationTray, onChannelMarkerFetched, onFeedMarkerFetched, onFeedMarkerUpdated, onMessageMarked, onMessageMarkerFetched, onSubChannelMarkerFetched, onSubChannelMarkerUpdated, onUserMarkerFetched, onUserMarkerFetchedLegacy, pullFromCache, pushToCache, queryCache, queryOptions, queryRoles, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByFirstUpdated, sortByLastActivity, sortByLastCreated, sortByLastUpdated, sortByLocalSortingDate, sortByName, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, upsertInCache, validateUntilAt, wipeCache };
|
|
37135
|
+
export { API_REGIONS, index$6 as AdRepository, AmityAttachmentProductTags, AmityAutoSubscription, AmityChannelNotificationModeEnum, AmityCommunityType, AmityEventOrderOption, AmityEventOriginType, AmityEventResponseStatus, AmityEventSortOption, AmityEventStatus, AmityEventType, AmityLiveViewerCountMode, AmityModuleNotEntitledError, AmitySharableContentType, AnalyticsSourceTypeEnum, index$g as CategoryRepository, index$k as ChannelRepository, index$t as Client, index$f as CommentRepository, CommunityNotificationEventNameEnum, CommunityPostSettingMaps, CommunityPostSettings, index$h as CommunityRepository, ContentFeedType, ContentFlagReasonEnum, index as CuratedContentRepository, DefaultCommunityPostSetting, index$2 as EventRepository, FeedDataTypeEnum, index$e as FeedRepository, FeedSortByEnum, FeedSourceEnum, FeedTypeEnum, FileAccessTypeEnum, index$q as FileRepository, FileType, GET_WATCHER_URLS, index$4 as InvitationRepository, InvitationSortByEnum, InvitationStatusEnum, InvitationTargetTypeEnum, InvitationTypeEnum, JoinRequestStatusEnum, JoinResultStatusEnum, index$3 as LiveReactionRepository, index$8 as LiveStreamPlayer, MembershipAcceptanceTypeEnum, MessageContentType, index$o as MessageRepository, NotificationRolesFilterTypeEnum, NotificationSettingsLevelEnum, index$9 as PollRepository, PostContentType, index$c as PostRepository, PostStructureType, index$1 as ProductRepository, index$p as ReactionRepository, index$a as RoomPresenceRepository, index$d as RoomRepository, SearchUsersByEnum, index$7 as StoryRepository, index$b as StreamRepository, index$n as SubChannelRepository, SubscriptionLevels, UserNotificationModuleNameEnum, UserReportTypeEnum, index$r as UserRepository, UserTypeEnum, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, exceedsUntilAtBoundary, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, filterByUntilAt, filterCommentsByBlockUsers, filterPostsByBlockUsers, getBlockUsersId, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getLiveReactionTopic, getLiveStreamTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkId, getNetworkTopic, getPostTopic, getRole, getRoomStreamerTopic, getRoomWatcherTopic, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, index$5 as notificationTray, onChannelMarkerFetched, onFeedMarkerFetched, onFeedMarkerUpdated, onMessageMarked, onMessageMarkerFetched, onSubChannelMarkerFetched, onSubChannelMarkerUpdated, onUserMarkerFetched, onUserMarkerFetchedLegacy, pullFromCache, pushToCache, queryCache, queryOptions, queryRoles, resolveModuleAvailability, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByFirstUpdated, sortByLastActivity, sortByLastCreated, sortByLastUpdated, sortByLocalSortingDate, sortByName, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, upsertInCache, validateUntilAt, wipeCache };
|