-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathenrolment.component.ts
More file actions
113 lines (98 loc) · 2.75 KB
/
Copy pathenrolment.component.ts
File metadata and controls
113 lines (98 loc) · 2.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { Subscription } from 'rxjs';
import { RouteUtils } from '@lib/utils/route-utils.class';
import { Address, AddressType, addressTypes } from '@lib/models/address.model';
import { AbstractComponent } from '@shared/classes/abstract-component';
import { HttpEnrollee, Enrolment } from '@shared/models/enrolment.model';
import { AdjudicationRoutes } from '@adjudication/adjudication.routes';
@Component({
selector: 'app-enrolment',
templateUrl: './enrolment.component.html',
styleUrls: ['./enrolment.component.scss'],
standalone: false
})
export class EnrolmentComponent extends AbstractComponent implements OnInit {
public busy: Subscription;
public AdjudicationRoutes = AdjudicationRoutes;
private routeUtils: RouteUtils;
constructor(
protected route: ActivatedRoute,
protected router: Router,
) {
super(route, router);
this.routeUtils = new RouteUtils(route, router, AdjudicationRoutes.routePath(AdjudicationRoutes.SITE_REGISTRATIONS));
}
public onRoute(routePath: string | (string | number)[]) {
this.routeUtils.routeWithin(routePath);
}
public enrolleeAdapterResponse(enrollee: HttpEnrollee): Enrolment {
addressTypes.forEach((addressType: AddressType) => {
if (!enrollee[addressType]) {
enrollee[addressType] = new Address();
}
});
if (!enrollee.certifications) {
enrollee.certifications = [];
}
if (!enrollee.enrolleeCareSettings) {
enrollee.enrolleeCareSettings = [];
}
return this.enrolmentAdapter(enrollee);
}
public ngOnInit() { }
private enrolmentAdapter(enrollee: HttpEnrollee): Enrolment {
const {
id,
userId,
username,
firstName,
lastName,
givenNames,
preferredFirstName,
preferredMiddleName,
preferredLastName,
dateOfBirth,
gpid,
hpdid,
verifiedAddress,
mailingAddress,
physicalAddress,
email,
smsPhone,
phone,
phoneExtension,
identityInsuranceLevel,
...remainder
} = enrollee;
return {
id,
enrollee: {
id,
userId,
username,
firstName,
lastName,
givenNames,
preferredFirstName,
preferredMiddleName,
preferredLastName,
dateOfBirth,
gpid,
hpdid,
verifiedAddress,
mailingAddress,
physicalAddress,
email,
smsPhone,
phone,
phoneExtension,
identityInsuranceLevel
},
// Provide the default and allow it to be overridden
collectionNoticeAccepted: false,
careSettings: enrollee.enrolleeCareSettings,
...remainder
};
}
}