vr-models 1.0.59 → 1.0.61
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.
|
@@ -2,6 +2,8 @@ import { Model, InferAttributes, InferCreationAttributes, CreationOptional, NonA
|
|
|
2
2
|
import type { User } from "./user.models";
|
|
3
3
|
export declare const CONTACT_TYPES: readonly ["EMAIL", "PHONE", "WHATSAPP"];
|
|
4
4
|
export type ContactType = (typeof CONTACT_TYPES)[number];
|
|
5
|
+
export declare const VERIFICATION_METHODS: readonly ["OTP", "0AUTH", "EMAIL", "MANUAL"];
|
|
6
|
+
export type VerificationMethod = (typeof VERIFICATION_METHODS)[number];
|
|
5
7
|
export interface VerificationMetadata {
|
|
6
8
|
lastOtpSentAt?: Date;
|
|
7
9
|
otpAttempts?: number;
|
|
@@ -22,6 +24,7 @@ export interface ContactAttributes {
|
|
|
22
24
|
userId: string | null;
|
|
23
25
|
isVerified: boolean;
|
|
24
26
|
verifiedAt: Date | null;
|
|
27
|
+
verificationMethod: VerificationMethod;
|
|
25
28
|
isPrimary: boolean;
|
|
26
29
|
isActive: boolean;
|
|
27
30
|
otp: string | null;
|
|
@@ -39,6 +42,7 @@ export declare class Contact extends Model<InferAttributes<Contact>, InferCreati
|
|
|
39
42
|
id: CreationOptional<string>;
|
|
40
43
|
contactValue: string;
|
|
41
44
|
type: ContactType;
|
|
45
|
+
verificationMethod: VerificationMethod;
|
|
42
46
|
userId: CreationOptional<string | null>;
|
|
43
47
|
isVerified: CreationOptional<boolean>;
|
|
44
48
|
verifiedAt: CreationOptional<Date | null>;
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Contact = exports.CONTACT_TYPES = void 0;
|
|
3
|
+
exports.Contact = exports.VERIFICATION_METHODS = exports.CONTACT_TYPES = void 0;
|
|
4
4
|
// src/models/contact.models.ts
|
|
5
5
|
const vr_migrations_1 = require("vr-migrations");
|
|
6
6
|
// ==================== CONTACT TYPES ====================
|
|
7
7
|
exports.CONTACT_TYPES = ["EMAIL", "PHONE", "WHATSAPP"];
|
|
8
|
+
exports.VERIFICATION_METHODS = [
|
|
9
|
+
"OTP",
|
|
10
|
+
"0AUTH",
|
|
11
|
+
"EMAIL",
|
|
12
|
+
"MANUAL",
|
|
13
|
+
];
|
|
8
14
|
class Contact extends vr_migrations_1.Model {
|
|
9
15
|
// Static initialization method
|
|
10
16
|
static initialize(sequelize) {
|
|
@@ -20,7 +26,11 @@ class Contact extends vr_migrations_1.Model {
|
|
|
20
26
|
allowNull: false,
|
|
21
27
|
},
|
|
22
28
|
type: {
|
|
23
|
-
type: vr_migrations_1.DataTypes.ENUM(
|
|
29
|
+
type: vr_migrations_1.DataTypes.ENUM(...exports.CONTACT_TYPES),
|
|
30
|
+
allowNull: false,
|
|
31
|
+
},
|
|
32
|
+
verificationMethod: {
|
|
33
|
+
type: vr_migrations_1.DataTypes.ENUM(...exports.VERIFICATION_METHODS),
|
|
24
34
|
allowNull: false,
|
|
25
35
|
},
|
|
26
36
|
userId: {
|
|
@@ -10,7 +10,7 @@ export interface DeviceSessionPayload {
|
|
|
10
10
|
deviceSerialNumber: string;
|
|
11
11
|
minutesGranted: number;
|
|
12
12
|
}
|
|
13
|
-
export declare const EVENT_ACTIONS: readonly ["USER_READ", "USER_CREATED", "ADMIN_CREATED", "PROFILE_COMPLETED", "USER_UPDATED", "USER_DELETED", "USER_SUSPENDED", "USER_BANNED", "USER_VERIFIED", "USER_UPGRADED_TO_RIDER", "USERS_LISTED", "ADMIN_FORGOT_PASSWORD", "ADMIN_LOGGED_IN", "ADMIN_LOGGED_OUT", "PASSENGER_ACCOUNT_DEACTIVATED", "PASSENGER_ACCOUNT_DELETED", "AGENT_CREATED_RIDER", "AGENT_UPDATED_RIDER", "ADMIN_CREATED_USER", "ADMIN_UPDATED_USER", "ADMIN_CHANGED_PASSWORD", "ADMIN_RESET_USER_PASSWORD", "ADMIN_BULK_PASSWORD_RESET", "SUPER_ADMIN_PASSWORD_CHANGED", "SUPER_ADMIN_CHANGED_USER_ACCOUNT_STATUS", "SUPER_ADMIN_UPDATED_USER", "SUPER_ADMIN_CREATED_USER", "PRODUCT_CREATED", "PRODUCT_READ", "PRODUCT_UPDATED", "PRODUCT_DELETED", "PRODUCTS_LISTED", "PRODUCTS_ACTIVATED", "PRODUCTS_DEACTIVATED", "PRODUCT_STOCK_SET_MANUALLY", "PRODUCT_STOCK_INCREMENTED", "PRODUCT_STOCK_DECREMENTED", "PRICING_CREATED", "PRICING_READ", "PRICING_UPDATED", "PRICING_DELETED", "DEVICE_CREATED", "DEVICES_BULK_CREATED", "DEVICE_ASSIGNED", "DEVICE_READ", "DEVICE_UPDATED", "DEVICES_LISTED", "DEVICE_LOCKED", "DEVICE_UNLOCKED", "DEVICE_DISABLED", "DEVICE_REACTIVATED", "DEVICE_DELETED_PERMANENTLY", "DEVICE_REPOSSESSED", "DEVICE_PAYMENT_PLAN_CREATED", "DEVICE_PAYMENT_PLAN_READ", "DEVICE_PAYMENT_PLAN_UPDATED", "DEVICE_PAYMENT_PLAN_MARKED_DEFAULTED", "DEVICE_PAYMENT_PLAN_SOFT_DELETED", "DEVICE_PAYMENT_PLAN_DELETED_PERMANENTLY", "PAYMENT_RECORDED", "PAYMENT_READ", "PAYMENTS_LISTED", "TRANSACTION_READ", "TRANSACTIONS_LISTED", "EVENT_LOG_READ", "EVENT_LOGS_LISTED", "SECURITY_CLEARANCE_MANAGED", "DEVICE_LOCK_OVERRIDDEN", "SESSION_EXTENDED"];
|
|
13
|
+
export declare const EVENT_ACTIONS: readonly ["USER_READ", "USER_CREATED", "ADMIN_CREATED", "PROFILE_COMPLETED", "USER_UPDATED", "USER_DELETED", "USER_SUSPENDED", "USER_BANNED", "USER_VERIFIED", "USER_UPGRADED_TO_RIDER", "USERS_LISTED", "RIDER_PASSWORD_SET", "RIDER_LOGIN_FAILED", "RIDER_LOGGED_IN", "PASSENGER_PASSWORD_SET", "PASSENGER_LOGIN_FAILED", "PASSENGER_LOGGED_IN", "ADMIN_FORGOT_PASSWORD", "ADMIN_LOGGED_IN", "ADMIN_LOGGED_OUT", "PASSENGER_ACCOUNT_DEACTIVATED", "PASSENGER_ACCOUNT_DELETED", "AGENT_CREATED_RIDER", "AGENT_UPDATED_RIDER", "ADMIN_CREATED_USER", "ADMIN_UPDATED_USER", "ADMIN_CHANGED_PASSWORD", "ADMIN_RESET_USER_PASSWORD", "ADMIN_BULK_PASSWORD_RESET", "SUPER_ADMIN_PASSWORD_CHANGED", "SUPER_ADMIN_CHANGED_USER_ACCOUNT_STATUS", "SUPER_ADMIN_UPDATED_USER", "SUPER_ADMIN_CREATED_USER", "PRODUCT_CREATED", "PRODUCT_READ", "PRODUCT_UPDATED", "PRODUCT_DELETED", "PRODUCTS_LISTED", "PRODUCTS_ACTIVATED", "PRODUCTS_DEACTIVATED", "PRODUCT_STOCK_SET_MANUALLY", "PRODUCT_STOCK_INCREMENTED", "PRODUCT_STOCK_DECREMENTED", "PRICING_CREATED", "PRICING_READ", "PRICING_UPDATED", "PRICING_DELETED", "DEVICE_CREATED", "DEVICES_BULK_CREATED", "DEVICE_ASSIGNED", "DEVICE_READ", "DEVICE_UPDATED", "DEVICES_LISTED", "DEVICE_LOCKED", "DEVICE_UNLOCKED", "DEVICE_DISABLED", "DEVICE_REACTIVATED", "DEVICE_DELETED_PERMANENTLY", "DEVICE_REPOSSESSED", "DEVICE_PAYMENT_PLAN_CREATED", "DEVICE_PAYMENT_PLAN_READ", "DEVICE_PAYMENT_PLAN_UPDATED", "DEVICE_PAYMENT_PLAN_MARKED_DEFAULTED", "DEVICE_PAYMENT_PLAN_SOFT_DELETED", "DEVICE_PAYMENT_PLAN_DELETED_PERMANENTLY", "PAYMENT_RECORDED", "PAYMENT_READ", "PAYMENTS_LISTED", "TRANSACTION_READ", "TRANSACTIONS_LISTED", "EVENT_LOG_READ", "EVENT_LOGS_LISTED", "SECURITY_CLEARANCE_MANAGED", "DEVICE_LOCK_OVERRIDDEN", "SESSION_EXTENDED"];
|
|
14
14
|
export type EventAction = (typeof EVENT_ACTIONS)[number];
|
|
15
15
|
export interface EventLogAttributes {
|
|
16
16
|
id: string;
|
|
@@ -15,6 +15,12 @@ exports.EVENT_ACTIONS = [
|
|
|
15
15
|
"USER_VERIFIED",
|
|
16
16
|
"USER_UPGRADED_TO_RIDER", // New action for rider upgrades
|
|
17
17
|
"USERS_LISTED",
|
|
18
|
+
"RIDER_PASSWORD_SET",
|
|
19
|
+
"RIDER_LOGIN_FAILED",
|
|
20
|
+
"RIDER_LOGGED_IN",
|
|
21
|
+
"PASSENGER_PASSWORD_SET",
|
|
22
|
+
"PASSENGER_LOGIN_FAILED",
|
|
23
|
+
"PASSENGER_LOGGED_IN",
|
|
18
24
|
"ADMIN_FORGOT_PASSWORD",
|
|
19
25
|
"ADMIN_LOGGED_IN",
|
|
20
26
|
"ADMIN_LOGGED_OUT",
|
|
@@ -93,7 +99,7 @@ class EventLog extends vr_migrations_1.Model {
|
|
|
93
99
|
allowNull: true,
|
|
94
100
|
},
|
|
95
101
|
action: {
|
|
96
|
-
type: vr_migrations_1.DataTypes.
|
|
102
|
+
type: vr_migrations_1.DataTypes.ENUM(...exports.EVENT_ACTIONS),
|
|
97
103
|
allowNull: false,
|
|
98
104
|
},
|
|
99
105
|
entity: {
|
|
@@ -78,6 +78,12 @@ class User extends vr_migrations_1.Model {
|
|
|
78
78
|
registeredBy: {
|
|
79
79
|
type: vr_migrations_1.DataTypes.UUID,
|
|
80
80
|
allowNull: true,
|
|
81
|
+
references: {
|
|
82
|
+
model: "users",
|
|
83
|
+
key: "id",
|
|
84
|
+
},
|
|
85
|
+
onUpdate: "CASCADE",
|
|
86
|
+
onDelete: "SET NULL",
|
|
81
87
|
},
|
|
82
88
|
isActive: {
|
|
83
89
|
type: vr_migrations_1.DataTypes.BOOLEAN,
|
|
@@ -131,6 +137,13 @@ class User extends vr_migrations_1.Model {
|
|
|
131
137
|
// ASSOCIATIONS
|
|
132
138
|
// ===========================================================================
|
|
133
139
|
static associate(models) {
|
|
140
|
+
// Self-reference for registered by
|
|
141
|
+
this.belongsTo(models.User, {
|
|
142
|
+
foreignKey: "registeredBy",
|
|
143
|
+
as: "registeredByUser",
|
|
144
|
+
onDelete: "SET NULL",
|
|
145
|
+
onUpdate: "CASCADE",
|
|
146
|
+
});
|
|
134
147
|
this.belongsTo(models.SecurityClearance, {
|
|
135
148
|
foreignKey: "securityClearanceId",
|
|
136
149
|
as: "securityClearance",
|