"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.OAuthModule = void 0;
const api_mail_1 = require("@hed-hog/api-mail");
const api_prisma_1 = require("@hed-hog/api-prisma");
const axios_1 = require("@nestjs/axios");
const common_1 = require("@nestjs/common");
const config_1 = require("@nestjs/config");
const auth_module_1 = require("../auth/auth.module");
const file_module_1 = require("../file/file.module");
const mail_module_1 = require("../mail/mail.module");
const security_module_1 = require("../security/security.module");
const token_module_1 = require("../token/token.module");
const user_module_1 = require("../user/user.module");
const oauth_callback_coordinator_service_1 = require("./oauth-callback-coordinator.service");
const oauth_controller_1 = require("./oauth.controller");
const oauth_service_1 = require("./oauth.service");
const facebook_provider_1 = require("./providers/facebook.provider");
const github_provider_1 = require("./providers/github.provider");
const google_provider_1 = require("./providers/google.provider");
const microsoft_entra_id_provider_1 = require("./providers/microsoft-entra-id.provider");
const microsoft_provider_1 = require("./providers/microsoft.provider");
let OAuthModule = class OAuthModule {
};
exports.OAuthModule = OAuthModule;
exports.OAuthModule = OAuthModule = __decorate([
    (0, common_1.Module)({
        imports: [
            (0, common_1.forwardRef)(() => axios_1.HttpModule),
            (0, common_1.forwardRef)(() => api_prisma_1.PrismaModule),
            (0, common_1.forwardRef)(() => api_mail_1.MailModule),
            (0, common_1.forwardRef)(() => config_1.ConfigModule),
            (0, common_1.forwardRef)(() => file_module_1.FileModule),
            (0, common_1.forwardRef)(() => mail_module_1.MailModule),
            (0, common_1.forwardRef)(() => security_module_1.SecurityModule),
            (0, common_1.forwardRef)(() => token_module_1.TokenModule),
            (0, common_1.forwardRef)(() => auth_module_1.AuthModule),
            (0, common_1.forwardRef)(() => user_module_1.UserModule),
        ],
        controllers: [oauth_controller_1.OAuthController],
        providers: [
            oauth_callback_coordinator_service_1.OAuthCallbackCoordinatorService,
            oauth_service_1.OAuthService,
            google_provider_1.GoogleProvider,
            facebook_provider_1.FacebookProvider,
            github_provider_1.GithubProvider,
            microsoft_provider_1.MicrosoftProvider,
            microsoft_entra_id_provider_1.MicrosoftEntraIdProvider,
        ],
        exports: [oauth_service_1.OAuthService],
    })
], OAuthModule);
//# sourceMappingURL=oauth.module.js.map