diff --git a/src/main/angular/src/app/api/User/UserPublic.ts b/src/main/angular/src/app/api/User/UserPublic.ts
index d186e3e..1566cdd 100644
--- a/src/main/angular/src/app/api/User/UserPublic.ts
+++ b/src/main/angular/src/app/api/User/UserPublic.ts
@@ -16,4 +16,8 @@ export class UserPublic {
);
}
+ static compareName(a: UserPublic, b: UserPublic) {
+ return a.name.localeCompare(b.name);
+ }
+
}
diff --git a/src/main/angular/src/app/api/group/Group.ts b/src/main/angular/src/app/api/group/Group.ts
index 281ab33..547aace 100644
--- a/src/main/angular/src/app/api/group/Group.ts
+++ b/src/main/angular/src/app/api/group/Group.ts
@@ -15,6 +15,10 @@ export class Group {
// -
}
+ isOwner(user: UserPublic) {
+ return this.owner.publicUuid === user.publicUuid;
+ }
+
static fromJson(json: any): Group {
return new Group(
validateString(json['uuid']),
@@ -31,5 +35,16 @@ export class Group {
return a.created.getTime() - b.created.getTime();
}
+ usersByNameOwnerFirst() {
+ return this.users.sort(this.compareOwnerFirstThenName);
+ }
+
+ private compareOwnerFirstThenName(a: UserPublic, b: UserPublic): number {
+ if (a.publicUuid === this.owner.publicUuid) {
+ return -1;
+ }
+ return UserPublic.compareName(a, b);
+ }
+
}
diff --git a/src/main/angular/src/app/api/tools/Numbers/Numbers.ts b/src/main/angular/src/app/api/tools/Numbers/Numbers.ts
index e5cd9ad..2a882c4 100644
--- a/src/main/angular/src/app/api/tools/Numbers/Numbers.ts
+++ b/src/main/angular/src/app/api/tools/Numbers/Numbers.ts
@@ -1,16 +1,12 @@
-import {UserPublic} from "../../User/UserPublic";
-import {validateBoolean, validateDate, validateList, validateString} from "../../common/validators";
+import {validateString} from "../../common/validators";
+import {Group} from "../../group/Group";
export class Numbers {
constructor(
readonly uuid: string,
- readonly title: string,
- readonly owner: UserPublic,
- readonly created: Date,
- readonly password: string,
- readonly users: UserPublic[],
- readonly initial: boolean,
+ readonly name: string,
+ readonly group: Group,
) {
// -
}
@@ -18,12 +14,8 @@ export class Numbers {
static fromJson(json: any): Numbers {
return new Numbers(
validateString(json['uuid']),
- validateString(json['title']),
- UserPublic.fromJson(json['owner']),
- validateDate(json['created']),
- validateString(json['password']),
- validateList(json['users'], UserPublic.fromJson),
- validateBoolean(json['initial']),
+ validateString(json['name']),
+ Group.fromJson(json['group']),
);
}
diff --git a/src/main/angular/src/app/pages/group/group/group.component.html b/src/main/angular/src/app/pages/group/group/group.component.html
index 60655d7..ef0649b 100644
--- a/src/main/angular/src/app/pages/group/group/group.component.html
+++ b/src/main/angular/src/app/pages/group/group/group.component.html
@@ -19,14 +19,10 @@