From 01fefa0bb0e29194af86189d6008e9b7a1aa84f4 Mon Sep 17 00:00:00 2001 From: marlon-erler Date: Sun, 27 Sep 2026 02:22:13 +0200 Subject: [PATCH] add ContactsModel --- src/Model/Global/contactsModel.ts | 21 +++++++++++++++++++++ src/Model/Global/storageModel.ts | 1 + 2 files changed, 22 insertions(+) create mode 100644 src/Model/Global/contactsModel.ts diff --git a/src/Model/Global/contactsModel.ts b/src/Model/Global/contactsModel.ts new file mode 100644 index 00000000..ad6e2ec8 --- /dev/null +++ b/src/Model/Global/contactsModel.ts @@ -0,0 +1,21 @@ +import StorageModel, {StorageModelSubPaths} from "./storageModel"; + +export default class ContactsModel { + private getContactPath = (contactId: string): string[] => { + return [StorageModelSubPaths.ContactsModel, contactId]; + } + + loadContacts = (): [string, string][] => { + const contactIds: string[] = this.storageModel.list([StorageModelSubPaths.ContactsModel]); + const contacts: [string, string][] = contactIds.map(id => [id, this.storageModel.read(this.getContactPath(id))]); + return contacts; + } + + storeContact = (id: string, name: string) => { + const path = this.getContactPath(id); + this.storageModel.write(path, name) + } + + constructor(public storageModel: StorageModel) { + } +} diff --git a/src/Model/Global/storageModel.ts b/src/Model/Global/storageModel.ts index 8b7e6091..68924682 100644 --- a/src/Model/Global/storageModel.ts +++ b/src/Model/Global/storageModel.ts @@ -267,6 +267,7 @@ export enum StorageModelSubPaths { ConnectionModel = "connection", NotificationModel = "notifications", SettingsModel = "settings", + ContactsModel = "contacts", } export const filePaths = {