Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { MigrationInterface, QueryRunner } from 'typeorm';

export class PreserveVisualizarProvasFromCriarSimulado1783225907857
implements MigrationInterface
{
name = 'PreserveVisualizarProvasFromCriarSimulado1783225907857';

public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`UPDATE \`roles\`
SET \`visualizar_provas\` = 1
WHERE \`criar_simulado\` = 1
AND \`visualizar_provas\` = 0`,
);
}

public async down(_queryRunner: QueryRunner): Promise<void> {
// intentionally empty — rollback not safe nor required
}
}
14 changes: 14 additions & 0 deletions src/db/migrations/1783225907858-drop_criar_simulado.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { MigrationInterface, QueryRunner } from "typeorm";

export class DropCriarSimulado1783225907858 implements MigrationInterface {
name = 'DropCriarSimulado1783225907858'

public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE \`roles\` DROP COLUMN \`criar_simulado\``);
}

public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE \`roles\` ADD \`criar_simulado\` tinyint NOT NULL DEFAULT '0'`);
}

}
1 change: 0 additions & 1 deletion src/db/seeds/1-role.seed.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ const RoleData = [
name: 'admin',
validarCursinho: true,
alterarPermissao: true,
criarSimulado: true,
},
];

Expand Down
1 change: 0 additions & 1 deletion src/db/seeds/2-role-update-admin.seed.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ export class RoleUpdateAdminSeedService {
await this.roleRepository.updateRole('admin', {
validarCursinho: true,
alterarPermissao: true,
criarSimulado: true,
criarQuestao: true,
visualizarQuestao: true,
validarQuestao: true,
Expand Down
3 changes: 0 additions & 3 deletions src/modules/role/dto/create-role.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ export class CreateRoleDtoInput {
@IsBoolean()
alterarPermissao: boolean;

@IsBoolean()
criarSimulado: boolean;

@IsBoolean()
visualizarQuestao: boolean;

Expand Down
1 change: 0 additions & 1 deletion src/modules/role/permissions/permission-field-map.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import { Permissions } from './permissions';
export const PERMISSION_FIELD_MAP: Record<Permissions, string> = {
[Permissions.validarCursinho]: 'validarCursinho',
[Permissions.alterarPermissao]: 'alterarPermissao',
[Permissions.criarSimulado]: 'criarSimulado',
[Permissions.criarQuestao]: 'criarQuestao',
[Permissions.visualizarQuestao]: 'visualizarQuestao',
[Permissions.validarQuestao]: 'validarQuestao',
Expand Down
11 changes: 0 additions & 11 deletions src/modules/role/permissions/permission-hierarchy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -154,17 +154,6 @@ export const PERMISSION_HIERARCHY: PermissionGroup[] = [
},
],
},
{
key: 'simulado',
label: 'Simulado',
permissions: [
{
key: Permissions.criarSimulado,
label: 'Visualizar simulado',
type: PermissionType.project,
},
],
},
{
key: 'noticias',
label: 'Notícias',
Expand Down
1 change: 0 additions & 1 deletion src/modules/role/permissions/permissions.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
export enum Permissions {
validarCursinho = 'validar_cursinho',
alterarPermissao = 'alterar_permissao',
criarSimulado = 'criar_simulado',
criarQuestao = 'criar_questao',
visualizarQuestao = 'visualizar_questao',
validarQuestao = 'validar_questao',
Expand Down
3 changes: 0 additions & 3 deletions src/modules/role/role.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@ export class Role extends BaseEntity {
@Column({ name: Permissions.alterarPermissao, default: false })
alterarPermissao: boolean;

@Column({ name: Permissions.criarSimulado, default: false })
criarSimulado: boolean;

@Column({ name: Permissions.criarQuestao, default: false })
criarQuestao: boolean;

Expand Down
4 changes: 0 additions & 4 deletions src/modules/role/role.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,6 @@ export class RoleService extends BaseService<Role> {
const resolved = resolveImpliedPermissions({
[Permissions.validarCursinho]:
roleBase?.validarCursinho || roleDto.validarCursinho,
[Permissions.criarSimulado]:
roleBase?.criarSimulado || roleDto.criarSimulado,
[Permissions.criarQuestao]:
roleBase?.criarQuestao || roleDto.criarQuestao,
[Permissions.validarQuestao]:
Expand Down Expand Up @@ -146,7 +144,6 @@ export class RoleService extends BaseService<Role> {

const resolved = resolveImpliedPermissions({
[Permissions.validarCursinho]: roleDto.validarCursinho,
[Permissions.criarSimulado]: roleDto.criarSimulado,
[Permissions.criarQuestao]: roleDto.criarQuestao,
[Permissions.validarQuestao]: roleDto.validarQuestao,
[Permissions.visualizarQuestao]: roleDto.visualizarQuestao,
Expand Down Expand Up @@ -197,7 +194,6 @@ export class RoleService extends BaseService<Role> {
if (role.children?.length > 0) {
const BASE_PERMISSIONS: Permissions[] = [
Permissions.validarCursinho,
Permissions.criarSimulado,
Permissions.criarQuestao,
Permissions.validarQuestao,
Permissions.visualizarQuestao,
Expand Down
8 changes: 0 additions & 8 deletions src/modules/simulado/dtos/create-simulado.dto.input.ts

This file was deleted.

16 changes: 1 addition & 15 deletions src/modules/simulado/simulado.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import { User } from '../user/user.entity';
import { GetAllDtoInput } from 'src/shared/dtos/get-all.dto.input';
import { AnswerSimulado } from './dtos/answer-simulado.dto.input';
import { AvailableSimuladoDTOoutput } from './dtos/available-simulado.dto.output';
import { CreateSimuladoDTOInput } from './dtos/create-simulado.dto.input';
import { ReportDTO } from './dtos/report.dto.input';
import { SimuladoAnswerDTO } from './dtos/simulado-answer.dto.output';
import { SimuladoDTO } from './dtos/simulado.dto.output';
Expand All @@ -31,19 +30,6 @@ import { SimuladoService } from './simulado.service';
export class SimuladoController {
constructor(private readonly simuladoService: SimuladoService) {}

@Post()
@ApiResponse({
status: 200,
description: 'cria simulado',
type: SimuladoDTO,
isArray: false,
})
@UseGuards(PermissionsGuard)
@SetMetadata(PermissionsGuard.name, Permissions.criarSimulado)
async create(@Body() dto: CreateSimuladoDTOInput): Promise<SimuladoDTO> {
return await this.simuladoService.create(dto);
}

@Get()
@ApiResponse({
status: 200,
Expand Down Expand Up @@ -133,7 +119,7 @@ export class SimuladoController {
},
},
})
@SetMetadata(PermissionsGuard.name, Permissions.criarSimulado)
@SetMetadata(PermissionsGuard.name, Permissions.cadastrarProvas)
public async delete(@Param('id') id: string): Promise<void> {
await this.simuladoService.delete(id);
}
Expand Down
9 changes: 3 additions & 6 deletions src/modules/simulado/simulado.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import {
import { AuditLogService } from '../audit-log/audit-log.service';
import { AnswerSimulado } from './dtos/answer-simulado.dto.input';
import { AvailableSimuladoDTOoutput } from './dtos/available-simulado.dto.output';
import { CreateSimuladoDTOInput } from './dtos/create-simulado.dto.input';
import { ReportDTO } from './dtos/report.dto.input';
import { SimuladoDTO } from './dtos/simulado.dto.output';
import { CategoriaDTO } from './dtos/categoria.dto.output';
Expand All @@ -30,12 +29,10 @@ export class SimuladoService {
);
}

async create(dto: CreateSimuladoDTOInput) {
return await this.axios.post<SimuladoDTO>('v1/simulado', dto);
}

async getAll(page: number = 1, limit: number = 500) {
return await this.axios.get<SimuladoDTO[]>(`v1/simulado?page=${page}&limit=${limit}`);
return await this.axios.get<SimuladoDTO[]>(
`v1/simulado?page=${page}&limit=${limit}`,
);
}

async getCategorias() {
Expand Down
1 change: 0 additions & 1 deletion test/course-period.e2e-spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,6 @@ describe('CoursePeriod (e2e)', () => {
base: false,
validarCursinho: false,
alterarPermissao: false,
criarSimulado: false,
visualizarQuestao: false,
criarQuestao: false,
validarQuestao: false,
Expand Down
7 changes: 0 additions & 7 deletions test/role.e2e-spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ describe('Role e2e', () => {
base: true,
validarCursinho: true,
alterarPermissao: false,
criarSimulado: true,
visualizarQuestao: true,
criarQuestao: false,
validarQuestao: false,
Expand Down Expand Up @@ -100,7 +99,6 @@ describe('Role e2e', () => {
expect(baseRole.name).toBe(baseRoleData.name);
expect(baseRole.base).toBe(true);
expect(baseRole.validarCursinho).toBe(true);
expect(baseRole.criarSimulado).toBe(true);
expect(baseRole.uploadNews).toBe(true);
expect(baseRole.gerenciarProcessoSeletivo).toBe(true);
expect(baseRole.gerenciarTurmas).toBe(true);
Expand All @@ -112,7 +110,6 @@ describe('Role e2e', () => {
roleBase: baseRole.id,
validarCursinho: false, // This should be inherited from base role
alterarPermissao: false,
criarSimulado: false, // This should be inherited from base role
visualizarQuestao: false,
criarQuestao: true, // New permission not in base
validarQuestao: false,
Expand Down Expand Up @@ -154,7 +151,6 @@ describe('Role e2e', () => {

// Verify inheritance: child role should inherit permissions from base role
expect(childRole.validarCursinho).toBe(true); // Inherited from base
expect(childRole.criarSimulado).toBe(true); // Inherited from base
expect(childRole.uploadNews).toBe(true); // Inherited from base
expect(childRole.gerenciarProcessoSeletivo).toBe(false); // It is not a base permission
expect(childRole.gerenciarTurmas).toBe(false); // It is not a base permission
Expand All @@ -171,7 +167,6 @@ describe('Role e2e', () => {
base: true,
validarCursinho: false, // Changed from true to false
alterarPermissao: true, // New permission
criarSimulado: true, // Keep same
visualizarQuestao: true, // New permission
criarQuestao: true, // New permission
validarQuestao: true, // New permission
Expand Down Expand Up @@ -247,7 +242,6 @@ describe('Role e2e', () => {
base: true,
validarCursinho: false,
alterarPermissao: false,
criarSimulado: false,
visualizarQuestao: false,
criarQuestao: false,
validarQuestao: false,
Expand Down Expand Up @@ -290,7 +284,6 @@ describe('Role e2e', () => {
roleBase: baseRole.id,
validarCursinho: false,
alterarPermissao: false,
criarSimulado: false,
visualizarQuestao: false,
criarQuestao: true, // This should automatically enable visualizarQuestao
validarQuestao: false,
Expand Down
Loading