@fnndsc/salsa 3.2.4 → 3.2.6

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.
@@ -0,0 +1,11 @@
1
+ import { Result } from '@fnndsc/cumin';
2
+ /**
3
+ * Resolves an absolute ChRIS file path to its numeric file id.
4
+ *
5
+ * Lists the parent directory and matches on basename, tolerating the `? <name>`
6
+ * placeholder form the API sometimes returns.
7
+ *
8
+ * @param filePath - Absolute ChRIS file path.
9
+ * @returns Ok(fileId), or Err (with a message pushed to errorStack) on failure.
10
+ */
11
+ export declare function fileId_atPath_resolve(filePath: string): Promise<Result<number>>;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.fileId_atPath_resolve = fileId_atPath_resolve;
37
+ /**
38
+ * @file Resolve an absolute ChRIS file path to its numeric file id.
39
+ *
40
+ * @module
41
+ */
42
+ const path = __importStar(require("path"));
43
+ const cumin_1 = require("@fnndsc/cumin");
44
+ const index_js_1 = require("./index.js");
45
+ /**
46
+ * Resolves an absolute ChRIS file path to its numeric file id.
47
+ *
48
+ * Lists the parent directory and matches on basename, tolerating the `? <name>`
49
+ * placeholder form the API sometimes returns.
50
+ *
51
+ * @param filePath - Absolute ChRIS file path.
52
+ * @returns Ok(fileId), or Err (with a message pushed to errorStack) on failure.
53
+ */
54
+ async function fileId_atPath_resolve(filePath) {
55
+ const dir = path.posix.dirname(filePath);
56
+ const name = path.posix.basename(filePath);
57
+ const group = await (0, index_js_1.files_getGroup)('files', dir);
58
+ if (!group) {
59
+ return (0, cumin_1.Err)();
60
+ }
61
+ const results = await group.asset.resources_getAll();
62
+ if (!results || !results.tableData) {
63
+ cumin_1.errorStack.stack_push('error', `No files found in directory: ${dir}`);
64
+ return (0, cumin_1.Err)();
65
+ }
66
+ const file = results.tableData.find((f) => {
67
+ const basename = path.posix.basename(f.fname || '');
68
+ return basename === name || basename === `? ${name}`;
69
+ });
70
+ if (!file) {
71
+ cumin_1.errorStack.stack_push('error', `File not found: ${name} in ${dir}`);
72
+ return (0, cumin_1.Err)();
73
+ }
74
+ if (typeof file.id !== 'number') {
75
+ cumin_1.errorStack.stack_push('error', `File has no valid ID: ${name}`);
76
+ return (0, cumin_1.Err)();
77
+ }
78
+ return (0, cumin_1.Ok)(file.id);
79
+ }
80
+ //# sourceMappingURL=fileLookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileLookup.js","sourceRoot":"","sources":["../../src/files/fileLookup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,sDA+BC;AA/DD;;;;GAIG;AACH,2CAA6B;AAC7B,yCAQuB;AACvB,yCAA4C;AAQ5C;;;;;;;;GAQG;AACI,KAAK,UAAU,qBAAqB,CAAC,QAAgB;IAC1D,MAAM,GAAG,GAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEnD,MAAM,KAAK,GAAqD,MAAM,IAAA,yBAAc,EAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnG,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAA,WAAG,GAAE,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAgC,MAAM,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IAClF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACnC,kBAAU,CAAC,UAAU,CAAC,OAAO,EAAE,gCAAgC,GAAG,EAAE,CAAC,CAAC;QACtE,OAAO,IAAA,WAAG,GAAE,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAyB,OAAO,CAAC,SAAuB,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,EAAE;QACrF,MAAM,QAAQ,GAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,KAAK,IAAI,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,kBAAU,CAAC,UAAU,CAAC,OAAO,EAAE,mBAAmB,IAAI,OAAO,GAAG,EAAE,CAAC,CAAC;QACpE,OAAO,IAAA,WAAG,GAAE,CAAC;IACf,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAChC,kBAAU,CAAC,UAAU,CAAC,OAAO,EAAE,yBAAyB,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAA,WAAG,GAAE,CAAC;IACf,CAAC;IAED,OAAO,IAAA,UAAE,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrB,CAAC"}
@@ -8,7 +8,6 @@ import { Result } from "@fnndsc/cumin";
8
8
  * Fetches the content of a PACS file (DICOM).
