41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
|
import * as plugins from '../plugins.js';
|
||
|
import * as paths from '../paths.js';
|
||
|
import type { Cloudly } from 'ts/classes.cloudly.js';
|
||
|
import type { ExternalRegistryManager } from './classes.externalregistrymanager.js';
|
||
|
|
||
|
export class ExternalRegistry extends plugins.smartdata.SmartDataDbDoc<ExternalRegistry, plugins.servezoneInterfaces.data.IExternalRegistry, ExternalRegistryManager> {
|
||
|
// STATIC
|
||
|
public static async getRegistryById(registryIdArg: string) {
|
||
|
const externalRegistry = await this.getInstance({
|
||
|
id: registryIdArg,
|
||
|
});
|
||
|
return externalRegistry;
|
||
|
}
|
||
|
|
||
|
public static async getRegistries() {
|
||
|
const externalRegistries = await this.getInstances({});
|
||
|
return externalRegistries;
|
||
|
}
|
||
|
|
||
|
public static async createExternalRegistry(registryDataArg: Partial<plugins.servezoneInterfaces.data.IExternalRegistry['data']>) {
|
||
|
const externalRegistry = new ExternalRegistry();
|
||
|
externalRegistry.id = await ExternalRegistry.getNewId();
|
||
|
Object.assign(externalRegistry, registryDataArg);
|
||
|
await externalRegistry.save();
|
||
|
return externalRegistry;
|
||
|
}
|
||
|
|
||
|
// INSTANCE
|
||
|
|
||
|
@plugins.smartdata.svDb()
|
||
|
public id: string;
|
||
|
|
||
|
@plugins.smartdata.svDb()
|
||
|
public data: plugins.servezoneInterfaces.data.IExternalRegistry['data'];
|
||
|
|
||
|
constructor() {
|
||
|
super();
|
||
|
}
|
||
|
|
||
|
}
|