@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
53 lines (46 loc) • 2.12 kB
text/typescript
// SPDX-License-Identifier: Apache-2.0
import {inject, injectable} from 'tsyringe-neo';
import {InjectTokens} from '../../../../../core/dependency-injection/inject-tokens.js';
import {SchemaDefinitionBase} from '../../api/schema-definition-base.js';
import {type SchemaDefinition} from '../../api/schema-definition.js';
import {RemoteConfigSchema} from '../../../model/remote/remote-config-schema.js';
import {type ClassConstructor} from '../../../../../business/utils/class-constructor.type.js';
import {type SchemaMigration} from '../../api/schema-migration.js';
import {type SemanticVersion} from '../../../../../business/utils/semantic-version.js';
import {type ObjectMapper} from '../../../../mapper/api/object-mapper.js';
import {RemoteConfigV1Migration} from './remote-config-v1-migration.js';
import {RemoteConfigV2Migration} from './remote-config-v2-migration.js';
import {RemoteConfigV3Migration} from './remote-config-v3-migration.js';
import {RemoteConfigV4Migration} from './remote-config-v4-migration.js';
import {RemoteConfigV5Migration} from './remote-config-v5-migration.js';
import {RemoteConfigV6Migration} from './remote-config-v6-migration.js';
import {RemoteConfigV7Migration} from './remote-config-v7-migration.js';
()
export class RemoteConfigSchemaDefinition
extends SchemaDefinitionBase<RemoteConfigSchema>
implements SchemaDefinition<RemoteConfigSchema>
{
public constructor((InjectTokens.ObjectMapper) mapper: ObjectMapper) {
super(mapper);
}
public get name(): string {
return RemoteConfigSchema.name;
}
public get version(): SemanticVersion<number> {
return RemoteConfigSchema.SCHEMA_VERSION;
}
public get classConstructor(): ClassConstructor<RemoteConfigSchema> {
return RemoteConfigSchema;
}
public get migrations(): SchemaMigration[] {
return [
new RemoteConfigV1Migration(),
new RemoteConfigV2Migration(),
new RemoteConfigV3Migration(),
new RemoteConfigV4Migration(),
new RemoteConfigV5Migration(),
new RemoteConfigV6Migration(),
new RemoteConfigV7Migration(),
];
}
}