@ironcode/vas-lib 0.0.25 → 0.0.26

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.
@@ -6,5 +6,9 @@ export declare type VasFireUserDtoAccountType = Record<string, Omit<VasAccountDt
6
6
  }>;
7
7
  export interface VasFireUserDto extends VasUserDto {
8
8
  accounts: VasFireUserDtoAccountType;
9
+ tokens: Array<string>;
10
+ created: string;
11
+ modified: string;
12
+ topics: Array<string>;
9
13
  }
10
14
  //# sourceMappingURL=vas-fire-user.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vas-fire-user.dto.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-fire-user.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,CAAC,OAAO,MAAM,yBAAyB,GAAG,MAAM,CACpD,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG;IAAE,UAAU,EAAE,gBAAgB,CAAA;CAAE,CAC9E,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,QAAQ,EAAE,yBAAyB,CAAC;CACrC"}
1
+ {"version":3,"file":"vas-fire-user.dto.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-fire-user.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,CAAC,OAAO,MAAM,yBAAyB,GAAG,MAAM,CACpD,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG;IAAE,UAAU,EAAE,gBAAgB,CAAA;CAAE,CAC9E,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,QAAQ,EAAE,yBAAyB,CAAC;IACpC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"vas-fire-user.dto.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-fire-user.dto.ts"],"names":[],"mappings":"","sourcesContent":["import { VasUserDto } from './vas-user.dto';\nimport { VasAccountDto } from './vas-account.dto';\nimport { VasMembershipDto } from './vas-membership.dto';\n\nexport declare type VasFireUserDtoAccountType = Record<\n string, Omit<VasAccountDto, 'memberships'> & { membership: VasMembershipDto }\n>;\n\nexport interface VasFireUserDto extends VasUserDto {\n accounts: VasFireUserDtoAccountType;\n}\n"]}
1
+ {"version":3,"file":"vas-fire-user.dto.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-fire-user.dto.ts"],"names":[],"mappings":"","sourcesContent":["import { VasUserDto } from './vas-user.dto';\nimport { VasAccountDto } from './vas-account.dto';\nimport { VasMembershipDto } from './vas-membership.dto';\n\nexport declare type VasFireUserDtoAccountType = Record<\n string, Omit<VasAccountDto, 'memberships'> & { membership: VasMembershipDto }\n>;\n\nexport interface VasFireUserDto extends VasUserDto {\n accounts: VasFireUserDtoAccountType;\n tokens: Array<string>;\n created: string;\n modified: string;\n topics: Array<string>;\n}\n"]}
@@ -11,9 +11,39 @@ export declare class VasFireUserModel extends VasUserModel implements VasFireUse
11
11
  email: string;
12
12
  username: string;
13
13
  accounts: VasFireUserDtoAccountType;
14
- constructor(id: string, created: string, serverCreated: string, createdBy: string, modified: string, serverModified: string, modifiedBy: string, email: string, username: string, accounts: VasFireUserDtoAccountType);
14
+ tokens: Array<string>;
15
+ topics: Array<string>;
16
+ constructor(id: string, created: string, serverCreated: string, createdBy: string, modified: string, serverModified: string, modifiedBy: string, email: string, username: string, accounts: VasFireUserDtoAccountType, tokens: Array<string>, topics: Array<string>);
15
17
  static fromDto(dto: VasFireUserDto): VasFireUserModel;
16
18
  static newUser(uid: string, displayName: string, email: string): VasFireUserModel;
17
19
  toDto(): VasFireUserDto;
20
+ /**
21
+ * Adds token to tokens list if it is not already present
22
+ * @param token the new token
23
+ */
24
+ addToken(token: string): void;
25
+ /**
26
+ * Remove token from tokens list
27
+ * @param token the token to remove
28
+ */
29
+ removeToken(token: string): void;
30
+ /**
31
+ * Resets the tokens list
32
+ */
33
+ resetTokens(): void;
34
+ /**
35
+ * Adds topic to topics list if it is not already present
36
+ * @param topic the new token
37
+ */
38
+ addTopic(topic: string): void;
39
+ /**
40
+ * Remove topic from topic list
41
+ * @param topic the topic to remove
42
+ */
43
+ removeTopic(topic: string): void;
44
+ /**
45
+ * Resets the topic list
46
+ */
47
+ resetTopics(): void;
18
48
  }
19
49
  //# sourceMappingURL=vas-fire-user.model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vas-fire-user.model.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-fire-user.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,qBAAa,gBAAiB,SAAQ,YAAa,YAAW,cAAc;IAGxD,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,MAAM;IAClB,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IACzB,QAAQ,EAAE,yBAAyB;gBAT1B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAW,EACpB,aAAa,EAAE,MAAW,EAC1B,SAAS,EAAE,MAAW,EACtB,QAAQ,EAAE,MAAW,EACrB,cAAc,EAAE,MAAW,EAC3B,UAAU,EAAE,MAAW,EACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EACzB,QAAQ,EAAE,yBAAyB;WAerB,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,gBAAgB;WAevD,OAAO,CACnB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,gBAAgB;IAeH,KAAK,IAAI,cAAc;CAcxC"}