9
9
  *
10
10
  * Path structure: /SERVICES/PACS/<service>/<patient>/<study>/<series>/<file>.dcm
11
- * Example: /SERVICES/PACS/PACSDCM/7654321-EVANS-19861111/.../0168-1.3...dcm
12
11
  *
13
12
  * PACS files appear in directory listings but must be downloaded through
14
13
  * the PACSFile API instead of the regular file download endpoint.
@@ -4,50 +4,15 @@
4
4
  *
5
5
  * @module
6
6
  */
7
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
- if (k2 === undefined) k2 = k;
9
- var desc = Object.getOwnPropertyDescriptor(m, k);
10
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
- desc = { enumerable: true, get: function() { return m[k]; } };
12
- }
13
- Object.defineProperty(o, k2, desc);
14
- }) : (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- o[k2] = m[k];
17
- }));
18
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
- Object.defineProperty(o, "default", { enumerable: true, value: v });
20
- }) : function(o, v) {
21
- o["default"] = v;
22
- });
23
- var __importStar = (this && this.__importStar) || (function () {
24
- var ownKeys = function(o) {
25
- ownKeys = Object.getOwnPropertyNames || function (o) {
26
- var ar = [];
27
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
- return ar;
29
- };
30
- return ownKeys(o);
31
- };
32
- return function (mod) {
33
- if (mod && mod.__esModule) return mod;
34
- var result = {};
35
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
- __setModuleDefault(result, mod);
37
- return result;
38
- };
39
- })();
40
7
  Object.defineProperty(exports, "__esModule", { value: true });
41
8
  exports.fileContent_getPACS = fileContent_getPACS;
42
9
  exports.fileContent_getPACSBinary = fileContent_getPACSBinary;
43
- const path = __importStar(require("path"));
44
10
  const cumin_1 = require("@fnndsc/cumin");
45
- const index_1 = require("./index");
11
+ const fileLookup_js_1 = require("./fileLookup.js");
46
12
  /**
47
13
  * Fetches the content of a PACS file (DICOM).
48
14
  *
49
15
  * Path structure: /SERVICES/PACS/<service>/<patient>/<study>/<series>/<file>.dcm
50
- * Example: /SERVICES/PACS/PACSDCM/7654321-EVANS-19861111/.../0168-1.3...dcm
51
16
  *
52
17
  * PACS files appear in directory listings but must be downloaded through
53
18
  * the PACSFile API instead of the regular file download endpoint.
@@ -56,31 +21,11 @@ const index_1 = require("./index");
56
21
  * @returns A Result containing the file content as a string, or an error.
57
22
  */
