@themost/data
Version:
MOST Web Framework 2.0 - ORM module
103 lines (82 loc) • 3.04 kB
TypeScript
/**
* @license
* MOST Web Framework 2.0 Codename Blueshift
* Copyright (c) 2017, THEMOST LP All rights reserved
*
* Use of this source code is governed by an BSD-3-Clause license that can be
* found in the LICENSE file at https://themost.io/license
*/
import {ConfigurationBase, ConfigurationStrategy} from "@themost/common/config";
export declare interface DataTypePropertiesConfiguration {
pattern?: string;
patternMessage?: string;
minValue?: any;
maxValue?: any;
}
export declare interface DataTypeConfiguration {
comment?: string;
properties?: DataTypeConfiguration;
label?: string;
url?: string;
type?: string;
sqltype?: string;
instances?: Array<any>;
supertypes?: Array<string>;
version: string;
}
export declare interface DataAdapterConfiguration {
name: string;
invariantName: string;
default?: boolean;
options: any;
}
export declare interface DataAdapterTypeConfiguration {
name: string;
invariantName: string;
type: string;
}
export declare interface AuthSettingsConfiguration {
name: string;
unattendedExecutionAccount: string;
timeout?: number;
slidingExpiration: boolean;
loginPage?: string;
}
export declare class DataConfiguration {
constructor(configPath: string);
static getCurrent(): DataConfiguration;
static setCurrent(config: DataConfiguration): DataConfiguration;
static getNamedConfiguration(name: string);
}
export declare class DataConfigurationStrategy extends ConfigurationStrategy{
constructor(config:ConfigurationBase);
static getCurrent(): DataConfigurationStrategy;
readonly dataTypes: Map<string, DataTypeConfiguration>;
readonly adapters: Array<DataAdapterConfiguration>;
readonly adapterTypes: Array<DataAdapterTypeConfiguration>;
getAuthSettings(): AuthSettingsConfiguration;
getAdapterType(invariantName: string): DataAdapterTypeConfiguration;
hasDataType(name: string): boolean;
getModelDefinition(name: string): any;
setModelDefinition(data: any): DataConfigurationStrategy;
model(name: string): any;
}
export declare class SchemaLoaderStrategy extends ConfigurationStrategy {
constructor(config:ConfigurationBase);
getModelDefinition(name: string): any;
setModelDefinition(data: any): SchemaLoaderStrategy;
getModels(): Array<string>;
}
export declare class DefaultSchemaLoaderStrategy extends SchemaLoaderStrategy {
getModelPath(): string;
setModelPath(p: string): DefaultSchemaLoaderStrategy;
}
export declare abstract class ModelClassLoaderStrategy extends ConfigurationStrategy {
abstract resolve(model: string): void;
}
export declare abstract class DefaultModelClassLoaderStrategy extends ModelClassLoaderStrategy {
abstract resolve(model: string): void;
}
export declare function getCurrent(): DataConfiguration;
export declare function setCurrent(config: DataConfiguration): DataConfiguration;
export declare function getNamedConfiguration(name: string): DataConfiguration;