mirror of
https://github.com/bitwarden/browser
synced 2025-12-21 10:43:35 +00:00
* Create sessions sync structure * Add observing to session-syncer * Do not run syncer logic in decorator tests * Extract test constants * Change Observables to BehaviorSubject * Move sendMessage to static method in BrowserApi * Implement session sync * only watch in manifest v3 * Use session sync on folder service * Add array observable sync * Bypass cache on update from message * Create feature and dev flags for browser * Protect development-only methods with decorator * Improve todo comments for long-term residency * Use class properties in init * Do not reuse mocks * Use json (de)serialization patterns * Fix failing session storage in dev environment * Split up complex EncString constructor * Default false for decrypted session storage * Try removing hydrate EncString method * PR review * PR test review
27 lines
635 B
TypeScript
27 lines
635 B
TypeScript
import { Jsonify } from "type-fest";
|
|
|
|
import { Folder } from "../domain/folder";
|
|
import { ITreeNodeObject } from "../domain/treeNode";
|
|
|
|
import { View } from "./view";
|
|
|
|
export class FolderView implements View, ITreeNodeObject {
|
|
id: string = null;
|
|
name: string = null;
|
|
revisionDate: Date = null;
|
|
|
|
constructor(f?: Folder) {
|
|
if (!f) {
|
|
return;
|
|
}
|
|
|
|
this.id = f.id;
|
|
this.revisionDate = f.revisionDate;
|
|
}
|
|
|
|
static fromJSON(obj: Jsonify<FolderView>) {
|
|
const revisionDate = obj.revisionDate == null ? null : new Date(obj.revisionDate);
|
|
return Object.assign(new FolderView(), obj, { revisionDate });
|
|
}
|
|
}
|