58
23
  async function fileContent_getPACS(filePath) {
59
- const dir = path.posix.dirname(filePath);
60
- const name = path.posix.basename(filePath);
61
- const group = await (0, index_1.files_getGroup)('files', dir);
62
- if (!group) {
63
- return (0, cumin_1.Err)();
64
- }
65
- const results = await group.asset.resources_getAll();
66
- if (!results || !results.tableData) {
67
- cumin_1.errorStack.stack_push("error", `No files found in PACS directory: ${dir}`);
68
- return (0, cumin_1.Err)();
69
- }
70
- const file = results.tableData.find((f) => {
71
- const fname = f.fname || '';
72
- const basename = path.posix.basename(fname);
73
- return basename === name || basename === `? ${name}`;
74
- });
75
- if (!file) {
76
- cumin_1.errorStack.stack_push("error", `PACS file not found: ${name} in ${dir}`);
77
- return (0, cumin_1.Err)();
78
- }
79
- if (typeof file.id !== 'number') {
80
- cumin_1.errorStack.stack_push("error", `PACS file has no valid ID: ${name}`);
24
+ const idResult = await (0, fileLookup_js_1.fileId_atPath_resolve)(filePath);
25
+ if (!idResult.ok) {
81
26
  return (0, cumin_1.Err)();
82
27
  }
83
- return await (0, cumin_1.pacsFile_getText)(file.id);
28
+ return await (0, cumin_1.pacsFile_getText)(idResult.value);
84
29
  }
85
30
  /**
86
31
  * Fetches the binary content of a PACS file (DICOM).
@@ -92,30 +37,10 @@ async function fileContent_getPACS(filePath) {
92
37
  * @returns A Result containing the file content as a Buffer, or an error.
93
38
  */
94
39
  async function fileContent_getPACSBinary(filePath) {
95
- const dir = path.posix.dirname(filePath);
96
- const name = path.posix.basename(filePath);
97
- const group = await (0, index_1.files_getGroup)('files', dir);
98
- if (!group) {
99
- return (0, cumin_1.Err)();
100
- }
101
- const results = await group.asset.resources_getAll();
102
- if (!results || !results.tableData) {
103
- cumin_1.errorStack.stack_push("error", `No files found in PACS directory: ${dir}`);
104
- return (0, cumin_1.Err)();
105
- }
106
- const file = results.tableData.find((f) => {
107
- const fname = f.fname || '';
108
- const basename = path.posix.basename(fname);
109
- return basename === name || basename === `? ${name}`;
110
- });
111
- if (!file) {
112
- cumin_1.errorStack.stack_push("error", `PACS file not found: ${name} in ${dir}`);
113
- return (0, cumin_1.Err)();
114
- }
115
- if (typeof file.id !== 'number') {
116
- cumin_1.errorStack.stack_push("error", `PACS file has no valid ID: ${name}`);
40
+ const idResult = await (0, fileLookup_js_1.fileId_atPath_resolve)(filePath);
41
+ if (!idResult.ok) {
117
42
  return (0, cumin_1.Err)();
118
43
  }
119
- return await (0, cumin_1.pacsFile_getBlob)(file.id);
44
+ return await (0, cumin_1.pacsFile_getBlob)(idResult.value);
120
45
  }
121
46
  //# sourceMappingURL=pacs_content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pacs_content.js","sourceRoot":"","sources":["../../src/files/pacs_content.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BH,kDAgCC;AAWD,8DAgCC;AArGD,2CAA6B;AAC7B,yCASuB;AAEvB,mCAAyC;AAEzC;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACxD,MAAM,GAAG,GAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEnD,MAAM,KAAK,GAAqD,MAAM,IAAA,sBAAc,EAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnG,IAAI,CAAC,KAAK,EAAE,CAAC;QACV,OAAO,IAAA,WAAG,GAAE,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAgC,MAAM,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IAClF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAClC,kBAAU,CAAC,UAAU,CAAC,OAAO,EAAE,qCAAqC,GAAG,EAAE,CAAC,CAAC;QAC3E,OAAO,IAAA,WAAG,GAAE,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAgD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAqB,EAAE,EAAE;QACvG,MAAM,KAAK,GAAW,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,KAAK,IAAI,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,kBAAU,CAAC,UAAU,CAAC,OAAO,EAAE,wBAAwB,IAAI,OAAO,GAAG,EAAE,CAAC,CAAC;QACzE,OAAO,IAAA,WAAG,GAAE,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC9B,kBAAU,CAAC,UAAU,CAAC,OAAO,EAAE,8BAA8B,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,IAAA,WAAG,GAAE,CAAC;IACjB,CAAC;IAED,OAAO,MAAM,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,yBAAyB,CAAC,QAAgB;IAC9D,MAAM,GAAG,GAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEnD,MAAM,KAAK,GAAqD,MAAM,IAAA,sBAAc,EAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnG,IAAI,CAAC,KAAK,EAAE,CAAC;QACV,OAAO,IAAA,WAAG,GAAE,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAgC,MAAM,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IAClF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAClC,kBAAU,CAAC,UAAU,CAAC,OAAO,EAAE,qCAAqC,GAAG,EAAE,CAAC,CAAC;QAC3E,OAAO,IAAA,WAAG,GAAE,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAgD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAqB,EAAE,EAAE;QACvG,MAAM,KAAK,GAAW,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,KAAK,IAAI,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,kBAAU,CAAC,UAAU,CAAC,OAAO,EAAE,wBAAwB,IAAI,OAAO,GAAG,EAAE,CAAC,CAAC;QACzE,OAAO,IAAA,WAAG,GAAE,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC9B,kBAAU,CAAC,UAAU,CAAC,OAAO,EAAE,8BAA8B,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,IAAA,WAAG,GAAE,CAAC;IACjB,CAAC;IAED,OAAO,MAAM,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"pacs_content.js","sourceRoot":"","sources":["../../src/files/pacs_content.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAgBH,kDAMC;AAWD,8DAMC;AArCD,yCAAgF;AAChF,mDAAwD;AAExD;;;;;;;;;;GAUG;AACI,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACxD,MAAM,QAAQ,GAAmB,MAAM,IAAA,qCAAqB,EAAC,QAAQ,CAAC,CAAC;IACvE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,IAAA,WAAG,GAAE,CAAC;IACf,CAAC;IACD,OAAO,MAAM,IAAA,wBAAgB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,yBAAyB,CAAC,QAAgB;IAC9D,MAAM,QAAQ,GAAmB,MAAM,IAAA,qCAAqB,EAAC,QAAQ,CAAC,CAAC;IACvE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,IAAA,WAAG,GAAE,CAAC;IACf,CAAC;IACD,OAAO,MAAM,IAAA,wBAAgB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC"}
@@ -4,46 +4,12 @@
4
4
  *
5
5
  * @module
6
6
  */
7
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
- if (k2 === undefined) k2 = k;
9
- var desc = Object.getOwnPropertyDescriptor(m, k);
10
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
- desc = { enumerable: true, get: function() { return m[k]; } };
12
- }
13
- Object.defineProperty(o, k2, desc);
14
- }) : (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- o[k2] = m[k];
17
- }));
18
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
- Object.defineProperty(o, "default", { enumerable: true, value: v });
20
- }) : function(o, v) {
21
- o["default"] = v;
22
- });
23
- var __importStar = (this && this.__importStar) || (function () {
24
- var ownKeys = function(o) {
25
- ownKeys = Object.getOwnPropertyNames || function (o) {
26
- var ar = [];
27
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
- return ar;
29
- };
30
- return ownKeys(o);
31
- };
32
- return function (mod) {
33
- if (mod && mod.__esModule) return mod;
34
- var result = {};
35
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
- __setModuleDefault(result, mod);
37
- return result;
38
- };
39
- })();
40
7
  Object.defineProperty(exports, "__esModule", { value: true });
