适配新的domain

This commit is contained in:
Xu Chang 2022-11-30 18:28:40 +08:00
parent f766825795
commit 56efcc0b17
2 changed files with 8 additions and 5 deletions

View File

@ -3,10 +3,11 @@ import PathLib from 'path';
import { AppLoader } from 'oak-backend-base';
import { Context, EntityDict, RowStore } from 'oak-domain/lib/types';
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain';
import { AsyncContext, AsyncRowStore } from 'oak-domain/lib/store/AsyncRowStore';
export async function initialize<ED extends EntityDict & BaseEntityDict, Cxt extends Context<ED>>(
export async function initialize<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED>>(
path: string,
contextBuilder: (scene?: string) => (store: RowStore<ED, Cxt>) => Promise<Cxt>,
contextBuilder: (scene?: string) => (store: AsyncRowStore<ED, Cxt>) => Promise<Cxt>,
dropIfExists?: boolean) {
const dbConfig = require(PathLib.join(path, '/configuration/mysql.json'));
const appLoader = new AppLoader(path, contextBuilder, dbConfig);

View File

@ -7,11 +7,13 @@ import KoaBody from 'koa-body';
import { AppLoader } from 'oak-backend-base';
import { OakException, Connector, EntityDict, Context, RowStore } from 'oak-domain/lib/types';
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain';
import { AsyncContext, AsyncRowStore } from 'oak-domain/lib/store/AsyncRowStore';
import { SyncContext } from 'oak-domain/lib/store/SyncRowStore';
export async function startup<ED extends EntityDict & BaseEntityDict, Cxt extends Context<ED>>(
export async function startup<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED>, FrontCxt extends SyncContext<ED>>(
path: string,
contextBuilder: (scene?: string) => (store: RowStore<ED, Cxt>) => Promise<Cxt>,
connector: Connector<ED, Cxt>) {
contextBuilder: (scene?: string) => (store: AsyncRowStore<ED, Cxt>) => Promise<Cxt>,
connector: Connector<ED, Cxt, FrontCxt>) {
const dbConfig = require(PathLib.join(path, '/configuration/mysql.json'));
const appLoader = new AppLoader(path, contextBuilder, dbConfig);
await appLoader.mount();