import OBACore from "@onebro/oba-core"; import { ModelFactories } from "../01-model-factories"; import { UserAcctController } from "./01-user-acct"; import { UserProfileController } from "./01-user-profile"; import { VendorController } from "./04-vendor"; import { UploadController } from "./02-upload"; import { ServiceRequestController } from "./03-service-req"; import { FinancialDocItemController } from "./06-fin-doc-item"; import { PostController } from "./05-post"; import { OrderController } from "./04-order"; import { VendorItemController } from "./04-vendor-item"; import { FinancialDocController } from "./06-fin-doc"; export interface ModelControllers { users:UserAcctController; profiles:UserProfileController; uploads:UploadController; serviceReqs:ServiceRequestController; posts:PostController; orders:OrderController; vendors:VendorController; vendorItems:VendorItemController; finDocs:FinancialDocController; finDocItems:FinancialDocItemController; init$:(api:OBACore) => Promise; } export class ModelControllers { init$ = async (api:OBACore) => { const factories = await new ModelFactories().init(api); this.users = new UserAcctController(api,factories); this.profiles = new UserProfileController(api,factories); this.uploads = new UploadController(api,factories); this.serviceReqs = new ServiceRequestController(api,factories); this.posts = new PostController(api,factories); this.orders = new OrderController(api,factories); this.vendors = new VendorController(api,factories); this.vendorItems = new VendorItemController(api,factories); this.finDocs = new FinancialDocController(api,factories); this.finDocItems = new FinancialDocItemController(api,factories); return this as ModelControllers; }; } export * from "./01-user-acct"; export * from "./01-user-profile"; export * from "./04-vendor"; export * from "./02-upload"; export * from "./03-service-req"; export * from "./05-post"; export * from "./04-order"; export * from "./04-vendor-item"; export * from "./06-fin-doc"; export * from "./06-fin-doc-item";