1- export * from './extensions/user' ;
2- export * from './core/objects/attachment' ;
3- export * from './core/objects/organization' ;
4- export * from './core/objects/user' ;
5- export * from './modules/crm/objects/crm_account' ;
6- export * from './modules/crm/objects/crm_contact' ;
7- export * from './modules/crm/objects/crm_lead' ;
8- export * from './modules/crm/objects/crm_opportunity' ;
9- export * from './modules/finance/objects/finance_budget' ;
10- export * from './modules/finance/objects/finance_expense' ;
11- export * from './modules/finance/objects/finance_invoice' ;
12- export * from './modules/finance/objects/finance_payment' ;
13- export * from './modules/hr/objects/hr_department' ;
14- export * from './modules/hr/objects/hr_employee' ;
15- export * from './modules/hr/objects/hr_position' ;
16- export * from './modules/hr/objects/hr_timesheet' ;
17- export * from './modules/project/objects/project_milestone' ;
18- export * from './modules/project/objects/project_project' ;
19- export * from './modules/project/objects/project_task' ;
20- export * from './modules/project/objects/project_timesheet_entry' ;
1+ /**
2+ * Enterprise Structure Example - Main Entry Point
3+ *
4+ * This demonstrates how to organize metadata for large-scale ObjectQL applications
5+ * using a modular, domain-driven structure.
6+ */
7+
8+ import { ObjectQL } from '@objectql/core' ;
9+ import { KnexDriver } from '@objectql/driver-knex' ;
10+ import path from 'path' ;
11+
12+ /**
13+ * Initialize ObjectQL with enterprise structure
14+ */
15+ export async function initializeApp ( ) {
16+ const app = new ObjectQL ( {
17+ datasources : {
18+ default : new KnexDriver ( {
19+ client : 'sqlite3' ,
20+ connection : {
21+ filename : ':memory:'
22+ }
23+ } )
24+ } ,
25+ // Load metadata from current directory
26+ source : __dirname
27+ } ) ;
28+
29+ await app . init ( ) ;
30+ return app ;
31+ }
32+
33+ if ( require . main === module ) {
34+ initializeApp ( ) . then ( async ( app ) => {
35+ console . log ( 'Enterprise structure example started!' ) ;
36+ console . log ( 'Loaded objects:' , Object . keys ( app . getConfigs ( ) ) . length ) ;
37+ } ) . catch ( console . error ) ;
38+ }
0 commit comments