* feat: Pbac decorator and guard * feat: v2 roles endpoints * fix: test * fix: starting v2 * fix: test error * fix: test api keys * fix fixture * test permission creation * feat: permissions endpoints * refactors * refactor: project structure * test: role permissions crud * test: permissions endpoint negative tests * docs: org, team permissions swagger * unit tests for validator * Update roles.guard.ts * fix type * test: error messages * refactor: dont throw error in pbac * delete redundant test file * feedback: logging error * fix: persist role.permissions when updating role.otherProperty * refactor: use output service to return permissions * refactor: service functions return current permissions * refactor: remove OrganizationsRepository from providers * refactor: try catch possibly duplicate create * refactor: require min length name if provided * refactor: org role has orgId and team role teamId * fix: pbac guard caching * fix: e2e tests in parallel * refactor: use IsTeamInOrg guard for orgs teams roles and permissions endpoints * refactor: use redis service getter and setter * refactor: invalidate team permissions cache when permissions change * refactor: delete keys instead of versioning when caching
31 lines
1.3 KiB
TypeScript
31 lines
1.3 KiB
TypeScript
import { ApiKeysModule } from "@/modules/api-keys/api-keys.module";
|
|
import { ApiAuthGuard } from "@/modules/auth/guards/api-auth/api-auth.guard";
|
|
import { NextAuthGuard } from "@/modules/auth/guards/next-auth/next-auth.guard";
|
|
import { ApiAuthStrategy } from "@/modules/auth/strategies/api-auth/api-auth.strategy";
|
|
import { NextAuthStrategy } from "@/modules/auth/strategies/next-auth/next-auth.strategy";
|
|
import { DeploymentsModule } from "@/modules/deployments/deployments.module";
|
|
import { MembershipsModule } from "@/modules/memberships/memberships.module";
|
|
import { OAuthFlowService } from "@/modules/oauth-clients/services/oauth-flow.service";
|
|
import { RedisModule } from "@/modules/redis/redis.module";
|
|
import { RolesModule } from "@/modules/roles/roles.module";
|
|
import { TokensModule } from "@/modules/tokens/tokens.module";
|
|
import { UsersModule } from "@/modules/users/users.module";
|
|
import { Module } from "@nestjs/common";
|
|
import { PassportModule } from "@nestjs/passport";
|
|
|
|
@Module({
|
|
imports: [
|
|
PassportModule,
|
|
RedisModule,
|
|
ApiKeysModule,
|
|
UsersModule,
|
|
MembershipsModule,
|
|
TokensModule,
|
|
DeploymentsModule,
|
|
RolesModule,
|
|
],
|
|
providers: [NextAuthGuard, NextAuthStrategy, ApiAuthGuard, ApiAuthStrategy, OAuthFlowService],
|
|
exports: [NextAuthGuard, ApiAuthGuard],
|
|
})
|
|
export class AuthModule {}
|