@fnndsc/cumin 3.25.0 → 3.27.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/cache/listCache.d.ts +35 -0
- package/dist/cache/listCache.js +62 -0
- package/dist/cache/listCache.js.map +1 -1
- package/dist/chrisapi/adapter.d.ts +1 -1
- package/dist/chrisapi/adapter.js.map +1 -1
- package/dist/chrisapi/contract.js +9 -1
- package/dist/chrisapi/contract.js.map +1 -1
- package/dist/connect/chrisConnection.js +7 -1
- package/dist/connect/chrisConnection.js.map +1 -1
- package/dist/feeds/chrisAccess.d.ts +44 -0
- package/dist/feeds/chrisAccess.js +156 -0
- package/dist/feeds/chrisAccess.js.map +1 -0
- package/dist/feeds/chrisTags.d.ts +94 -0
- package/dist/feeds/chrisTags.js +336 -0
- package/dist/feeds/chrisTags.js.map +1 -0
- package/dist/filebrowser/folderMemo.d.ts +20 -0
- package/dist/filebrowser/folderMemo.js +32 -0
- package/dist/filebrowser/folderMemo.js.map +1 -0
- package/dist/groups/chrisGroups.js +51 -4
- package/dist/groups/chrisGroups.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/net/requestLedger.d.ts +78 -0
- package/dist/net/requestLedger.js +158 -0
- package/dist/net/requestLedger.js.map +1 -0
- package/dist/pipelines/chrisPipeline.d.ts +5 -0
- package/dist/pipelines/chrisPipeline.js +107 -40
- package/dist/pipelines/chrisPipeline.js.map +1 -1
- package/dist/pipelines/pipelineMemo.d.ts +63 -0
- package/dist/pipelines/pipelineMemo.js +94 -0
- package/dist/pipelines/pipelineMemo.js.map +1 -0
- package/package.json +7 -2
|
@@ -136,6 +136,15 @@ export declare class ListCache {
|
|
|
136
136
|
private stats;
|
|
137
137
|
/** Listeners told after any mutation a persister would want to see. */
|
|
138
138
|
private listeners;
|
|
139
|
+
/**
|
|
140
|
+
* The folder records CUBE answered for a path (`filebrowser/search?path=`),
|
|
141
|
+
* kept beside the listings and dropped by the same invalidations. Three
|
|
142
|
+
* callers resolved the same path independently on every navigation —
|
|
143
|
+
* three identical requests — and the next visit asked again. The value
|
|
144
|
+
* is the lookup's promise, so callers in flight together share one
|
|
145
|
+
* request; a miss (null) or a failure is never kept.
|
|
146
|
+
*/
|
|
147
|
+
private folders;
|
|
139
148
|
/**
|
|
140
149
|
* Registers a callback for checkpoint-worthy mutations (set, update,
|
|
141
150
|
* dirty, invalidate).
|
|
@@ -201,6 +210,32 @@ export declare class ListCache {
|
|
|
201
210
|
*
|
|
202
211
|
* @param path - The path to mark dirty.
|
|
203
212
|
*/
|
|
213
|
+
/**
|
|
214
|
+
* The folder record kept for a path, while its listing's TTL holds.
|
|
215
|
+
*
|
|
216
|
+
* @param path - The folder's path.
|
|
217
|
+
* @returns The lookup's promise, or null when none is kept or it expired.
|
|
218
|
+
*/
|
|
219
|
+
folder_get(path: string): Promise<unknown> | null;
|
|
220
|
+
/**
|
|
221
|
+
* Keeps a folder lookup for a path. A lookup that answers null or
|
|
222
|
+
* rejects is forgotten as it settles: a folder that is not there may
|
|
223
|
+
* be made in a moment, and a failure is not an answer.
|
|
224
|
+
*
|
|
225
|
+
* @param path - The folder's path.
|
|
226
|
+
* @param promise - The lookup under way.
|
|
227
|
+
*/
|
|
228
|
+
folder_set(path: string, promise: Promise<unknown>): void;
|
|
229
|
+
/**
|
|
230
|
+
* Drops the folder records a listing invalidation calls into question:
|
|
231
|
+
* the path's own and everything beneath it (a removed or renamed entry
|
|
232
|
+
* takes its subtree's records with it).
|
|
233
|
+
*
|
|
234
|
+
* @param path - The invalidated listing's path; omitted, every record.
|
|
235
|
+
*/
|
|
236
|
+
private folders_drop;
|
|
237
|
+
/** How many folder records are kept (for a readout or a test). */
|
|
238
|
+
folders_count(): number;
|
|
204
239
|
cache_markDirty(path: string): void;
|
|
205
240
|
/**
|
|
206
241
|
* Optimistically updates cache after a mutation.
|
package/dist/cache/listCache.js
CHANGED
|
@@ -165,6 +165,15 @@ class ListCache {
|
|
|
165
165
|
};
|
|
166
166
|
/** Listeners told after any mutation a persister would want to see. */
|
|
167
167
|
this.listeners = new Set();
|
|
168
|
+
/**
|
|
169
|
+
* The folder records CUBE answered for a path (`filebrowser/search?path=`),
|
|
170
|
+
* kept beside the listings and dropped by the same invalidations. Three
|
|
171
|
+
* callers resolved the same path independently on every navigation —
|
|
172
|
+
* three identical requests — and the next visit asked again. The value
|
|
173
|
+
* is the lookup's promise, so callers in flight together share one
|
|
174
|
+
* request; a miss (null) or a failure is never kept.
|
|
175
|
+
*/
|
|
176
|
+
this.folders = new Map();
|
|
168
177
|
}
|
|
169
178
|
/**
|
|
170
179
|
* Gets the singleton instance of ListCache.
|
|
@@ -243,6 +252,57 @@ class ListCache {
|
|
|
243
252
|
*
|
|
244
253
|
* @param path - The path to mark dirty.
|
|
245
254
|
*/
|
|
255
|
+
/**
|
|
256
|
+
* The folder record kept for a path, while its listing's TTL holds.
|
|
257
|
+
*
|
|
258
|
+
* @param path - The folder's path.
|
|
259
|
+
* @returns The lookup's promise, or null when none is kept or it expired.
|
|
260
|
+
*/
|
|
261
|
+
folder_get(path) {
|
|
262
|
+
const kept = this.folders.get(path);
|
|
263
|
+
if (kept === undefined)
|
|
264
|
+
return null;
|
|
265
|
+
if (Date.now() - kept.timestamp > kept.ttl) {
|
|
266
|
+
this.folders.delete(path);
|
|
267
|
+
return null;
|
|
268
|
+
}
|
|
269
|
+
return kept.promise;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Keeps a folder lookup for a path. A lookup that answers null or
|
|
273
|
+
* rejects is forgotten as it settles: a folder that is not there may
|
|
274
|
+
* be made in a moment, and a failure is not an answer.
|
|
275
|
+
*
|
|
276
|
+
* @param path - The folder's path.
|
|
277
|
+
* @param promise - The lookup under way.
|
|
278
|
+
*/
|
|
279
|
+
folder_set(path, promise) {
|
|
280
|
+
this.folders.set(path, { promise, timestamp: Date.now(), ttl: this.ttl_get(path) });
|
|
281
|
+
promise.then((folder) => { if (folder === null || folder === undefined)
|
|
282
|
+
this.folders.delete(path); }, () => { this.folders.delete(path); });
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Drops the folder records a listing invalidation calls into question:
|
|
286
|
+
* the path's own and everything beneath it (a removed or renamed entry
|
|
287
|
+
* takes its subtree's records with it).
|
|
288
|
+
*
|
|
289
|
+
* @param path - The invalidated listing's path; omitted, every record.
|
|
290
|
+
*/
|
|
291
|
+
folders_drop(path) {
|
|
292
|
+
if (path === undefined) {
|
|
293
|
+
this.folders.clear();
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
this.folders.delete(path);
|
|
297
|
+
const prefix = path.endsWith('/') ? path : `${path}/`;
|
|
298
|
+
for (const key of this.folders.keys())
|
|
299
|
+
if (key.startsWith(prefix))
|
|
300
|
+
this.folders.delete(key);
|
|
301
|
+
}
|
|
302
|
+
/** How many folder records are kept (for a readout or a test). */
|
|
303
|
+
folders_count() {
|
|
304
|
+
return this.folders.size;
|
|
305
|
+
}
|
|
246
306
|
cache_markDirty(path) {
|
|
247
307
|
const entry = this.cache.get(path);
|
|
248
308
|
if (entry) {
|
|
@@ -279,6 +339,7 @@ class ListCache {
|
|
|
279
339
|
else {
|
|
280
340
|
this.cache.clear();
|
|
281
341
|
}
|
|
342
|
+
this.folders_drop(path);
|
|
282
343
|
this.change_emit();
|
|
283
344
|
}
|
|
284
345
|
/**
|
|
@@ -292,6 +353,7 @@ class ListCache {
|
|
|
292
353
|
* itself is removed along with all entries under `path + '/'`.
|
|
293
354
|
*/
|
|
294
355
|
cache_invalidateTree(path) {
|
|
356
|
+
this.folders_drop(path);
|
|
295
357
|
this.cache.delete(path);
|
|
296
358
|
const prefix = path.endsWith("/") ? path : `${path}/`;
|
|
297
359
|
for (const key of this.cache.keys()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listCache.js","sourceRoot":"","sources":["../../src/cache/listCache.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"listCache.js","sourceRoot":"","sources":["../../src/cache/listCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ import Client, { ListResource } from '@fnndsc/chrisapi';
|
|
|
24
24
|
* static methods such as `Client.getAuthToken` through cumin's public API.
|
|
25
25
|
*/
|
|
26
26
|
export { Client };
|
|
27
|
-
export type { ListResource, Resource, ItemResource, User, Group, GroupUser, GroupUserList, UserGroupList, GroupList, ComputeResourceList, PluginInstance, PluginList, Feed, CommentList, Note, Comment, FileBrowserFolder, UserFile, PACSFile, PipelineSourceFile, PipelineSourceFileList, } from '@fnndsc/chrisapi';
|
|
27
|
+
export type { ListResource, Resource, ItemResource, User, Group, GroupUser, GroupUserList, UserGroupList, GroupList, ComputeResourceList, PluginInstance, PluginList, Feed, CommentList, Note, Comment, FileBrowserFolder, UserFile, PACSFile, PipelineSourceFile, PipelineSourceFileList, Tag, TagList, Tagging, FeedTagList, FeedTaggingList, TagFeedList, } from '@fnndsc/chrisapi';
|
|
28
28
|
/**
|
|
29
29
|
* Authentication slice of a connected chrisapi Client.
|
|
30
30
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/chrisapi/adapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/chrisapi/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,7 @@ exports.pipelineSourceFilesPage_get = pipelineSourceFilesPage_get;
|
|
|
40
40
|
exports.pipelineSourceFiles_drain = pipelineSourceFiles_drain;
|
|
41
41
|
exports.downloadToken_create = downloadToken_create;
|
|
42
42
|
const adapter_1 = require("./adapter");
|
|
43
|
+
const pipelineMemo_1 = require("../pipelines/pipelineMemo");
|
|
43
44
|
/**
|
|
44
45
|
* Walks every page of a paginated CUBE list, yielding one step per page.
|
|
45
46
|
*
|
|
@@ -370,9 +371,16 @@ async function pluginParameters_drain(handle) {
|
|
|
370
371
|
* @throws {Error} Propagates chrisapi/network errors.
|
|
371
372
|
*/
|
|
372
373
|
async function pipeline_get(client, pipelineID) {
|
|
373
|
-
|
|
374
|
+
// The item a search or an earlier get served answers first: chrisapi's
|
|
375
|
+
// getPipeline is a list-by-id, and the pipings hang off the item either way.
|
|
376
|
+
const kept = (0, pipelineMemo_1.pipelineResource_recall)(client, pipelineID);
|
|
377
|
+
const resource = kept !== null
|
|
378
|
+
? kept
|
|
379
|
+
: await (0, adapter_1.resource_call)(client, 'getPipeline', pipelineID);
|
|
374
380
|
if (!resource)
|
|
375
381
|
return null;
|
|
382
|
+
if (kept === null)
|
|
383
|
+
(0, pipelineMemo_1.pipelineResource_keep)(client, pipelineID, resource);
|
|
376
384
|
const pipingsPage_get = async (params) => {
|
|
377
385
|
const page = await (0, adapter_1.resource_call)(resource, 'getPluginPipings', params);
|
|
378
386
|
const rawItems = typeof page?.getItems === 'function'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/chrisapi/contract.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/chrisapi/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.chrisConnection = exports.ChRISConnection = exports.Client = void 0;
|
|
17
17
|
exports.chrisConnection_init = chrisConnection_init;
|
|
18
|
+
const folderMemo_1 = require("../filebrowser/folderMemo");
|
|
19
|
+
const requestLedger_1 = require("../net/requestLedger");
|
|
18
20
|
const adapter_js_1 = require("../chrisapi/adapter.js");
|
|
19
21
|
Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return adapter_js_1.Client; } });
|
|
20
22
|
const config_js_1 = require("../config/config.js");
|
|
@@ -52,6 +54,9 @@ class ChRISConnection {
|
|
|
52
54
|
this.chrisURL = null;
|
|
53
55
|
this.client = null;
|
|
54
56
|
this.elevatedClientContext = new node_async_hooks_1.AsyncLocalStorage();
|
|
57
|
+
// Every request the session makes is counted from the moment there is
|
|
58
|
+
// a session to make them (netstat reads the ledger).
|
|
59
|
+
(0, requestLedger_1.requestLedger_start)();
|
|
55
60
|
if (config && storageProvider) {
|
|
56
61
|
this.init(config, storageProvider);
|
|
57
62
|
}
|
|
@@ -276,7 +281,8 @@ class ChRISConnection {
|
|
|
276
281
|
this.chrisURL &&
|
|
277
282
|
this.authToken) {
|
|
278
283
|
if (!this.client) {
|
|
279
|
-
|
|
284
|
+
// One folder lookup per path per session (see filebrowser/folderMemo).
|
|
285
|
+
this.client = (0, folderMemo_1.folderLookup_memoize)((0, adapter_js_1.client_create)(this.chrisURL, this.authToken));
|
|
280
286
|
}
|
|
281
287
|
}
|
|
282
288
|
return this.client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chrisConnection.js","sourceRoot":"","sources":["../../src/connect/chrisConnection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;
|
|
1
|
+
{"version":3,"file":"chrisConnection.js","sourceRoot":"","sources":["../../src/connect/chrisConnection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;AA4bH,oDAKC;AA/bD,0DAAiE;AACjE,wDAA2D;AAC3D,uDAAsG;AAiB7F,uFAjBA,mBAAM,OAiBA;AAhBf,mDAAsF;AACtF,gEAKoC;AAEpC,iDAA2C;AAC3C,0DAAoD;AACpD,kDAA0B;AAC1B,uDAAqD;AAoCrD;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,OAAe;IAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,GAAG,OAAO,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAa,eAAe;IAU1B;;;;OAIG;IACH,YAAY,MAAyB,EAAE,eAAkC;QAdjE,cAAS,GAAkB,IAAI,CAAC;QAEhC,SAAI,GAAkB,IAAI,CAAC;QAC3B,aAAQ,GAAkB,IAAI,CAAC;QAC/B,WAAM,GAAkB,IAAI,CAAC;QAGpB,0BAAqB,GAA8B,IAAI,oCAAiB,EAAU,CAAC;QAQlG,sEAAsE;QACtE,qDAAqD;QACrD,IAAA,mCAAmB,GAAE,CAAC;QACtB,IAAI,MAAM,IAAI,eAAe,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACrC,CAAC;QACD,mFAAmF;QACnF,mGAAmG;QACnG,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,MAAwB,EAAE,eAAiC;QAC9D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAuB;QAC9C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAmB,OAAO,CAAC;QAE/D,iDAAiD;QACjD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAA,uBAAW,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,4BAAgB,CAAC;QAClC,CAAC;QAED,MAAM,OAAO,GAAW,GAAG,GAAG,aAAa,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,cAAc,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,OAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAQ,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,MAAM,IAAA,0BAAoB,EAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACrE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,gDAAgD;gBAChD,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,OAAO,IAAI,CAAC,SAAS,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CACX,oEAAoE,CACrE,CAAC;YACF,OAAO,CAAC,KAAK,CACX,qEAAqE,CACtE,CAAC;YACF,OAAO,CAAC,KAAK,CACX,oEAAoE,CACrE,CAAC;YACF,OAAO,CAAC,KAAK,CACX,mEAAmE,CACpE,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACpD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,KAAK,CAAC;YACd,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,2BAA2B,CAAC,OAA4B;QAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAwB,OAAO,CAAC;QAC1D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAA,uBAAW,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,4BAAgB,CAAC;QAClC,CAAC;QACD,MAAM,MAAM,GAAW,IAAA,0BAAa,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,MAAM,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,0BAA0B,IAAI,KAAK,MAAM,EAAE,EAAE,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,MAAM,IAAI,CAAC,OAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAQ,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,aAAa,GAAkB,MAAM,IAAA,uCAAqB,EAAC,OAAO,CAAC,CAAC;QAE1E,IAAI,0BAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,0BAAU,CAAC,SAAS,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3D,kFAAkF;YAClF,0BAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,MAAM,GAAY,IAAI,CAAC;QAC3B,IAAI,YAAY,GAAY,KAAK,CAAC;QAElC,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;YACvB,MAAM;gBACJ,MAAM;oBACN,CAAC,MAAM,8BAAY,CAAC,WAAW,CAAC,yBAAO,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB;YAC7F,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;YAC/B,YAAY,GAAG,IAAI,CAAC;YACpB,MAAM,IAAI,CAAC,OAAQ,CAAC,WAAW,CAC7B,aAAa,CAAC,IAAI,EAClB,aAAa,CAAC,GAAG,IAAI,EAAE,CACxB,CAAC;QACJ,CAAC;QAED,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM;gBACJ,MAAM,IAAI,CAAC,MAAM,8BAAY,CAAC,WAAW,CAAC,yBAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACrG,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC;YAClC,YAAY,GAAG,IAAI,CAAC;YACpB,MAAM,IAAI,CAAC,OAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM;gBACJ,MAAM;oBACN,CAAC,MAAM,8BAAY,CAAC,WAAW,CAAC,yBAAO,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB;QACnG,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;YACvB,MAAM;gBACJ,MAAM;oBACN,CAAC,MAAM,8BAAY,CAAC,WAAW,CAAC,yBAAO,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAC/F,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM;gBACJ,MAAM;oBACN,CAAC,MAAM,8BAAY,CAAC,WAAW,CAAC,yBAAO,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB;QACnG,CAAC;QAED,0CAA0C;QAC1C,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,SAAmB;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACZ,mFAAmF;QACnF,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,6DAA6D;YAC7D,sEAAsE;YACtE,8EAA8E;YAC9E,2EAA2E;QAC7E,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC,CAAC,yBAAyB;YACxC,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAQ,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB;QACtE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,IAAA,0BAAa,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,cAAc,GAAuB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;QACjF,IAAI,cAAc;YAAE,OAAO,cAAc,CAAC;QAE1C,IACE,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5B,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,SAAS,EACd,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,uEAAuE;gBACvE,IAAI,CAAC,MAAM,GAAG,IAAA,iCAAoB,EAAC,IAAA,0BAAa,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,yBAAyB,CAC7B,WAAiC,EACjC,SAA2B;QAE3B,MAAM,GAAG,GAAkB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACrD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAExE,MAAM,KAAK,GAAW,MAAM,IAAA,0BAAoB,EAAC,GAAG,GAAG,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClH,MAAM,cAAc,GAAW,IAAA,0BAAa,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACH,sBAAsB;QACpB,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,eAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,IAAY;QACvD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,eAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,sEAAsE;YACtE,uEAAuE;YACvE,MAAM,IAAI,GAAwB,KAA+B,EAAE,IAAI,CAAC;YACxE,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3E,0BAAU,CAAC,UAAU,CAAC,SAAS,EAAE,kCAAkC,IAAI,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC,CAAC;YAC/F,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;CACF;AAvWD,0CAuWC;AAED;;;;;;GAMG;AACU,QAAA,eAAe,GAAoB,IAAI,eAAe,EAAE,CAAC;AAEtE;;;GAGG;AACI,KAAK,UAAU,oBAAoB,CAAC,eAAiC;IAC1E,MAAM,IAAA,uBAAW,EAAC,eAAe,CAAC,CAAC,CAAC,wCAAwC;IAC5E,uBAAe,CAAC,IAAI,CAAC,4BAAgB,EAAE,eAAe,CAAC,CAAC;IACxD,oBAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAC7C,OAAO,uBAAe,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Result } from "../utils/result.js";
|
|
2
|
+
/** Who can read a feed besides its owner. */
|
|
3
|
+
export interface FeedAccess {
|
|
4
|
+
/** Users granted read. */
|
|
5
|
+
users: string[];
|
|
6
|
+
/** Groups granted read. */
|
|
7
|
+
groups: string[];
|
|
8
|
+
/** Whether everyone can read it. */
|
|
9
|
+
public: boolean;
|
|
10
|
+
}
|
|
11
|
+
/** The two kinds of grant a feed holds. */
|
|
12
|
+
export type FeedGrantKind = 'user' | 'group';
|
|
13
|
+
/**
|
|
14
|
+
* Reads who can read a feed: its users, its groups, and whether it is public.
|
|
15
|
+
*
|
|
16
|
+
* @param feedId - The feed.
|
|
17
|
+
* @returns The access list.
|
|
18
|
+
*/
|
|
19
|
+
export declare function feedAccess_read(feedId: number): Promise<Result<FeedAccess>>;
|
|
20
|
+
/**
|
|
21
|
+
* Grants a group read on a feed.
|
|
22
|
+
*
|
|
23
|
+
* @param feedId - The feed.
|
|
24
|
+
* @param group - The group's name.
|
|
25
|
+
* @returns True when CUBE recorded the grant.
|
|
26
|
+
*/
|
|
27
|
+
export declare function feedShare_group(feedId: number, group: string): Promise<Result<boolean>>;
|
|
28
|
+
/**
|
|
29
|
+
* Withdraws a user's or a group's grant on a feed.
|
|
30
|
+
*
|
|
31
|
+
* @param feedId - The feed.
|
|
32
|
+
* @param kind - Which kind of grant.
|
|
33
|
+
* @param name - The user's or group's name.
|
|
34
|
+
* @returns True when withdrawn; false when the feed held no such grant.
|
|
35
|
+
*/
|
|
36
|
+
export declare function feedShare_revoke(feedId: number, kind: FeedGrantKind, name: string): Promise<Result<boolean>>;
|
|
37
|
+
/**
|
|
38
|
+
* Renames a feed (its title).
|
|
39
|
+
*
|
|
40
|
+
* @param feedId - The feed.
|
|
41
|
+
* @param name - The new name.
|
|
42
|
+
* @returns True when CUBE took it.
|
|
43
|
+
*/
|
|
44
|
+
export declare function feed_rename(feedId: number, name: string): Promise<Result<boolean>>;
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.feedAccess_read = feedAccess_read;
|
|
4
|
+
exports.feedShare_group = feedShare_group;
|
|
5
|
+
exports.feedShare_revoke = feedShare_revoke;
|
|
6
|
+
exports.feed_rename = feed_rename;
|
|
7
|
+
/**
|
|
8
|
+
* @file A feed's name and its access: who it is shared with (users and
|
|
9
|
+
* groups), whether it is public, and the changes to each. The kernel speaks
|
|
10
|
+
* them as `setfacl` / `getfacl` / `chmod` and as the writable
|
|
11
|
+
* `/proc/jobs/feed_N/title`; this is the adapter beneath.
|
|
12
|
+
*
|
|
13
|
+
* CUBE allows every change here to the feed's owner: a feed's name and
|
|
14
|
+
* public flag are written by a PUT on the feed, a user or group grant is a
|
|
15
|
+
* permission posted to the feed, and either kind of grant is withdrawn by
|
|
16
|
+
* deleting that permission.
|
|
17
|
+
*
|
|
18
|
+
* @module
|
|
19
|
+
*/
|
|
20
|
+
const adapter_js_1 = require("../chrisapi/adapter.js");
|
|
21
|
+
const chrisConnection_js_1 = require("../connect/chrisConnection.js");
|
|
22
|
+
const errorStack_js_1 = require("../error/errorStack.js");
|
|
23
|
+
const result_js_1 = require("../utils/result.js");
|
|
24
|
+
/** How many permissions a page asks for. */
|
|
25
|
+
const PERMISSIONS_PAGE = 100;
|
|
26
|
+
/**
|
|
27
|
+
* The connected client and the feed, or the reason there are none.
|
|
28
|
+
*
|
|
29
|
+
* @param feedId - The feed.
|
|
30
|
+
* @param doing - What was being done, for the error.
|
|
31
|
+
* @returns The feed, or null with the error stacked.
|
|
32
|
+
*/
|
|
33
|
+
async function feed_reach(feedId, doing) {
|
|
34
|
+
const client = await chrisConnection_js_1.chrisConnection.client_get();
|
|
35
|
+
if (!client) {
|
|
36
|
+
errorStack_js_1.errorStack.stack_push('error', 'Not connected to ChRIS.');
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
const feed = await client.getFeed(feedId);
|
|
40
|
+
if (!feed) {
|
|
41
|
+
errorStack_js_1.errorStack.stack_push('error', `${doing}: feed ${feedId} not found.`);
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
return feed;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Every name in a feed's permission collection, page by page.
|
|
48
|
+
*
|
|
49
|
+
* @param fetch - Reads one page.
|
|
50
|
+
* @param field - The field naming the holder (`username`, `grp_name`).
|
|
51
|
+
* @returns The names.
|
|
52
|
+
*/
|
|
53
|
+
async function holders_drain(fetch, field) {
|
|
54
|
+
const names = [];
|
|
55
|
+
for (let offset = 0;; offset += PERMISSIONS_PAGE) {
|
|
56
|
+
const rows = (0, adapter_js_1.listData_get)(await fetch(offset));
|
|
57
|
+
for (const row of rows) {
|
|
58
|
+
const name = String(row[field] ?? row['group_name'] ?? '');
|
|
59
|
+
if (name !== '')
|
|
60
|
+
names.push(name);
|
|
61
|
+
}
|
|
62
|
+
if (rows.length < PERMISSIONS_PAGE)
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
return names;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Reads who can read a feed: its users, its groups, and whether it is public.
|
|
69
|
+
*
|
|
70
|
+
* @param feedId - The feed.
|
|
71
|
+
* @returns The access list.
|
|
72
|
+
*/
|
|
73
|
+
async function feedAccess_read(feedId) {
|
|
74
|
+
try {
|
|
75
|
+
const feed = await feed_reach(feedId, 'access');
|
|
76
|
+
if (feed === null)
|
|
77
|
+
return (0, result_js_1.Err)();
|
|
78
|
+
const users = await holders_drain((offset) => feed.getUserPermissions({ limit: PERMISSIONS_PAGE, offset }), 'username');
|
|
79
|
+
const groups = await holders_drain((offset) => feed.getGroupPermissions({ limit: PERMISSIONS_PAGE, offset }), 'grp_name');
|
|
80
|
+
const data = (0, adapter_js_1.itemData_get)(feed);
|
|
81
|
+
return (0, result_js_1.Ok)({ users, groups, public: data?.public === true });
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
errorStack_js_1.errorStack.stack_push('error', `Failed to read the access list of feed ${feedId}: ${error instanceof Error ? error.message : String(error)}`);
|
|
85
|
+
return (0, result_js_1.Err)();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Grants a group read on a feed.
|
|
90
|
+
*
|
|
91
|
+
* @param feedId - The feed.
|
|
92
|
+
* @param group - The group's name.
|
|
93
|
+
* @returns True when CUBE recorded the grant.
|
|
94
|
+
*/
|
|
95
|
+
async function feedShare_group(feedId, group) {
|
|
96
|
+
try {
|
|
97
|
+
const feed = await feed_reach(feedId, 'share');
|
|
98
|
+
if (feed === null)
|
|
99
|
+
return (0, result_js_1.Err)();
|
|
100
|
+
await feed.addGroupPermission(group);
|
|
101
|
+
return (0, result_js_1.Ok)(true);
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
errorStack_js_1.errorStack.stack_push('error', `Failed to share feed ${feedId} with group ${group}: ${error instanceof Error ? error.message : String(error)}`);
|
|
105
|
+
return (0, result_js_1.Err)();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Withdraws a user's or a group's grant on a feed.
|
|
110
|
+
*
|
|
111
|
+
* @param feedId - The feed.
|
|
112
|
+
* @param kind - Which kind of grant.
|
|
113
|
+
* @param name - The user's or group's name.
|
|
114
|
+
* @returns True when withdrawn; false when the feed held no such grant.
|
|
115
|
+
*/
|
|
116
|
+
async function feedShare_revoke(feedId, kind, name) {
|
|
117
|
+
try {
|
|
118
|
+
const feed = await feed_reach(feedId, 'unshare');
|
|
119
|
+
if (feed === null)
|
|
120
|
+
return (0, result_js_1.Err)();
|
|
121
|
+
const held = kind === 'user' ? await feed.getUserPermission(name) : await feed.getGroupPermission(name);
|
|
122
|
+
if (held === null)
|
|
123
|
+
return (0, result_js_1.Ok)(false);
|
|
124
|
+
await held.delete();
|
|
125
|
+
return (0, result_js_1.Ok)(true);
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
errorStack_js_1.errorStack.stack_push('error', `Failed to stop sharing feed ${feedId} with ${kind} ${name}: ${error instanceof Error ? error.message : String(error)}`);
|
|
129
|
+
return (0, result_js_1.Err)();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Renames a feed (its title).
|
|
134
|
+
*
|
|
135
|
+
* @param feedId - The feed.
|
|
136
|
+
* @param name - The new name.
|
|
137
|
+
* @returns True when CUBE took it.
|
|
138
|
+
*/
|
|
139
|
+
async function feed_rename(feedId, name) {
|
|
140
|
+
if (name.trim() === '') {
|
|
141
|
+
errorStack_js_1.errorStack.stack_push('error', `feed ${feedId}: a feed's name cannot be empty`);
|
|
142
|
+
return (0, result_js_1.Err)();
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
const feed = await feed_reach(feedId, 'rename');
|
|
146
|
+
if (feed === null)
|
|
147
|
+
return (0, result_js_1.Err)();
|
|
148
|
+
await feed.put({ name });
|
|
149
|
+
return (0, result_js_1.Ok)(true);
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
errorStack_js_1.errorStack.stack_push('error', `Failed to rename feed ${feedId}: ${error instanceof Error ? error.message : String(error)}`);
|
|
153
|
+
return (0, result_js_1.Err)();
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=chrisAccess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chrisAccess.js","sourceRoot":"","sources":["../../src/feeds/chrisAccess.ts"],"names":[],"mappings":"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"}
|