1
+ {"version":3,"file":"vas-fire-user.model.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-fire-user.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,qBAAa,gBAAiB,SAAQ,YAAa,YAAW,cAAc;IAGxD,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,MAAM;IAClB,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IACzB,QAAQ,EAAE,yBAAyB;IACnC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IACrB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;gBAXZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAW,EACpB,aAAa,EAAE,MAAW,EAC1B,SAAS,EAAE,MAAW,EACtB,QAAQ,EAAE,MAAW,EACrB,cAAc,EAAE,MAAW,EAC3B,UAAU,EAAE,MAAW,EACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EACzB,QAAQ,EAAE,yBAAyB,EACnC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EACrB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;WAeP,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,gBAAgB;WAiBvD,OAAO,CACnB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,gBAAgB;IAiBH,KAAK,IAAI,cAAc;IAiBvC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAO7B;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAO7B;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC;;OAEG;IACH,WAAW,IAAI,IAAI;CAGpB"}
@@ -5,7 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const moment_1 = tslib_1.__importDefault(require("moment/moment"));
6
6
  const vas_user_model_1 = require("./vas-user.model");
7
7
  class VasFireUserModel extends vas_user_model_1.VasUserModel {
8
- constructor(id, created = '', serverCreated = '', createdBy = '', modified = '', serverModified = '', modifiedBy = '', email, username, accounts) {
8
+ constructor(id, created = '', serverCreated = '', createdBy = '', modified = '', serverModified = '', modifiedBy = '', email, username, accounts, tokens, topics) {
9
9
  super(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, email, username);
10
10
  this.id = id;
11
11
  this.created = created;
@@ -17,12 +17,14 @@ class VasFireUserModel extends vas_user_model_1.VasUserModel {
17
17
  this.email = email;
18
18
  this.username = username;
19
19
  this.accounts = accounts;
20
+ this.tokens = tokens;
21
+ this.topics = topics;
20
22
  }
21
23
  static fromDto(dto) {
22
- return new VasFireUserModel(dto.id || '', dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.email || '', dto.username || '', dto.accounts || {});
24
+ return new VasFireUserModel(dto.id || '', dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.email || '', dto.username || '', dto.accounts || {}, dto.tokens || [], dto.topics || []);
23
25
  }
24
26
  static newUser(uid, displayName, email) {
25
- return new VasFireUserModel(uid, (0, moment_1.default)().toISOString(), uid, (0, moment_1.default)().toISOString(), uid, (0, moment_1.default)().toISOString(), (0, moment_1.default)().toISOString(), email, displayName, {});
27
+ return new VasFireUserModel(uid, (0, moment_1.default)().toISOString(), uid, (0, moment_1.default)().toISOString(), uid, (0, moment_1.default)().toISOString(), (0, moment_1.default)().toISOString(), email, displayName, {}, [], []);
26
28
  }
27
29
  toDto() {
28
30
  return {
@@ -35,9 +37,57 @@ class VasFireUserModel extends vas_user_model_1.VasUserModel {
35
37
  modifiedBy: this.modifiedBy,
36
38
  email: this.email,
37
39
  username: this.username,
38
- accounts: this.accounts
40
+ accounts: this.accounts,
41
+ tokens: this.tokens,
42
+ topics: this.topics
39
43
  };
40
44
  }
45
+ /**
46
+ * Adds token to tokens list if it is not already present
47
+ * @param token the new token
48
+ */
49
+ addToken(token) {
50
+ if (this.tokens.includes(token)) {
51
+ return;
52
+ }
53
+ this.tokens.push(token);
54
+ }
55
+ /**
56
+ * Remove token from tokens list
57
+ * @param token the token to remove
58
+ */
59
+ removeToken(token) {
60
+ this.tokens = this.tokens.filter(t => t !== token);
61
+ }
62
+ /**
63
+ * Resets the tokens list
64
+ */
65
+ resetTokens() {
66
+ this.tokens = [];
67
+ }
68
+ /**
69
+ * Adds topic to topics list if it is not already present
70
+ * @param topic the new token
71
+ */
72
+ addTopic(topic) {
73
+ if (this.topics.includes(topic)) {
74
+ return;
75
+ }
76
+ this.topics.push(topic);
77
+ }
78
+ /**
79
+ * Remove topic from topic list
80
+ * @param topic the topic to remove
81
+ */
82
+ removeTopic(topic) {
83
+ this.topics = this.topics.filter(t => t !== topic);
84
+ }
85
+ /**
86
+ * Resets the topic list
87
+ */
88
+ resetTopics() {
89
+ this.topics = [];
90
+ }
41
91
  }
42
92
  exports.VasFireUserModel = VasFireUserModel;
43
93
  //# sourceMappingURL=vas-fire-user.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vas-fire-user.model.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-fire-user.model.ts"],"names":[],"mappings":";;;;AACA,mEAAmC;AACnC,qDAAgD;AAEhD,MAAa,gBAAiB,SAAQ,6BAAY;IAEhD,YACkB,EAAU,EACV,UAAkB,EAAE,EACpB,gBAAwB,EAAE,EAC1B,YAAoB,EAAE,EACtB,WAAmB,EAAE,EACrB,iBAAyB,EAAE,EAC3B,aAAqB,EAAE,EACvB,KAAa,EACb,QAAgB,EACzB,QAAmC;QAE1C,KAAK,CACH,EAAE,EACF,OAAO,EACP,aAAa,EACb,SAAS,EACT,QAAQ,EACR,cAAc,EACd,UAAU,EACV,KAAK,EACL,QAAQ,CACT,CAAC;QArBc,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAa;QACpB,kBAAa,GAAb,aAAa,CAAa;QAC1B,cAAS,GAAT,SAAS,CAAa;QACtB,aAAQ,GAAR,QAAQ,CAAa;QACrB,mBAAc,GAAd,cAAc,CAAa;QAC3B,eAAU,GAAV,UAAU,CAAa;QACvB,UAAK,GAAL,KAAK,CAAQ;QACb,aAAQ,GAAR,QAAQ,CAAQ;QACzB,aAAQ,GAAR,QAAQ,CAA2B;IAa5C,CAAC;IAEM,MAAM,CAAU,OAAO,CAAC,GAAmB;QAChD,OAAO,IAAI,gBAAgB,CACzB,GAAG,CAAC,EAAE,IAAI,EAAE,EACZ,GAAG,CAAC,OAAO,IAAI,EAAE,EACjB,GAAG,CAAC,aAAa,IAAI,EAAE,EACvB,GAAG,CAAC,SAAS,IAAI,EAAE,EACnB,GAAG,CAAC,QAAQ,IAAI,EAAE,EAClB,GAAG,CAAC,cAAc,IAAI,EAAE,EACxB,GAAG,CAAC,UAAU,IAAI,EAAE,EACpB,GAAG,CAAC,KAAK,IAAI,EAAE,EACf,GAAG,CAAC,QAAQ,IAAI,EAAE,EAClB,GAAG,CAAC,QAAQ,IAAI,EAAE,CACnB,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,OAAO,CACnB,GAAW,EACX,WAAmB,EACnB,KAAa;QAEb,OAAO,IAAI,gBAAgB,CACzB,GAAG,EACH,IAAA,gBAAM,GAAE,CAAC,WAAW,EAAE,EACtB,GAAG,EACH,IAAA,gBAAM,GAAE,CAAC,WAAW,EAAE,EACtB,GAAG,EACH,IAAA,gBAAM,GAAE,CAAC,WAAW,EAAE,EACtB,IAAA,gBAAM,GAAE,CAAC,WAAW,EAAE,EACtB,KAAK,EACL,WAAW,EACX,EAAE,CACH,CAAA;IACH,CAAC;IAEe,KAAK;QACnB,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;CACF;AA3ED,4CA2EC","sourcesContent":["import { VasFireUserDto, VasFireUserDtoAccountType } from './vas-fire-user.dto';\nimport moment from 'moment/moment';\nimport { VasUserModel } from './vas-user.model';\n\nexport class VasFireUserModel extends VasUserModel implements VasFireUserDto {\n\n constructor(\n public override id: string,\n public override created: string = '',\n public override serverCreated: string = '',\n public override createdBy: string = '',\n public override modified: string = '',\n public override serverModified: string = '',\n public override modifiedBy: string = '',\n public override email: string,\n public override username: string,\n public accounts: VasFireUserDtoAccountType\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy,\n email,\n username\n );\n }\n\n public static override fromDto(dto: VasFireUserDto): VasFireUserModel {\n return new VasFireUserModel(\n dto.id || '',\n dto.created || '',\n dto.serverCreated || '',\n dto.createdBy || '',\n dto.modified || '',\n dto.serverModified || '',\n dto.modifiedBy || '',\n dto.email || '',\n dto.username || '',\n dto.accounts || {}\n );\n }\n\n public static newUser(\n uid: string,\n displayName: string,\n email: string\n ): VasFireUserModel {\n return new VasFireUserModel(\n uid,\n moment().toISOString(),\n uid,\n moment().toISOString(),\n uid,\n moment().toISOString(),\n moment().toISOString(),\n email,\n displayName,\n {}\n )\n }\n\n public override toDto(): VasFireUserDto {\n return {\n id: this.id,\n created: this.created,\n serverCreated: this.serverCreated,\n createdBy: this.createdBy,\n modified: this.modified,\n serverModified: this.serverModified,\n modifiedBy: this.modifiedBy,\n email: this.email,\n username: this.username,\n accounts: this.accounts\n };\n }\n}\n"]}
1
+ {"version":3,"file":"vas-fire-user.model.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-fire-user.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { VasFireUserDto, VasFireUserDtoAccountType } from './vas-fire-user.dto';\nimport moment from 'moment/moment';\nimport { VasUserModel } from './vas-user.model';\n\nexport class VasFireUserModel extends VasUserModel implements VasFireUserDto {\n\n constructor(\n public override id: string,\n public override created: string = '',\n public override serverCreated: string = '',\n public override createdBy: string = '',\n public override modified: string = '',\n public override serverModified: string = '',\n public override modifiedBy: string = '',\n public override email: string,\n public override username: string,\n public accounts: VasFireUserDtoAccountType,\n public tokens: Array<string>,\n public topics: Array<string>\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy,\n email,\n username\n );\n }\n\n public static override fromDto(dto: VasFireUserDto): VasFireUserModel {\n return new VasFireUserModel(\n dto.id || '',\n dto.created || '',\n dto.serverCreated || '',\n dto.createdBy || '',\n dto.modified || '',\n dto.serverModified || '',\n dto.modifiedBy || '',\n dto.email || '',\n dto.username || '',\n dto.accounts || {},\n dto.tokens || [],\n dto.topics || []\n );\n }\n\n public static newUser(\n uid: string,\n displayName: string,\n email: string\n ): VasFireUserModel {\n return new VasFireUserModel(\n uid,\n moment().toISOString(),\n uid,\n moment().toISOString(),\n uid,\n moment().toISOString(),\n moment().toISOString(),\n email,\n displayName,\n {},\n [],\n []\n )\n }\n\n public override toDto(): VasFireUserDto {\n return {\n id: this.id,\n created: this.created,\n serverCreated: this.serverCreated,\n createdBy: this.createdBy,\n modified: this.modified,\n serverModified: this.serverModified,\n modifiedBy: this.modifiedBy,\n email: this.email,\n username: this.username,\n accounts: this.accounts,\n tokens: this.tokens,\n topics: this.topics\n };\n }\n\n /**\n * Adds token to tokens list if it is not already present\n * @param token the new token\n */\n addToken(token: string): void {\n if (this.tokens.includes(token)) {\n return;\n }\n this.tokens.push(token);\n }\n\n /**\n * Remove token from tokens list\n * @param token the token to remove\n */\n removeToken(token: string): void {\n this.tokens = this.tokens.filter(t => t !== token);\n }\n\n /**\n * Resets the tokens list\n */\n resetTokens(): void {\n this.tokens = [];\n }\n\n /**\n * Adds topic to topics list if it is not already present\n * @param topic the new token\n */\n addTopic(topic: string): void {\n if (this.topics.includes(topic)) {\n return;\n }\n this.topics.push(topic);\n }\n\n /**\n * Remove topic from topic list\n * @param topic the topic to remove\n */\n removeTopic(topic: string): void {\n this.topics = this.topics.filter(t => t !== topic);\n }\n\n /**\n * Resets the topic list\n */\n resetTopics(): void {\n this.topics = [];\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWZpcmUtdXNlci5kdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvZW50aXR5L3Zhcy1maXJlLXVzZXIuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYXNVc2VyRHRvIH0gZnJvbSAnLi92YXMtdXNlci5kdG8nO1xuaW1wb3J0IHsgVmFzQWNjb3VudER0byB9IGZyb20gJy4vdmFzLWFjY291bnQuZHRvJztcbmltcG9ydCB7IFZhc01lbWJlcnNoaXBEdG8gfSBmcm9tICcuL3Zhcy1tZW1iZXJzaGlwLmR0byc7XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgVmFzRmlyZVVzZXJEdG9BY2NvdW50VHlwZSA9IFJlY29yZDxcbiAgc3RyaW5nLCBPbWl0PFZhc0FjY291bnREdG8sICdtZW1iZXJzaGlwcyc+ICYgeyBtZW1iZXJzaGlwOiBWYXNNZW1iZXJzaGlwRHRvIH1cbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFzRmlyZVVzZXJEdG8gZXh0ZW5kcyBWYXNVc2VyRHRvIHtcbiAgYWNjb3VudHM6IFZhc0ZpcmVVc2VyRHRvQWNjb3VudFR5cGU7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWZpcmUtdXNlci5kdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvZW50aXR5L3Zhcy1maXJlLXVzZXIuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYXNVc2VyRHRvIH0gZnJvbSAnLi92YXMtdXNlci5kdG8nO1xuaW1wb3J0IHsgVmFzQWNjb3VudER0byB9IGZyb20gJy4vdmFzLWFjY291bnQuZHRvJztcbmltcG9ydCB7IFZhc01lbWJlcnNoaXBEdG8gfSBmcm9tICcuL3Zhcy1tZW1iZXJzaGlwLmR0byc7XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgVmFzRmlyZVVzZXJEdG9BY2NvdW50VHlwZSA9IFJlY29yZDxcbiAgc3RyaW5nLCBPbWl0PFZhc0FjY291bnREdG8sICdtZW1iZXJzaGlwcyc+ICYgeyBtZW1iZXJzaGlwOiBWYXNNZW1iZXJzaGlwRHRvIH1cbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFzRmlyZVVzZXJEdG8gZXh0ZW5kcyBWYXNVc2VyRHRvIHtcbiAgYWNjb3VudHM6IFZhc0ZpcmVVc2VyRHRvQWNjb3VudFR5cGU7XG4gIHRva2VuczogQXJyYXk8c3RyaW5nPjtcbiAgY3JlYXRlZDogc3RyaW5nO1xuICBtb2RpZmllZDogc3RyaW5nO1xuICB0b3BpY3M6IEFycmF5PHN0cmluZz47XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import moment from 'moment/moment';
2
2
  import { VasUserModel } from './vas-user.model';
3
3
  export class VasFireUserModel extends VasUserModel {
4
- constructor(id, created = '', serverCreated = '', createdBy = '', modified = '', serverModified = '', modifiedBy = '', email, username, accounts) {
4
+ constructor(id, created = '', serverCreated = '', createdBy = '', modified = '', serverModified = '', modifiedBy = '', email, username, accounts, tokens, topics) {
5
5
  super(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, email, username);
6
6
  this.id = id;
7
7
  this.created = created;
@@ -13,12 +13,14 @@ export class VasFireUserModel extends VasUserModel {
13
13
  this.email = email;
14
14
  this.username = username;
15
15
  this.accounts = accounts;
16
+ this.tokens = tokens;
17
+ this.topics = topics;
16
18
  }
17
19
  static fromDto(dto) {
18
- return new VasFireUserModel(dto.id || '', dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.email || '', dto.username || '', dto.accounts || {});
20
+ return new VasFireUserModel(dto.id || '', dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.email || '', dto.username || '', dto.accounts || {}, dto.tokens || [], dto.topics || []);
19
21
  }
20
22
  static newUser(uid, displayName, email) {
21
- return new VasFireUserModel(uid, moment().toISOString(), uid, moment().toISOString(), uid, moment().toISOString(), moment().toISOString(), email, displayName, {});
23
+ return new VasFireUserModel(uid, moment().toISOString(), uid, moment().toISOString(), uid, moment().toISOString(), moment().toISOString(), email, displayName, {}, [], []);
22
24
  }
23
25
  toDto() {
24
26
  return {
@@ -31,8 +33,56 @@ export class VasFireUserModel extends VasUserModel {
31
33
  modifiedBy: this.modifiedBy,
32
34
  email: this.email,
33
35
  username: this.username,
34
- accounts: this.accounts
36
+ accounts: this.accounts,
37
+ tokens: this.tokens,
38
+ topics: this.topics
35
39
  };
36
40
  }
41
+ /**
42
+ * Adds token to tokens list if it is not already present
43
+ * @param token the new token
44
+ */
45
+ addToken(token) {
46
+ if (this.tokens.includes(token)) {
47
+ return;
48
+ }
49
+ this.tokens.push(token);
50
+ }
51
+ /**
52
+ * Remove token from tokens list
53
+ * @param token the token to remove
54
+ */
55
+ removeToken(token) {
56
+ this.tokens = this.tokens.filter(t => t !== token);
57
+ }
58
+ /**
59
+ * Resets the tokens list
60
+ */
61
+ resetTokens() {
62
+ this.tokens = [];
63
+ }
64
+ /**
65
+ * Adds topic to topics list if it is not already present
66
+ * @param topic the new token
67
+ */
68
+ addTopic(topic) {
69
+ if (this.topics.includes(topic)) {
70
+ return;
71
+ }
72
+ this.topics.push(topic);
73
+ }
74
+ /**
75
+ * Remove topic from topic list
76
+ * @param topic the topic to remove
77
+ */
78
+ removeTopic(topic) {
79
+ this.topics = this.topics.filter(t => t !== topic);
80
+ }
81
+ /**
82
+ * Resets the topic list
83
+ */
84
+ resetTopics() {
85
+ this.topics = [];
86
+ }
37
87
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWZpcmUtdXNlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Zhcy1saWIvc3JjL2xpYi9lbnRpdHkvdmFzLWZpcmUtdXNlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxZQUFZO0lBRWhELFlBQ2tCLEVBQVUsRUFDVixVQUFrQixFQUFFLEVBQ3BCLGdCQUF3QixFQUFFLEVBQzFCLFlBQW9CLEVBQUUsRUFDdEIsV0FBbUIsRUFBRSxFQUNyQixpQkFBeUIsRUFBRSxFQUMzQixhQUFxQixFQUFFLEVBQ3ZCLEtBQWEsRUFDYixRQUFnQixFQUN6QixRQUFtQztRQUUxQyxLQUFLLENBQ0gsRUFBRSxFQUNGLE9BQU8sRUFDUCxhQUFhLEVBQ2IsU0FBUyxFQUNULFFBQVEsRUFDUixjQUFjLEVBQ2QsVUFBVSxFQUNWLEtBQUssRUFDTCxRQUFRLENBQ1QsQ0FBQztRQXJCYyxPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ1YsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUNwQixrQkFBYSxHQUFiLGFBQWEsQ0FBYTtRQUMxQixjQUFTLEdBQVQsU0FBUyxDQUFhO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsbUJBQWMsR0FBZCxjQUFjLENBQWE7UUFDM0IsZUFBVSxHQUFWLFVBQVUsQ0FBYTtRQUN2QixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUEyQjtJQWE1QyxDQUFDO0lBRU0sTUFBTSxDQUFVLE9BQU8sQ0FBQyxHQUFtQjtRQUNoRCxPQUFPLElBQUksZ0JBQWdCLENBQ3pCLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUNaLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxFQUNqQixHQUFHLENBQUMsYUFBYSxJQUFJLEVBQUUsRUFDdkIsR0FBRyxDQUFDLFNBQVMsSUFBSSxFQUFFLEVBQ25CLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxFQUNsQixHQUFHLENBQUMsY0FBYyxJQUFJLEVBQUUsRUFDeEIsR0FBRyxDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQ3BCLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxFQUNmLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxFQUNsQixHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBTyxDQUNuQixHQUFXLEVBQ1gsV0FBbUIsRUFDbkIsS0FBYTtRQUViLE9BQU8sSUFBSSxnQkFBZ0IsQ0FDekIsR0FBRyxFQUNILE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUN0QixHQUFHLEVBQ0gsTUFBTSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQ3RCLEdBQUcsRUFDSCxNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFDdEIsTUFBTSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQ3RCLEtBQUssRUFDTCxXQUFXLEVBQ1gsRUFBRSxDQUNILENBQUE7SUFDSCxDQUFDO0lBRWUsS0FBSztRQUNuQixPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhc0ZpcmVVc2VyRHRvLCBWYXNGaXJlVXNlckR0b0FjY291bnRUeXBlIH0gZnJvbSAnLi92YXMtZmlyZS11c2VyLmR0byc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC9tb21lbnQnO1xuaW1wb3J0IHsgVmFzVXNlck1vZGVsIH0gZnJvbSAnLi92YXMtdXNlci5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBWYXNGaXJlVXNlck1vZGVsIGV4dGVuZHMgVmFzVXNlck1vZGVsIGltcGxlbWVudHMgVmFzRmlyZVVzZXJEdG8ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdmVycmlkZSBpZDogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBjcmVhdGVkOiBzdHJpbmcgPSAnJyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2VydmVyQ3JlYXRlZDogc3RyaW5nID0gJycsXG4gICAgcHVibGljIG92ZXJyaWRlIGNyZWF0ZWRCeTogc3RyaW5nID0gJycsXG4gICAgcHVibGljIG92ZXJyaWRlIG1vZGlmaWVkOiBzdHJpbmcgPSAnJyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2VydmVyTW9kaWZpZWQ6IHN0cmluZyA9ICcnLFxuICAgIHB1YmxpYyBvdmVycmlkZSBtb2RpZmllZEJ5OiBzdHJpbmcgPSAnJyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZW1haWw6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgdXNlcm5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgYWNjb3VudHM6IFZhc0ZpcmVVc2VyRHRvQWNjb3VudFR5cGVcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICBpZCxcbiAgICAgIGNyZWF0ZWQsXG4gICAgICBzZXJ2ZXJDcmVhdGVkLFxuICAgICAgY3JlYXRlZEJ5LFxuICAgICAgbW9kaWZpZWQsXG4gICAgICBzZXJ2ZXJNb2RpZmllZCxcbiAgICAgIG1vZGlmaWVkQnksXG4gICAgICBlbWFpbCxcbiAgICAgIHVzZXJuYW1lXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgZnJvbUR0byhkdG86IFZhc0ZpcmVVc2VyRHRvKTogVmFzRmlyZVVzZXJNb2RlbCB7XG4gICAgcmV0dXJuIG5ldyBWYXNGaXJlVXNlck1vZGVsKFxuICAgICAgZHRvLmlkIHx8ICcnLFxuICAgICAgZHRvLmNyZWF0ZWQgfHwgJycsXG4gICAgICBkdG8uc2VydmVyQ3JlYXRlZCB8fCAnJyxcbiAgICAgIGR0by5jcmVhdGVkQnkgfHwgJycsXG4gICAgICBkdG8ubW9kaWZpZWQgfHwgJycsXG4gICAgICBkdG8uc2VydmVyTW9kaWZpZWQgfHwgJycsXG4gICAgICBkdG8ubW9kaWZpZWRCeSB8fCAnJyxcbiAgICAgIGR0by5lbWFpbCB8fCAnJyxcbiAgICAgIGR0by51c2VybmFtZSB8fCAnJyxcbiAgICAgIGR0by5hY2NvdW50cyB8fCB7fVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIG5ld1VzZXIoXG4gICAgdWlkOiBzdHJpbmcsXG4gICAgZGlzcGxheU5hbWU6IHN0cmluZyxcbiAgICBlbWFpbDogc3RyaW5nXG4gICk6IFZhc0ZpcmVVc2VyTW9kZWwge1xuICAgIHJldHVybiBuZXcgVmFzRmlyZVVzZXJNb2RlbChcbiAgICAgIHVpZCxcbiAgICAgIG1vbWVudCgpLnRvSVNPU3RyaW5nKCksXG4gICAgICB1aWQsXG4gICAgICBtb21lbnQoKS50b0lTT1N0cmluZygpLFxuICAgICAgdWlkLFxuICAgICAgbW9tZW50KCkudG9JU09TdHJpbmcoKSxcbiAgICAgIG1vbWVudCgpLnRvSVNPU3RyaW5nKCksXG4gICAgICBlbWFpbCxcbiAgICAgIGRpc3BsYXlOYW1lLFxuICAgICAge31cbiAgICApXG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgdG9EdG8oKTogVmFzRmlyZVVzZXJEdG8ge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIGNyZWF0ZWQ6IHRoaXMuY3JlYXRlZCxcbiAgICAgIHNlcnZlckNyZWF0ZWQ6IHRoaXMuc2VydmVyQ3JlYXRlZCxcbiAgICAgIGNyZWF0ZWRCeTogdGhpcy5jcmVhdGVkQnksXG4gICAgICBtb2RpZmllZDogdGhpcy5tb2RpZmllZCxcbiAgICAgIHNlcnZlck1vZGlmaWVkOiB0aGlzLnNlcnZlck1vZGlmaWVkLFxuICAgICAgbW9kaWZpZWRCeTogdGhpcy5tb2RpZmllZEJ5LFxuICAgICAgZW1haWw6IHRoaXMuZW1haWwsXG4gICAgICB1c2VybmFtZTogdGhpcy51c2VybmFtZSxcbiAgICAgIGFjY291bnRzOiB0aGlzLmFjY291bnRzXG4gICAgfTtcbiAgfVxufVxuIl19
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWZpcmUtdXNlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Zhcy1saWIvc3JjL2xpYi9lbnRpdHkvdmFzLWZpcmUtdXNlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxZQUFZO0lBRWhELFlBQ2tCLEVBQVUsRUFDVixVQUFrQixFQUFFLEVBQ3BCLGdCQUF3QixFQUFFLEVBQzFCLFlBQW9CLEVBQUUsRUFDdEIsV0FBbUIsRUFBRSxFQUNyQixpQkFBeUIsRUFBRSxFQUMzQixhQUFxQixFQUFFLEVBQ3ZCLEtBQWEsRUFDYixRQUFnQixFQUN6QixRQUFtQyxFQUNuQyxNQUFxQixFQUNyQixNQUFxQjtRQUU1QixLQUFLLENBQ0gsRUFBRSxFQUNGLE9BQU8sRUFDUCxhQUFhLEVBQ2IsU0FBUyxFQUNULFFBQVEsRUFDUixjQUFjLEVBQ2QsVUFBVSxFQUNWLEtBQUssRUFDTCxRQUFRLENBQ1QsQ0FBQztRQXZCYyxPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ1YsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUNwQixrQkFBYSxHQUFiLGFBQWEsQ0FBYTtRQUMxQixjQUFTLEdBQVQsU0FBUyxDQUFhO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsbUJBQWMsR0FBZCxjQUFjLENBQWE7UUFDM0IsZUFBVSxHQUFWLFVBQVUsQ0FBYTtRQUN2QixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUEyQjtRQUNuQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQWU7SUFhOUIsQ0FBQztJQUVNLE1BQU0sQ0FB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QUssS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ25CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhc0ZpcmVVc2VyRHRvLCBWYXNGaXJlVXNlckR0b0FjY291bnRUeXBlIH0gZnJvbSAnLi92YXMtZmlyZS11c2VyLmR0byc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC9tb21lbnQnO1xuaW1wb3J0IHsgVmFzVXNlck1vZGVsIH0gZnJvbSAnLi92YXMtdXNlci5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBWYXNGaXJlVXNlck1vZGVsIGV4dGVuZHMgVmFzVXNlck1vZGVsIGltcGxlbWVudHMgVmFzRmlyZVVzZXJEdG8ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdmVycmlkZSBpZDogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBjcmVhdGVkOiBzdHJpbmcgPSAnJyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2VydmVyQ3JlYXRlZDogc3RyaW5nID0gJycsXG4gICAgcHVibGljIG92ZXJyaWRlIGNyZWF0ZWRCeTogc3RyaW5nID0gJycsXG4gICAgcHVibGljIG92ZXJyaWRlIG1vZGlmaWVkOiBzdHJpbmcgPSAnJyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2VydmVyTW9kaWZpZWQ6IHN0cmluZyA9ICcnLFxuICAgIHB1YmxpYyBvdmVycmlkZSBtb2RpZmllZEJ5OiBzdHJpbmcgPSAnJyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZW1haWw6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgdXNlcm5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgYWNjb3VudHM6IFZhc0ZpcmVVc2VyRHRvQWNjb3VudFR5cGUsXG4gICAgcHVibGljIHRva2VuczogQXJyYXk8c3RyaW5nPixcbiAgICBwdWJsaWMgdG9waWNzOiBBcnJheTxzdHJpbmc+XG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgaWQsXG4gICAgICBjcmVhdGVkLFxuICAgICAgc2VydmVyQ3JlYXRlZCxcbiAgICAgIGNyZWF0ZWRCeSxcbiAgICAgIG1vZGlmaWVkLFxuICAgICAgc2VydmVyTW9kaWZpZWQsXG4gICAgICBtb2RpZmllZEJ5LFxuICAgICAgZW1haWwsXG4gICAgICB1c2VybmFtZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGZyb21EdG8oZHRvOiBWYXNGaXJlVXNlckR0byk6IFZhc0ZpcmVVc2VyTW9kZWwge1xuICAgIHJldHVybiBuZXcgVmFzRmlyZVVzZXJNb2RlbChcbiAgICAgIGR0by5pZCB8fCAnJyxcbiAgICAgIGR0by5jcmVhdGVkIHx8ICcnLFxuICAgICAgZHRvLnNlcnZlckNyZWF0ZWQgfHwgJycsXG4gICAgICBkdG8uY3JlYXRlZEJ5IHx8ICcnLFxuICAgICAgZHRvLm1vZGlmaWVkIHx8ICcnLFxuICAgICAgZHRvLnNlcnZlck1vZGlmaWVkIHx8ICcnLFxuICAgICAgZHRvLm1vZGlmaWVkQnkgfHwgJycsXG4gICAgICBkdG8uZW1haWwgfHwgJycsXG4gICAgICBkdG8udXNlcm5hbWUgfHwgJycsXG4gICAgICBkdG8uYWNjb3VudHMgfHwge30sXG4gICAgICBkdG8udG9rZW5zIHx8IFtdLFxuICAgICAgZHRvLnRvcGljcyB8fCBbXVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIG5ld1VzZXIoXG4gICAgdWlkOiBzdHJpbmcsXG4gICAgZGlzcGxheU5hbWU6IHN0cmluZyxcbiAgICBlbWFpbDogc3RyaW5nXG4gICk6IFZhc0ZpcmVVc2VyTW9kZWwge1xuICAgIHJldHVybiBuZXcgVmFzRmlyZVVzZXJNb2RlbChcbiAgICAgIHVpZCxcbiAgICAgIG1vbWVudCgpLnRvSVNPU3RyaW5nKCksXG4gICAgICB1aWQsXG4gICAgICBtb21lbnQoKS50b0lTT1N0cmluZygpLFxuICAgICAgdWlkLFxuICAgICAgbW9tZW50KCkudG9JU09TdHJpbmcoKSxcbiAgICAgIG1vbWVudCgpLnRvSVNPU3RyaW5nKCksXG4gICAgICBlbWFpbCxcbiAgICAgIGRpc3BsYXlOYW1lLFxuICAgICAge30sXG4gICAgICBbXSxcbiAgICAgIFtdXG4gICAgKVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvRHRvKCk6IFZhc0ZpcmVVc2VyRHRvIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBjcmVhdGVkOiB0aGlzLmNyZWF0ZWQsXG4gICAgICBzZXJ2ZXJDcmVhdGVkOiB0aGlzLnNlcnZlckNyZWF0ZWQsXG4gICAgICBjcmVhdGVkQnk6IHRoaXMuY3JlYXRlZEJ5LFxuICAgICAgbW9kaWZpZWQ6IHRoaXMubW9kaWZpZWQsXG4gICAgICBzZXJ2ZXJNb2RpZmllZDogdGhpcy5zZXJ2ZXJNb2RpZmllZCxcbiAgICAgIG1vZGlmaWVkQnk6IHRoaXMubW9kaWZpZWRCeSxcbiAgICAgIGVtYWlsOiB0aGlzLmVtYWlsLFxuICAgICAgdXNlcm5hbWU6IHRoaXMudXNlcm5hbWUsXG4gICAgICBhY2NvdW50czogdGhpcy5hY2NvdW50cyxcbiAgICAgIHRva2VuczogdGhpcy50b2tlbnMsXG4gICAgICB0b3BpY3M6IHRoaXMudG9waWNzXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRva2VuIHRvIHRva2VucyBsaXN0IGlmIGl0IGlzIG5vdCBhbHJlYWR5IHByZXNlbnRcbiAgICogQHBhcmFtIHRva2VuIHRoZSBuZXcgdG9rZW5cbiAgICovXG4gIGFkZFRva2VuKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b2tlbnMuaW5jbHVkZXModG9rZW4pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudG9rZW5zLnB1c2godG9rZW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0b2tlbiBmcm9tIHRva2VucyBsaXN0XG4gICAqIEBwYXJhbSB0b2tlbiB0aGUgdG9rZW4gdG8gcmVtb3ZlXG4gICAqL1xuICByZW1vdmVUb2tlbih0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50b2tlbnMgPSB0aGlzLnRva2Vucy5maWx0ZXIodCA9PiB0ICE9PSB0b2tlbik7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSB0b2tlbnMgbGlzdFxuICAgKi9cbiAgcmVzZXRUb2tlbnMoKTogdm9pZCB7XG4gICAgdGhpcy50b2tlbnMgPSBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRvcGljIHRvIHRvcGljcyBsaXN0IGlmIGl0IGlzIG5vdCBhbHJlYWR5IHByZXNlbnRcbiAgICogQHBhcmFtIHRvcGljIHRoZSBuZXcgdG9rZW5cbiAgICovXG4gIGFkZFRvcGljKHRvcGljOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b3BpY3MuaW5jbHVkZXModG9waWMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudG9waWNzLnB1c2godG9waWMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0b3BpYyBmcm9tIHRvcGljIGxpc3RcbiAgICogQHBhcmFtIHRvcGljIHRoZSB0b3BpYyB0byByZW1vdmVcbiAgICovXG4gIHJlbW92ZVRvcGljKHRvcGljOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRvcGljcyA9IHRoaXMudG9waWNzLmZpbHRlcih0ID0+IHQgIT09IHRvcGljKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIHRvcGljIGxpc3RcbiAgICovXG4gIHJlc2V0VG9waWNzKCk6IHZvaWQge1xuICAgIHRoaXMudG9waWNzID0gW107XG4gIH1cbn1cbiJdfQ==
@@ -66,7 +66,7 @@ class VasUserModel extends VasBaseModel {
66
66
  }
67
67
 
68
68
  class VasFireUserModel extends VasUserModel {
69
- constructor(id, created = '', serverCreated = '', createdBy = '', modified = '', serverModified = '', modifiedBy = '', email, username, accounts) {
69
+ constructor(id, created = '', serverCreated = '', createdBy = '', modified = '', serverModified = '', modifiedBy = '', email, username, accounts, tokens, topics) {
70
70
  super(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, email, username);
71
71
  this.id = id;
72
72
  this.created = created;
@@ -78,12 +78,14 @@ class VasFireUserModel extends VasUserModel {
78
78
  this.email = email;
79
79
  this.username = username;
80
80
  this.accounts = accounts;
81
+ this.tokens = tokens;
82
+ this.topics = topics;
81
83
  }
82
84
  static fromDto(dto) {
83
- return new VasFireUserModel(dto.id || '', dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.email || '', dto.username || '', dto.accounts || {});
85
+ return new VasFireUserModel(dto.id || '', dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.email || '', dto.username || '', dto.accounts || {}, dto.tokens || [], dto.topics || []);
84
86
  }
85
87
  static newUser(uid, displayName, email) {
86
- return new VasFireUserModel(uid, moment().toISOString(), uid, moment().toISOString(), uid, moment().toISOString(), moment().toISOString(), email, displayName, {});
88
+ return new VasFireUserModel(uid, moment().toISOString(), uid, moment().toISOString(), uid, moment().toISOString(), moment().toISOString(), email, displayName, {}, [], []);
87
89
  }
88
90
  toDto() {
89
91
  return {
@@ -96,9 +98,57 @@ class VasFireUserModel extends VasUserModel {
96
98
  modifiedBy: this.modifiedBy,
97
99
  email: this.email,
98
100
  username: this.username,
99
- accounts: this.accounts
101
+ accounts: this.accounts,
102
+ tokens: this.tokens,
103
+ topics: this.topics
100
104
  };
101
105
  }
106
+ /**
107
+ * Adds token to tokens list if it is not already present
108
+ * @param token the new token
109
+ */
110
+ addToken(token) {
111
+ if (this.tokens.includes(token)) {
112
+ return;
113
+ }
114
+ this.tokens.push(token);
115
+ }
116
+ /**
117
+ * Remove token from tokens list
118
+ * @param token the token to remove
119
+ */
120
+ removeToken(token) {
121
+ this.tokens = this.tokens.filter(t => t !== token);
122
+ }
123
+ /**
124
+ * Resets the tokens list
125
+ */
126
+ resetTokens() {
127
+ this.tokens = [];
128
+ }
129
+ /**
130
+ * Adds topic to topics list if it is not already present
131
+ * @param topic the new token
132
+ */
133
+ addTopic(topic) {
134
+ if (this.topics.includes(topic)) {
135
+ return;
136
+ }
137
+ this.topics.push(topic);
138
+ }
139
+ /**
140
+ * Remove topic from topic list
141
+ * @param topic the topic to remove
142
+ */
143
+ removeTopic(topic) {
144
+ this.topics = this.topics.filter(t => t !== topic);
145
+ }
146
+ /**
147
+ * Resets the topic list
148
+ */
149
+ resetTopics() {
150
+ this.topics = [];
151
+ }
102
152
  }
103
153
 
104
154
  var VasAccountIndexingMode;