import { authController } from './auth_controller.js';
import { authService } from './auth_service.js';
import { AKJwtService } from './jwt/jwt_service.js';
export let AuthController;
export let eventUserService;
export default class AKAuthProvider {
    app;
    constructor(app) {
        this.app = app;
    }
    async boot() {
        const config = this.app.config.get('akago_auth');
        const userServiceClass = await config.userServiceClass.resolver(this.app);
        eventUserService = await this.app.container.make(userServiceClass);
        const jwtService = await this.app.container.make(AKJwtService);
        const authServiceClass = authService(userServiceClass, jwtService);
        const signupVineSchema = await config.signupVineSchema.resolver(this.app);
        AuthController = authController(authServiceClass, userServiceClass, signupVineSchema);
    }
}
//# sourceMappingURL=auth_provider.js.map