@lyxa.ai/core 1.0.30 → 1.0.31
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/libraries/mongo/models/core-user.model.d.ts +1 -1
- package/dist/libraries/mongo/models/core-user.model.js +1 -1
- package/dist/libraries/mongo/models/core-user.model.js.map +1 -1
- package/dist/libraries/mongo/models/embedded/otp-fields.model.js +5 -1
- package/dist/libraries/mongo/models/embedded/otp-fields.model.js.map +1 -1
- package/dist/libraries/mongo/models/rider-timeout.model.d.ts +1 -1
- package/dist/libraries/mongo/models/rider-timeout.model.js +2 -2
- package/dist/libraries/mongo/models/rider-timeout.model.js.map +1 -1
- package/dist/libraries/mongo/models/rider.model.d.ts +1 -1
- package/dist/libraries/mongo/models/rider.model.js +2 -2
- package/dist/libraries/mongo/models/rider.model.js.map +1 -1
- package/dist/libraries/mongo/models/user.model.d.ts +1 -0
- package/dist/libraries/mongo/models/user.model.js +6 -1
- package/dist/libraries/mongo/models/user.model.js.map +1 -1
- package/dist/libraries/trpc/middlewares/phone-verified.d.ts +37 -0
- package/dist/libraries/trpc/middlewares/phone-verified.js +24 -0
- package/dist/libraries/trpc/middlewares/phone-verified.js.map +1 -0
- package/package.json +1 -1
|
@@ -50,7 +50,7 @@ __decorate([
|
|
|
50
50
|
__metadata("design:type", Array)
|
|
51
51
|
], CoreUser.prototype, "fcmTokens", void 0);
|
|
52
52
|
__decorate([
|
|
53
|
-
(0, typegoose_1.prop)({
|
|
53
|
+
(0, typegoose_1.prop)({ type: String }),
|
|
54
54
|
__metadata("design:type", String)
|
|
55
55
|
], CoreUser.prototype, "profilePhoto", void 0);
|
|
56
56
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-user.model.js","sourceRoot":"/","sources":["libraries/mongo/models/core-user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA0D;AAC1D,4EAAqE;AACrE,kDAAiD;AAG1C,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,2BAAU;IAEhC,IAAI,CAAU;IAGd,KAAK,CAAU;IAGf,MAAM,CAAU;IAGhB,GAAG,CAAQ;IAGX,WAAW,CAAU;IAGrB,SAAS,CAAY;IAGrB,YAAY,CAAU;IAGtB,MAAM,CAAU;IAGhB,SAAS,CAAY;CAC5B,CAAA;AA3BY,4BAAQ;AAEb;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uCACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wCAChB;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACxB,IAAI;qCAAC;AAGX;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6CACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;2CAChB;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"core-user.model.js","sourceRoot":"/","sources":["libraries/mongo/models/core-user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA0D;AAC1D,4EAAqE;AACrE,kDAAiD;AAG1C,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,2BAAU;IAEhC,IAAI,CAAU;IAGd,KAAK,CAAU;IAGf,MAAM,CAAU;IAGhB,GAAG,CAAQ;IAGX,WAAW,CAAU;IAGrB,SAAS,CAAY;IAGrB,YAAY,CAAU;IAGtB,MAAM,CAAU;IAGhB,SAAS,CAAY;CAC5B,CAAA;AA3BY,4BAAQ;AAEb;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uCACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wCAChB;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACxB,IAAI;qCAAC;AAGX;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6CACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;2CAChB;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8CACM;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;wCACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;;2CACnB;mBA1BhB,QAAQ;IADpB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC;GAChD,QAAQ,CA2BpB","sourcesContent":["import { modelOptions, prop } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { Status } from '../../../utilities/enum';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'coreUsers' } })\r\nexport class CoreUser extends TimeStamps {\r\n\t@prop({ required: true, type: String })\r\n\tpublic name!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic email!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic gender!: string;\r\n\r\n\t@prop({ required: true, type: Date })\r\n\tpublic dob!: Date;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic countryISO2!: string;\r\n\r\n\t@prop({ type: () => [String], default: [] })\r\n\tpublic fcmTokens?: string[];\r\n\r\n\t@prop({ type: String })\r\n\tpublic profilePhoto?: string;\r\n\r\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status?: Status;\r\n\r\n\t@prop({ required: true, type: () => [String] })\r\n\tpublic deviceIds!: string[];\r\n}\r\n"]}
|
|
@@ -20,7 +20,11 @@ class OTPFields {
|
|
|
20
20
|
}
|
|
21
21
|
exports.OTPFields = OTPFields;
|
|
22
22
|
__decorate([
|
|
23
|
-
(0, typegoose_1.prop)({
|
|
23
|
+
(0, typegoose_1.prop)({
|
|
24
|
+
required: true,
|
|
25
|
+
type: String,
|
|
26
|
+
enum: ['email_verification', 'reset_password', 'phone_verification'],
|
|
27
|
+
}),
|
|
24
28
|
__metadata("design:type", String)
|
|
25
29
|
], OTPFields.prototype, "type", void 0);
|
|
26
30
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otp-fields.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/otp-fields.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAE5C,MAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"otp-fields.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/otp-fields.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAE5C,MAAa,SAAS;IAMd,IAAI,CAA2C;IAG/C,GAAG,CAAU;IAGb,iBAAiB,CAAQ;IAGzB,eAAe,CAAQ;IAGvB,UAAU,CAAW;CAC5B;AAnBD,8BAmBC;AAbO;IALN,IAAA,gBAAI,EAAC;QACL,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,CAAC;KACpE,CAAC;;uCACoD;AAG/C;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sCACpB;AAGb;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACX,IAAI;oDAAC;AAGzB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACb,IAAI;kDAAC;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;6CAC7B","sourcesContent":["import { prop } from '@typegoose/typegoose';\r\n\r\nexport class OTPFields {\r\n\t@prop({\r\n\t\trequired: true,\r\n\t\ttype: String,\r\n\t\tenum: ['email_verification', 'reset_password', 'phone_verification'],\r\n\t})\r\n\tpublic type!: 'email_verification' | 'reset_password';\r\n\r\n\t@prop({ required: false, type: String })\r\n\tpublic otp?: string;\r\n\r\n\t@prop({ required: false, type: Date })\r\n\tpublic otpExpirationDate?: Date;\r\n\r\n\t@prop({ required: false, type: Date })\r\n\tpublic lastSentOtpDate?: Date;\r\n\r\n\t@prop({ required: false, type: Boolean, default: false })\r\n\tpublic isVerified?: boolean;\r\n}\r\n"]}
|
|
@@ -3,7 +3,7 @@ import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
|
|
|
3
3
|
import { Rider } from './rider.model';
|
|
4
4
|
export declare class RiderTimeout extends TimeStamps {
|
|
5
5
|
rider: Ref<Rider>;
|
|
6
|
-
|
|
6
|
+
date?: Date;
|
|
7
7
|
timeIn?: Date;
|
|
8
8
|
timeOut?: Date;
|
|
9
9
|
activeTotal?: number;
|
|
@@ -15,7 +15,7 @@ const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
|
|
|
15
15
|
const rider_model_1 = require("./rider.model");
|
|
16
16
|
let RiderTimeout = class RiderTimeout extends defaultClasses_1.TimeStamps {
|
|
17
17
|
rider;
|
|
18
|
-
|
|
18
|
+
date;
|
|
19
19
|
timeIn;
|
|
20
20
|
timeOut;
|
|
21
21
|
activeTotal;
|
|
@@ -28,7 +28,7 @@ __decorate([
|
|
|
28
28
|
__decorate([
|
|
29
29
|
(0, typegoose_1.prop)({ type: Date }),
|
|
30
30
|
__metadata("design:type", Date)
|
|
31
|
-
], RiderTimeout.prototype, "
|
|
31
|
+
], RiderTimeout.prototype, "date", void 0);
|
|
32
32
|
__decorate([
|
|
33
33
|
(0, typegoose_1.prop)({ type: Date }),
|
|
34
34
|
__metadata("design:type", Date)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rider-timeout.model.js","sourceRoot":"/","sources":["libraries/mongo/models/rider-timeout.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,4EAAqE;AACrE,+CAAsC;AAG/B,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,2BAAU;IAEpC,KAAK,CAAc;IAGnB,IAAI,CAAQ;IAGZ,MAAM,CAAQ;IAGd,OAAO,CAAQ;IAGf,WAAW,CAAU;CAC5B,CAAA;AAfY,oCAAY;AAEjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,CAAC;;2CACjB;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACP,IAAI;0CAAC;AAGZ;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACL,IAAI;4CAAC;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACJ,IAAI;6CAAC;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iDACP;uBAdhB,YAAY;IADxB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;GACtE,YAAY,CAexB","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { Rider } from './rider.model';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'riderTimeouts', timestamps: true } })\r\nexport class RiderTimeout extends TimeStamps {\r\n\t@prop({ required: true, ref: () => Rider })\r\n\tpublic rider!: Ref<Rider>;\r\n\r\n\t@prop({ type: Date })\r\n\tpublic
|
|
1
|
+
{"version":3,"file":"rider-timeout.model.js","sourceRoot":"/","sources":["libraries/mongo/models/rider-timeout.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,4EAAqE;AACrE,+CAAsC;AAG/B,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,2BAAU;IAEpC,KAAK,CAAc;IAGnB,IAAI,CAAQ;IAGZ,MAAM,CAAQ;IAGd,OAAO,CAAQ;IAGf,WAAW,CAAU;CAC5B,CAAA;AAfY,oCAAY;AAEjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,CAAC;;2CACjB;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACP,IAAI;0CAAC;AAGZ;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACL,IAAI;4CAAC;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACJ,IAAI;6CAAC;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iDACP;uBAdhB,YAAY;IADxB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;GACtE,YAAY,CAexB","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { Rider } from './rider.model';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'riderTimeouts', timestamps: true } })\r\nexport class RiderTimeout extends TimeStamps {\r\n\t@prop({ required: true, ref: () => Rider })\r\n\tpublic rider!: Ref<Rider>;\r\n\r\n\t@prop({ type: Date })\r\n\tpublic date?: Date;\r\n\r\n\t@prop({ type: Date })\r\n\tpublic timeIn?: Date;\r\n\r\n\t@prop({ type: Date })\r\n\tpublic timeOut?: Date;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic activeTotal?: number;\r\n}\r\n"]}
|
|
@@ -32,7 +32,7 @@ export declare class Rider extends TimeStamps {
|
|
|
32
32
|
forgetExpired?: Date;
|
|
33
33
|
lastLocationUpdateAt?: Date;
|
|
34
34
|
contractImage?: string;
|
|
35
|
-
|
|
35
|
+
createdBy?: CreatedBy;
|
|
36
36
|
isLogin?: boolean;
|
|
37
37
|
lastLoginDeviceId?: string;
|
|
38
38
|
reviews?: Ref<RiderReview>[];
|
|
@@ -48,7 +48,7 @@ let Rider = class Rider extends defaultClasses_1.TimeStamps {
|
|
|
48
48
|
forgetExpired;
|
|
49
49
|
lastLocationUpdateAt;
|
|
50
50
|
contractImage;
|
|
51
|
-
|
|
51
|
+
createdBy;
|
|
52
52
|
isLogin;
|
|
53
53
|
lastLoginDeviceId;
|
|
54
54
|
reviews;
|
|
@@ -169,7 +169,7 @@ __decorate([
|
|
|
169
169
|
__decorate([
|
|
170
170
|
(0, typegoose_1.prop)({ type: String, enum: enum_1.CreatedBy, default: enum_1.CreatedBy.ADMIN }),
|
|
171
171
|
__metadata("design:type", String)
|
|
172
|
-
], Rider.prototype, "
|
|
172
|
+
], Rider.prototype, "createdBy", void 0);
|
|
173
173
|
__decorate([
|
|
174
174
|
(0, typegoose_1.prop)({ type: Boolean, default: false }),
|
|
175
175
|
__metadata("design:type", Boolean)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rider.model.js","sourceRoot":"/","sources":["libraries/mongo/models/rider.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAA2E;AAC3E,wDAA8B;AAC9B,4EAAqE;AACrE,oEAA0D;AAC1D,6DAAmD;AACnD,6CAAoC;AACpC,6CAAoC;AACpC,kDAAwG;AACxG,4EAAkE;AAS3D,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,2BAAU;IAE7B,IAAI,CAAU;IAGd,KAAK,CAAU;IAGf,KAAK,CAAU;IAGf,QAAQ,CAAU;IAGlB,MAAM,CAAU;IAGhB,WAAW,CAAU;IAGrB,QAAQ,CAAY;IAGpB,MAAM,CAAU;IAGhB,MAAM,CAAU;IAGhB,GAAG,CAAQ;IAGX,UAAU,CAAU;IAGpB,UAAU,CAAc;IAGxB,QAAQ,CAAY;IAGpB,SAAS,CAAQ;IAGjB,UAAU,CAAQ;IAGlB,kBAAkB,CAAU;IAG5B,2BAA2B,CAAU;IAGrC,WAAW,CAAU;IAGrB,aAAa,CAAU;IAGvB,OAAO,CAAU;IAGjB,QAAQ,CAAe;IAGvB,WAAW,CAAU;IAGrB,aAAa,CAAQ;IAGrB,oBAAoB,CAAQ;IAG5B,aAAa,CAAU;IAGvB,
|
|
1
|
+
{"version":3,"file":"rider.model.js","sourceRoot":"/","sources":["libraries/mongo/models/rider.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAA2E;AAC3E,wDAA8B;AAC9B,4EAAqE;AACrE,oEAA0D;AAC1D,6DAAmD;AACnD,6CAAoC;AACpC,6CAAoC;AACpC,kDAAwG;AACxG,4EAAkE;AAS3D,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,2BAAU;IAE7B,IAAI,CAAU;IAGd,KAAK,CAAU;IAGf,KAAK,CAAU;IAGf,QAAQ,CAAU;IAGlB,MAAM,CAAU;IAGhB,WAAW,CAAU;IAGrB,QAAQ,CAAY;IAGpB,MAAM,CAAU;IAGhB,MAAM,CAAU;IAGhB,GAAG,CAAQ;IAGX,UAAU,CAAU;IAGpB,UAAU,CAAc;IAGxB,QAAQ,CAAY;IAGpB,SAAS,CAAQ;IAGjB,UAAU,CAAQ;IAGlB,kBAAkB,CAAU;IAG5B,2BAA2B,CAAU;IAGrC,WAAW,CAAU;IAGrB,aAAa,CAAU;IAGvB,OAAO,CAAU;IAGjB,QAAQ,CAAe;IAGvB,WAAW,CAAU;IAGrB,aAAa,CAAQ;IAGrB,oBAAoB,CAAQ;IAG5B,aAAa,CAAU;IAGvB,SAAS,CAAa;IAGtB,OAAO,CAAW;IAGlB,iBAAiB,CAAU;IAG3B,OAAO,CAAsB;IAG7B,MAAM,CAAU;IAGhB,KAAK,CAAa;IAGlB,IAAI,CAAa;IAGjB,SAAS,CAAa;IAGtB,IAAI,CAAa;IAGjB,gBAAgB,CAAU;IAG1B,4BAA4B,CAAW;IAGvC,aAAa,CAAe;IAG5B,eAAe,CAAoB;IAGnC,SAAS,CAAU;IAGnB,eAAe,CAAU;IAGzB,gBAAgB,CAAU;CACjC,CAAA;AA3HY,sBAAK;AAEV;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oCACD;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oCACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uCACE;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qCACA;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0CACK;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,OAAO,EAAE,eAAQ,CAAC,EAAE,EAAE,CAAC;;uCAClC;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qCACA;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,QAAQ,EAAE,CAAC;;qCACxC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACR,IAAI;kCAAC;AAGX;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;yCACR;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAU,EAAE,OAAO,EAAE,iBAAU,CAAC,OAAO,EAAE,CAAC;;yCACvC;AAGxB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;uCACjB;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;8BACrB,IAAI;wCAAC;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;8BACpB,IAAI;yCAAC;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;iDACY;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0DACqB;AAGrC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0CACK;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;4CACO;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sCACC;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,gCAAW,EAAE,CAAC;8BACV,gCAAW;uCAAC;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0CACK;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACE,IAAI;4CAAC;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACS,IAAI;mDAAC;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;4CACO;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,OAAO,EAAE,gBAAS,CAAC,KAAK,EAAE,CAAC;;wCACrC;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;sCACf;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;gDACW;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,gCAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;sCAChC;AAG7B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;qCACZ;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,OAAO,EAAE,gBAAS,CAAC,GAAG,EAAE,CAAC;;oCACvC;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;mCAChB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,OAAO,EAAE,gBAAS,CAAC,UAAU,EAAE,CAAC;;wCAC1C;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;mCAChB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;+CACU;AAG1B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;2DACM;AAGvC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;4CACD;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,sCAAc,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;8CACV;AAGnC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wCACG;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8CACS;AAGzB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;+CACU;gBA1HrB,KAAK;IAPjB,IAAA,eAAG,EAAQ,MAAM,EAAE,KAAK;QACxB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO;QACzC,MAAM,IAAI,GAAG,MAAM,kBAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,MAAM,kBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAkB,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC,CAAC;IACD,IAAA,iBAAK,EAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAC/B,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;GAC/D,KAAK,CA2HjB","sourcesContent":["import { index, modelOptions, pre, prop, Ref } from '@typegoose/typegoose';\r\nimport bcrypt from 'bcryptjs';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { GeoLocation } from './shared/geo-location.model';\r\nimport { RiderReview } from './rider-review.model';\r\nimport { Zone } from './zone.model';\r\nimport { Shop } from './shop.model';\r\nimport { CreatedBy, Language, LiveStatus, RiderType, ShiftType, Status } from '../../../utilities/enum';\r\nimport { RiderEquipment } from './embedded/rider-equipment.model';\r\n\r\n@pre<Rider>('save', async function () {\r\n\tif (!this.isModified('password')) return;\r\n\tconst salt = await bcrypt.genSalt(10);\r\n\tthis.password = await bcrypt.hash(this.password as string, salt);\r\n})\r\n@index({ location: '2dsphere' })\r\n@modelOptions({ schemaOptions: { collection: 'riders', timestamps: true } })\r\nexport class Rider extends TimeStamps {\r\n\t@prop({ type: String, required: true })\r\n\tpublic name!: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic image?: string;\r\n\r\n\t@prop({ type: String, required: true })\r\n\tpublic email!: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic password?: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic gender?: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic countryCode?: string;\r\n\r\n\t@prop({ type: String, enum: Language, default: Language.EN })\r\n\tpublic language?: Language;\r\n\r\n\t@prop({ type: String })\r\n\tpublic number?: string;\r\n\r\n\t@prop({ type: String, enum: Status, default: Status.INACTIVE })\r\n\tpublic status?: Status;\r\n\r\n\t@prop({ type: Date })\r\n\tpublic dob?: Date;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic totalOrder?: number;\r\n\r\n\t@prop({ type: String, enum: LiveStatus, default: LiveStatus.OFFLINE })\r\n\tpublic liveStatus?: LiveStatus;\r\n\r\n\t@prop({ type: () => [String], default: [] })\r\n\tpublic fcmToken?: string[];\r\n\r\n\t@prop({ type: Date, default: Date.now })\r\n\tpublic lastLogin?: Date;\r\n\r\n\t@prop({ type: Date, default: Date.now })\r\n\tpublic lastOnline?: Date;\r\n\r\n\t@prop({ type: String })\r\n\tpublic nationalIdDocument?: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic vehicleRegistrationDocument?: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic vehicleType?: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic vehicleNumber?: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic address?: string;\r\n\r\n\t@prop({ type: GeoLocation })\r\n\tpublic location?: GeoLocation;\r\n\r\n\t@prop({ type: String })\r\n\tpublic forgetToken?: string;\r\n\r\n\t@prop({ type: Date })\r\n\tpublic forgetExpired?: Date;\r\n\r\n\t@prop({ type: Date })\r\n\tpublic lastLocationUpdateAt?: Date;\r\n\r\n\t@prop({ type: String })\r\n\tpublic contractImage?: string;\r\n\r\n\t@prop({ type: String, enum: CreatedBy, default: CreatedBy.ADMIN })\r\n\tpublic createdBy?: CreatedBy;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isLogin?: boolean;\r\n\r\n\t@prop({ type: String })\r\n\tpublic lastLoginDeviceId?: string;\r\n\r\n\t@prop({ type: () => [String], ref: () => RiderReview, default: [] })\r\n\tpublic reviews?: Ref<RiderReview>[];\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic rating?: number;\r\n\r\n\t@prop({ type: String, enum: ShiftType, default: ShiftType.DAY })\r\n\tpublic shift?: ShiftType;\r\n\r\n\t@prop({ type: String, ref: () => Zone })\r\n\tpublic zone?: Ref<Zone>;\r\n\r\n\t@prop({ type: String, enum: RiderType, default: RiderType.LYXA_RIDER })\r\n\tpublic riderType?: RiderType;\r\n\r\n\t@prop({ type: String, ref: () => Shop })\r\n\tpublic shop?: Ref<Shop>;\r\n\r\n\t@prop({ type: String })\r\n\tpublic riderNationality?: string;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isCashSettlementLimitReached?: boolean;\r\n\r\n\t@prop({ type: Date, default: null })\r\n\tpublic firstActiveAt?: Date | null;\r\n\r\n\t@prop({ type: () => [RiderEquipment], default: [] })\r\n\tpublic riderEquipments?: RiderEquipment[];\r\n\r\n\t@prop({ type: String })\r\n\tpublic insurance?: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic powerOfAttorney?: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic proofOfResidence?: string;\r\n}\r\n"]}
|
|
@@ -41,6 +41,7 @@ let User = class User extends defaultClasses_1.TimeStamps {
|
|
|
41
41
|
isSubscribed;
|
|
42
42
|
phoneNumber;
|
|
43
43
|
phoneOtpInfo;
|
|
44
|
+
isPhoneVerified;
|
|
44
45
|
};
|
|
45
46
|
exports.User = User;
|
|
46
47
|
__decorate([
|
|
@@ -121,13 +122,17 @@ __decorate([
|
|
|
121
122
|
__metadata("design:type", Boolean)
|
|
122
123
|
], User.prototype, "isSubscribed", void 0);
|
|
123
124
|
__decorate([
|
|
124
|
-
(0, typegoose_1.prop)({ type: String, unique: true }),
|
|
125
|
+
(0, typegoose_1.prop)({ type: String, unique: true, sparse: true }),
|
|
125
126
|
__metadata("design:type", String)
|
|
126
127
|
], User.prototype, "phoneNumber", void 0);
|
|
127
128
|
__decorate([
|
|
128
129
|
(0, typegoose_1.prop)({ type: otp_fields_model_1.OTPFields }),
|
|
129
130
|
__metadata("design:type", otp_fields_model_1.OTPFields)
|
|
130
131
|
], User.prototype, "phoneOtpInfo", void 0);
|
|
132
|
+
__decorate([
|
|
133
|
+
(0, typegoose_1.prop)({ type: Boolean, default: false }),
|
|
134
|
+
__metadata("design:type", Boolean)
|
|
135
|
+
], User.prototype, "isPhoneVerified", void 0);
|
|
131
136
|
exports.User = User = __decorate([
|
|
132
137
|
(0, typegoose_1.index)({ location: '2dsphere' }),
|
|
133
138
|
(0, typegoose_1.modelOptions)({ schemaOptions: { collection: 'users' } })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.model.js","sourceRoot":"/","sources":["libraries/mongo/models/user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAgF;AAChF,4EAAqE;AACrE,uDAA6C;AAC7C,mDAA0C;AAC1C,6CAAoC;AACpC,0DAAqD;AACrD,iDAAwC;AACxC,6DAAoD;AACpD,kDAAiD;AACjD,kEAAwD;AAIjD,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,2BAAU;IAE5B,QAAQ,CAAiB;IAGzB,gBAAgB,CAAkB;IAGlC,aAAa,CAAe;IAG5B,SAAS,CAAiB;IAG1B,MAAM,CAAU;IAGhB,QAAQ,CAAU;IAGlB,WAAW,CAAU;IAGrB,cAAc,CAAU;IAGxB,eAAe,CAAQ;IAQvB,gBAAgB,CAAU;IAG1B,OAAO,CAAiB;IAGxB,yBAAyB,CAAU;IAGnC,kBAAkB,CAAU;IAG5B,iCAAiC,CAAU;IAG3C,qBAAqB,CAAW;IAGhC,YAAY,CAAe;IAG3B,YAAY,CAAqB;IAGjC,YAAY,CAAW;IAGvB,WAAW,CAAU;IAGrB,YAAY,CAAa;
|
|
1
|
+
{"version":3,"file":"user.model.js","sourceRoot":"/","sources":["libraries/mongo/models/user.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { index, modelOptions, mongoose, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { CoreUser } from './core-user.model';\r\nimport { Product } from './product.model';\r\nimport { Shop } from './shop.model';\r\nimport { UserAddress } from './shared/address.model';\r\nimport { Coupon } from './coupon.model';\r\nimport { Subscription } from './subscription.model';\r\nimport { Status } from '../../../utilities/enum';\r\nimport { OTPFields } from './embedded/otp-fields.model';\r\n\r\n@index({ location: '2dsphere' })\r\n@modelOptions({ schemaOptions: { collection: 'users' } })\r\nexport class User extends TimeStamps {\r\n\t@prop({ required: true, type: mongoose.Types.ObjectId, ref: () => CoreUser })\r\n\tpublic coreUser!: Ref<CoreUser>;\r\n\r\n\t@prop({ type: () => [String], ref: () => Product })\r\n\tpublic favoriteProducts?: Ref<Product>[];\r\n\r\n\t@prop({ type: () => [String], ref: () => Shop })\r\n\tpublic favoriteShops?: Ref<Shop>[];\r\n\r\n\t@prop({ type: () => [UserAddress] })\r\n\tpublic addresses?: UserAddress[];\r\n\r\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status?: Status;\r\n\r\n\t@prop({ type: String })\r\n\tpublic socialId?: string;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic tempBalance?: number;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic orderCompleted?: number;\r\n\r\n\t@prop({ type: Date })\r\n\tpublic repeatedOrderAt?: Date;\r\n\r\n\t@prop({\r\n\t\ttype: Number,\r\n\t\tdefault: 0,\r\n\t\tset: (points: number) => Math.max(points, 0),\r\n\t\tget: (points: number) => Math.max(points, 0),\r\n\t})\r\n\tpublic tempRewardPoints?: number;\r\n\r\n\t@prop({ type: () => [String], ref: () => Coupon })\r\n\tpublic coupons?: Ref<Coupon>[];\r\n\r\n\t@prop({ type: String })\r\n\tpublic newUserCouponDiscountType?: string;\r\n\r\n\t@prop({ type: Number })\r\n\tpublic newUserCouponValue?: number;\r\n\r\n\t@prop({ type: Number })\r\n\tpublic newUserCouponMaximumDiscountLimit?: number;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isNewUserCouponShowed?: boolean;\r\n\r\n\t@prop({ type: String, ref: () => Coupon })\r\n\tpublic referralCode?: Ref<Coupon>;\r\n\r\n\t@prop({ type: String, ref: () => Subscription })\r\n\tpublic subscription?: Ref<Subscription>;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isSubscribed?: boolean;\r\n\r\n\t@prop({ type: String, unique: true, sparse: true })\r\n\tpublic phoneNumber?: string;\r\n\r\n\t@prop({ type: OTPFields })\r\n\tpublic phoneOtpInfo?: OTPFields;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isPhoneVerified?: boolean;\r\n}\r\n"]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { AuthEntityType } from '../../auth';
|
|
2
|
+
interface PhoneVerifiedOptions {
|
|
3
|
+
entityTypes: AuthEntityType[];
|
|
4
|
+
}
|
|
5
|
+
export declare function createPhoneVerifiedProcedure(options: PhoneVerifiedOptions): import("@trpc/server").ProcedureBuilder<{
|
|
6
|
+
_config: import("@trpc/server").RootConfig<{
|
|
7
|
+
ctx: import("@trpc/server/dist/adapters/standalone").CreateHTTPContextOptions & import("../context").LyxaContextParams;
|
|
8
|
+
meta: object;
|
|
9
|
+
errorShape: {
|
|
10
|
+
message: string;
|
|
11
|
+
data: {
|
|
12
|
+
stack: undefined;
|
|
13
|
+
path: undefined;
|
|
14
|
+
code: import("@trpc/server/rpc").TRPC_ERROR_CODE_KEY;
|
|
15
|
+
httpStatus: number;
|
|
16
|
+
};
|
|
17
|
+
stack: undefined;
|
|
18
|
+
code: import("@trpc/server/rpc").TRPC_ERROR_CODE_NUMBER;
|
|
19
|
+
};
|
|
20
|
+
transformer: import("@trpc/server").DefaultDataTransformer;
|
|
21
|
+
}>;
|
|
22
|
+
_meta: object;
|
|
23
|
+
_ctx_out: {
|
|
24
|
+
requestId: string | undefined;
|
|
25
|
+
res: import("http").ServerResponse<import("http").IncomingMessage>;
|
|
26
|
+
tokenType: import("../../auth").TokenType | undefined;
|
|
27
|
+
entity: import("../context").EntityContext | undefined;
|
|
28
|
+
req: import("http").IncomingMessage;
|
|
29
|
+
usedRefreshToken: boolean | undefined;
|
|
30
|
+
tokenRenewed: boolean | undefined;
|
|
31
|
+
};
|
|
32
|
+
_input_in: typeof import("@trpc/server").unsetMarker;
|
|
33
|
+
_input_out: typeof import("@trpc/server").unsetMarker;
|
|
34
|
+
_output_in: typeof import("@trpc/server").unsetMarker;
|
|
35
|
+
_output_out: typeof import("@trpc/server").unsetMarker;
|
|
36
|
+
}>;
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createPhoneVerifiedProcedure = createPhoneVerifiedProcedure;
|
|
4
|
+
const server_1 = require("@trpc/server");
|
|
5
|
+
const auth_1 = require("./auth");
|
|
6
|
+
const models_1 = require("../../mongo/models");
|
|
7
|
+
function createPhoneVerifiedProcedure(options) {
|
|
8
|
+
return (0, auth_1.createAuthenticatedProcedure)(options).use(async ({ ctx, next }) => {
|
|
9
|
+
if (!ctx.entity) {
|
|
10
|
+
throw new server_1.TRPCError({ code: 'UNAUTHORIZED', message: 'User not authenticated' });
|
|
11
|
+
}
|
|
12
|
+
const user = await models_1.UserModel.findOne({ _id: ctx.entity.id });
|
|
13
|
+
if (!user) {
|
|
14
|
+
throw new server_1.TRPCError({ code: 'UNAUTHORIZED', message: 'User not found' });
|
|
15
|
+
}
|
|
16
|
+
if (!user.isPhoneVerified)
|
|
17
|
+
throw new server_1.TRPCError({
|
|
18
|
+
code: 'FORBIDDEN',
|
|
19
|
+
message: 'Please verify your phone number to access this resource',
|
|
20
|
+
});
|
|
21
|
+
return next({ ctx });
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=phone-verified.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phone-verified.js","sourceRoot":"/","sources":["libraries/trpc/middlewares/phone-verified.ts"],"names":[],"mappings":";;AAaA,oEAkBC;AA/BD,yCAAyC;AACzC,iCAAsD;AAEtD,+CAA+C;AAU/C,SAAgB,4BAA4B,CAAC,OAA6B;IACzE,OAAO,IAAA,mCAA4B,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;QACxE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,kBAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,kBAAS,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,kBAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,eAAe;YACxB,MAAM,IAAI,kBAAS,CAAC;gBACnB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,yDAAyD;aAClE,CAAC,CAAC;QAEJ,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { TRPCError } from '@trpc/server';\r\nimport { createAuthenticatedProcedure } from './auth'; // Adjust import path!\r\nimport { AuthEntityType } from '../../auth';\r\nimport { UserModel } from '../../mongo/models';\r\n\r\ninterface PhoneVerifiedOptions {\r\n\tentityTypes: AuthEntityType[];\r\n}\r\n\r\n/**\r\n * A factory that creates a procedure requiring a verified phone number,\r\n * ensuring the user is authenticated and their phone is verified.\r\n */\r\nexport function createPhoneVerifiedProcedure(options: PhoneVerifiedOptions) {\r\n\treturn createAuthenticatedProcedure(options).use(async ({ ctx, next }) => {\r\n\t\tif (!ctx.entity) {\r\n\t\t\tthrow new TRPCError({ code: 'UNAUTHORIZED', message: 'User not authenticated' });\r\n\t\t}\r\n\r\n\t\tconst user = await UserModel.findOne({ _id: ctx.entity.id });\r\n\t\tif (!user) {\r\n\t\t\tthrow new TRPCError({ code: 'UNAUTHORIZED', message: 'User not found' });\r\n\t\t}\r\n\t\tif (!user.isPhoneVerified)\r\n\t\t\tthrow new TRPCError({\r\n\t\t\t\tcode: 'FORBIDDEN',\r\n\t\t\t\tmessage: 'Please verify your phone number to access this resource',\r\n\t\t\t});\r\n\r\n\t\treturn next({ ctx });\r\n\t});\r\n}\r\n"]}
|