mirror of
https://github.com/bitwarden/browser
synced 2026-03-01 19:11:22 +00:00
* wip ts-strict * wip ts-strict * wip * cleanup * cleanup * fix story * fix story * fix story * wip * clean up CollectionAdminView construction * fix deprecated function call * fix cli * clean up * fix story * wip * fix cli * requested changes * clean up, fixing minor bugs, more type saftey * assign props in static ctor, clean up
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import { Jsonify } from "type-fest";
|
|
|
|
import { CollectionId, OrganizationId } from "@bitwarden/common/types/guid";
|
|
|
|
import { CollectionType, CollectionTypes } from "./collection";
|
|
import { CollectionDetailsResponse } from "./collection.response";
|
|
|
|
export class CollectionData {
|
|
id: CollectionId;
|
|
organizationId: OrganizationId;
|
|
name: string;
|
|
externalId: string | undefined;
|
|
readOnly: boolean = false;
|
|
manage: boolean = false;
|
|
hidePasswords: boolean = false;
|
|
type: CollectionType = CollectionTypes.SharedCollection;
|
|
|
|
constructor(response: CollectionDetailsResponse) {
|
|
this.id = response.id;
|
|
this.organizationId = response.organizationId;
|
|
this.name = response.name;
|
|
this.externalId = response.externalId;
|
|
this.readOnly = response.readOnly;
|
|
this.manage = response.manage;
|
|
this.hidePasswords = response.hidePasswords;
|
|
this.type = response.type;
|
|
}
|
|
|
|
static fromJSON(obj: Jsonify<CollectionData | null>): CollectionData | null {
|
|
if (obj == null) {
|
|
return null;
|
|
}
|
|
return Object.assign(new CollectionData(new CollectionDetailsResponse({})), obj);
|
|
}
|
|
}
|