@openneuro/search 4.20.5 → 4.20.6-alpha.3

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/auth.js CHANGED
@@ -8,7 +8,7 @@ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
8
8
  /** Create a dataset:indexing scoped token for search indexing */
9
9
  function indexingToken(secret) {
10
10
  return jsonwebtoken_1.default.sign({
11
- scopes: ['dataset:indexing'],
11
+ scopes: ["dataset:indexing"],
12
12
  }, secret, { expiresIn: 60 * 60 * 3 });
13
13
  }
14
14
  exports.indexingToken = indexingToken;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { DatasetsIndex } from './indexes/datasets';
2
- import { DatasetQueryResult, indexDataset, indexQuery, queryForIndex } from './query';
3
- import { indexingToken } from './auth';
4
- export { DatasetsIndex, DatasetQueryResult, indexDataset, indexQuery, queryForIndex, indexingToken, };
1
+ import { DatasetsIndex } from "./indexes/datasets";
2
+ import { DatasetQueryResult, indexDataset, indexQuery, queryForIndex } from "./query";
3
+ import { indexingToken } from "./auth";
4
+ export { DatasetQueryResult, DatasetsIndex, indexDataset, indexingToken, indexQuery, queryForIndex, };
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,aAAa,EACd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,GACd,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,aAAa,EACd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,GACd,CAAA"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.indexingToken = exports.queryForIndex = exports.indexQuery = exports.indexDataset = exports.DatasetsIndex = void 0;
3
+ exports.queryForIndex = exports.indexQuery = exports.indexingToken = exports.indexDataset = exports.DatasetsIndex = void 0;
4
4
  const datasets_1 = require("./indexes/datasets");
5
5
  Object.defineProperty(exports, "DatasetsIndex", { enumerable: true, get: function () { return datasets_1.DatasetsIndex; } });
6
6
  const query_1 = require("./query");
@@ -7,7 +7,7 @@ exports.DatasetsIndex = void 0;
7
7
  const datasets_mapping_json_1 = __importDefault(require("../mappings/datasets-mapping.json"));
8
8
  const names_1 = require("../names");
9
9
  exports.DatasetsIndex = {
10
- name: (0, names_1.elasticMappingName)('datasets', datasets_mapping_json_1.default),
10
+ name: (0, names_1.elasticMappingName)("datasets", datasets_mapping_json_1.default),
11
11
  mapping: datasets_mapping_json_1.default,
12
12
  };
13
13
  exports.default = exports.DatasetsIndex;
package/dist/names.js CHANGED
@@ -9,7 +9,7 @@ const crypto_1 = __importDefault(require("crypto"));
9
9
  * Hash mapping objects to provide a stable index name if the mapping is unchanged
10
10
  * @param mapping ElasticSearch mapping object
11
11
  */
12
- const hashElasticMapping = (mapping) => crypto_1.default.createHash('sha1').update(JSON.stringify(mapping)).digest('hex');
12
+ const hashElasticMapping = (mapping) => crypto_1.default.createHash("sha1").update(JSON.stringify(mapping)).digest("hex");
13
13
  exports.hashElasticMapping = hashElasticMapping;
14
14
  const elasticMappingName = (name, mapping) => `${name}-${(0, exports.hashElasticMapping)(mapping)}`;
15
15
  exports.elasticMappingName = elasticMappingName;
package/dist/query.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Client as ElasticClient, RequestParams, ApiResponse } from '@elastic/elasticsearch';
2
- import { ApolloClient, NormalizedCacheObject } from '@apollo/client';
1
+ import { ApiResponse, Client as ElasticClient, RequestParams } from "@elastic/elasticsearch";
2
+ import { ApolloClient, NormalizedCacheObject } from "@apollo/client";
3
3
  export declare const INDEX_DATASET_FRAGMENT: import("@apollo/client").DocumentNode;
4
4
  export declare const indexDatasetQuery: import("@apollo/client").DocumentNode;
5
5
  export declare const indexQuery: import("@apollo/client").DocumentNode;
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,IAAI,aAAa,EAEvB,aAAa,EAEb,WAAW,EACZ,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAO,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAGzE,eAAO,MAAM,sBAAsB,uCA0ElC,CAAA;AAED,eAAO,MAAM,iBAAiB,uCAO7B,CAAA;AAED,eAAO,MAAM,UAAU,uCAoBtB,CAAA;AAGD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACnC,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,kBAAkB,GAC7B,aAAa,CAAC,KAAK,CASrB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,YAAY,CAAC,qBAAqB,CAAC,EACjD,SAAS,EAAE,MAAM,4DAOlB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,WAAW,CAAC,CAUtB"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,MAAM,IAAI,aAAa,EAEvB,aAAa,EACd,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAO,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAGzE,eAAO,MAAM,sBAAsB,uCA0ElC,CAAA;AAED,eAAO,MAAM,iBAAiB,uCAO7B,CAAA;AAED,eAAO,MAAM,UAAU,uCAoBtB,CAAA;AAGD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACnC,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,kBAAkB,GAC7B,aAAa,CAAC,KAAK,CASrB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,YAAY,CAAC,qBAAqB,CAAC,EACjD,SAAS,EAAE,MAAM,4DAOlB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,WAAW,CAAC,CAUtB"}
package/dist/query.js CHANGED
@@ -131,7 +131,7 @@ function queryForIndex(apolloClient, datasetId) {
131
131
  return apolloClient.query({
132
132
  query: exports.indexDatasetQuery,
133
133
  variables: { datasetId },
134
- errorPolicy: 'all',
134
+ errorPolicy: "all",
135
135
  });
136
136
  }
