tabletcommand-backend-models 5.24.1 → 5.25.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.
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const helpers_1 = require("../../helpers");
4
+ function OAuthSchema(mongoose) {
5
+ const { Schema } = mongoose;
6
+ const Item = (0, helpers_1.createSchema)(Schema, {
7
+ accessToken: {
8
+ type: String,
9
+ default: "",
10
+ },
11
+ refreshToken: {
12
+ type: String,
13
+ default: "",
14
+ },
15
+ expireAt: {
16
+ type: Date,
17
+ default: new Date("2022-10-10T10:10:10Z"), // Some Expired Date, in the past
18
+ },
19
+ }, {
20
+ _id: false,
21
+ id: false,
22
+ });
23
+ return Item;
24
+ }
25
+ exports.default = OAuthSchema;
26
+ //# sourceMappingURL=oauth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/models/schema/oauth.ts"],"names":[],"mappings":";;AAAA,2CAGuB;AAEvB,SAAwB,WAAW,CAAC,QAAwB;IAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAE5B,MAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,MAAM,EAAE;QAChC,WAAW,EAAE;YACX,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE,kCAAkC;SAC9E;KACF,EAAE;QACD,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,KAAK;KACV,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAtBD,8BAsBC"}
@@ -3,8 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SessionModule = void 0;
4
4
  const helpers_1 = require("../helpers");
5
5
  const uuid = require("uuid");
6
+ const oauth_1 = require("./schema/oauth");
6
7
  async function SessionModule(mongoose) {
7
8
  const Schema = mongoose.Schema;
9
+ const OAuthToken = (0, oauth_1.default)(mongoose);
8
10
  function requiredButAllowEmptyString() {
9
11
  // Workaround to set required, and allow empty id
10
12
  return typeof this.myField === "string";
@@ -53,6 +55,21 @@ async function SessionModule(mongoose) {
53
55
  type: String,
54
56
  default: "",
55
57
  },
58
+ authSource: {
59
+ type: String,
60
+ default: "",
61
+ },
62
+ // All the sessions that could be created by this oAuth user (at this time)
63
+ // Used externally, this value can be leaked
64
+ authGroupKey: {
65
+ type: String,
66
+ default: "",
67
+ },
68
+ // Store the refresh token, in use only when authSource is o-google or o-microsoft
69
+ oAuth: {
70
+ type: OAuthToken,
71
+ default: null,
72
+ },
56
73
  }, {
57
74
  collection: "sys_login",
58
75
  });
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/models/session.ts"],"names":[],"mappings":";;;AAAA,wCASoB;AACpB,6BAA6B;AAEtB,KAAK,UAAU,aAAa,CAAC,QAAwB;IAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE/B,SAAS,2BAA2B;QAClC,iDAAiD;QACjD,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,sBAAY,EAAC,MAAM,EAAE;QACvC,GAAG,EAAE;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI,CAAC,EAAE;SACjB;QACD,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;SACf;QACD,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI,CAAC,EAAE;SACjB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE,EAAE,0CAA0C;SACxD;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,2BAA2B;YACrC,KAAK,EAAE,IAAI;SACZ;QACD,GAAG,EAAE;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,UAAU;SACpB;QACD,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,SAAS,EAAE;YACT,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,aAAa,EAAE;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;KACF,EAAE;QACD,UAAU,EAAE,WAAW;KACxB,CAAC,CAAC;IACH,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAEpC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAS,IAAI;QACnC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAW,CAAC,CAAC,sBAAsB;QAC9D,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;QACxB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,KAAK;QACjB,SAAS,CAAC,GAA+C,EAAE,GAAiE;YAC1H,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;IAEH,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO,IAAA,qBAAW,EAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACvD,CAAC;AA3ED,sCA2EC;AAID,kBAAe,aAA2E,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/models/session.ts"],"names":[],"mappings":";;;AAAA,wCASoB;AACpB,6BAA6B;AAE7B,0CAAyC;AAElC,KAAK,UAAU,aAAa,CAAC,QAAwB;IAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAA,eAAW,EAAC,QAAQ,CAAC,CAAC;IAEzC,SAAS,2BAA2B;QAClC,iDAAiD;QACjD,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,sBAAY,EAAC,MAAM,EAAE;QACvC,GAAG,EAAE;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI,CAAC,EAAE;SACjB;QACD,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;SACf;QACD,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI,CAAC,EAAE;SACjB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE,EAAE,0CAA0C;SACxD;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,2BAA2B;YACrC,KAAK,EAAE,IAAI;SACZ;QACD,GAAG,EAAE;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,UAAU;SACpB;QACD,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,SAAS,EAAE;YACT,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,aAAa,EAAE;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,UAAU,EAAE;YACV,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,2EAA2E;QAC3E,4CAA4C;QAC5C,YAAY,EAAE;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,kFAAkF;QAClF,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,IAAI;SACd;KACF,EAAE;QACD,UAAU,EAAE,WAAW;KACxB,CAAC,CAAC;IACH,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAEpC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAS,IAAI;QACnC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAW,CAAC,CAAC,sBAAsB;QAC9D,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;QACxB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,KAAK;QACjB,SAAS,CAAC,GAA+C,EAAE,GAAiE;YAC1H,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;IAEH,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO,IAAA,qBAAW,EAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACvD,CAAC;AA3FD,sCA2FC;AAID,kBAAe,aAA2E,CAAC"}
@@ -130,6 +130,10 @@ function UserSchema(mongoose) {
130
130
  default: "",
131
131
  select: false,
132
132
  },
