@spotto/contract 0.2.0-alpha.6 → 0.2.1-alpha.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.
@@ -3,6 +3,9 @@ export interface ILastLocation extends IEmbeddedEntity {
3
3
  firstSeen: number;
4
4
  lastSeen: number;
5
5
  }
6
+ export interface ICandidateLocation extends IEmbeddedEntity {
7
+ confidence: number;
8
+ }
6
9
  export interface GetAssetResponse {
7
10
  id: string;
8
11
  name: string;
@@ -10,6 +13,8 @@ export interface GetAssetResponse {
10
13
  score?: number;
11
14
  meta?: IEntityMeta;
12
15
  lastLocation?: ILastLocation;
16
+ candidateLocations?: ICandidateLocation[];
13
17
  }
18
+ export declare const candidateLocationSchema: import("joi").ObjectSchema<IEmbeddedEntity & ICandidateLocation>;
14
19
  export declare const getAssetResponseSchema: import("joi").ObjectSchema<GetAssetResponse>;
15
20
  export declare const validateGetAssetResponse: (payload: any) => GetAssetResponse;
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateGetAssetResponse = exports.getAssetResponseSchema = void 0;
3
+ exports.validateGetAssetResponse = exports.getAssetResponseSchema = exports.candidateLocationSchema = void 0;
4
4
  const joi_1 = require("joi");
5
5
  const shared_1 = require("../../shared");
6
+ exports.candidateLocationSchema = shared_1.embeddedEntitySchema().append({
7
+ confidence: joi_1.number().strict().min(0).max(100).required(),
8
+ });
6
9
  exports.getAssetResponseSchema = joi_1.object({
7
10
  id: shared_1.xObjectId.required(),
8
11
  name: shared_1.xString.required(),
@@ -13,6 +16,7 @@ exports.getAssetResponseSchema = joi_1.object({
13
16
  firstSeen: shared_1.xTime.required(),
14
17
  lastSeen: shared_1.xTime.required(),
15
18
  }),
19
+ candidateLocations: joi_1.array().items(exports.candidateLocationSchema),
16
20
  });
17
21
  const validateGetAssetResponse = (payload) => shared_1.validateJoiSchema(exports.getAssetResponseSchema, payload);
18
22
  exports.validateGetAssetResponse = validateGetAssetResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/types/assets/[id]/get.ts"],"names":[],"mappings":";;;AAAA,6BAAqC;AACrC,yCAUsB;AA6BT,QAAA,sBAAsB,GAAG,YAAM,CAAmB;IAE7D,EAAE,EAAE,kBAAS,CAAC,QAAQ,EAAE;IACxB,IAAI,EAAE,gBAAO,CAAC,QAAQ,EAAE;IAGxB,KAAK,EAAE,YAAM,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,EAAE,yBAAgB;IACtB,MAAM,EAAE,wBAAe,EAAE;IACzB,YAAY,EAAE,6BAAoB,EAAiB,CAAC,MAAM,CAAC;QACzD,SAAS,EAAE,cAAK,CAAC,QAAQ,EAAE;QAC3B,QAAQ,EAAE,cAAK,CAAC,QAAQ,EAAE;KAC3B,CAAC;CACH,CAAC,CAAC;AAEI,MAAM,wBAAwB,GAAG,CAAC,OAAY,EAAE,EAAE,CACvD,0BAAiB,CAAmB,8BAAsB,EAAE,OAAO,CAAC,CAAC;AAD1D,QAAA,wBAAwB,4BACkC"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/types/assets/[id]/get.ts"],"names":[],"mappings":";;;AAAA,6BAA4C;AAC5C,yCAUsB;AAmCT,QAAA,uBAAuB,GAClC,6BAAoB,EAAsB,CAAC,MAAM,CAAC;IAChD,UAAU,EAAE,YAAM,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACzD,CAAC,CAAC;AAEQ,QAAA,sBAAsB,GAAG,YAAM,CAAmB;IAE7D,EAAE,EAAE,kBAAS,CAAC,QAAQ,EAAE;IACxB,IAAI,EAAE,gBAAO,CAAC,QAAQ,EAAE;IAGxB,KAAK,EAAE,YAAM,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,EAAE,yBAAgB;IACtB,MAAM,EAAE,wBAAe,EAAE;IACzB,YAAY,EAAE,6BAAoB,EAAiB,CAAC,MAAM,CAAC;QACzD,SAAS,EAAE,cAAK,CAAC,QAAQ,EAAE;QAC3B,QAAQ,EAAE,cAAK,CAAC,QAAQ,EAAE;KAC3B,CAAC;IACF,kBAAkB,EAAE,WAAK,EAAE,CAAC,KAAK,CAAC,+BAAuB,CAAC;CAC3D,CAAC,CAAC;AAEI,MAAM,wBAAwB,GAAG,CAAC,OAAY,EAAE,EAAE,CACvD,0BAAiB,CAAmB,8BAAsB,EAAE,OAAO,CAAC,CAAC;AAD1D,QAAA,wBAAwB,4BACkC"}