41
8
  exports.fileContent_getRegularStream = fileContent_getRegularStream;
42
9
  exports.fileContent_getRegular = fileContent_getRegular;
43
10
  exports.fileContent_getRegularBinary = fileContent_getRegularBinary;
44
- const path = __importStar(require("path"));
45
11
  const cumin_1 = require("@fnndsc/cumin");
46
- const index_1 = require("./index");
12
+ const fileLookup_js_1 = require("./fileLookup.js");
47
13
  /**
48
14
  * Views content of a file in ChRIS by its ID.
49
15
  * This is a helper function, not directly exported to avoid circular deps.
@@ -66,31 +32,11 @@ async function files_view(fileId) {
66
32
  * @returns A Result containing the stream/blob and optional size metadata.
67
33
  */
68
34
  async function fileContent_getRegularStream(filePath) {
69
- const dir = path.posix.dirname(filePath);
70
- const name = path.posix.basename(filePath);
71
- const group = await (0, index_1.files_getGroup)("files", dir);
72
- if (!group) {
73
- return (0, cumin_1.Err)();
74
- }
75
- const results = await group.asset.resources_getAll();
76
- if (!results || !results.tableData) {
77
- cumin_1.errorStack.stack_push("error", `No files found in directory: ${dir}`);
78
- return (0, cumin_1.Err)();
79
- }
80
- const file = results.tableData.find((f) => {
81
- const fname = f.fname || "";
82
- const basename = path.posix.basename(fname);
83
- return basename === name || basename === `? ${name}`;
84
- });
85
- if (!file) {
86
- cumin_1.errorStack.stack_push("error", `File not found: ${name} in ${dir}`);
35
+ const idResult = await (0, fileLookup_js_1.fileId_atPath_resolve)(filePath);
36
+ if (!idResult.ok) {
87
37
  return (0, cumin_1.Err)();
88
38
  }
89
- if (typeof file.id !== "number") {
90
- cumin_1.errorStack.stack_push("error", `File has no valid ID: ${name}`);
91
- return (0, cumin_1.Err)();
92
- }
93
- const streamResult = await cumin_1.chrisIO.file_downloadStream(file.id);
39
+ const streamResult = await cumin_1.chrisIO.file_downloadStream(idResult.value);
94
40
  if (!streamResult.ok) {
95
41
  return (0, cumin_1.Err)();
96
42
  }
@@ -103,33 +49,12 @@ async function fileContent_getRegularStream(filePath) {
103
49
  * @returns A Result containing the file content as a string, or an error.
104
50
  */
105
51
  async function fileContent_getRegular(filePath) {
106
- const dir = path.posix.dirname(filePath);
107
- const name = path.posix.basename(filePath);
108
- const group = await (0, index_1.files_getGroup)('files', dir);
109
- if (!group) {
52
+ const idResult = await (0, fileLookup_js_1.fileId_atPath_resolve)(filePath);
53
+ if (!idResult.ok) {
110
54
  return (0, cumin_1.Err)();
111
55
  }
112
- const results = await group.asset.resources_getAll();
113
- if (!results || !results.tableData) {
114
- cumin_1.errorStack.stack_push("error", `No files found in directory: ${dir}`);
115
- return (0, cumin_1.Err)();
116
- }
117
- const file = results.tableData.find((f) => {
118
- const fname = f.fname || '';
119
- const basename = path.posix.basename(fname);
120
- return basename === name || basename === `? ${name}`;
121
- });
122
- if (!file) {
123
- cumin_1.errorStack.stack_push("error", `File not found: ${name} in ${dir}`);
124
- return (0, cumin_1.Err)();
125
- }
126
- if (typeof file.id !== 'number') {
127
- cumin_1.errorStack.stack_push("error", `File has no valid ID: ${name}`);
128
- return (0, cumin_1.Err)();
129
- }
130
- const filesViewResult = await files_view(file.id);
56
+ const filesViewResult = await files_view(idResult.value);
131
57
  if (!filesViewResult.ok) {
132
- // The error is already pushed by files_view or chrisIO.file_download
133
58
  return (0, cumin_1.Err)();
134
59
  }
135
60
  return (0, cumin_1.Ok)(filesViewResult.value.toString('utf-8'));
@@ -143,33 +68,12 @@ async function fileContent_getRegular(filePath) {
143
68
  * @returns A Result containing the file content as a Buffer, or an error.
144
69
  */
145
70
  async function fileContent_getRegularBinary(filePath) {
146
- const dir = path.posix.dirname(filePath);
147
- const name = path.posix.basename(filePath);
148
- const group = await (0, index_1.files_getGroup)('files', dir);
149
- if (!group) {
150
- return (0, cumin_1.Err)();
151
- }
152
- const results = await group.asset.resources_getAll();
153
- if (!results || !results.tableData) {
154
- cumin_1.errorStack.stack_push("error", `No files found in directory: ${dir}`);
155
- return (0, cumin_1.Err)();
156
- }
157
- const file = results.tableData.find((f) => {
158
- const fname = f.fname || '';
159
- const basename = path.posix.basename(fname);
160
- return basename === name || basename === `? ${name}`;
161
- });
162
- if (!file) {
163
- cumin_1.errorStack.stack_push("error", `File not found: ${name} in ${dir}`);
164
- return (0, cumin_1.Err)();
165
- }
166
- if (typeof file.id !== 'number') {
167
- cumin_1.errorStack.stack_push("error", `File has no valid ID: ${name}`);
71
+ const idResult = await (0, fileLookup_js_1.fileId_atPath_resolve)(filePath);
72
+ if (!idResult.ok) {
168
73
  return (0, cumin_1.Err)();
169
74
  }
170
- const filesViewResult = await files_view(file.id);
75
+ const filesViewResult = await files_view(idResult.value);
171
76
  if (!filesViewResult.ok) {
172
- // The error is already pushed by files_view or chrisIO.file_download
173
77
  return (0, cumin_1.Err)();
174
78
  }
175
79
  return (0, cumin_1.Ok)(filesViewResult.value);
@@ -1 +1 @@
1
- {"version":3,"file":"regular_content.js","sourceRoot":"","sources":["../../src/files/regular_content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"regular_content.js","sourceRoot":"","sources":["../../src/files/regular_content.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA2BH,oEAeC;AAQD,wDAYC;AAUD,oEAYC;AAlFD,yCAAyD;AACzD,mDAAwD;AAExD;;;;;;GAMG;AACH,KAAK,UAAU,UAAU,CAAC,MAAc;IACtC,MAAM,MAAM,GAAkB,MAAM,eAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAClE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClB,4DAA4D;QAC5D,OAAO,IAAA,WAAG,GAAE,CAAC;IACjB,CAAC;IACD,OAAO,IAAA,UAAE,EAAC,MAAM,CAAC,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,4BAA4B,CAChD,QAAgB;IAEhB,MAAM,QAAQ,GAAmB,MAAM,IAAA,qCAAqB,EAAC,QAAQ,CAAC,CAAC;IACvE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,IAAA,WAAG,GAAE,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAChB,MAAM,eAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO,IAAA,WAAG,GAAE,CAAC;IACf,CAAC;IAED,OAAO,IAAA,UAAE,EAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,sBAAsB,CAAC,QAAgB;IAC3D,MAAM,QAAQ,GAAmB,MAAM,IAAA,qCAAqB,EAAC,QAAQ,CAAC,CAAC;IACvE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,IAAA,WAAG,GAAE,CAAC;IACf,CAAC;IAED,MAAM,eAAe,GAAmB,MAAM,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzE,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QACxB,OAAO,IAAA,WAAG,GAAE,CAAC;IACf,CAAC;IAED,OAAO,IAAA,UAAE,EAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,4BAA4B,CAAC,QAAgB;IACjE,MAAM,QAAQ,GAAmB,MAAM,IAAA,qCAAqB,EAAC,QAAQ,CAAC,CAAC;IACvE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,IAAA,WAAG,GAAE,CAAC;IACf,CAAC;IAED,MAAM,eAAe,GAAmB,MAAM,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzE,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QACxB,OAAO,IAAA,WAAG,GAAE,CAAC;IACf,CAAC;IAED,OAAO,IAAA,UAAE,EAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC"}
@@ -12,34 +12,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.NativeVfsProvider = void 0;
14
14
  const cumin_1 = require("@fnndsc/cumin");
15
+ const sort_js_1 = require("../sort.js");
15
16
  const index_js_1 = require("../../files/index.js");
16
17
  const path_1 = __importDefault(require("path"));
17
- /**
18
- * Standard sort utility for VFS items.
19
- *
20
- * @param items - Items list to sort.
21
- * @param sortField - Field to sort by.
22
- * @param reverse - Whether to reverse sort order.
23
- * @returns Sorted array.
24
- */
25
- function vfs_sortItems(items, sortField, reverse) {
26
- const field = sortField || "name";
27
- const sorted = [...items].sort((a, b) => {
28
- const valA = a[field];
29
- const valB = b[field];
30
- if (typeof valA === "string" && typeof valB === "string") {
31
- return valA.localeCompare(valB);
32
- }
33
- if (typeof valA === "number" && typeof valB === "number") {
34
- return valA - valB;
35
- }
36
- return 0;
37
- });
38
- if (reverse) {
39
- sorted.reverse();
40
- }
41
- return sorted;
42
- }
43
18
  /**
44
19
  * Native ChRIS filesystem provider operating on absolute CUBE folders.
45
20
  */
@@ -95,7 +70,7 @@ class NativeVfsProvider {
95
70
  if (linksResult.status === "fulfilled" && linksResult.value?.tableData) {
96
71
  linksResult.value.tableData.forEach((l) => items.push(mapToItem(l, "link")));
97
72
  }
98
- const sorted = vfs_sortItems(items, options?.sort, options?.reverse);
73
+ const sorted = (0, sort_js_1.vfsItems_sort)(items, options?.sort, options?.reverse);
99
74
  return (0, cumin_1.Ok)(sorted);
100
75
  }
101
76
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"native.js","sourceRoot":"","sources":["../../../src/vfs/providers/native.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../../../src/vfs/providers/native.ts"],"names":[],"mappings":"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"}
@@ -12,33 +12,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.PacsVfsProvider = void 0;
14
14
  const cumin_1 = require("@fnndsc/cumin");
15
+ const sort_js_1 = require("../sort.js");
15
16
  const pacsHelpers_js_1 = require("./pacsHelpers.js");
16
17
  const index_js_1 = require("../../pacs/index.js");
17
18
  const index_js_2 = require("../../files/index.js");
18
19
  const path_1 = __importDefault(require("path"));
19
20
  const chalk_1 = __importDefault(require("chalk"));
20
21
  const pacs_content_js_1 = require("./pacs_content.js");
21
- /**
22
- * Standard sort utility for VFS items.
23
- */
24
- function items_sort(items, sortField, reverse) {
25
- const field = sortField || "name";
26
- const sorted = [...items].sort((a, b) => {
27
- const valA = a[field];
28
- const valB = b[field];
29
- if (typeof valA === "string" && typeof valB === "string") {
30
- return valA.localeCompare(valB);
31
- }
32
- if (typeof valA === "number" && typeof valB === "number") {
33
- return valA - valB;
34
- }
35
- return 0;
36
- });
37
- if (reverse) {
38
- sorted.reverse();
39
- }
40
- return sorted;
41
- }
42
22
  /**
43
23
  * Resolves the folder path on ChRIS storage for a retrieved series.
44
24
  *
@@ -99,7 +79,7 @@ async function queries_list(options) {
99
79
  date: creationDate,
100
80
  };
101
81
  });
102
- return (0, cumin_1.Ok)(items_sort(items, options?.sort, options?.reverse));
82
+ return (0, cumin_1.Ok)((0, sort_js_1.vfsItems_sort)(items, options?.sort, options?.reverse));
103
83
  }
104
84
  function studies_list(studies, options) {
105
85
  const items = studies.map((studyObj, idx) => {
@@ -114,7 +94,7 @@ function studies_list(studies, options) {
114
94
  date: "",
115
95
  };
116
96
  });
117
- return (0, cumin_1.Ok)(items_sort(items, options?.sort, options?.reverse));
97
+ return (0, cumin_1.Ok)((0, sort_js_1.vfsItems_sort)(items, options?.sort, options?.reverse));
118
98
  }
119
99
  function series_list(seriesArr, options) {
120
100
  const items = seriesArr.map((seriesObj, idx) => {
@@ -129,7 +109,7 @@ function series_list(seriesArr, options) {
129
109
  date: "",
130
110
  };
131
111
  });
132
- return (0, cumin_1.Ok)(items_sort(items, options?.sort, options?.reverse));
112
+ return (0, cumin_1.Ok)((0, sort_js_1.vfsItems_sort)(items, options?.sort, options?.reverse));
133
113
  }
134
114
  function seriesFiles_list(seriesObj) {
135
115
  return (0, cumin_1.Ok)([
@@ -1 +1 @@
1
- {"version":3,"file":"pacs.js","sourceRoot":"","sources":["../../../src/vfs/providers/pacs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pacs.js","sourceRoot":"","sources":["../../../src/vfs/providers/pacs.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.pacsVfs_read = pacsVfs_read;
12
12
  exports.pacsVfs_readBinary = pacsVfs_readBinary;
13
13
  const cumin_1 = require("@fnndsc/cumin");
14
+ const pacsHelpers_js_1 = require("./pacsHelpers.js");
14
15
  /**
15
16
  * Safely extracts a string value from a potentially object-wrapped DICOM tag.
16
17
  *
@@ -50,7 +51,9 @@ async function pacsVfs_read(pathStr, queryResult_fetch) {
50
51
  const studyFolder = parts[4];
51
52
  const seriesFolder = parts[5];
52
53
  const filename = parts[6];
53
- const queryId = Number(queryFolder.split("_")[0]);
54
+ // Query folders are named `<desc>_qid:<id>[_<user>]` (see the listing
55
+ // provider); the shared helper parses the id the same way everywhere.
56
+ const queryId = (0, pacsHelpers_js_1.queryId_extractFromFolder)(queryFolder);
54
57
  if (Number.isNaN(queryId)) {
55
58
  cumin_1.errorStack.stack_push("error", `Invalid query ID in path '${pathStr}'`);
56
59
  return (0, cumin_1.Err)();
@@ -1 +1 @@
1
- {"version":3,"file":"pacs_content.js","sourceRoot":"","sources":["../../../src/vfs/providers/pacs_content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pacs_content.js","sourceRoot":"","sources":["../../../src/vfs/providers/pacs_content.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @file Non-destructive sorting helper for VFS items.
3
+ *
4
+ * @module
5
+ */
6
+ import { VFSItem } from './provider.js';
7
+ /**
8
+ * Sorts VFS items by a field (name/size/date/owner), non-destructively.
9
+ *
10
+ * Strings are compared with localeCompare, numbers numerically; mismatched or
11
+ * unsupported types are left in their original relative order.
12
+ *
13
+ * @param items - Items to sort.
14
+ * @param sortField - Field to sort by (default 'name').
15
+ * @param reverse - Whether to reverse the resulting order.
16
+ * @returns A new sorted array.
17
+ */
18
+ export declare function vfsItems_sort(items: VFSItem[], sortField?: 'name' | 'size' | 'date' | 'owner', reverse?: boolean): VFSItem[];
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.vfsItems_sort = vfsItems_sort;
4
+ /**
5
+ * Sorts VFS items by a field (name/size/date/owner), non-destructively.
6
+ *
7
+ * Strings are compared with localeCompare, numbers numerically; mismatched or
8
+ * unsupported types are left in their original relative order.
9
+ *
10
+ * @param items - Items to sort.
11
+ * @param sortField - Field to sort by (default 'name').
12
+ * @param reverse - Whether to reverse the resulting order.
13
+ * @returns A new sorted array.
14
+ */
15
+ function vfsItems_sort(items, sortField, reverse) {
16
+ const field = sortField || 'name';
17
+ const sorted = [...items].sort((a, b) => {
18
+ const valA = a[field];
19
+ const valB = b[field];
20
+ if (typeof valA === 'string' && typeof valB === 'string') {
21
+ return valA.localeCompare(valB);
22
+ }
23
+ if (typeof valA === 'number' && typeof valB === 'number') {
24
+ return valA - valB;
25
+ }
26
+ return 0;
27
+ });
28
+ if (reverse) {
29
+ sorted.reverse();
30
+ }
31
+ return sorted;
32
+ }
33
+ //# sourceMappingURL=sort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../src/vfs/sort.ts"],"names":[],"mappings":";;AAkBA,sCAqBC;AAhCD;;;;;;;;;;GAUG;AACH,SAAgB,aAAa,CAC3B,KAAgB,EAChB,SAA8C,EAC9C,OAAiB;IAEjB,MAAM,KAAK,GAAkB,SAAS,IAAI,MAAM,CAAC;IACjD,MAAM,MAAM,GAAc,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;QACnE,MAAM,IAAI,GAA2B,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,IAAI,GAA2B,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzD,OAAO,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fnndsc/salsa",
3
- "version": "3.2.4",
3
+ "version": "3.2.6",
4
4
  "description": "Shared Application Logic and Service Assets for ChRIS",
5
5
  "repository": {
6
6
  "type": "git",
@@ -40,18 +40,19 @@
40
40
  "@babel/core": "^7.28.5",
41
41
  "@babel/preset-env": "^7.28.5",
42
42
  "@babel/preset-typescript": "^7.28.5",
43
- "@types/jest": "^29.5.12",
44
- "babel-jest": "^29.7.0",
45
- "jest": "^29.7.0",
46
- "ts-jest": "^29.1.5",
47
- "typescript": "^5.0.0"
43
+ "@types/jest": "^30.0.0",
44
+ "babel-jest": "^30.2.0",
45
+ "jest": "^30.2.0",
46
+ "ts-jest": "^29.4.5",
47
+ "typescript": "^5.0.0",
48
+ "@types/node": "^22.0.0"
48
49
  },
49
50
  "overrides": {
50
51
  "glob": "^10.0.0",
51
52
  "inflight": "npm:@aashutoshrathi/word-wrap@^1.2.6"
52
53
  },
53
54
  "dependencies": {
54
- "@fnndsc/cumin": "^3.2.4",
55
+ "@fnndsc/cumin": "^3.3.0",
55
56
  "axios": "^1.6.8"
56
57
  }
57
58
  }