133
+ auth: {
134
+ type: [String],
135
+ default: ["password"], // password, o-google, o-microsoft
136
+ },
133
137
  mapHidden: {
134
138
  type: Boolean,
135
139
  default: true,
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /// <reference types="mongoose" />
2
+ import { MongooseModule } from "../../helpers";
3
+ export default function OAuthSchema(mongoose: MongooseModule): import("mongoose").Schema<any> & {
4
+ _interface: import("../../helpers").MongooseInterface<{
5
+ accessToken: {
6
+ type: StringConstructor;
7
+ default: string;
8
+ };
9
+ refreshToken: {
10
+ type: StringConstructor;
11
+ default: string;
12
+ };
13
+ expireAt: {
14
+ type: DateConstructor;
15
+ default: Date;
16
+ };
17
+ }>;
18
+ _methods: unknown;
19
+ };
20
+ //# sourceMappingURL=oauth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/models/schema/oauth.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,cAAc,EAEf,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,QAAQ,EAAE,cAAc;;;;;;;;;;;;;;;;EAsB3D"}
@@ -15,6 +15,22 @@ export declare function SessionModule(mongoose: MongooseModule): Promise<import(
15
15
  userAgent: string;
16
16
  remoteAddress: string;
17
17
  deviceId: string;
18
+ authSource: string;
19
+ authGroupKey: string;
20
+ oAuth: import("../helpers").MongooseInterface<{
21
+ accessToken: {
22
+ type: StringConstructor;
23
+ default: string;
24
+ };
25
+ refreshToken: {
26
+ type: StringConstructor;
27
+ default: string;
28
+ };
29
+ expireAt: {
30
+ type: DateConstructor;
31
+ default: Date;
32
+ };
33
+ }>;
18
34
  }, {}> & {
19
35
  __methods?: unknown;
20
36
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/models/session.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,cAAc,EAKd,sBAAsB,EACtB,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,YAAY,CAAC;AAGpB,wBAAsB,aAAa,CAAC,QAAQ,EAAE,cAAc;;;;;;;;;;;;;;;;;GA2E3D;AAED,MAAM,WAAW,OAAQ,SAAQ,8BAA8B,CAAC,OAAO,aAAa,CAAC;CAAI;AACzF,MAAM,WAAW,YAAa,SAAQ,+BAA+B,CAAC,OAAO,CAAC;CAAI;;AAClF,wBAA2F"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/models/session.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,cAAc,EAKd,sBAAsB,EACtB,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,YAAY,CAAC;AAKpB,wBAAsB,aAAa,CAAC,QAAQ,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2F3D;AAED,MAAM,WAAW,OAAQ,SAAQ,8BAA8B,CAAC,OAAO,aAAa,CAAC;CAAI;AACzF,MAAM,WAAW,YAAa,SAAQ,+BAA+B,CAAC,OAAO,CAAC;CAAI;;AAClF,wBAA2F"}
@@ -106,6 +106,10 @@ export declare function UserSchema(mongoose: MongooseModule): import("mongoose")
106
106
  default: string;
107
107
  select: boolean;
108
108
  };
