40 lines
1.5 KiB
TypeScript
40 lines
1.5 KiB
TypeScript
import { LocalStorage } from 'oak-frontend-base/lib/features/localStorage';
|
|
import { Cache } from 'oak-frontend-base/lib/features/cache';
|
|
import { Feature } from 'oak-frontend-base/lib/types/Feature';
|
|
import { AspectWrapper, SelectRowShape } from 'oak-domain/lib/types';
|
|
import { CommonAspectDict } from 'oak-common-aspect';
|
|
import { EntityDict } from '../general-app-domain';
|
|
import { AppType } from '../general-app-domain/Application/Schema';
|
|
import { AspectDict } from '../aspects/AspectDict';
|
|
import { RuntimeContext } from '../context/RuntimeContext';
|
|
export declare class Application<ED extends EntityDict, Cxt extends RuntimeContext<ED>, AD extends AspectDict<ED, Cxt>> extends Feature {
|
|
private applicationId?;
|
|
private application?;
|
|
private rwLock;
|
|
private cache;
|
|
private storage;
|
|
private aspectWrapper;
|
|
constructor(aspectWrapper: AspectWrapper<ED, Cxt, AD>, type: AppType, cache: Cache<ED, Cxt, AD & CommonAspectDict<ED, Cxt>>, storage: LocalStorage);
|
|
private loadApplicationInfo;
|
|
private getApplicationFromCache;
|
|
private refresh;
|
|
getApplication(): Promise<SelectRowShape<ED["application"]["Schema"], {
|
|
id: 1;
|
|
name: 1;
|
|
config: 1;
|
|
type: 1;
|
|
systemId: 1;
|
|
system: {
|
|
id: 1;
|
|
name: 1;
|
|
config: 1;
|
|
platformId: 1;
|
|
platform: {
|
|
id: 1;
|
|
config: 1;
|
|
};
|
|
};
|
|
}>>;
|
|
getApplicationId(noWait?: true): Promise<string>;
|
|
}
|