diff --git a/packages/objectql/src/engine.ts b/packages/objectql/src/engine.ts index ff32d73d2..cd9c69fe4 100644 --- a/packages/objectql/src/engine.ts +++ b/packages/objectql/src/engine.ts @@ -618,13 +618,14 @@ export class ObjectQL implements IDataEngine { } // 3. Check package's defaultDatasource - if (object?.packageId) { - const manifest = this.manifests.get(object.packageId); + const owner = SchemaRegistry.getObjectOwner(objectName); + if (owner?.packageId) { + const manifest = this.manifests.get(owner.packageId); if (manifest?.defaultDatasource && manifest.defaultDatasource !== 'default') { if (this.drivers.has(manifest.defaultDatasource)) { this.logger.debug('Resolved datasource from package manifest', { object: objectName, - package: object.packageId, + package: owner.packageId, datasource: manifest.defaultDatasource }); return this.drivers.get(manifest.defaultDatasource)!; diff --git a/packages/plugins/plugin-auth/src/auth-manager.ts b/packages/plugins/plugin-auth/src/auth-manager.ts index 2e0fefbc8..8f22bbbe5 100644 --- a/packages/plugins/plugin-auth/src/auth-manager.ts +++ b/packages/plugins/plugin-auth/src/auth-manager.ts @@ -5,7 +5,11 @@ import type { Auth, BetterAuthOptions } from 'better-auth'; import { organization } from 'better-auth/plugins/organization'; import { twoFactor } from 'better-auth/plugins/two-factor'; import { magicLink } from 'better-auth/plugins/magic-link'; -import type { AuthConfig } from '@objectstack/spec/system'; +import type { + AuthConfig, + EmailAndPasswordConfig, + AuthPluginConfig, +} from '@objectstack/spec/system'; import type { IDataEngine } from '@objectstack/core'; import { createObjectQLAdapterFactory } from './objectql-adapter.js'; import { @@ -374,20 +378,20 @@ export class AuthManager { } // Extract email/password config (safe fields only) - const emailPasswordConfig = this.config.emailAndPassword || {}; + const emailPasswordConfig: Partial = this.config.emailAndPassword ?? {}; const emailPassword = { enabled: emailPasswordConfig.enabled !== false, // Default to true - disableSignUp: emailPasswordConfig.disableSignUp, - requireEmailVerification: emailPasswordConfig.requireEmailVerification, + disableSignUp: emailPasswordConfig.disableSignUp ?? false, + requireEmailVerification: emailPasswordConfig.requireEmailVerification ?? false, }; // Extract enabled features - const pluginConfig = this.config.plugins || {}; + const pluginConfig: Partial = this.config.plugins ?? {}; const features = { - twoFactor: pluginConfig.twoFactor || false, - passkeys: pluginConfig.passkeys || false, - magicLink: pluginConfig.magicLink || false, - organization: pluginConfig.organization || false, + twoFactor: pluginConfig.twoFactor ?? false, + passkeys: pluginConfig.passkeys ?? false, + magicLink: pluginConfig.magicLink ?? false, + organization: pluginConfig.organization ?? false, }; return {