@@ -1,7 +1,8 @@
1
- import { ILastLocation } from './get';
1
+ import { ILastLocation, ICandidateLocation } from './get';
2
2
  export interface GetAssetLastLocationResponse {
3
3
  id: string;
4
4
  lastLocation: ILastLocation | null;
5
+ candidateLocations?: ICandidateLocation[];
5
6
  }
6
7
  export declare const getAssetLastLocationResponseSchema: import("joi").ObjectSchema<GetAssetLastLocationResponse>;
7
8
  export declare const validateGetAssetLastLocationResponse: (payload: any) => GetAssetLastLocationResponse;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateGetAssetLastLocationResponse = exports.getAssetLastLocationResponseSchema = void 0;
4
4
  const joi_1 = require("joi");
5
5
  const shared_1 = require("../../shared");
6
+ const get_1 = require("./get");
6
7
  exports.getAssetLastLocationResponseSchema = joi_1.object({
7
8
  id: shared_1.xObjectId.required(),
8
9
  lastLocation: shared_1.embeddedEntitySchema()
@@ -12,6 +13,7 @@ exports.getAssetLastLocationResponseSchema = joi_1.object({
12
13
  })
13
14
  .allow(null)
14
15
  .required(),
16
+ candidateLocations: joi_1.array().items(get_1.candidateLocationSchema),
15
17
  });
16
18
  const validateGetAssetLastLocationResponse = (payload) => shared_1.validateJoiSchema(exports.getAssetLastLocationResponseSchema, payload);
17
19
  exports.validateGetAssetLastLocationResponse = validateGetAssetLastLocationResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"location.js","sourceRoot":"","sources":["../../../../src/types/assets/[id]/location.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,yCAKsB;AAWT,QAAA,kCAAkC,GAAG,YAAM,CACtD;IAEE,EAAE,EAAE,kBAAS,CAAC,QAAQ,EAAE;IAGxB,YAAY,EAAE,6BAAoB,EAAiB;SAChD,MAAM,CAAC;QACN,SAAS,EAAE,cAAK,CAAC,QAAQ,EAAE;QAC3B,QAAQ,EAAE,cAAK,CAAC,QAAQ,EAAE;KAC3B,CAAC;SACD,KAAK,CAAC,IAAI,CAAC;SACX,QAAQ,EAAE;CACd,CACF,CAAC;AAEK,MAAM,oCAAoC,GAAG,CAAC,OAAY,EAAE,EAAE,CACnE,0BAAiB,CACf,0CAAkC,EAClC,OAAO,CACR,CAAC;AAJS,QAAA,oCAAoC,wCAI7C"}
