Files
dukang/server/dukang-api/src/modules/iam/iam.module.ts
T

91 lines
3.0 KiB
TypeScript

import { Module, forwardRef } from '@nestjs/common';
import { JwtModule } from '@nestjs/jwt';
import { IntegrationsModule } from '../../integrations/integrations.module';
import { AnalyticsModule } from '../analytics/analytics.module';
import { AuthService } from './auth.service';
import {
PartnerAuthController,
ShopAuthController,
UserAuthController,
UserProfileController,
} from './auth.controller';
import { UserAddressController } from './user-address.controller';
import { UserAddressService } from './user-address.service';
import { PartnerStaffController } from './partner-staff.controller';
import { PartnerStaffService } from './partner-staff.service';
import { StoreStaffController } from './store-staff.controller';
import { StoreStaffService } from './store-staff.service';
import { AdminAuthController } from './admin-auth.controller';
import { JwtAuthGuard } from '../../common/guards/jwt-auth.guard';
import { PhoneVerifiedGuard } from '../../common/guards/phone-verified.guard';
import { OptionalJwtAuthGuard } from '../../common/guards/optional-jwt-auth.guard';
import { HqAuthGuard } from '../../common/guards/hq-auth.guard';
import { PartnerPrimaryGuard } from '../../common/guards/partner-primary.guard';
import { PartnerPermissionGuard } from '../../common/guards/partner-permission.guard';
import { ShopStoreGuard } from '../../common/guards/shop-store.guard';
import { ShopPrimaryGuard } from '../../common/guards/shop-primary.guard';
import { StoreMembershipService } from '../../common/guards/store-membership.service';
import {
HqPermissionGuard,
HqPermissionsResolver,
} from '../../common/guards/hq-permission.guard';
import { CommonModule } from '../common/common.module';
@Module({
imports: [
IntegrationsModule,
forwardRef(() => CommonModule),
forwardRef(() => AnalyticsModule),
JwtModule.register({
secret: process.env.JWT_SECRET || 'dukang-prev1-dev-secret',
signOptions: { expiresIn: process.env.JWT_EXPIRES_IN || '7d' },
}),
],
controllers: [
UserAuthController,
ShopAuthController,
PartnerAuthController,
PartnerStaffController,
StoreStaffController,
UserProfileController,
UserAddressController,
AdminAuthController,
],
providers: [
AuthService,
UserAddressService,
PartnerStaffService,
StoreStaffService,
StoreMembershipService,
JwtAuthGuard,
PhoneVerifiedGuard,
OptionalJwtAuthGuard,
HqAuthGuard,
PartnerPrimaryGuard,
PartnerPermissionGuard,
ShopStoreGuard,
ShopPrimaryGuard,
HqPermissionsResolver,
HqPermissionGuard,
],
exports: [
AuthService,
UserAddressService,
PartnerStaffService,
StoreStaffService,
StoreMembershipService,
JwtModule,
JwtAuthGuard,
PhoneVerifiedGuard,
OptionalJwtAuthGuard,
HqAuthGuard,
PartnerPrimaryGuard,
PartnerPermissionGuard,
ShopStoreGuard,
ShopPrimaryGuard,
HqPermissionsResolver,
HqPermissionGuard,
],
})
export class IamModule {}