137
137
  exports.queryForIndex = queryForIndex;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openneuro/search",
3
- "version": "4.20.5",
3
+ "version": "4.20.6-alpha.3",
4
4
  "description": "OpenNeuro search client functions.",
5
5
  "main": "dist/index.js",
6
6
  "browser": "src/index.ts",
@@ -17,7 +17,7 @@
17
17
  "dependencies": {
18
18
  "@apollo/client": "3.7.2",
19
19
  "@elastic/elasticsearch": "7.15.0",
20
- "graphql": "16.6.0",
20
+ "graphql": "16.8.1",
21
21
  "jsonwebtoken": "^9.0.0"
22
22
  },
23
23
  "devDependencies": {
@@ -29,5 +29,5 @@
29
29
  "publishConfig": {
30
30
  "access": "public"
31
31
  },
32
- "gitHead": "d397dba94af3bf8482b8a082b8f8d28a79232488"
32
+ "gitHead": "74d0a6d75494f382655482c563a52d6ed82477ec"
33
33
  }
@@ -1,47 +1,47 @@
1
- import { extractDatasetDocument } from '../query'
1
+ import { extractDatasetDocument } from "../query"
2
2
 
3
- describe('indexDatasets', () => {
4
- describe('extractDatasetDocument', () => {
5
- it('filters __typename fields', () => {
3
+ describe("indexDatasets", () => {
4
+ describe("extractDatasetDocument", () => {
5
+ it("filters __typename fields", () => {
6
6
  expect(
7
7
  extractDatasetDocument({
8
- id: 'ds000005',
8
+ id: "ds000005",
9
9
  metadata: {
10
- species: 'Human',
10
+ species: "Human",
11
11
  },
12
12
  latestSnapshot: {
13
- id: 'ds000005:1.0.0',
14
- tag: '1.0.0',
15
- name: 'a test dataset',
16
- readme: 'a longer description of this dataset',
13
+ id: "ds000005:1.0.0",
14
+ tag: "1.0.0",
15
+ name: "a test dataset",
16
+ readme: "a longer description of this dataset",
17
17
  description: {
18
- Name: 'a test dataset',
19
- Authors: ['J. Doe', 'A. Nonymous'],
18
+ Name: "a test dataset",
19
+ Authors: ["J. Doe", "A. Nonymous"],
20
20
  },
21
- __typename: 'Snapshot',
21
+ __typename: "Snapshot",
22
22
  },
23
- __typename: 'Dataset',
23
+ __typename: "Dataset",
24
24
  }),
25
25
  ).toEqual(
26
26
  expect.objectContaining({
27
- id: 'ds000005',
27
+ id: "ds000005",
28
28
  body: {
29
- id: 'ds000005',
29
+ id: "ds000005",
30
30
  metadata: {
31
- species: 'Human',
31
+ species: "Human",
32
32
  },
33
33
  latestSnapshot: {
34
- id: 'ds000005:1.0.0',
35
- tag: '1.0.0',
36
- name: 'a test dataset',
37
- readme: 'a longer description of this dataset',
34
+ id: "ds000005:1.0.0",
35
+ tag: "1.0.0",
36
+ name: "a test dataset",
37
+ readme: "a longer description of this dataset",
38
38
  description: {
39
- Name: 'a test dataset',
40
- Authors: ['J. Doe', 'A. Nonymous'],
39
+ Name: "a test dataset",
40
+ Authors: ["J. Doe", "A. Nonymous"],
41
41
  },
42
- __typename: 'Snapshot',
42
+ __typename: "Snapshot",
43
43
  },
44
- __typename: 'Dataset',
44
+ __typename: "Dataset",
45
45
  },
46
46
  }),
47
47
  )
@@ -1,32 +1,32 @@
1
- import { hashElasticMapping } from '../names'
1
+ import { hashElasticMapping } from "../names"
2
2
 
3
3
  const simpleMapping = {
4
4
  properties: {
5
- id: { type: 'keyword' },
6
- created: { type: 'date' },
5
+ id: { type: "keyword" },
6
+ created: { type: "date" },
7
7
  },
8
8
  }
9
9
 
10
- describe('createIndices', () => {
11
- describe('hashElasticMapping()', () => {
12
- it('works with an empty object', () => {
10
+ describe("createIndices", () => {
11
+ describe("hashElasticMapping()", () => {
12
+ it("works with an empty object", () => {
13
13
  expect(hashElasticMapping({})).toEqual(
14
- 'bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f',
14
+ "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f",
15
15
  )
16
16
  })
17
- it('works with a simple mapping', () => {
17
+ it("works with a simple mapping", () => {
18
18
  expect(hashElasticMapping(simpleMapping)).toEqual(
19
- '21d2497ac57a2c5e2f258946c8efc2fcdb9221d2',
19
+ "21d2497ac57a2c5e2f258946c8efc2fcdb9221d2",
20
20
  )
21
21
  })
22
- it('returns only alphanumeric values', () => {
22
+ it("returns only alphanumeric values", () => {
23
23
  expect(hashElasticMapping(simpleMapping)).toMatch(/^[a-z0-9]+$/)
24
24
  })
25
- it('produces different hashes for objects with same byte length', () => {
25
+ it("produces different hashes for objects with same byte length", () => {
26
26
  const similarMapping = {
27
27
  properties: {
28
- id: { type: 'keyword' },
29
- treated: { type: 'date' },
28
+ id: { type: "keyword" },
29
+ treated: { type: "date" },
30
30
  },
31
31
  }
32
32
  expect(hashElasticMapping(simpleMapping)).not.toEqual(
package/src/auth.ts CHANGED
@@ -1,10 +1,10 @@
1
- import jwt from 'jsonwebtoken'
1
+ import jwt from "jsonwebtoken"
2
2
 
3
3
  /** Create a dataset:indexing scoped token for search indexing */
4
4
  export function indexingToken(secret: string): string {
5
5
  return jwt.sign(
6
6
  {
7
- scopes: ['dataset:indexing'],
7
+ scopes: ["dataset:indexing"],
8
8
  },
9
9
  secret,
10
10
  { expiresIn: 60 * 60 * 3 }, // 3 hours
package/src/index.ts CHANGED
@@ -1,16 +1,16 @@
1
- import { DatasetsIndex } from './indexes/datasets'
1
+ import { DatasetsIndex } from "./indexes/datasets"
2
2
  import {
3
3
  DatasetQueryResult,
4
4
  indexDataset,
5
5
  indexQuery,
6
6
  queryForIndex,
7
- } from './query'
8
- import { indexingToken } from './auth'
7
+ } from "./query"
8
+ import { indexingToken } from "./auth"
9
9
  export {
10
- DatasetsIndex,
11
10
  DatasetQueryResult,
11
+ DatasetsIndex,
12
12
  indexDataset,
13
+ indexingToken,
13
14
  indexQuery,
14
15
  queryForIndex,
15
- indexingToken,
16
16
  }
@@ -1,5 +1,5 @@
1
- import datasetsMapping from '../mappings/datasets-mapping.json'
2
- import { elasticMappingName } from '../names'
1
+ import datasetsMapping from "../mappings/datasets-mapping.json"
2
+ import { elasticMappingName } from "../names"
3
3
 
4
4
  interface IndexDefinition {
5
5
  name: string
@@ -7,7 +7,7 @@ interface IndexDefinition {
7
7
  }
8
8
 
9
9
  export const DatasetsIndex: IndexDefinition = {
10
- name: elasticMappingName('datasets', datasetsMapping),
10
+ name: elasticMappingName("datasets", datasetsMapping),
11
11
  mapping: datasetsMapping,
12
12
  }
13
13
 
package/src/names.ts CHANGED
@@ -1,11 +1,11 @@
1
- import crypto from 'crypto'
1
+ import crypto from "crypto"
2
2
 
3
3
  /**
4
4
  * Hash mapping objects to provide a stable index name if the mapping is unchanged
5
5
  * @param mapping ElasticSearch mapping object
6
6
  */
7
7
  export const hashElasticMapping = (mapping: Record<string, unknown>): string =>
8
- crypto.createHash('sha1').update(JSON.stringify(mapping)).digest('hex')
8
+ crypto.createHash("sha1").update(JSON.stringify(mapping)).digest("hex")
9
9
 
10
10
  export const elasticMappingName = (
11
11
  name: string,
package/src/query.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import {
2
+ // Interface of the generic API response
3
+ ApiResponse,
2
4
  Client as ElasticClient,
3
5
  // Object that contains the type definitions of every API method
4
6
  RequestParams,
5
- // Interface of the generic API response
6
- ApiResponse,
7
- } from '@elastic/elasticsearch'
8
- import { ApolloClient, gql, NormalizedCacheObject } from '@apollo/client'
9
- import { DatasetsIndex } from './indexes/datasets'
7
+ } from "@elastic/elasticsearch"
8
+ import { ApolloClient, gql, NormalizedCacheObject } from "@apollo/client"
9
+ import { DatasetsIndex } from "./indexes/datasets"
10
10
 
11
11
  export const INDEX_DATASET_FRAGMENT = gql`
12
12
  fragment DatasetIndex on Dataset {
@@ -152,7 +152,7 @@ export function queryForIndex(
152
152
  return apolloClient.query({
153
153
  query: indexDatasetQuery,
154
154
  variables: { datasetId },
155
- errorPolicy: 'all',
155
+ errorPolicy: "all",
156
156
  })
157
157
  }
158
158