Skip to content

Commit ab47d10

Browse files
fixes to folder
1 parent 1d5da94 commit ab47d10

File tree

4 files changed

+18
-25
lines changed

4 files changed

+18
-25
lines changed

libs/angular/src/vault/components/folder-add-edit.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export class FolderAddEditComponent implements OnInit {
5858

5959
async submit(): Promise<boolean> {
6060
this.folder.name = this.formGroup.controls.name.value;
61-
if (this.folder.name === "") {
61+
if (this.folder.name == null || this.folder.name === "") {
6262
this.toastService.showToast({
6363
variant: "error",
6464
title: this.i18nService.t("errorOccurred"),

libs/common/src/models/export/folder.export.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export class FolderExport {
1919
}
2020

2121
static toDomain(req: FolderExport, domain = new FolderDomain()) {
22-
domain.name = req.name ? new EncString(req.name) : undefined;
22+
domain.name = new EncString(req.name);
2323
return domain;
2424
}
2525

libs/common/src/vault/models/domain/folder.ts

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,16 @@ import { FolderData } from "../data/folder.data";
88
import { FolderView } from "../view/folder.view";
99

1010
export class Folder extends Domain {
11-
id?: string;
12-
name?: EncString;
13-
revisionDate: Date;
11+
id: string = "";
12+
name: EncString = new EncString("");
13+
revisionDate: Date = new Date();
1414

1515
constructor(obj?: FolderData) {
1616
super();
1717
if (obj == null) {
18-
this.revisionDate = new Date();
1918
return;
2019
}
2120

22-
this.buildDomainModel(
23-
this,
24-
obj,
25-
{
26-
id: null,
27-
name: null,
28-
},
29-
["id"],
30-
);
3121
this.name = new EncString(obj.name);
3222
this.revisionDate = new Date(obj.revisionDate);
3323
}
@@ -44,7 +34,7 @@ export class Folder extends Domain {
4434
folderView.id = this.id ?? "";
4535
folderView.revisionDate = this.revisionDate;
4636
try {
47-
folderView.name = await encryptService.decryptString(this.name ?? new EncString(""), key);
37+
folderView.name = await encryptService.decryptString(this.name, key);
4838
} catch (e) {
4939
// Note: This should be replaced by the owning team with appropriate, domain-specific behavior.
5040
// eslint-disable-next-line no-console
@@ -58,10 +48,11 @@ export class Folder extends Domain {
5848
if (obj == null) {
5949
return null;
6050
}
61-
return new Folder({
62-
name: obj.name ?? "",
63-
revisionDate: obj.revisionDate,
64-
id: obj.id ?? "",
65-
});
51+
52+
const folder = new Folder();
53+
folder.id = obj.id;
54+
folder.name = EncString.fromJSON(obj.name);
55+
folder.revisionDate = new Date(obj.revisionDate);
56+
return folder;
6657
}
6758
}

libs/common/src/vault/models/view/folder.view.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,24 @@ export class FolderView implements View, ITreeNodeObject {
1010
name: string = "";
1111
revisionDate: Date;
1212

13-
constructor(f?: Folder | DecryptedObject<Folder, undefined>) {
13+
constructor(f?: Folder | DecryptedObject<Folder, "name">) {
1414
if (!f) {
1515
this.revisionDate = new Date();
1616
return;
1717
}
1818

19-
this.id = f.id ?? "";
20-
this.name = f.name?.decryptedValue ?? "";
19+
this.id = f.id;
20+
this.name = f.name.toString();
2121
this.revisionDate = f.revisionDate;
2222
}
2323

2424
static fromJSON(obj: Jsonify<FolderView>) {
2525
const folderView = new FolderView();
2626
folderView.id = obj.id ?? "";
2727
folderView.name = obj.name ?? "";
28-
folderView.revisionDate = new Date(obj.revisionDate);
28+
if (obj.revisionDate != null) {
29+
folderView.revisionDate = new Date(obj.revisionDate);
30+
}
2931
return folderView;
3032
}
3133
}

0 commit comments

Comments
 (0)