1
+ {"version":3,"file":"location.js","sourceRoot":"","sources":["../../../../src/types/assets/[id]/location.ts"],"names":[],"mappings":";;;AAAA,6BAAoC;AACpC,yCAKsB;AACtB,+BAIe;AAWF,QAAA,kCAAkC,GAC7C,YAAM,CAA+B;IAEnC,EAAE,EAAE,kBAAS,CAAC,QAAQ,EAAE;IAGxB,YAAY,EAAE,6BAAoB,EAAiB;SAChD,MAAM,CAAC;QACN,SAAS,EAAE,cAAK,CAAC,QAAQ,EAAE;QAC3B,QAAQ,EAAE,cAAK,CAAC,QAAQ,EAAE;KAC3B,CAAC;SACD,KAAK,CAAC,IAAI,CAAC;SACX,QAAQ,EAAE;IACb,kBAAkB,EAAE,WAAK,EAAE,CAAC,KAAK,CAAC,6BAAuB,CAAC;CAC3D,CAAC,CAAC;AAEE,MAAM,oCAAoC,GAAG,CAAC,OAAY,EAAE,EAAE,CACnE,0BAAiB,CACf,0CAAkC,EAClC,OAAO,CACR,CAAC;AAJS,QAAA,oCAAoC,wCAI7C"}
@@ -1,6 +1,6 @@
1
1
  import { SearchableSortFields, SortOrders } from '../../shared';
2
2
  export declare type AssetSearchField = 'name' | 'tagIds';
3
- export declare type AssetEmbedField = 'meta' | 'tagIds' | 'lastLocation';
3
+ export declare type AssetEmbedField = 'meta' | 'tagIds' | 'lastLocation' | 'candidateLocations';
4
4
  export interface GetAssetsQuery {
5
5
  page?: number;
6
6
  limit?: number;
@@ -15,7 +15,7 @@ exports.getAssetsQuerySchema = joi_1.object({
15
15
  search: shared_1.xString.lowercase(),
16
16
  searchFuzzy: shared_1.xBool,
17
17
  searchFields: shared_1.xArrayOfRequiredStrings('name', 'tagIds'),
18
- embed: shared_1.xArrayOfRequiredStrings('meta', 'tagIds', 'lastLocation'),
18
+ embed: shared_1.xArrayOfRequiredStrings('meta', 'tagIds', 'lastLocation', 'candidateLocations'),
19
19
  });
20
20
  const validateGetAssetsQuery = (payload) => shared_1.validateOptionalJoiSchema(exports.getAssetsQuerySchema, payload);
21
21
  exports.validateGetAssetsQuery = validateGetAssetsQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/types/assets/get/query.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,yCAYsB;AAwET,QAAA,oBAAoB,GAAG,YAAM,CAAiB;IAEzD,IAAI,EAAE,aAAI;IACV,KAAK,EAAE,aAAI;IAGX,GAAG,EAAE,0BAAiB,CAAC,IAAI,CAAC;IAC5B,MAAM,EAAE,wBAAe,CAAC,IAAI,CAAC;IAC7B,OAAO,EAAE,cAAK;IACd,QAAQ,EAAE,cAAK;IAGf,IAAI,EAAE,8BAAqB;IAC3B,SAAS,EAAE,mBAAU;IAGrB,MAAM,EAAE,gBAAO,CAAC,SAAS,EAAE;IAC3B,WAAW,EAAE,cAAK;IAClB,YAAY,EAAE,gCAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAGvD,KAAK,EAAE,gCAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC;CACjE,CAAC,CAAC;AAEI,MAAM,sBAAsB,GAAG,CAAC,OAAY,EAAE,EAAE,CACrD,kCAAyB,CAAiB,4BAAoB,EAAE,OAAO,CAAC,CAAC;AAD9D,QAAA,sBAAsB,0BACwC"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/types/assets/get/query.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,yCAYsB;AA4ET,QAAA,oBAAoB,GAAG,YAAM,CAAiB;IAEzD,IAAI,EAAE,aAAI;IACV,KAAK,EAAE,aAAI;IAGX,GAAG,EAAE,0BAAiB,CAAC,IAAI,CAAC;IAC5B,MAAM,EAAE,wBAAe,CAAC,IAAI,CAAC;IAC7B,OAAO,EAAE,cAAK;IACd,QAAQ,EAAE,cAAK;IAGf,IAAI,EAAE,8BAAqB;IAC3B,SAAS,EAAE,mBAAU;IAGrB,MAAM,EAAE,gBAAO,CAAC,SAAS,EAAE;IAC3B,WAAW,EAAE,cAAK;IAClB,YAAY,EAAE,gCAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAGvD,KAAK,EAAE,gCAAuB,CAC5B,MAAM,EACN,QAAQ,EACR,cAAc,EACd,oBAAoB,CACrB;CACF,CAAC,CAAC;AAEI,MAAM,sBAAsB,GAAG,CAAC,OAAY,EAAE,EAAE,CACrD,kCAAyB,CAAiB,4BAAoB,EAAE,OAAO,CAAC,CAAC;AAD9D,QAAA,sBAAsB,0BACwC"}
