@flusys/nestjs-form-builder 8.0.3 → 8.1.1
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/README.md +47 -6
- package/config/message-keys.d.ts +9 -0
- package/controllers/form-email-auth.controller.d.ts +11 -0
- package/controllers/form-result.controller.d.ts +6 -3
- package/controllers/form.controller.d.ts +5 -2
- package/controllers/index.d.ts +1 -0
- package/dtos/form-email-auth.dto.d.ts +20 -0
- package/dtos/form-result.dto.d.ts +2 -0
- package/dtos/form.dto.d.ts +3 -0
- package/dtos/index.d.ts +1 -0
- package/entities/form-email-verification.entity.d.ts +11 -0
- package/entities/form-result.entity.d.ts +1 -0
- package/entities/index.d.ts +4 -2
- package/enums/form-access-type.enum.d.ts +2 -1
- package/fesm/{262.js → 432.js} +561 -37
- package/fesm/{98.js → 720.js} +364 -36
- package/fesm/config/index.js +11 -2
- package/fesm/controllers/index.js +6 -5
- package/fesm/dtos/index.js +170 -4
- package/fesm/entities/index.js +136 -6
- package/fesm/enums/index.js +1 -0
- package/fesm/index.js +66 -21
- package/fesm/interfaces/index.js +23 -2
- package/fesm/modules/index.js +22 -12
- package/fesm/services/index.js +8 -4
- package/interfaces/form-builder-email-provider.interface.d.ts +4 -0
- package/interfaces/form-builder-module.interface.d.ts +3 -1
- package/interfaces/form-result.interface.d.ts +1 -0
- package/interfaces/index.d.ts +1 -0
- package/package.json +3 -3
- package/services/form-email-auth.service.d.ts +29 -0
- package/services/form-result.service.d.ts +10 -1
- package/services/form.service.d.ts +2 -0
- package/services/index.d.ts +1 -0
package/fesm/dtos/index.js
CHANGED
|
@@ -36,6 +36,7 @@ class SubmitFormDto {
|
|
|
36
36
|
formId;
|
|
37
37
|
data;
|
|
38
38
|
isDraft;
|
|
39
|
+
accessToken;
|
|
39
40
|
}
|
|
40
41
|
_ts_decorate([
|
|
41
42
|
(0,_nestjs_swagger__rspack_import_1.ApiProperty)({
|
|
@@ -68,6 +69,15 @@ _ts_decorate([
|
|
|
68
69
|
(0,class_validator__rspack_import_3.IsOptional)(),
|
|
69
70
|
_ts_metadata("design:type", Boolean)
|
|
70
71
|
], SubmitFormDto.prototype, "isDraft", void 0);
|
|
72
|
+
_ts_decorate([
|
|
73
|
+
(0,_nestjs_swagger__rspack_import_1.ApiProperty)({
|
|
74
|
+
description: 'Access token from email verification (only used for EMAIL_VERIFIED forms submitted anonymously)',
|
|
75
|
+
required: false
|
|
76
|
+
}),
|
|
77
|
+
(0,class_validator__rspack_import_3.IsString)(),
|
|
78
|
+
(0,class_validator__rspack_import_3.IsOptional)(),
|
|
79
|
+
_ts_metadata("design:type", String)
|
|
80
|
+
], SubmitFormDto.prototype, "accessToken", void 0);
|
|
71
81
|
class CreateFormResultDto extends SubmitFormDto {
|
|
72
82
|
schemaVersionSnapshot;
|
|
73
83
|
schemaVersion;
|
|
@@ -177,6 +187,7 @@ class FormResultResponseDto extends _flusys_nestjs_shared_dtos__rspack_import_0.
|
|
|
177
187
|
schemaVersion;
|
|
178
188
|
data;
|
|
179
189
|
submittedById;
|
|
190
|
+
submitterEmail;
|
|
180
191
|
submittedAt;
|
|
181
192
|
isDraft;
|
|
182
193
|
}
|
|
@@ -205,6 +216,11 @@ _ts_decorate([
|
|
|
205
216
|
(0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
|
|
206
217
|
_ts_metadata("design:type", Object)
|
|
207
218
|
], FormResultResponseDto.prototype, "submittedById", void 0);
|
|
219
|
+
_ts_decorate([
|
|
220
|
+
(0,class_transformer__rspack_import_2.Expose)(),
|
|
221
|
+
(0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
|
|
222
|
+
_ts_metadata("design:type", Object)
|
|
223
|
+
], FormResultResponseDto.prototype, "submitterEmail", void 0);
|
|
208
224
|
_ts_decorate([
|
|
209
225
|
(0,class_transformer__rspack_import_2.Expose)(),
|
|
210
226
|
(0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
|
|
@@ -228,22 +244,28 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
228
244
|
|
|
229
245
|
|
|
230
246
|
},
|
|
231
|
-
|
|
247
|
+
472(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
232
248
|
|
|
233
249
|
// EXPORTS
|
|
234
250
|
__webpack_require__.d(__webpack_exports__, {
|
|
235
251
|
YD: () => (/* reexport */ CreateFormDto),
|
|
236
252
|
pZ: () => (/* reexport */ form_result_dto/* .CreateFormResultDto */.pZ),
|
|
253
|
+
d7: () => (/* reexport */ EmailVerifiedFormResponseDto),
|
|
237
254
|
Xe: () => (/* reexport */ FormAccessInfoResponseDto),
|
|
238
255
|
bV: () => (/* reexport */ FormResponseDto),
|
|
239
256
|
_$: () => (/* reexport */ form_result_dto/* .FormResultResponseDto */._$),
|
|
240
257
|
D5: () => (/* reexport */ form_result_dto/* .GetMyDraftDto */.D5),
|
|
241
258
|
rp: () => (/* reexport */ form_result_dto/* .GetResultsByFormDto */.rp),
|
|
259
|
+
BW: () => (/* reexport */ HasSubmittedEmailDto),
|
|
260
|
+
gI: () => (/* reexport */ LoadEmailVerifiedFormDto),
|
|
242
261
|
M4: () => (/* reexport */ PublicFormResponseDto),
|
|
262
|
+
ME: () => (/* reexport */ RequestFormEmailOtpDto),
|
|
243
263
|
sH: () => (/* reexport */ form_result_dto/* .SubmitFormDto */.sH),
|
|
244
264
|
CQ: () => (/* reexport */ form_result_dto/* .UpdateDraftDto */.CQ),
|
|
245
265
|
jQ: () => (/* reexport */ UpdateFormDto),
|
|
246
|
-
Uj: () => (/* reexport */ form_result_dto/* .UpdateFormResultDto */.Uj)
|
|
266
|
+
Uj: () => (/* reexport */ form_result_dto/* .UpdateFormResultDto */.Uj),
|
|
267
|
+
uY: () => (/* reexport */ VerifyFormEmailOtpDto),
|
|
268
|
+
TU: () => (/* reexport */ VerifyOtpResponseDto)
|
|
247
269
|
});
|
|
248
270
|
|
|
249
271
|
// EXTERNAL MODULE: external "@flusys/nestjs-shared/dtos"
|
|
@@ -500,14 +522,151 @@ class FormAccessInfoResponseDto extends (0,swagger_.PickType)(FormResponseDto, [
|
|
|
500
522
|
'isActive'
|
|
501
523
|
]) {
|
|
502
524
|
}
|
|
525
|
+
class EmailVerifiedFormResponseDto extends PublicFormResponseDto {
|
|
526
|
+
verifiedEmail;
|
|
527
|
+
}
|
|
528
|
+
_ts_decorate([
|
|
529
|
+
(0,external_class_transformer_.Expose)(),
|
|
530
|
+
(0,swagger_.ApiProperty)({
|
|
531
|
+
description: 'The verified email this form will be submitted as'
|
|
532
|
+
}),
|
|
533
|
+
_ts_metadata("design:type", String)
|
|
534
|
+
], EmailVerifiedFormResponseDto.prototype, "verifiedEmail", void 0);
|
|
503
535
|
|
|
504
536
|
// EXTERNAL MODULE: ./projects/nestjs-form-builder/src/dtos/form-result.dto.ts
|
|
505
537
|
var form_result_dto = __webpack_require__(788);
|
|
538
|
+
;// CONCATENATED MODULE: ./projects/nestjs-form-builder/src/dtos/form-email-auth.dto.ts
|
|
539
|
+
function form_email_auth_dto_ts_decorate(decorators, target, key, desc) {
|
|
540
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
541
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
542
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
543
|
+
} else {
|
|
544
|
+
for(var i = decorators.length - 1; i >= 0; i--){
|
|
545
|
+
if (d = decorators[i]) {
|
|
546
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
551
|
+
}
|
|
552
|
+
function form_email_auth_dto_ts_metadata(metadataKey, metadataValue) {
|
|
553
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
554
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
|
|
559
|
+
class RequestFormEmailOtpDto {
|
|
560
|
+
formId;
|
|
561
|
+
email;
|
|
562
|
+
}
|
|
563
|
+
form_email_auth_dto_ts_decorate([
|
|
564
|
+
(0,swagger_.ApiProperty)({
|
|
565
|
+
description: 'Form ID to verify an email against',
|
|
566
|
+
example: '123e4567-e89b-12d3-a456-426614174000'
|
|
567
|
+
}),
|
|
568
|
+
(0,external_class_validator_.IsUUID)(),
|
|
569
|
+
(0,external_class_validator_.IsNotEmpty)(),
|
|
570
|
+
form_email_auth_dto_ts_metadata("design:type", String)
|
|
571
|
+
], RequestFormEmailOtpDto.prototype, "formId", void 0);
|
|
572
|
+
form_email_auth_dto_ts_decorate([
|
|
573
|
+
(0,swagger_.ApiProperty)({
|
|
574
|
+
description: 'Email address to verify',
|
|
575
|
+
example: 'visitor@example.com'
|
|
576
|
+
}),
|
|
577
|
+
(0,external_class_validator_.IsEmail)(),
|
|
578
|
+
(0,external_class_validator_.IsNotEmpty)(),
|
|
579
|
+
form_email_auth_dto_ts_metadata("design:type", String)
|
|
580
|
+
], RequestFormEmailOtpDto.prototype, "email", void 0);
|
|
581
|
+
class VerifyFormEmailOtpDto {
|
|
582
|
+
formId;
|
|
583
|
+
email;
|
|
584
|
+
code;
|
|
585
|
+
}
|
|
586
|
+
form_email_auth_dto_ts_decorate([
|
|
587
|
+
(0,swagger_.ApiProperty)({
|
|
588
|
+
description: 'Form ID to verify an email against',
|
|
589
|
+
example: '123e4567-e89b-12d3-a456-426614174000'
|
|
590
|
+
}),
|
|
591
|
+
(0,external_class_validator_.IsUUID)(),
|
|
592
|
+
(0,external_class_validator_.IsNotEmpty)(),
|
|
593
|
+
form_email_auth_dto_ts_metadata("design:type", String)
|
|
594
|
+
], VerifyFormEmailOtpDto.prototype, "formId", void 0);
|
|
595
|
+
form_email_auth_dto_ts_decorate([
|
|
596
|
+
(0,swagger_.ApiProperty)({
|
|
597
|
+
description: 'Email address to verify',
|
|
598
|
+
example: 'visitor@example.com'
|
|
599
|
+
}),
|
|
600
|
+
(0,external_class_validator_.IsEmail)(),
|
|
601
|
+
(0,external_class_validator_.IsNotEmpty)(),
|
|
602
|
+
form_email_auth_dto_ts_metadata("design:type", String)
|
|
603
|
+
], VerifyFormEmailOtpDto.prototype, "email", void 0);
|
|
604
|
+
form_email_auth_dto_ts_decorate([
|
|
605
|
+
(0,swagger_.ApiProperty)({
|
|
606
|
+
description: '6-digit verification code',
|
|
607
|
+
example: '482913'
|
|
608
|
+
}),
|
|
609
|
+
(0,external_class_validator_.IsString)(),
|
|
610
|
+
(0,external_class_validator_.Length)(6, 6),
|
|
611
|
+
form_email_auth_dto_ts_metadata("design:type", String)
|
|
612
|
+
], VerifyFormEmailOtpDto.prototype, "code", void 0);
|
|
613
|
+
class VerifyOtpResponseDto {
|
|
614
|
+
accessToken;
|
|
615
|
+
expiresAt;
|
|
616
|
+
}
|
|
617
|
+
form_email_auth_dto_ts_decorate([
|
|
618
|
+
(0,swagger_.ApiProperty)({
|
|
619
|
+
description: 'Opaque access token identifying the verified email session'
|
|
620
|
+
}),
|
|
621
|
+
form_email_auth_dto_ts_metadata("design:type", String)
|
|
622
|
+
], VerifyOtpResponseDto.prototype, "accessToken", void 0);
|
|
623
|
+
form_email_auth_dto_ts_decorate([
|
|
624
|
+
(0,swagger_.ApiProperty)({
|
|
625
|
+
description: 'Access token expiry (sliding on subsequent use)'
|
|
626
|
+
}),
|
|
627
|
+
form_email_auth_dto_ts_metadata("design:type", typeof Date === "undefined" ? Object : Date)
|
|
628
|
+
], VerifyOtpResponseDto.prototype, "expiresAt", void 0);
|
|
629
|
+
class LoadEmailVerifiedFormDto {
|
|
630
|
+
accessToken;
|
|
631
|
+
}
|
|
632
|
+
form_email_auth_dto_ts_decorate([
|
|
633
|
+
(0,swagger_.ApiProperty)({
|
|
634
|
+
description: 'Access token from a prior email verification (omit if already logged in)',
|
|
635
|
+
required: false
|
|
636
|
+
}),
|
|
637
|
+
(0,external_class_validator_.IsString)(),
|
|
638
|
+
(0,external_class_validator_.IsOptional)(),
|
|
639
|
+
form_email_auth_dto_ts_metadata("design:type", String)
|
|
640
|
+
], LoadEmailVerifiedFormDto.prototype, "accessToken", void 0);
|
|
641
|
+
class HasSubmittedEmailDto {
|
|
642
|
+
formId;
|
|
643
|
+
accessToken;
|
|
644
|
+
}
|
|
645
|
+
form_email_auth_dto_ts_decorate([
|
|
646
|
+
(0,swagger_.ApiProperty)({
|
|
647
|
+
description: 'Form ID to check',
|
|
648
|
+
example: '123e4567-e89b-12d3-a456-426614174000'
|
|
649
|
+
}),
|
|
650
|
+
(0,external_class_validator_.IsUUID)(),
|
|
651
|
+
(0,external_class_validator_.IsNotEmpty)(),
|
|
652
|
+
form_email_auth_dto_ts_metadata("design:type", String)
|
|
653
|
+
], HasSubmittedEmailDto.prototype, "formId", void 0);
|
|
654
|
+
form_email_auth_dto_ts_decorate([
|
|
655
|
+
(0,swagger_.ApiProperty)({
|
|
656
|
+
description: 'Access token from a prior email verification (omit if already logged in)',
|
|
657
|
+
required: false
|
|
658
|
+
}),
|
|
659
|
+
(0,external_class_validator_.IsString)(),
|
|
660
|
+
(0,external_class_validator_.IsOptional)(),
|
|
661
|
+
form_email_auth_dto_ts_metadata("design:type", String)
|
|
662
|
+
], HasSubmittedEmailDto.prototype, "accessToken", void 0);
|
|
663
|
+
|
|
506
664
|
;// CONCATENATED MODULE: ./projects/nestjs-form-builder/src/dtos/index.ts
|
|
507
665
|
|
|
508
666
|
|
|
509
667
|
|
|
510
668
|
|
|
669
|
+
|
|
511
670
|
},
|
|
512
671
|
376(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
513
672
|
/**
|
|
@@ -517,6 +676,7 @@ var form_result_dto = __webpack_require__(788);
|
|
|
517
676
|
/** No authentication required - anyone can submit */ FormAccessType["PUBLIC"] = "public";
|
|
518
677
|
/** Any authenticated user can submit */ FormAccessType["AUTHENTICATED"] = "authenticated";
|
|
519
678
|
/** Only users with specific action permissions can submit */ FormAccessType["ACTION_GROUP"] = "action_group";
|
|
679
|
+
/** Anonymous visitors verify a one-time email code before submitting (already-logged-in users are auto-identified by their account email) */ FormAccessType["EMAIL_VERIFIED"] = "email_verified";
|
|
520
680
|
return FormAccessType;
|
|
521
681
|
}({});
|
|
522
682
|
|
|
@@ -556,16 +716,22 @@ import { __webpack_require__ } from '../runtime.js';
|
|
|
556
716
|
var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
|
|
557
717
|
import * as __rspack_chunk_1 from './index.js';
|
|
558
718
|
__webpack_require__.C(__rspack_chunk_1);
|
|
559
|
-
var __webpack_exports__ = __webpack_exec__(
|
|
719
|
+
var __webpack_exports__ = __webpack_exec__(472);var __webpack_exports__CreateFormDto = __webpack_exports__.YD;
|
|
560
720
|
var __webpack_exports__CreateFormResultDto = __webpack_exports__.pZ;
|
|
721
|
+
var __webpack_exports__EmailVerifiedFormResponseDto = __webpack_exports__.d7;
|
|
561
722
|
var __webpack_exports__FormAccessInfoResponseDto = __webpack_exports__.Xe;
|
|
562
723
|
var __webpack_exports__FormResponseDto = __webpack_exports__.bV;
|
|
563
724
|
var __webpack_exports__FormResultResponseDto = __webpack_exports__._$;
|
|
564
725
|
var __webpack_exports__GetMyDraftDto = __webpack_exports__.D5;
|
|
565
726
|
var __webpack_exports__GetResultsByFormDto = __webpack_exports__.rp;
|
|
727
|
+
var __webpack_exports__HasSubmittedEmailDto = __webpack_exports__.BW;
|
|
728
|
+
var __webpack_exports__LoadEmailVerifiedFormDto = __webpack_exports__.gI;
|
|
566
729
|
var __webpack_exports__PublicFormResponseDto = __webpack_exports__.M4;
|
|
730
|
+
var __webpack_exports__RequestFormEmailOtpDto = __webpack_exports__.ME;
|
|
567
731
|
var __webpack_exports__SubmitFormDto = __webpack_exports__.sH;
|
|
568
732
|
var __webpack_exports__UpdateDraftDto = __webpack_exports__.CQ;
|
|
569
733
|
var __webpack_exports__UpdateFormDto = __webpack_exports__.jQ;
|
|
570
734
|
var __webpack_exports__UpdateFormResultDto = __webpack_exports__.Uj;
|
|
571
|
-
|
|
735
|
+
var __webpack_exports__VerifyFormEmailOtpDto = __webpack_exports__.uY;
|
|
736
|
+
var __webpack_exports__VerifyOtpResponseDto = __webpack_exports__.TU;
|
|
737
|
+
export { __webpack_exports__CreateFormDto as CreateFormDto, __webpack_exports__CreateFormResultDto as CreateFormResultDto, __webpack_exports__EmailVerifiedFormResponseDto as EmailVerifiedFormResponseDto, __webpack_exports__FormAccessInfoResponseDto as FormAccessInfoResponseDto, __webpack_exports__FormResponseDto as FormResponseDto, __webpack_exports__FormResultResponseDto as FormResultResponseDto, __webpack_exports__GetMyDraftDto as GetMyDraftDto, __webpack_exports__GetResultsByFormDto as GetResultsByFormDto, __webpack_exports__HasSubmittedEmailDto as HasSubmittedEmailDto, __webpack_exports__LoadEmailVerifiedFormDto as LoadEmailVerifiedFormDto, __webpack_exports__PublicFormResponseDto as PublicFormResponseDto, __webpack_exports__RequestFormEmailOtpDto as RequestFormEmailOtpDto, __webpack_exports__SubmitFormDto as SubmitFormDto, __webpack_exports__UpdateDraftDto as UpdateDraftDto, __webpack_exports__UpdateFormDto as UpdateFormDto, __webpack_exports__UpdateFormResultDto as UpdateFormResultDto, __webpack_exports__VerifyFormEmailOtpDto as VerifyFormEmailOtpDto, __webpack_exports__VerifyOtpResponseDto as VerifyOtpResponseDto };
|
package/fesm/entities/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import * as __rspack_external_typeorm from "typeorm";
|
|
|
4
4
|
export const __rspack_esm_id = 604;
|
|
5
5
|
export const __rspack_esm_ids = [604];
|
|
6
6
|
export const __webpack_modules__ = {
|
|
7
|
-
|
|
7
|
+
814(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
8
8
|
|
|
9
9
|
// EXPORTS
|
|
10
10
|
__webpack_require__.d(__webpack_exports__, {
|
|
@@ -12,6 +12,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
12
12
|
C7: () => (/* reexport */ Form),
|
|
13
13
|
Xl: () => (/* binding */ FormCompanyEntities),
|
|
14
14
|
t$: () => (/* binding */ FormCoreEntities),
|
|
15
|
+
Kr: () => (/* reexport */ FormEmailVerification),
|
|
15
16
|
ez: () => (/* reexport */ FormResult),
|
|
16
17
|
Wl: () => (/* reexport */ FormWithCompany),
|
|
17
18
|
getFormBuilderEntitiesByConfig: () => (/* binding */ getFormBuilderEntitiesByConfig)
|
|
@@ -173,6 +174,7 @@ class FormResult extends Identity {
|
|
|
173
174
|
schemaVersion;
|
|
174
175
|
data;
|
|
175
176
|
submittedById;
|
|
177
|
+
submitterEmail;
|
|
176
178
|
submittedAt;
|
|
177
179
|
isDraft;
|
|
178
180
|
}
|
|
@@ -216,6 +218,15 @@ form_result_entity_ts_decorate([
|
|
|
216
218
|
}),
|
|
217
219
|
form_result_entity_ts_metadata("design:type", Object)
|
|
218
220
|
], FormResult.prototype, "submittedById", void 0);
|
|
221
|
+
form_result_entity_ts_decorate([
|
|
222
|
+
(0,external_typeorm_.Column)({
|
|
223
|
+
type: 'varchar',
|
|
224
|
+
length: 255,
|
|
225
|
+
nullable: true,
|
|
226
|
+
name: 'submitter_email'
|
|
227
|
+
}),
|
|
228
|
+
form_result_entity_ts_metadata("design:type", Object)
|
|
229
|
+
], FormResult.prototype, "submitterEmail", void 0);
|
|
219
230
|
form_result_entity_ts_decorate([
|
|
220
231
|
(0,external_typeorm_.Column)({
|
|
221
232
|
type: 'timestamp',
|
|
@@ -235,9 +246,122 @@ form_result_entity_ts_decorate([
|
|
|
235
246
|
FormResult = form_result_entity_ts_decorate([
|
|
236
247
|
(0,external_typeorm_.Entity)({
|
|
237
248
|
name: 'form_result'
|
|
238
|
-
})
|
|
249
|
+
}),
|
|
250
|
+
(0,external_typeorm_.Index)([
|
|
251
|
+
'formId',
|
|
252
|
+
'submitterEmail'
|
|
253
|
+
])
|
|
239
254
|
], FormResult);
|
|
240
255
|
|
|
256
|
+
;// CONCATENATED MODULE: ./projects/nestjs-form-builder/src/entities/form-email-verification.entity.ts
|
|
257
|
+
function form_email_verification_entity_ts_decorate(decorators, target, key, desc) {
|
|
258
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
259
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
260
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
261
|
+
} else {
|
|
262
|
+
for(var i = decorators.length - 1; i >= 0; i--){
|
|
263
|
+
if (d = decorators[i]) {
|
|
264
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
269
|
+
}
|
|
270
|
+
function form_email_verification_entity_ts_metadata(metadataKey, metadataValue) {
|
|
271
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
272
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
class FormEmailVerification extends Identity {
|
|
278
|
+
formId;
|
|
279
|
+
email;
|
|
280
|
+
otpHash;
|
|
281
|
+
otpExpiresAt;
|
|
282
|
+
otpAttempts;
|
|
283
|
+
verifiedAt;
|
|
284
|
+
accessTokenHash;
|
|
285
|
+
accessTokenExpiresAt;
|
|
286
|
+
}
|
|
287
|
+
form_email_verification_entity_ts_decorate([
|
|
288
|
+
(0,external_typeorm_.Column)({
|
|
289
|
+
type: 'uuid',
|
|
290
|
+
nullable: false,
|
|
291
|
+
name: 'form_id'
|
|
292
|
+
}),
|
|
293
|
+
form_email_verification_entity_ts_metadata("design:type", String)
|
|
294
|
+
], FormEmailVerification.prototype, "formId", void 0);
|
|
295
|
+
form_email_verification_entity_ts_decorate([
|
|
296
|
+
(0,external_typeorm_.Column)({
|
|
297
|
+
type: 'varchar',
|
|
298
|
+
length: 255,
|
|
299
|
+
nullable: false
|
|
300
|
+
}),
|
|
301
|
+
form_email_verification_entity_ts_metadata("design:type", String)
|
|
302
|
+
], FormEmailVerification.prototype, "email", void 0);
|
|
303
|
+
form_email_verification_entity_ts_decorate([
|
|
304
|
+
(0,external_typeorm_.Column)({
|
|
305
|
+
type: 'varchar',
|
|
306
|
+
length: 64,
|
|
307
|
+
nullable: true,
|
|
308
|
+
name: 'otp_hash'
|
|
309
|
+
}),
|
|
310
|
+
form_email_verification_entity_ts_metadata("design:type", Object)
|
|
311
|
+
], FormEmailVerification.prototype, "otpHash", void 0);
|
|
312
|
+
form_email_verification_entity_ts_decorate([
|
|
313
|
+
(0,external_typeorm_.Column)({
|
|
314
|
+
type: 'timestamp',
|
|
315
|
+
nullable: true,
|
|
316
|
+
name: 'otp_expires_at'
|
|
317
|
+
}),
|
|
318
|
+
form_email_verification_entity_ts_metadata("design:type", Object)
|
|
319
|
+
], FormEmailVerification.prototype, "otpExpiresAt", void 0);
|
|
320
|
+
form_email_verification_entity_ts_decorate([
|
|
321
|
+
(0,external_typeorm_.Column)({
|
|
322
|
+
type: 'int',
|
|
323
|
+
nullable: false,
|
|
324
|
+
default: 0,
|
|
325
|
+
name: 'otp_attempts'
|
|
326
|
+
}),
|
|
327
|
+
form_email_verification_entity_ts_metadata("design:type", Number)
|
|
328
|
+
], FormEmailVerification.prototype, "otpAttempts", void 0);
|
|
329
|
+
form_email_verification_entity_ts_decorate([
|
|
330
|
+
(0,external_typeorm_.Column)({
|
|
331
|
+
type: 'timestamp',
|
|
332
|
+
nullable: true,
|
|
333
|
+
name: 'verified_at'
|
|
334
|
+
}),
|
|
335
|
+
form_email_verification_entity_ts_metadata("design:type", Object)
|
|
336
|
+
], FormEmailVerification.prototype, "verifiedAt", void 0);
|
|
337
|
+
form_email_verification_entity_ts_decorate([
|
|
338
|
+
(0,external_typeorm_.Index)(),
|
|
339
|
+
(0,external_typeorm_.Column)({
|
|
340
|
+
type: 'varchar',
|
|
341
|
+
length: 64,
|
|
342
|
+
nullable: true,
|
|
343
|
+
name: 'access_token_hash'
|
|
344
|
+
}),
|
|
345
|
+
form_email_verification_entity_ts_metadata("design:type", Object)
|
|
346
|
+
], FormEmailVerification.prototype, "accessTokenHash", void 0);
|
|
347
|
+
form_email_verification_entity_ts_decorate([
|
|
348
|
+
(0,external_typeorm_.Column)({
|
|
349
|
+
type: 'timestamp',
|
|
350
|
+
nullable: true,
|
|
351
|
+
name: 'access_token_expires_at'
|
|
352
|
+
}),
|
|
353
|
+
form_email_verification_entity_ts_metadata("design:type", Object)
|
|
354
|
+
], FormEmailVerification.prototype, "accessTokenExpiresAt", void 0);
|
|
355
|
+
FormEmailVerification = form_email_verification_entity_ts_decorate([
|
|
356
|
+
(0,external_typeorm_.Entity)({
|
|
357
|
+
name: 'form_email_verification'
|
|
358
|
+
}),
|
|
359
|
+
(0,external_typeorm_.Unique)([
|
|
360
|
+
'formId',
|
|
361
|
+
'email'
|
|
362
|
+
])
|
|
363
|
+
], FormEmailVerification);
|
|
364
|
+
|
|
241
365
|
;// CONCATENATED MODULE: ./projects/nestjs-form-builder/src/entities/form-with-company.entity.ts
|
|
242
366
|
function form_with_company_entity_ts_decorate(decorators, target, key, desc) {
|
|
243
367
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -293,20 +417,24 @@ FormWithCompany = form_with_company_entity_ts_decorate([
|
|
|
293
417
|
// Entities without company feature
|
|
294
418
|
|
|
295
419
|
|
|
420
|
+
|
|
296
421
|
// Entities with company feature
|
|
297
422
|
|
|
298
423
|
|
|
299
424
|
|
|
300
425
|
|
|
426
|
+
|
|
301
427
|
// Core entities (no company feature)
|
|
302
428
|
const FormCoreEntities = [
|
|
303
429
|
Form,
|
|
304
|
-
FormResult
|
|
430
|
+
FormResult,
|
|
431
|
+
FormEmailVerification
|
|
305
432
|
];
|
|
306
433
|
// Company-specific entities
|
|
307
434
|
const FormCompanyEntities = [
|
|
308
435
|
FormWithCompany,
|
|
309
|
-
FormResult
|
|
436
|
+
FormResult,
|
|
437
|
+
FormEmailVerification
|
|
310
438
|
];
|
|
311
439
|
function getFormBuilderEntitiesByConfig(enableCompanyFeature) {
|
|
312
440
|
return enableCompanyFeature ? FormCompanyEntities : FormCoreEntities;
|
|
@@ -324,6 +452,7 @@ function getFormBuilderEntitiesByConfig(enableCompanyFeature) {
|
|
|
324
452
|
/** No authentication required - anyone can submit */ FormAccessType["PUBLIC"] = "public";
|
|
325
453
|
/** Any authenticated user can submit */ FormAccessType["AUTHENTICATED"] = "authenticated";
|
|
326
454
|
/** Only users with specific action permissions can submit */ FormAccessType["ACTION_GROUP"] = "action_group";
|
|
455
|
+
/** Anonymous visitors verify a one-time email code before submitting (already-logged-in users are auto-identified by their account email) */ FormAccessType["EMAIL_VERIFIED"] = "email_verified";
|
|
327
456
|
return FormAccessType;
|
|
328
457
|
}({});
|
|
329
458
|
|
|
@@ -345,11 +474,12 @@ import { __webpack_require__ } from '../runtime.js';
|
|
|
345
474
|
var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
|
|
346
475
|
import * as __rspack_chunk_1 from './index.js';
|
|
347
476
|
__webpack_require__.C(__rspack_chunk_1);
|
|
348
|
-
var __webpack_exports__ = __webpack_exec__(
|
|
477
|
+
var __webpack_exports__ = __webpack_exec__(814);var __webpack_exports__Form = __webpack_exports__.lV;
|
|
349
478
|
var __webpack_exports__FormBase = __webpack_exports__.C7;
|
|
350
479
|
var __webpack_exports__FormCompanyEntities = __webpack_exports__.Xl;
|
|
351
480
|
var __webpack_exports__FormCoreEntities = __webpack_exports__.t$;
|
|
481
|
+
var __webpack_exports__FormEmailVerification = __webpack_exports__.Kr;
|
|
352
482
|
var __webpack_exports__FormResult = __webpack_exports__.ez;
|
|
353
483
|
var __webpack_exports__FormWithCompany = __webpack_exports__.Wl;
|
|
354
484
|
var __webpack_exports__getFormBuilderEntitiesByConfig = __webpack_exports__.getFormBuilderEntitiesByConfig;
|
|
355
|
-
export { __webpack_exports__Form as Form, __webpack_exports__FormBase as FormBase, __webpack_exports__FormCompanyEntities as FormCompanyEntities, __webpack_exports__FormCoreEntities as FormCoreEntities, __webpack_exports__FormResult as FormResult, __webpack_exports__FormWithCompany as FormWithCompany, __webpack_exports__getFormBuilderEntitiesByConfig as getFormBuilderEntitiesByConfig };
|
|
485
|
+
export { __webpack_exports__Form as Form, __webpack_exports__FormBase as FormBase, __webpack_exports__FormCompanyEntities as FormCompanyEntities, __webpack_exports__FormCoreEntities as FormCoreEntities, __webpack_exports__FormEmailVerification as FormEmailVerification, __webpack_exports__FormResult as FormResult, __webpack_exports__FormWithCompany as FormWithCompany, __webpack_exports__getFormBuilderEntitiesByConfig as getFormBuilderEntitiesByConfig };
|
package/fesm/enums/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export const __webpack_modules__ = {
|
|
|
9
9
|
/** No authentication required - anyone can submit */ FormAccessType["PUBLIC"] = "public";
|
|
10
10
|
/** Any authenticated user can submit */ FormAccessType["AUTHENTICATED"] = "authenticated";
|
|
11
11
|
/** Only users with specific action permissions can submit */ FormAccessType["ACTION_GROUP"] = "action_group";
|
|
12
|
+
/** Anonymous visitors verify a one-time email code before submitting (already-logged-in users are auto-identified by their account email) */ FormAccessType["EMAIL_VERIFIED"] = "email_verified";
|
|
12
13
|
return FormAccessType;
|
|
13
14
|
}({});
|
|
14
15
|
|