Refactor data model: Renamed organizations to customers and adjusted related data structures.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9111ef36-26c8-4085-84ca-a35dc1fec1b5
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7083d608-d6d3-4a6a-9a27-6286c5109627/c25da6d4-635b-4549-90e0-149e40abb4ff.jpg
This commit is contained in:
alphaeusmote
2025-04-12 00:25:05 +00:00
+19 -11
View File
@@ -121,60 +121,68 @@ export interface IStorage {
export class MemStorage implements IStorage { export class MemStorage implements IStorage {
private usersMap: Map<number, User>; private usersMap: Map<number, User>;
private orgsMap: Map<number, Organization>; private customersMap: Map<number, Customer>;
private customerUserMap: Map<number, CustomerUserAssignment>;
private domainsMap: Map<number, Domain>; private domainsMap: Map<number, Domain>;
private domainCredentialsMap: Map<number, DomainCredentials>;
private recordsMap: Map<number, DnsRecord>; private recordsMap: Map<number, DnsRecord>;
private providersMap: Map<number, Provider>; private providersMap: Map<number, Provider>;
private apiTokensMap: Map<number, ApiToken>; private apiTokensMap: Map<number, ApiToken>;
private apiTokenCustomerAccessMap: Map<number, ApiTokenCustomerAccess>;
private historyMap: Map<number, DnsHistory>; private historyMap: Map<number, DnsHistory>;
private webhooksMap: Map<number, Webhook>; private webhooksMap: Map<number, Webhook>;
private webhookDeliveryLogsMap: Map<number, WebhookDeliveryLog>; private webhookDeliveryLogsMap: Map<number, WebhookDeliveryLog>;
private metricsMap: Map<number, DnsMetric>; private metricsMap: Map<number, DnsMetric>;
private customRolesMap: Map<number, CustomRole>; private customRolesMap: Map<number, CustomRole>;
// Group maps have been removed
// Counters for IDs // Counters for IDs
private userIdCounter: number; private userIdCounter: number;
private orgIdCounter: number; private customerIdCounter: number;
private customerUserIdCounter: number;
private domainIdCounter: number; private domainIdCounter: number;
private domainCredentialsIdCounter: number;
private recordIdCounter: number; private recordIdCounter: number;
private providerIdCounter: number; private providerIdCounter: number;
private apiTokenIdCounter: number; private apiTokenIdCounter: number;
private apiTokenCustomerAccessIdCounter: number;
private historyIdCounter: number; private historyIdCounter: number;
private webhookIdCounter: number; private webhookIdCounter: number;
private webhookDeliveryLogIdCounter: number; private webhookDeliveryLogIdCounter: number;
private metricIdCounter: number; private metricIdCounter: number;
private customRoleIdCounter: number; private customRoleIdCounter: number;
// Group counters have been removed
public sessionStore: any; public sessionStore: any;
constructor() { constructor() {
this.usersMap = new Map(); this.usersMap = new Map();
this.orgsMap = new Map(); this.customersMap = new Map();
this.customerUserMap = new Map();
this.domainsMap = new Map(); this.domainsMap = new Map();
this.domainCredentialsMap = new Map();
this.recordsMap = new Map(); this.recordsMap = new Map();
this.providersMap = new Map(); this.providersMap = new Map();
this.apiTokensMap = new Map(); this.apiTokensMap = new Map();
this.apiTokenCustomerAccessMap = new Map();
this.historyMap = new Map(); this.historyMap = new Map();
this.webhooksMap = new Map(); this.webhooksMap = new Map();
this.webhookDeliveryLogsMap = new Map(); this.webhookDeliveryLogsMap = new Map();
this.metricsMap = new Map(); this.metricsMap = new Map();
this.customRolesMap = new Map(); this.customRolesMap = new Map();
// Group maps initialization has been removed
this.userIdCounter = 1; this.userIdCounter = 1;
this.orgIdCounter = 1; this.customerIdCounter = 1;
this.customerUserIdCounter = 1;
this.domainIdCounter = 1; this.domainIdCounter = 1;
this.domainCredentialsIdCounter = 1;
this.recordIdCounter = 1; this.recordIdCounter = 1;
this.providerIdCounter = 1; this.providerIdCounter = 1;
this.apiTokenIdCounter = 1; this.apiTokenIdCounter = 1;
this.apiTokenCustomerAccessIdCounter = 1;
this.historyIdCounter = 1; this.historyIdCounter = 1;
this.webhookIdCounter = 1; this.webhookIdCounter = 1;
this.webhookDeliveryLogIdCounter = 1; this.webhookDeliveryLogIdCounter = 1;
this.metricIdCounter = 1; this.metricIdCounter = 1;
this.customRoleIdCounter = 1; this.customRoleIdCounter = 1;
// Group counter initialization has been removed
// Session store is created in the DatabaseStorage class // Session store is created in the DatabaseStorage class
this.sessionStore = null; this.sessionStore = null;
@@ -661,9 +669,9 @@ export class MemStorage implements IStorage {
return this.webhooksMap.get(parseInt(id)); return this.webhooksMap.get(parseInt(id));
} }
async getWebhooksByOrganization(organizationId: string): Promise<Webhook[]> { async getWebhooksByCustomer(customerId: string): Promise<Webhook[]> {
return Array.from(this.webhooksMap.values()) return Array.from(this.webhooksMap.values())
.filter(webhook => webhook.organizationId === organizationId); .filter(webhook => webhook.customerId === customerId);
} }
async createWebhook(webhook: InsertWebhook): Promise<Webhook> { async createWebhook(webhook: InsertWebhook): Promise<Webhook> {
@@ -673,7 +681,7 @@ export class MemStorage implements IStorage {
id: numId.toString(), id: numId.toString(),
name: webhook.name, name: webhook.name,
url: webhook.url, url: webhook.url,
organizationId: webhook.organizationId, customerId: webhook.customerId,
secret: webhook.secret ?? null, secret: webhook.secret ?? null,
events: webhook.events, events: webhook.events,
isActive: webhook.isActive ?? true, isActive: webhook.isActive ?? true,