109
+ auth: {
110
+ type: StringConstructor[];
111
+ default: string[];
112
+ };
109
113
  mapHidden: {
110
114
  type: BooleanConstructor;
111
115
  default: boolean;
@@ -318,6 +322,7 @@ export declare function UserModule(mongoose: MongooseModule): Promise<import("mo
318
322
  beacons: string[];
319
323
  salt: string;
320
324
  pass: string;
325
+ auth: string[];
321
326
  mapHidden: boolean;
322
327
  mapId: string;
323
328
  vehicle: import("../helpers").MongooseInterface<{
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAKL,cAAc,EAEd,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EACtB,WAAW,EACZ,MAAM,YAAY,CAAC;AAKpB,wBAAgB,UAAU,CAAC,QAAQ,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0PlD;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAGxD;AAED,MAAM,WAAW,IAAK,SAAQ,8BAA8B,CAAC,OAAO,UAAU,CAAC;CAAI;AACnF,MAAM,WAAW,SAAU,SAAQ,+BAA+B,CAAC,IAAI,CAAC;CAAI;;AAC5E,wBAAkF"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAKL,cAAc,EAEd,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EACtB,WAAW,EACZ,MAAM,YAAY,CAAC;AAKpB,wBAAgB,UAAU,CAAC,QAAQ,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8PlD;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAGxD;AAED,MAAM,WAAW,IAAK,SAAQ,8BAA8B,CAAC,OAAO,UAAU,CAAC;CAAI;AACnF,MAAM,WAAW,SAAU,SAAQ,+BAA+B,CAAC,IAAI,CAAC;CAAI;;AAC5E,wBAAkF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tabletcommand-backend-models",
3
- "version": "5.24.1",
3
+ "version": "5.25.0",
4
4
  "description": "Tablet Command Backend Models",
5
5
  "scripts": {
6
6
  "test": "gulp",
@@ -0,0 +1,28 @@
1
+ import {
2
+ MongooseModule,
3
+ createSchema,
4
+ } from "../../helpers";
5
+
6
+ export default function OAuthSchema(mongoose: MongooseModule) {
7
+ const { Schema } = mongoose;
8
+
9
+ const Item = createSchema(Schema, {
10
+ accessToken: {
11
+ type: String,
12
+ default: "",
13
+ },
14
+ refreshToken: {
15
+ type: String,
16
+ default: "",
17
+ },
18
+ expireAt: {
19
+ type: Date,
20
+ default: new Date("2022-10-10T10:10:10Z"), // Some Expired Date, in the past
21
+ },
22
+ }, {
23
+ _id: false,
24
+ id: false,
25
+ });
26
+
27
+ return Item;
28
+ }
@@ -10,8 +10,11 @@ import {
10
10
  } from "../helpers";
11
11
  import * as uuid from "uuid";
12
12
 
13
+ import OAuthSchema from "./schema/oauth";
14
+
13
15
  export async function SessionModule(mongoose: MongooseModule) {
14
16
  const Schema = mongoose.Schema;
17
+ const OAuthToken = OAuthSchema(mongoose);
15
18
 
16
19
  function requiredButAllowEmptyString(this: { myField: unknown }) {
17
20
  // Workaround to set required, and allow empty id
@@ -62,6 +65,21 @@ export async function SessionModule(mongoose: MongooseModule) {
62
65
  type: String,
63
66
  default: "",
64
67
  },
68
+ authSource: { // user.auth, password OR o-google OR o-microsoft
69
+ type: String,
70
+ default: "",
71
+ },
72
+ // All the sessions that could be created by this oAuth user (at this time)
73
+ // Used externally, this value can be leaked
74
+ authGroupKey: {
75
+ type: String,
76
+ default: "",
77
+ },
78
+ // Store the refresh token, in use only when authSource is o-google or o-microsoft
79
+ oAuth: {
80
+ type: OAuthToken,
81
+ default: null,
82
+ },
65
83
  }, {
66
84
  collection: "sys_login",
67
85
  });
@@ -143,6 +143,10 @@ export function UserSchema(mongoose: MongooseModule) {
143
143
  default: "",
144
144
  select: false,
145
145
  },
146
+ auth: {
147
+ type: [String],
148
+ default: ["password"], // password, o-google, o-microsoft
149
+ },
146
150
 
147
151
  mapHidden: {
148
152
  type: Boolean,