uaxi-shared-entities 1.0.174 → 1.0.175

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.
@@ -1,4 +1,5 @@
1
1
  export * from "./user.entity";
2
+ export * from "./user-device.entity";
2
3
  export * from "./address.entity";
3
4
  export * from "./vehicle.entity";
4
5
  export * from "./brand.entity";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC"}
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./user.entity"), exports);
18
+ __exportStar(require("./user-device.entity"), exports);
18
19
  __exportStar(require("./address.entity"), exports);
19
20
  __exportStar(require("./vehicle.entity"), exports);
20
21
  __exportStar(require("./brand.entity"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,mDAAiC;AACjC,mDAAiC;AACjC,iDAA+B;AAC/B,yDAAuC;AACvC,yDAAuC;AACvC,mEAAiD;AACjD,kDAAgC;AAChC,6DAA2C;AAC3C,kDAAgC;AAChC,4DAA0C;AAC1C,6DAA2C;AAC3C,qDAAmC;AACnC,yDAAuC;AACvC,oDAAkC;AAClC,oDAAkC;AAClC,iDAA+B;AAC/B,yDAAuC;AACvC,wDAAsC;AACtC,iDAA+B;AAC/B,iEAA+C;AAC/C,gEAA8C;AAC9C,mDAAiC;AACjC,mEAAiD;AACjD,4DAA0C;AAC1C,mDAAiC;AACjC,oDAAkC;AAClC,0DAAwC;AACxC,wDAAsC;AACtC,2DAAyC;AACzC,kDAAgC;AAChC,qEAAmD;AACnD,yDAAuC;AACvC,gEAA8C;AAC9C,sDAAoC;AACpC,6DAA2C;AAC3C,yDAAuC;AACvC,iEAA+C;AAC/C,kEAAgD;AAChD,qDAAmC;AACnC,4DAA0C;AAC1C,oDAAkC;AAClC,iEAA+C;AAC/C,iEAA+C;AAC/C,+CAA6B;AAC7B,yDAAuC;AACvC,qDAAmC;AACnC,6DAA2C;AAC3C,2DAAyC;AACzC,6DAA2C;AAC3C,kEAAgD;AAChD,4DAA0C;AAC1C,0DAAwC;AACxC,0DAAwC;AACxC,qDAAmC;AACnC,0DAAwC;AACxC,qEAAmD;AACnD,8DAA4C;AAC5C,uEAAqD;AACrD,uEAAqD;AACrD,wEAAsD;AACtD,qEAAmD;AACnD,gEAA8C;AAC9C,yDAAuC;AACvC,gEAA8C;AAC9C,kEAAgD;AAChD,mEAAiD;AACjD,gEAA8C;AAC9C,uDAAqC;AACrC,2DAAyC;AACzC,sEAAoD;AACpD,4DAA0C;AAC1C,8DAA4C;AAC5C,+DAA6C;AAC7C,oEAAkD;AAClD,iEAA+C;AAC/C,gEAA8C;AAC9C,yEAAuD;AACvD,gEAA8C;AAC9C,wEAAsD;AACtD,qEAAmD;AACnD,oEAAkD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,uDAAqC;AACrC,mDAAiC;AACjC,mDAAiC;AACjC,iDAA+B;AAC/B,yDAAuC;AACvC,yDAAuC;AACvC,mEAAiD;AACjD,kDAAgC;AAChC,6DAA2C;AAC3C,kDAAgC;AAChC,4DAA0C;AAC1C,6DAA2C;AAC3C,qDAAmC;AACnC,yDAAuC;AACvC,oDAAkC;AAClC,oDAAkC;AAClC,iDAA+B;AAC/B,yDAAuC;AACvC,wDAAsC;AACtC,iDAA+B;AAC/B,iEAA+C;AAC/C,gEAA8C;AAC9C,mDAAiC;AACjC,mEAAiD;AACjD,4DAA0C;AAC1C,mDAAiC;AACjC,oDAAkC;AAClC,0DAAwC;AACxC,wDAAsC;AACtC,2DAAyC;AACzC,kDAAgC;AAChC,qEAAmD;AACnD,yDAAuC;AACvC,gEAA8C;AAC9C,sDAAoC;AACpC,6DAA2C;AAC3C,yDAAuC;AACvC,iEAA+C;AAC/C,kEAAgD;AAChD,qDAAmC;AACnC,4DAA0C;AAC1C,oDAAkC;AAClC,iEAA+C;AAC/C,iEAA+C;AAC/C,+CAA6B;AAC7B,yDAAuC;AACvC,qDAAmC;AACnC,6DAA2C;AAC3C,2DAAyC;AACzC,6DAA2C;AAC3C,kEAAgD;AAChD,4DAA0C;AAC1C,0DAAwC;AACxC,0DAAwC;AACxC,qDAAmC;AACnC,0DAAwC;AACxC,qEAAmD;AACnD,8DAA4C;AAC5C,uEAAqD;AACrD,uEAAqD;AACrD,wEAAsD;AACtD,qEAAmD;AACnD,gEAA8C;AAC9C,yDAAuC;AACvC,gEAA8C;AAC9C,kEAAgD;AAChD,mEAAiD;AACjD,gEAA8C;AAC9C,uDAAqC;AACrC,2DAAyC;AACzC,sEAAoD;AACpD,4DAA0C;AAC1C,8DAA4C;AAC5C,+DAA6C;AAC7C,oEAAkD;AAClD,iEAA+C;AAC/C,gEAA8C;AAC9C,yEAAuD;AACvD,gEAA8C;AAC9C,wEAAsD;AACtD,qEAAmD;AACnD,oEAAkD"}
@@ -0,0 +1,70 @@
1
+ import { Model } from "sequelize-typescript";
2
+ import { User } from "./user.entity";
3
+ export interface DeviceInfo {
4
+ model?: string;
5
+ operatingSystem?: string;
6
+ osVersion?: string;
7
+ androidSDKVersion?: number;
8
+ /** Identificador numérico de build/SDK iOS (p. ej. 260401), distinto de osVersion legible */
9
+ iOSVersion?: number;
10
+ platform?: string;
11
+ manufacturer?: string;
12
+ webViewVersion?: string;
13
+ [key: string]: unknown;
14
+ }
15
+ export interface UserDeviceAttributes {
16
+ id: string;
17
+ userId: string;
18
+ deviceInfo?: DeviceInfo | null;
19
+ deviceFingerprint?: string | null;
20
+ pushToken?: string | null;
21
+ isActive: boolean;
22
+ isTrusted: boolean;
23
+ lastIp?: string | null;
24
+ lastCity?: string | null;
25
+ lastCountry?: string | null;
26
+ lastSeenAt?: Date | null;
27
+ sessionExpiresAt?: Date | null;
28
+ loggedOutAt?: Date | null;
29
+ logoutReason?: string | null;
30
+ createdAt: Date;
31
+ updatedAt: Date;
32
+ deletedAt?: Date | null;
33
+ }
34
+ interface UserDeviceCreationAttrs {
35
+ userId: string;
36
+ deviceInfo?: DeviceInfo | null;
37
+ deviceFingerprint?: string | null;
38
+ pushToken?: string | null;
39
+ isActive?: boolean;
40
+ isTrusted?: boolean;
41
+ lastIp?: string | null;
42
+ lastCity?: string | null;
43
+ lastCountry?: string | null;
44
+ lastSeenAt?: Date | null;
45
+ sessionExpiresAt?: Date | null;
46
+ loggedOutAt?: Date | null;
47
+ logoutReason?: string | null;
48
+ }
49
+ export declare class UserDevice extends Model<UserDeviceAttributes, UserDeviceCreationAttrs> {
50
+ id: string;
51
+ userId: string;
52
+ deviceInfo: DeviceInfo | null;
53
+ deviceFingerprint: string | null;
54
+ pushToken: string | null;
55
+ isActive: boolean;
56
+ isTrusted: boolean;
57
+ lastIp: string | null;
58
+ lastCity: string | null;
59
+ lastCountry: string | null;
60
+ lastSeenAt: Date | null;
61
+ sessionExpiresAt: Date | null;
62
+ loggedOutAt: Date | null;
63
+ logoutReason: string | null;
64
+ createdAt: Date;
65
+ updatedAt: Date;
66
+ deletedAt: Date;
67
+ user: User;
68
+ }
69
+ export {};
70
+ //# sourceMappingURL=user-device.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-device.entity.d.ts","sourceRoot":"","sources":["../../src/entities/user-device.entity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UserDevice = void 0;
13
+ const sequelize_typescript_1 = require("sequelize-typescript");
14
+ const user_entity_1 = require("./user.entity");
15
+ let UserDevice = class UserDevice extends sequelize_typescript_1.Model {
16
+ };
17
+ exports.UserDevice = UserDevice;
18
+ __decorate([
19
+ (0, sequelize_typescript_1.Column)({
20
+ type: sequelize_typescript_1.DataType.UUID,
21
+ defaultValue: sequelize_typescript_1.DataType.UUIDV4,
22
+ primaryKey: true,
23
+ }),
24
+ __metadata("design:type", String)
25
+ ], UserDevice.prototype, "id", void 0);
26
+ __decorate([
27
+ sequelize_typescript_1.Index,
28
+ (0, sequelize_typescript_1.ForeignKey)(() => user_entity_1.User),
29
+ (0, sequelize_typescript_1.Column)({
30
+ type: sequelize_typescript_1.DataType.UUID,
31
+ allowNull: false,
32
+ }),
33
+ __metadata("design:type", String)
34
+ ], UserDevice.prototype, "userId", void 0);
35
+ __decorate([
36
+ (0, sequelize_typescript_1.Column)({
37
+ type: sequelize_typescript_1.DataType.JSON,
38
+ allowNull: true,
39
+ comment: "Información completa del dispositivo (model, OS, platform, etc.)",
40
+ }),
41
+ __metadata("design:type", Object)
42
+ ], UserDevice.prototype, "deviceInfo", void 0);
43
+ __decorate([
44
+ (0, sequelize_typescript_1.Index)({ unique: false }),
45
+ (0, sequelize_typescript_1.Column)({
46
+ type: sequelize_typescript_1.DataType.STRING,
47
+ allowNull: true,
48
+ comment: "Fingerprint único del dispositivo para detectar duplicados",
49
+ }),
50
+ __metadata("design:type", Object)
51
+ ], UserDevice.prototype, "deviceFingerprint", void 0);
52
+ __decorate([
53
+ (0, sequelize_typescript_1.Column)({
54
+ type: sequelize_typescript_1.DataType.STRING,
55
+ allowNull: true,
56
+ comment: "Token FCM/APNs para notificaciones push",
57
+ }),
58
+ __metadata("design:type", Object)
59
+ ], UserDevice.prototype, "pushToken", void 0);
60
+ __decorate([
61
+ (0, sequelize_typescript_1.Column)({
62
+ type: sequelize_typescript_1.DataType.BOOLEAN,
63
+ defaultValue: true,
64
+ allowNull: false,
65
+ }),
66
+ __metadata("design:type", Boolean)
67
+ ], UserDevice.prototype, "isActive", void 0);
68
+ __decorate([
69
+ (0, sequelize_typescript_1.Column)({
70
+ type: sequelize_typescript_1.DataType.BOOLEAN,
71
+ defaultValue: false,
72
+ allowNull: false,
73
+ }),
74
+ __metadata("design:type", Boolean)
75
+ ], UserDevice.prototype, "isTrusted", void 0);
76
+ __decorate([
77
+ (0, sequelize_typescript_1.Column)({
78
+ type: sequelize_typescript_1.DataType.STRING(45),
79
+ allowNull: true,
80
+ }),
81
+ __metadata("design:type", Object)
82
+ ], UserDevice.prototype, "lastIp", void 0);
83
+ __decorate([
84
+ (0, sequelize_typescript_1.Column)({
85
+ type: sequelize_typescript_1.DataType.STRING,
86
+ allowNull: true,
87
+ }),
88
+ __metadata("design:type", Object)
89
+ ], UserDevice.prototype, "lastCity", void 0);
90
+ __decorate([
91
+ (0, sequelize_typescript_1.Column)({
92
+ type: sequelize_typescript_1.DataType.STRING(2),
93
+ allowNull: true,
94
+ }),
95
+ __metadata("design:type", Object)
96
+ ], UserDevice.prototype, "lastCountry", void 0);
97
+ __decorate([
98
+ (0, sequelize_typescript_1.Column)({
99
+ type: sequelize_typescript_1.DataType.DATE,
100
+ allowNull: true,
101
+ }),
102
+ __metadata("design:type", Object)
103
+ ], UserDevice.prototype, "lastSeenAt", void 0);
104
+ __decorate([
105
+ (0, sequelize_typescript_1.Column)({
106
+ type: sequelize_typescript_1.DataType.DATE,
107
+ allowNull: true,
108
+ }),
109
+ __metadata("design:type", Object)
110
+ ], UserDevice.prototype, "sessionExpiresAt", void 0);
111
+ __decorate([
112
+ (0, sequelize_typescript_1.Column)({
113
+ type: sequelize_typescript_1.DataType.DATE,
114
+ allowNull: true,
115
+ }),
116
+ __metadata("design:type", Object)
117
+ ], UserDevice.prototype, "loggedOutAt", void 0);
118
+ __decorate([
119
+ (0, sequelize_typescript_1.Column)({
120
+ type: sequelize_typescript_1.DataType.STRING,
121
+ allowNull: true,
122
+ }),
123
+ __metadata("design:type", Object)
124
+ ], UserDevice.prototype, "logoutReason", void 0);
125
+ __decorate([
126
+ sequelize_typescript_1.CreatedAt,
127
+ __metadata("design:type", Date)
128
+ ], UserDevice.prototype, "createdAt", void 0);
129
+ __decorate([
130
+ sequelize_typescript_1.UpdatedAt,
131
+ __metadata("design:type", Date)
132
+ ], UserDevice.prototype, "updatedAt", void 0);
133
+ __decorate([
134
+ sequelize_typescript_1.DeletedAt,
135
+ __metadata("design:type", Date)
136
+ ], UserDevice.prototype, "deletedAt", void 0);
137
+ __decorate([
138
+ (0, sequelize_typescript_1.BelongsTo)(() => user_entity_1.User),
139
+ __metadata("design:type", user_entity_1.User)
140
+ ], UserDevice.prototype, "user", void 0);
141
+ exports.UserDevice = UserDevice = __decorate([
142
+ (0, sequelize_typescript_1.Table)({
143
+ tableName: "user_devices",
144
+ timestamps: true,
145
+ paranoid: true,
146
+ })
147
+ ], UserDevice);
148
+ //# sourceMappingURL=user-device.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-device.entity.js","sourceRoot":"","sources":["../../src/entities/user-device.entity.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { EmergencyContact } from "./emergency-contact.entity";
12
12
  import { SosAlert } from "./sos-alert.entity";
13
13
  import { Beneficiary } from "./beneficiary.entity";
14
14
  import { UserPermission } from "./user-permission.entity";
15
+ import { UserDevice } from "./user-device.entity";
15
16
  export interface UserAttributes {
16
17
  id: string;
17
18
  nanoId?: string | null;
@@ -123,6 +124,7 @@ export declare class User extends Model<UserAttributes, UserCreationAttrs> {
123
124
  sosAlerts: SosAlert[];
124
125
  beneficiaries: Beneficiary[];
125
126
  permissions: UserPermission[];
127
+ devices: UserDevice[];
126
128
  }
127
129
  export {};
128
130
  //# sourceMappingURL=user.entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.entity.d.ts","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.entity.d.ts","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ const sos_alert_entity_1 = require("./sos-alert.entity");
25
25
  const beneficiary_entity_1 = require("./beneficiary.entity");
26
26
  const user_permission_entity_1 = require("./user-permission.entity");
27
27
  const user_permission_assignment_entity_1 = require("./user-permission-assignment.entity");
28
+ const user_device_entity_1 = require("./user-device.entity");
28
29
  let User = class User extends sequelize_typescript_1.Model {
29
30
  };
30
31
  exports.User = User;
@@ -306,6 +307,10 @@ __decorate([
306
307
  (0, sequelize_typescript_1.BelongsToMany)(() => user_permission_entity_1.UserPermission, () => user_permission_assignment_entity_1.UserPermissionAssignment),
307
308
  __metadata("design:type", Array)
308
309
  ], User.prototype, "permissions", void 0);
310
+ __decorate([
311
+ (0, sequelize_typescript_1.HasMany)(() => user_device_entity_1.UserDevice, "userId"),
312
+ __metadata("design:type", Array)
313
+ ], User.prototype, "devices", void 0);
309
314
  exports.User = User = __decorate([
310
315
  (0, sequelize_typescript_1.Table)({
311
316
  tableName: "users",
@@ -1 +1 @@
1
- {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAa8B;AAC9B,iDAAsC;AACtC,iDAAsC;AACtC,uDAA2C;AAC3C,uDAA4C;AAC5C,iEAAsD;AACtD,mDAAyC;AACzC,qDAA+C;AAC/C,oCAA8C;AAC9C,iEAAqD;AACrD,yEAA8D;AAC9D,yDAA8C;AAC9C,6DAAmD;AACnD,qEAA0D;AAC1D,2FAA+E;AA2ExE,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,4BAAwC;CAgPjE,CAAA;AAhPY,oBAAI;AAMP;IALP,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI;KACjB,CAAC;;gCACiB;AAOnB;IALC,IAAA,4BAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,qEAAqE;;IAC7F,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACxB,SAAS,EAAE,IAAI;KAChB,CAAC;;oCACa;AAMf;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI,EAAE,iBAAiB;KACnC,CAAC;;uCACgB;AAMlB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI,EAAE,iBAAiB;KACnC,CAAC;;sCACe;AAMjB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;4CACqB;AAOvB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI,EAAE,iBAAiB;QAClC,MAAM,EAAE,IAAI;KACb,CAAC;;mCACY;AAMd;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;yCACkB;AAMpB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;sCACe;AAOjB;IALC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,mBAAI,CAAC;IACtB,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,EAAE,sBAAsB;QAC9C,SAAS,EAAE,IAAI;KAChB,CAAC;;oCACa;AAMf;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAU,CAAC,CAAC;QACjD,YAAY,EAAE,kBAAU,CAAC,oBAAoB;KAC9C,CAAC;;oCACiB;AAGnB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;+CAClB;AAMjC;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK;KACpB,CAAC;;6CACuB;AAMzB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK;KACpB,CAAC;;6CACuB;AAMzB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;8BACW,IAAI;yCAAC;AAMlB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;4CACqB;AAMvB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI;KAChB,CAAC;8BACW,IAAI;yCAAC;AAMlB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;0CACmB;AAMrB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,YAAY,EAAE,GAAG,EAAE,iDAAiD;KACrE,CAAC;;oCACa;AAMf;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;sCACe;AAOjB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI;KACb,CAAC;;iCACU;AAOZ;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI;KACb,CAAC;;kCACW;AAOb;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI;KACb,CAAC;;iCACU;AAMZ;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,cAAM,CAAC,CAAC;QAC7C,SAAS,EAAE,IAAI;KAChB,CAAC;;oCACa;AAMf;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;yCACkB;AAMpB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;;6CACsB;AAOxB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,KAAK;KACjB,CAAC;;oDAC8B;AAQhC;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,KAAK;KACjB,CAAC;;wCACkB;AAOpB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;;0CACwB;AAO1B;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;;sCACY;AAGN;IADP,gCAAS;8BACS,IAAI;uCAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;uCAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;uCAAC;AAIxB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,mBAAI,CAAC;8BAChB,mBAAI;kCAAC;AAGX;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,4BAAW,EAAE,QAAQ,CAAC;;uCACZ;AAGzB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,mBAAI,EAAE,aAAa,CAAC;;4CACZ;AAGvB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,wBAAM,EAAE,SAAS,CAAC;;0CACV;AAGvB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,wBAAM,EAAE,aAAa,CAAC;;6CACX;AAG1B;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,yBAAO,EAAE,QAAQ,CAAC;;sCACb;AAGpB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,mCAAY,EAAE,QAAQ,CAAC;;2CACR;AAG9B;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,sBAAM,EAAE,QAAQ,CAAC;8BACxB,sBAAM;oCAAC;AAIf;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,kCAAW,EAAE,UAAU,CAAC;;0CACX;AAG5B;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,kCAAW,EAAE,YAAY,CAAC;;8CACT;AAIhC;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,2CAAgB,EAAE,QAAQ,CAAC;;+CACJ;AAItC;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,2BAAQ,EAAE,QAAQ,CAAC;;uCACZ;AAItB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,gCAAW,EAAE,QAAQ,CAAC;;2CACR;AAI7B;IADC,IAAA,oCAAa,EAAC,GAAG,EAAE,CAAC,uCAAc,EAAE,GAAG,EAAE,CAAC,4DAAwB,CAAC;;yCACtC;eA/OnB,IAAI;IALhB,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,OAAO;QAClB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI,EAAE,eAAe;KAChC,CAAC;GACW,IAAI,CAgPhB"}
1
+ {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAa8B;AAC9B,iDAAsC;AACtC,iDAAsC;AACtC,uDAA2C;AAC3C,uDAA4C;AAC5C,iEAAsD;AACtD,mDAAyC;AACzC,qDAA+C;AAC/C,oCAA8C;AAC9C,iEAAqD;AACrD,yEAA8D;AAC9D,yDAA8C;AAC9C,6DAAmD;AACnD,qEAA0D;AAC1D,2FAA+E;AAC/E,6DAAkD;AA2E3C,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,4BAAwC;CAmPjE,CAAA;AAnPY,oBAAI;AAMP;IALP,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI;KACjB,CAAC;;gCACiB;AAOnB;IALC,IAAA,4BAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,qEAAqE;;IAC7F,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACxB,SAAS,EAAE,IAAI;KAChB,CAAC;;oCACa;AAMf;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI,EAAE,iBAAiB;KACnC,CAAC;;uCACgB;AAMlB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI,EAAE,iBAAiB;KACnC,CAAC;;sCACe;AAMjB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;4CACqB;AAOvB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI,EAAE,iBAAiB;QAClC,MAAM,EAAE,IAAI;KACb,CAAC;;mCACY;AAMd;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;yCACkB;AAMpB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;sCACe;AAOjB;IALC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,mBAAI,CAAC;IACtB,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,EAAE,sBAAsB;QAC9C,SAAS,EAAE,IAAI;KAChB,CAAC;;oCACa;AAMf;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAU,CAAC,CAAC;QACjD,YAAY,EAAE,kBAAU,CAAC,oBAAoB;KAC9C,CAAC;;oCACiB;AAGnB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;+CAClB;AAMjC;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK;KACpB,CAAC;;6CACuB;AAMzB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK;KACpB,CAAC;;6CACuB;AAMzB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;8BACW,IAAI;yCAAC;AAMlB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;4CACqB;AAMvB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI;KAChB,CAAC;8BACW,IAAI;yCAAC;AAMlB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;0CACmB;AAMrB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,YAAY,EAAE,GAAG,EAAE,iDAAiD;KACrE,CAAC;;oCACa;AAMf;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;sCACe;AAOjB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI;KACb,CAAC;;iCACU;AAOZ;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI;KACb,CAAC;;kCACW;AAOb;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI;KACb,CAAC;;iCACU;AAMZ;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,cAAM,CAAC,CAAC;QAC7C,SAAS,EAAE,IAAI;KAChB,CAAC;;oCACa;AAMf;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;yCACkB;AAMpB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;;6CACsB;AAOxB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,KAAK;KACjB,CAAC;;oDAC8B;AAQhC;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,KAAK;KACjB,CAAC;;wCACkB;AAOpB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;;0CACwB;AAO1B;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;;sCACY;AAGN;IADP,gCAAS;8BACS,IAAI;uCAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;uCAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;uCAAC;AAIxB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,mBAAI,CAAC;8BAChB,mBAAI;kCAAC;AAGX;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,4BAAW,EAAE,QAAQ,CAAC;;uCACZ;AAGzB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,mBAAI,EAAE,aAAa,CAAC;;4CACZ;AAGvB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,wBAAM,EAAE,SAAS,CAAC;;0CACV;AAGvB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,wBAAM,EAAE,aAAa,CAAC;;6CACX;AAG1B;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,yBAAO,EAAE,QAAQ,CAAC;;sCACb;AAGpB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,mCAAY,EAAE,QAAQ,CAAC;;2CACR;AAG9B;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,sBAAM,EAAE,QAAQ,CAAC;8BACxB,sBAAM;oCAAC;AAIf;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,kCAAW,EAAE,UAAU,CAAC;;0CACX;AAG5B;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,kCAAW,EAAE,YAAY,CAAC;;8CACT;AAIhC;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,2CAAgB,EAAE,QAAQ,CAAC;;+CACJ;AAItC;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,2BAAQ,EAAE,QAAQ,CAAC;;uCACZ;AAItB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,gCAAW,EAAE,QAAQ,CAAC;;2CACR;AAI7B;IADC,IAAA,oCAAa,EAAC,GAAG,EAAE,CAAC,uCAAc,EAAE,GAAG,EAAE,CAAC,4DAAwB,CAAC;;yCACtC;AAG9B;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,+BAAU,EAAE,QAAQ,CAAC;;qCACd;eAlPX,IAAI;IALhB,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,OAAO;QAClB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI,EAAE,eAAe;KAChC,CAAC;GACW,IAAI,CAmPhB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uaxi-shared-entities",
3
- "version": "1.0.174",
3
+ "version": "1.0.175",
4
4
  "description": "Entidades compartidas para microservicios UAXI",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,4 +1,5 @@
1
1
  export * from "./user.entity";
2
+ export * from "./user-device.entity";
2
3
  export * from "./address.entity";
3
4
  export * from "./vehicle.entity";
4
5
  export * from "./brand.entity";
@@ -0,0 +1,177 @@
1
+ import {
2
+ Table,
3
+ Column,
4
+ Model,
5
+ DataType,
6
+ CreatedAt,
7
+ UpdatedAt,
8
+ DeletedAt,
9
+ ForeignKey,
10
+ BelongsTo,
11
+ Index,
12
+ } from "sequelize-typescript";
13
+ import { User } from "./user.entity";
14
+
15
+ export interface DeviceInfo {
16
+ model?: string;
17
+ operatingSystem?: string;
18
+ osVersion?: string;
19
+ androidSDKVersion?: number;
20
+ /** Identificador numérico de build/SDK iOS (p. ej. 260401), distinto de osVersion legible */
21
+ iOSVersion?: number;
22
+ platform?: string;
23
+ manufacturer?: string;
24
+ webViewVersion?: string;
25
+ [key: string]: unknown;
26
+ }
27
+
28
+ export interface UserDeviceAttributes {
29
+ id: string;
30
+ userId: string;
31
+ deviceInfo?: DeviceInfo | null;
32
+ deviceFingerprint?: string | null;
33
+ pushToken?: string | null;
34
+ isActive: boolean;
35
+ isTrusted: boolean;
36
+ lastIp?: string | null;
37
+ lastCity?: string | null;
38
+ lastCountry?: string | null;
39
+ lastSeenAt?: Date | null;
40
+ sessionExpiresAt?: Date | null;
41
+ loggedOutAt?: Date | null;
42
+ logoutReason?: string | null;
43
+ createdAt: Date;
44
+ updatedAt: Date;
45
+ deletedAt?: Date | null;
46
+ }
47
+
48
+ interface UserDeviceCreationAttrs {
49
+ userId: string;
50
+ deviceInfo?: DeviceInfo | null;
51
+ deviceFingerprint?: string | null;
52
+ pushToken?: string | null;
53
+ isActive?: boolean;
54
+ isTrusted?: boolean;
55
+ lastIp?: string | null;
56
+ lastCity?: string | null;
57
+ lastCountry?: string | null;
58
+ lastSeenAt?: Date | null;
59
+ sessionExpiresAt?: Date | null;
60
+ loggedOutAt?: Date | null;
61
+ logoutReason?: string | null;
62
+ }
63
+
64
+ @Table({
65
+ tableName: "user_devices",
66
+ timestamps: true,
67
+ paranoid: true,
68
+ })
69
+ export class UserDevice extends Model<
70
+ UserDeviceAttributes,
71
+ UserDeviceCreationAttrs
72
+ > {
73
+ @Column({
74
+ type: DataType.UUID,
75
+ defaultValue: DataType.UUIDV4,
76
+ primaryKey: true,
77
+ })
78
+ declare id: string;
79
+
80
+ @Index
81
+ @ForeignKey(() => User)
82
+ @Column({
83
+ type: DataType.UUID,
84
+ allowNull: false,
85
+ })
86
+ userId: string;
87
+
88
+ @Column({
89
+ type: DataType.JSON,
90
+ allowNull: true,
91
+ comment: "Información completa del dispositivo (model, OS, platform, etc.)",
92
+ })
93
+ deviceInfo: DeviceInfo | null;
94
+
95
+ @Index({ unique: false })
96
+ @Column({
97
+ type: DataType.STRING,
98
+ allowNull: true,
99
+ comment: "Fingerprint único del dispositivo para detectar duplicados",
100
+ })
101
+ deviceFingerprint: string | null;
102
+
103
+ @Column({
104
+ type: DataType.STRING,
105
+ allowNull: true,
106
+ comment: "Token FCM/APNs para notificaciones push",
107
+ })
108
+ pushToken: string | null;
109
+
110
+ @Column({
111
+ type: DataType.BOOLEAN,
112
+ defaultValue: true,
113
+ allowNull: false,
114
+ })
115
+ isActive: boolean;
116
+
117
+ @Column({
118
+ type: DataType.BOOLEAN,
119
+ defaultValue: false,
120
+ allowNull: false,
121
+ })
122
+ isTrusted: boolean;
123
+
124
+ @Column({
125
+ type: DataType.STRING(45),
126
+ allowNull: true,
127
+ })
128
+ lastIp: string | null;
129
+
130
+ @Column({
131
+ type: DataType.STRING,
132
+ allowNull: true,
133
+ })
134
+ lastCity: string | null;
135
+
136
+ @Column({
137
+ type: DataType.STRING(2),
138
+ allowNull: true,
139
+ })
140
+ lastCountry: string | null;
141
+
142
+ @Column({
143
+ type: DataType.DATE,
144
+ allowNull: true,
145
+ })
146
+ lastSeenAt: Date | null;
147
+
148
+ @Column({
149
+ type: DataType.DATE,
150
+ allowNull: true,
151
+ })
152
+ sessionExpiresAt: Date | null;
153
+
154
+ @Column({
155
+ type: DataType.DATE,
156
+ allowNull: true,
157
+ })
158
+ loggedOutAt: Date | null;
159
+
160
+ @Column({
161
+ type: DataType.STRING,
162
+ allowNull: true,
163
+ })
164
+ logoutReason: string | null;
165
+
166
+ @CreatedAt
167
+ declare createdAt: Date;
168
+
169
+ @UpdatedAt
170
+ declare updatedAt: Date;
171
+
172
+ @DeletedAt
173
+ declare deletedAt: Date;
174
+
175
+ @BelongsTo(() => User)
176
+ user: User;
177
+ }
@@ -26,6 +26,7 @@ import { SosAlert } from "./sos-alert.entity";
26
26
  import { Beneficiary } from "./beneficiary.entity";
27
27
  import { UserPermission } from "./user-permission.entity";
28
28
  import { UserPermissionAssignment } from "./user-permission-assignment.entity";
29
+ import { UserDevice } from "./user-device.entity";
29
30
 
30
31
  // Interface para los atributos de la entidad
31
32
  export interface UserAttributes {
@@ -340,4 +341,7 @@ export class User extends Model<UserAttributes, UserCreationAttrs> {
340
341
  // ASOCIACIONES PARA PERMISOS DE USUARIO
341
342
  @BelongsToMany(() => UserPermission, () => UserPermissionAssignment)
342
343
  permissions: UserPermission[];
344
+
345
+ @HasMany(() => UserDevice, "userId")
346
+ devices: UserDevice[];
343
347
  }