@@ -1,5 +1,5 @@
1
1
  import { PostReaderRequest } from '../../post';
2
- export declare type UpdateReaderRequest = Partial<Omit<PostReaderRequest, 'deviceType'>> & {
2
+ export declare type UpdateReaderRequest = Partial<Omit<PostReaderRequest, 'deviceType' | 'type'>> & {
3
3
  archived?: boolean;
4
4
  };
5
5
  export declare const updateReaderRequestSchema: import("joi").ObjectSchema<UpdateReaderRequest>;
@@ -4,10 +4,8 @@ exports.validateUpdateReaderRequest = exports.updateReaderRequestSchema = void 0
4
4
  const joi_1 = require("joi");
5
5
  const networks_1 = require("../../../networks");
6
6
  const schema_1 = require("../../../shared/schema");
7
- const constants_1 = require("../../constants");
8
7
  const post_1 = require("../../post");
9
8
  exports.updateReaderRequestSchema = joi_1.object({
10
- type: schema_1.xStringIsOneOf(...constants_1.READER_TYPES),
11
9
  archived: schema_1.xBool,
12
10
  deviceId: schema_1.xString,
13
11
  name: joi_1.when('type', {
@@ -15,43 +13,11 @@ exports.updateReaderRequestSchema = joi_1.object({
15
13
  then: schema_1.xString.required(),
16
14
  otherwise: schema_1.xString.allow(''),
17
15
  }),
18
- locationId: joi_1.when('type', {
19
- switch: [
20
- {
21
- is: 'FIXED',
22
- then: schema_1.xObjectId
23
- .required()
24
- .when('location', { is: joi_1.exist(), then: joi_1.forbidden() }),
25
- },
26
- {
27
- is: joi_1.forbidden(),
28
- then: schema_1.xObjectId,
29
- },
30
- ],
31
- otherwise: joi_1.forbidden(),
32
- }),
33
- location: joi_1.when('type', {
34
- switch: [
35
- {
36
- is: 'FIXED',
37
- then: post_1.upsertedLocationSchema
38
- .required()
39
- .when('locationId', { is: joi_1.exist(), then: joi_1.forbidden() }),
40
- },
41
- {
42
- is: joi_1.forbidden(),
43
- then: post_1.upsertedLocationSchema,
44
- },
45
- ],
46
- otherwise: joi_1.forbidden(),
47
- }),
16
+ locationId: schema_1.xObjectId,
17
+ location: post_1.upsertedLocationSchema,
48
18
  saveNetwork: schema_1.xBool,
49
19
  network: networks_1.networkSchema(),
50
- antennas: joi_1.when('type', {
51
- is: 'PORTAL',
52
- then: post_1.portalAntennaSchema,
53
- otherwise: post_1.virtualAntennaSchema,
54
- }),
20
+ antennas: post_1.virtualAntennaSchema,
55
21
  })
56
22
  .oxor('location', 'locationId')
57
23
  .min(1);
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../../../src/types/readers/[id]/patch/request.ts"],"names":[],"mappings":";;;AAAA,6BAAqD;AACrD,gDAAmE;AACnE,mDAMgC;AAChC,+CAA+C;AAC/C,qCAKoB;AAWP,QAAA,yBAAyB,GAAG,YAAM,CAAsB;IACnE,IAAI,EAAE,uBAAc,CAAC,GAAG,wBAAY,CAAC;IACrC,QAAQ,EAAE,cAAK;IAKf,QAAQ,EAAE,gBAAO;IAKjB,IAAI,EAAE,UAAI,CAAC,MAAM,EAAE;QACjB,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,gBAAO,CAAC,QAAQ,EAAE;QACxB,SAAS,EAAE,gBAAO,CAAC,KAAK,CAAC,EAAE,CAAC;KAC7B,CAAC;IAMF,UAAU,EAAE,UAAI,CAAC,MAAM,EAAE;QACvB,MAAM,EAAE;YACN;gBACE,EAAE,EAAE,OAAO;gBACX,IAAI,EAAE,kBAAS;qBACZ,QAAQ,EAAE;qBACV,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,WAAK,EAAE,EAAE,IAAI,EAAE,eAAS,EAAE,EAAE,CAAC;aACxD;YAED;gBACE,EAAE,EAAE,eAAS,EAAE;gBACf,IAAI,EAAE,kBAAS;aAChB;SACF;QAED,SAAS,EAAE,eAAS,EAAE;KACvB,CAAC;IACF,QAAQ,EAAE,UAAI,CAAC,MAAM,EAAE;QACrB,MAAM,EAAE;YACN;gBACE,EAAE,EAAE,OAAO;gBACX,IAAI,EAAE,6BAAsB;qBACzB,QAAQ,EAAE;qBACV,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,WAAK,EAAE,EAAE,IAAI,EAAE,eAAS,EAAE,EAAE,CAAC;aAC1D;YAED;gBACE,EAAE,EAAE,eAAS,EAAE;gBACf,IAAI,EAAE,6BAAsB;aAC7B;SACF;QAED,SAAS,EAAE,eAAS,EAAE;KACvB,CAAC;IACF,WAAW,EAAE,cAAK;IAClB,OAAO,EAAE,wBAAa,EAAmB;IACzC,QAAQ,EAAE,UAAI,CAAC,MAAM,EAAE;QACrB,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,0BAAmB;QACzB,SAAS,EAAE,2BAAoB;KAChC,CAAC;CACH,CAAC;KACC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;KAC9B,GAAG,CAAC,CAAC,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,CAAC,OAAY,EAAE,EAAE,CAC1D,0BAAiB,CAAsB,iCAAyB,EAAE,OAAO,CAAC,CAAC;AADhE,QAAA,2BAA2B,+BACqC"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../../../src/types/readers/[id]/patch/request.ts"],"names":[],"mappings":";;;AAAA,6BAAmC;AACnC,gDAAmE;AACnE,mDAKgC;AAChC,qCAIoB;AAWP,QAAA,yBAAyB,GAAG,YAAM,CAAsB;IACnE,QAAQ,EAAE,cAAK;IAKf,QAAQ,EAAE,gBAAO;IAKjB,IAAI,EAAE,UAAI,CAAC,MAAM,EAAE;QACjB,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,gBAAO,CAAC,QAAQ,EAAE;QACxB,SAAS,EAAE,gBAAO,CAAC,KAAK,CAAC,EAAE,CAAC;KAC7B,CAAC;IACF,UAAU,EAAE,kBAAS;IACrB,QAAQ,EAAE,6BAAsB;IAChC,WAAW,EAAE,cAAK;IAClB,OAAO,EAAE,wBAAa,EAAmB;IACzC,QAAQ,EAAE,2BAAoB;CAC/B,CAAC;KACC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;KAC9B,GAAG,CAAC,CAAC,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,CAAC,OAAY,EAAE,EAAE,CAC1D,0BAAiB,CAAsB,iCAAyB,EAAE,OAAO,CAAC,CAAC;AADhE,QAAA,2BAA2B,+BACqC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@spotto/contract",
3
3
  "license": "ISC",
4
- "version": "0.2.0-alpha.6",
4
+ "version": "0.2.1-alpha.0",
5
5
  "description": "Spotto's API Contract",
6
6
  "main": "./dist/index.js",
7
7
  "files": [
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "dependencies": {
19
19
  "@airtasker/spot": "^1.4.0",
20
- "@spotto/core-lib": "^0.2.0-alpha.5",
20
+ "@spotto/core-lib": "^0.2.1-alpha.0",
21
21
  "geojson-validation": "^1.0.2",
22
22
  "joi": "^17.2.1",
23
23
  "qs": "^6.9.4"
@@ -26,5 +26,5 @@
26
26
  "jest": "^26.6.3",
27
27
  "ts-jest": "^26.5.3"
28
28
  },
29
- "gitHead": "3d7aa95f05eed252f6d6120b3504135dff047abe"
29
+ "gitHead": "31a268187adbc1fc88deaf55928cdd4d18d42561"
30
30
  }