@@ -16,6 +16,9 @@ export type JsonProps = {
1616 course : string
1717 hired_date : number
1818 deactivated_date ?: number | null
19+ strikes ?: number | null
20+ strikes_id ?: string [ ]
21+ strikes_allowed ?: number | null
1922 active : string
2023 user_id : string
2124 hours_worked : number | undefined
@@ -33,6 +36,9 @@ export type MemberProps = {
3336 role : ROLE // ENUM
3437 stack : STACK // ENUM
3538 year : number
39+ strikes : number | null
40+ strikesId : string [ ]
41+ strikes_allowed : number | null
3642 cellphone : string
3743 course : COURSE // ENUM
3844 hiredDate : number
@@ -53,6 +59,9 @@ export class Member {
5359 private _stack : STACK
5460 private _year : number
5561 private _cellphone : string
62+ private _strikes : number | null
63+ private _strikesId : string [ ]
64+ private _strikes_allowed : number | null
5665 private _course : COURSE
5766 private _hiredDate : number
5867 private _deactivatedDate ?: number | null
@@ -72,6 +81,9 @@ export class Member {
7281 year,
7382 cellphone,
7483 course,
84+ strikes,
85+ strikesId,
86+ strikes_allowed,
7587 hiredDate,
7688 deactivatedDate,
7789 active,
@@ -89,6 +101,9 @@ export class Member {
89101 this . _year = year
90102 this . _cellphone = cellphone
91103 this . _course = course
104+ this . _strikes = strikes
105+ this . _strikesId = strikesId || [ ]
106+ this . _strikes_allowed = strikes_allowed
92107 this . _hiredDate = hiredDate
93108 this . _deactivatedDate = deactivatedDate
94109 this . _active = active
@@ -229,6 +244,28 @@ export class Member {
229244 set photo ( photo : string | null ) {
230245 this . _photo = photo
231246 }
247+ get strikes ( ) : number {
248+ if ( this . _strikes == null ) return 0
249+ return this . _strikes
250+ }
251+ set strikes ( strikes : number | null ) {
252+ this . _strikes = strikes
253+ }
254+
255+ get strikesId ( ) : string [ ] {
256+ return this . _strikesId
257+ }
258+ set strikesId ( strikesId : string [ ] ) {
259+ this . _strikesId = strikesId
260+ }
261+
262+ get strikes_allowed ( ) : number {
263+ if ( this . _strikes_allowed == null ) return 0
264+ return this . _strikes_allowed as number
265+ }
266+ set strikes_allowed ( strikes_allowed : number ) {
267+ this . _strikes_allowed = strikes_allowed
268+ }
232269
233270 // JSON conversion
234271
@@ -245,6 +282,9 @@ export class Member {
245282 course : this . course ,
246283 hired_date : this . hiredDate ,
247284 deactivated_date : this . deactivatedDate ,
285+ strikes : this . strikes ,
286+ strikes_id : this . strikesId ,
287+ strikes_allowed : this . strikes_allowed ,
248288 active : this . active ,
249289 user_id : this . userId ,
250290 hours_worked : this . hoursWorked ,
@@ -254,13 +294,19 @@ export class Member {
254294 }
255295
256296 static fromJSON ( json : JsonProps ) {
297+ if ( json . member . strikes_id && json . member . strikes_id . length > 0 ) {
298+ console . log ( `Member ${ json . member . name } has strikes_id:` , json . member . strikes_id )
299+ }
257300 return new Member ( {
258301 name : json . member . name ,
259302 emailDev : json . member . email_dev ,
260303 email : json . member . email ,
261304 ra : json . member . ra ,
262305 role : roleToEnum ( json . member . role ) ,
263306 stack : stackToEnum ( json . member . stack ) ,
307+ strikesId : json . member . strikes_id || [ ] ,
308+ strikes : json . member . strikes ?? null ,
309+ strikes_allowed : json . member . strikes_allowed ?? null ,
264310 year : json . member . year ,
265311 cellphone : json . member . cellphone ,
266312 course : courseToEnum ( json . member . course ) ,
0 commit comments