annosearch 0.0.8 → 0.1.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.
@@ -45,9 +45,9 @@ class AnnoSearch {
45
45
  return yield (0, load_1.loadIndex)(indexId, uri, type);
46
46
  });
47
47
  }
48
- searchIndex(indexId, query, motivation, page) {
48
+ searchIndex(indexId, query, motivation, page, date) {
49
49
  return __awaiter(this, void 0, void 0, function* () {
50
- return (0, search_1.searchIndex)(indexId, query, motivation, this.maxHits, page, this.searchUrl);
50
+ return (0, search_1.searchIndex)(indexId, query, motivation, this.maxHits, page, this.searchUrl, date);
51
51
  });
52
52
  }
53
53
  initIndex(indexId) {
@@ -1 +1 @@
1
- {"version":3,"file":"AnnoSearch.js","sourceRoot":"","sources":["../src/AnnoSearch.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,qCAAyD;AACzD,iCAAmD;AACnD,qCAAyD;AACzD,iCAAmD;AASnD,SAAS,UAAU;IACf,OAAO;QACH,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC;QAC1D,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC;QACrD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,WAAW;QAChD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,uBAAuB;KAC1E,CAAC;AACN,CAAC;AAED,MAAM,UAAU;IAMZ,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,KAAa,UAAU,EAAE;QACjE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEK,SAAS,CAAC,OAAe,EAAE,GAAW,EAAE,IAAY;;YACtD,OAAO,MAAM,IAAA,gBAAY,EAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;KAAA;IAEK,WAAW,CAAC,OAAe,EAAE,KAAa,EAAE,UAAkB,EAAE,IAAY;;YAC9E,OAAO,IAAA,oBAAc,EAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1F,CAAC;KAAA;IAEK,SAAS,CAAC,OAAe;;YAC3B,OAAO,MAAM,IAAA,gBAAY,EAAC,OAAO,CAAC,CAAC;QACvC,CAAC;KAAA;IAEK,WAAW,CAAC,OAAe;;YAC7B,OAAO,MAAM,IAAA,oBAAc,EAAC,OAAO,CAAC,CAAC;QACzC,CAAC;KAAA;CACJ;AAED,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"AnnoSearch.js","sourceRoot":"","sources":["../src/AnnoSearch.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,qCAAyD;AACzD,iCAAmD;AACnD,qCAAyD;AACzD,iCAAmD;AASnD,SAAS,UAAU;IACf,OAAO;QACH,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC;QAC1D,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC;QACrD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,WAAW;QAChD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,uBAAuB;KAC1E,CAAC;AACN,CAAC;AAED,MAAM,UAAU;IAMZ,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,KAAa,UAAU,EAAE;QACjE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEK,SAAS,CAAC,OAAe,EAAE,GAAW,EAAE,IAAY;;YACtD,OAAO,MAAM,IAAA,gBAAY,EAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;KAAA;IAEK,WAAW,CAAC,OAAe,EAAE,KAAa,EAAE,UAAkB,EAAE,IAAY,EAAE,IAAY;;YAC5F,OAAO,IAAA,oBAAc,EAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAChG,CAAC;KAAA;IAEK,SAAS,CAAC,OAAe;;YAC3B,OAAO,MAAM,IAAA,gBAAY,EAAC,OAAO,CAAC,CAAC;QACvC,CAAC;KAAA;IAEK,WAAW,CAAC,OAAe;;YAC7B,OAAO,MAAM,IAAA,oBAAc,EAAC,OAAO,CAAC,CAAC;QACzC,CAAC;KAAA;CACJ;AAED,kBAAe,UAAU,CAAC"}
package/dist/iiif.js CHANGED
@@ -30,6 +30,7 @@ function makeSearchResponse(indexId, data, searchUrl, query, motivation, maxHits
30
30
  "@context": "http://www.w3.org/ns/anno.jsonld",
31
31
  id: hit.id,
32
32
  type: hit.type,
33
+ created: hit.created,
33
34
  body: hit.body,
34
35
  target: hit.target,
35
36
  motivation: hit.motivation,
package/dist/iiif.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"iiif.js","sourceRoot":"","sources":["../src/iiif.ts"],"names":[],"mappings":";;AAwCA,gDAqCC;AArCD,SAAgB,kBAAkB,CAAC,OAAe,EAAE,IAAS,EAAE,SAAiB,EAAE,KAAa,EAAE,UAAkB,EAAE,OAAe,EAAE,IAAY;IAC9I,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,MAAM,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,EAAE,GAAG,GAAG,SAAS,IAAI,OAAO,aAAa,CAAC,IAAI,eAAe,EAAE,CAAC;IAEtE,OAAO;QACH,UAAU,EAAE,kCAAkC;QAC9C,EAAE,EAAE,GAAG,EAAE,SAAS,IAAI,EAAE;QACxB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,KAAK,EAAE;gBACH,EAAE,EAAE,GAAG,EAAE,SAAS;gBAClB,IAAI,EAAE,gBAAgB;aACzB;YACD,IAAI,EAAE;gBACF,EAAE,EAAE,GAAG,EAAE,SAAS,UAAU,GAAG,CAAC,EAAE;gBAClC,IAAI,EAAE,gBAAgB;aACzB;SACJ,CAAC,CAAC,CAAC,SAAS;QACb,UAAU,EAAE,IAAI,GAAG,OAAO;QAC1B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;YAChC,UAAU,EAAE,kCAAkC;YAC9C,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,UAAU,EAAE,GAAG,CAAC,UAAU;SAC7B,CAAC,CAAC;QACH,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;QAC9D,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;KACjE,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"iiif.js","sourceRoot":"","sources":["../src/iiif.ts"],"names":[],"mappings":";;AAyCA,gDAsCC;AAtCD,SAAgB,kBAAkB,CAAC,OAAe,EAAE,IAAS,EAAE,SAAiB,EAAE,KAAa,EAAE,UAAkB,EAAE,OAAe,EAAE,IAAY;IAC9I,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,MAAM,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,EAAE,GAAG,GAAG,SAAS,IAAI,OAAO,aAAa,CAAC,IAAI,eAAe,EAAE,CAAC;IAEtE,OAAO;QACH,UAAU,EAAE,kCAAkC;QAC9C,EAAE,EAAE,GAAG,EAAE,SAAS,IAAI,EAAE;QACxB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,KAAK,EAAE;gBACH,EAAE,EAAE,GAAG,EAAE,SAAS;gBAClB,IAAI,EAAE,gBAAgB;aACzB;YACD,IAAI,EAAE;gBACF,EAAE,EAAE,GAAG,EAAE,SAAS,UAAU,GAAG,CAAC,EAAE;gBAClC,IAAI,EAAE,gBAAgB;aACzB;SACJ,CAAC,CAAC,CAAC,SAAS;QACb,UAAU,EAAE,IAAI,GAAG,OAAO;QAC1B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;YAChC,UAAU,EAAE,kCAAkC;YAC9C,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,UAAU,EAAE,GAAG,CAAC,UAAU;SAC7B,CAAC,CAAC;QACH,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;QAC9D,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;KACjE,CAAC;AACN,CAAC"}
package/dist/index.js CHANGED
@@ -41,6 +41,12 @@ function searchOptions(yargs) {
41
41
  description: 'Motivation',
42
42
  choices: ['painting', 'supplementing', 'contextualizing', 'contentState', 'highlighting', 'commenting', 'tagging'],
43
43
  demandOption: false,
44
+ })
45
+ .option('date', {
46
+ alias: 'd',
47
+ type: 'string',
48
+ description: 'Date range',
49
+ demandOption: false,
44
50
  })
45
51
  .option('page', {
46
52
  alias: 'p',
@@ -53,7 +59,7 @@ function searchOptions(yargs) {
53
59
  function searchCommand(argv) {
54
60
  return __awaiter(this, void 0, void 0, function* () {
55
61
  try {
56
- const results = yield client.searchIndex(argv.index, argv.query, argv.motivation, argv.page);
62
+ const results = yield client.searchIndex(argv.index, argv.query, argv.motivation, argv.page, argv.date);
57
63
  (0, utils_1.printJson)(results);
58
64
  }
59
65
  catch (error) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/search.js CHANGED
@@ -13,20 +13,36 @@ exports.searchIndex = searchIndex;
13
13
  const quickwit_1 = require("./quickwit");
14
14
  const errors_1 = require("./errors");
15
15
  const iiif_1 = require("./iiif");
16
+ const validate_1 = require("./validate");
16
17
  const contentType = 'application/json';
17
18
  const quickwitClient = (0, quickwit_1.createClient)(contentType);
18
- function searchIndex(indexId, q, motivation, maxHits, page, searchUrl) {
19
+ function buildDateQueryFromString(dateRangesString) {
20
+ // Split the string into an array using space as the delimiter
21
+ const dateRanges = dateRangesString.split(" ");
22
+ // Map each range into a Quickwit-compatible query fragment
23
+ return dateRanges
24
+ .map(range => {
25
+ const [start, end] = range.split("/");
26
+ if (!start || !end) {
27
+ throw new errors_1.AnnoSearchValidationError(`Invalid date range format: ${range}`);
28
+ }
29
+ return `created:[${start} TO ${end}]`;
30
+ })
31
+ .join(" OR ");
32
+ }
33
+ function searchIndex(indexId, q, motivation, maxHits, page, searchUrl, date) {
19
34
  return __awaiter(this, void 0, void 0, function* () {
20
35
  const startOffset = page * maxHits;
21
- if (startOffset < 0) {
22
- throw new errors_1.AnnoSearchValidationError('Invalid paging');
23
- }
24
- if (!q.trim()) {
25
- throw new errors_1.AnnoSearchValidationError('Missing query parameter');
26
- }
36
+ (0, validate_1.validateQueryParameter)(q);
37
+ (0, validate_1.validatePageNumber)(page);
38
+ (0, validate_1.validateMaxHits)(maxHits);
39
+ (0, validate_1.validateDateRanges)(date);
40
+ (0, validate_1.validateOffset)(startOffset);
41
+ const qQuery = `body.value:${q}`;
27
42
  const motivationQuery = motivation ? ` AND motivation:${motivation}` : '';
43
+ const dateQuery = date ? ` AND (${buildDateQueryFromString(date)})` : '';
28
44
  const response = yield quickwitClient.post(`${indexId}/search`, {
29
- query: `body.value:${q}${motivationQuery}`,
45
+ query: `${qQuery}${motivationQuery}${dateQuery}`,
30
46
  max_hits: maxHits,
31
47
  start_offset: startOffset,
32
48
  });
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":";;;;;;;;;;;AAQA,kCAoBC;AA5BD,yCAA0C;AAC1C,qCAAqD;AACrD,iCAA4C;AAE5C,MAAM,WAAW,GAAG,kBAAkB,CAAC;AACvC,MAAM,cAAc,GAAG,IAAA,uBAAY,EAAC,WAAW,CAAC,CAAC;AAGjD,SAAsB,WAAW,CAAC,OAAe,EAAE,CAAS,EAAE,UAAkB,EAAE,OAAe,EAAE,IAAY,EAAE,SAAiB;;QAC9H,MAAM,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC;QACnC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,kCAAyB,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,kCAAyB,CAAC,yBAAyB,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,SAAS,EAAE;YAC5D,KAAK,EAAE,cAAc,CAAC,GAAG,eAAe,EAAE;YAC1C,QAAQ,EAAE,OAAO;YACjB,YAAY,EAAE,WAAW;SAC5B,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3C,OAAO,IAAA,yBAAkB,EAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/F,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,kCAAyB,CAAC,wBAAwB,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;CAAA"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":";;;;;;;;;;;AAyBA,kCAqBC;AA9CD,yCAA0C;AAC1C,qCAAqD;AACrD,iCAA4C;AAC5C,yCAA6H;AAE7H,MAAM,WAAW,GAAG,kBAAkB,CAAC;AACvC,MAAM,cAAc,GAAG,IAAA,uBAAY,EAAC,WAAW,CAAC,CAAC;AAGjD,SAAS,wBAAwB,CAAC,gBAAwB;IACtD,8DAA8D;IAC9D,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE/C,2DAA2D;IAC3D,OAAO,UAAU;SACZ,GAAG,CAAC,KAAK,CAAC,EAAE;QACT,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,kCAAyB,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,YAAY,KAAK,OAAO,GAAG,GAAG,CAAC;IAC1C,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,SAAsB,WAAW,CAAC,OAAe,EAAE,CAAS,EAAE,UAAkB,EAAE,OAAe,EAAE,IAAY,EAAE,SAAiB,EAAE,IAAY;;QAC5I,MAAM,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC;QACnC,IAAA,iCAAsB,EAAC,CAAC,CAAC,CAAC;QAC1B,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAC;QACzB,IAAA,0BAAe,EAAC,OAAO,CAAC,CAAC;QACzB,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAC;QACzB,IAAA,yBAAc,EAAC,WAAW,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,SAAS,EAAE;YAC5D,KAAK,EAAE,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS,EAAE;YAChD,QAAQ,EAAE,OAAO;YACjB,YAAY,EAAE,WAAW;SAC5B,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3C,OAAO,IAAA,yBAAkB,EAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/F,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,kCAAyB,CAAC,wBAAwB,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;CAAA"}
package/dist/server.js CHANGED
@@ -52,18 +52,9 @@ function serve(client) {
52
52
  app.get('/:index/search', (req, res) => __awaiter(this, void 0, void 0, function* () {
53
53
  try {
54
54
  const { index = '' } = req.params;
55
- const { q = '', page = '0', motivation = undefined } = req.query;
56
- const pageNumber = parseInt(page);
57
- const maxHits = client.getMaxHits();
58
- // Validate the 'page' parameter
59
- if (!Number.isInteger(pageNumber) || pageNumber < 0) {
60
- throw new errors_1.AnnoSearchValidationError('Invalid "page" parameter: must be a non-negative integer');
61
- }
62
- // Validate the 'maxHits' parameter
63
- if (!Number.isInteger(maxHits) || maxHits <= 0) {
64
- throw new errors_1.AnnoSearchValidationError('Invalid "maxHits" configuration: must be a positive integer');
65
- }
66
- const results = yield client.searchIndex(index, q, motivation, pageNumber);
55
+ const { q = '', page = '0', motivation = undefined, date = undefined } = req.query;
56
+ const pageNumber = Number(page);
57
+ const results = yield client.searchIndex(index, q, motivation, pageNumber, date);
67
58
  res.json(results);
68
59
  }
69
60
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUlB,sBA6CC;AArDD,sDAA8B;AAE9B,kDAA0C,CAAC,mCAAmC;AAC9E,mCAAyC;AACzC,mDAAmD,CAAC,uBAAuB;AAC3E,0DAAiC;AACjC,qCAA8E;AAE9E,SAAsB,KAAK,CAAC,MAAkB;;QAC1C,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAE7B,GAAG,CAAC,GAAG,CAAC,IAAA,mBAAQ,EAAC,EAAE,MAAM,EAAN,gBAAM,EAAE,CAAC,CAAC,CAAC;QAE9B,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;YACzC,IAAI,CAAC;gBACD,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;gBAClC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,UAAU,GAAG,SAAS,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;gBACjE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAc,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBACpC,gCAAgC;gBAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBAClD,MAAM,IAAI,kCAAyB,CAAC,0DAA0D,CAAC,CAAC;gBACpG,CAAC;gBACD,mCAAmC;gBACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;oBAC7C,MAAM,IAAI,kCAAyB,CAAC,6DAA6D,CAAC,CAAC;gBACvG,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,KAAe,EAAE,CAAW,EAAE,UAAoB,EAAE,UAAU,CAAC,CAAC;gBACzG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBAClB,IAAA,sBAAc,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QAEH,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;YACnC,IAAI,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAP,sBAAO,EAAE,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAA,sBAAc,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QAEH,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,IAAI,gCAAuB,CAAC,kBAAkB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7F,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,wBAAe,CAAC,CAAC;QAEzB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACP,CAAC;CAAA"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUlB,sBAoCC;AA5CD,sDAA8B;AAE9B,kDAA0C,CAAC,mCAAmC;AAC9E,mCAAyC;AACzC,mDAAmD,CAAC,uBAAuB;AAC3E,0DAAiC;AACjC,qCAAmD;AAEnD,SAAsB,KAAK,CAAC,MAAkB;;QAC1C,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAE7B,GAAG,CAAC,GAAG,CAAC,IAAA,mBAAQ,EAAC,EAAE,MAAM,EAAN,gBAAM,EAAE,CAAC,CAAC,CAAC;QAE9B,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;YACzC,IAAI,CAAC;gBACD,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;gBAClC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,UAAU,GAAG,SAAS,EAAG,IAAI,GAAG,SAAS,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;gBACpF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,KAAe,EAAE,CAAW,EAAE,UAAoB,EAAE,UAAU,EAAE,IAAc,CAAC,CAAC;gBACzH,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBAClB,IAAA,sBAAc,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QAEH,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;YACnC,IAAI,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAP,sBAAO,EAAE,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAA,sBAAc,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QAEH,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,IAAI,gCAAuB,CAAC,kBAAkB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7F,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,wBAAe,CAAC,CAAC;QAEzB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACP,CAAC;CAAA"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateQueryParameter = validateQueryParameter;
4
+ exports.validateOffset = validateOffset;
5
+ exports.validatePageNumber = validatePageNumber;
6
+ exports.validateMaxHits = validateMaxHits;
7
+ exports.validateDateRanges = validateDateRanges;
8
+ const errors_1 = require("./errors");
9
+ function validateQueryParameter(query) {
10
+ if (!query.trim()) {
11
+ throw new errors_1.AnnoSearchValidationError('Missing query parameter');
12
+ }
13
+ }
14
+ function validateOffset(offset) {
15
+ if (offset < 0) {
16
+ throw new errors_1.AnnoSearchValidationError('Invalid paging');
17
+ }
18
+ }
19
+ function validatePageNumber(pageNumber) {
20
+ if (!Number.isInteger(pageNumber) || pageNumber < 0) {
21
+ throw new errors_1.AnnoSearchValidationError('Invalid "page" parameter: must be a non-negative integer');
22
+ }
23
+ }
24
+ function validateMaxHits(maxHits) {
25
+ if (!Number.isInteger(maxHits) || maxHits <= 0) {
26
+ throw new errors_1.AnnoSearchValidationError('Invalid "maxHits" configuration: must be a positive integer');
27
+ }
28
+ }
29
+ function validateDateRanges(ranges) {
30
+ // handle when not included
31
+ if (ranges === undefined) {
32
+ return;
33
+ }
34
+ // Split the ranges by space
35
+ const rangeList = ranges.split(" ");
36
+ // Define the regex pattern for a valid date range in ISO8601 format
37
+ const rangePattern = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z\/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/;
38
+ // Check each range
39
+ for (const range of rangeList) {
40
+ if (!rangePattern.test(range)) {
41
+ throw new errors_1.AnnoSearchValidationError(`Invalid range format: ${range}`);
42
+ }
43
+ // Further validate that the start date is before the end date
44
+ const [start, end] = range.split("/");
45
+ const startDate = new Date(start);
46
+ const endDate = new Date(end);
47
+ if (isNaN(startDate.getTime()) || isNaN(endDate.getTime()) || startDate > endDate) {
48
+ throw new errors_1.AnnoSearchValidationError(`Invalid date range: ${range}`);
49
+ }
50
+ }
51
+ }
52
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":";;AAEA,wDAIC;AAED,wCAIC;AAED,gDAIC;AAED,0CAIC;AAED,gDAwBC;AAlDD,qCAAqD;AAErD,SAAgB,sBAAsB,CAAC,KAAa;IAChD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,kCAAyB,CAAC,yBAAyB,CAAC,CAAC;IACnE,CAAC;AACL,CAAC;AAED,SAAgB,cAAc,CAAC,MAAc;IACzC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,kCAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC;AACL,CAAC;AAED,SAAgB,kBAAkB,CAAC,UAAkB;IACjD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,kCAAyB,CAAC,0DAA0D,CAAC,CAAC;IACpG,CAAC;AACL,CAAC;AAED,SAAgB,eAAe,CAAC,OAAe;IAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,kCAAyB,CAAC,6DAA6D,CAAC,CAAC;IACvG,CAAC;AACL,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAe;IAC9C,2BAA2B;IAC3B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAM;IACV,CAAC;IACD,4BAA4B;IAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,oEAAoE;IACpE,MAAM,YAAY,GAAG,8EAA8E,CAAC;IACpG,mBAAmB;IACnB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,kCAAyB,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,8DAA8D;QAC9D,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QAE9B,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,SAAS,GAAG,OAAO,EAAE,CAAC;YAChF,MAAM,IAAI,kCAAyB,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "annosearch",
3
- "version": "0.0.8",
3
+ "version": "0.1.0",
4
4
  "main": "dist/index.js",
5
5
  "files": [
6
6
  "dist/**/*"
@@ -20,7 +20,7 @@
20
20
  "IIIF Content Search API"
21
21
  ], "author": "John P. T. Moore",
22
22
  "license": "MIT",
23
- "description": "W3C web annotation search using the IIIF content search AP",
23
+ "description": "W3C web annotation search using the IIIF content search API",
24
24
  "devDependencies": {
25
25
  "@types/express": "^5.0.0",
26
26
  "@types/node": "^22.8.4",