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
6 changes: 5 additions & 1 deletion .talismanrc
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,12 @@ fileignoreconfig:
checksum: fab1dab2ad003174730bbdc703d59af49e65db3297415c0a1ac98a95e9f64280
- filename: packages/backend/src/util/expressResponseExcelRenderer.service.ts
checksum: 74fc4a9067af6f823ddcbbed150444cc1db78402ae265082a2114e64c0f459cb
- filename: packages/frontend/src/app/modules/admin-portail-usagers/components/admin-portail-usagers-menu/admin-portail-usagers-menu.component.html
checksum: 6c8166fdecdf0d9ab56fb12390ca2ed5bd98c8ba91b6c6bc976cdf659dde9263
- filename: packages/frontend/src/app/modules/admin-portail-usagers/components/manage-temp-messages/manage-temp-messages.component.html
checksum: f5bc2bd3820b5f982b8d3c36360ed20764e408b4f59d65f470e503e66d1b3282
- filename: packages/frontend/src/app/modules/general/components/static-pages/landing-page-portail/landing-page-portail.component.html
checksum: 3d322a43adaf91648b9f7d42071e3e17d833648c9ac1f0579515a071ebf3fd2e
checksum: 8040e47846a6f36cbd66e06d7c92172f38fb854187dd61cdd08560ac7c1f3a81
- filename: packages/frontend/src/app/modules/structure-stats/components/reporting-form/reporting-form.component.ts
checksum: 8570ed88e0e872bc32eac27d37abc1bf8198816dcb27427efb7b6f8e751582b0
- filename: packages/frontend/src/app/modules/structures/components/structures-custom-docs/structures-custom-docs.component.html
Expand Down
1 change: 0 additions & 1 deletion packages/backend/src/_common/model/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// @index('./*', f => `export * from '${f.path}'`)
export * from "./_core";
export * from "./_portail-admin";
export * from "./_portail-usager";
export * from "./app-log";
export * from "./contact-support";
export * from "./interaction";
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
//@index('./*', f => `export * from '${f.path}'`)
export * from "./STRUCTURE_COMMON_ATTRIBUTES.const";
export * from "./STRUCTURE_LIGHT_ATTRIBUTES.const";
export * from "./STRUCTURE_PORTAIL_ATTRIBUTES.const";
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
// @index('./*', f => `export * from '${f.path}'`)
export * from "./USAGER_LIGHT_ATTRIBUTES.const";
export * from "./USAGER_PORTAIL_ATTRIBUTES.const";
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { USAGER_PORTAIL_ATTRIBUTES, myDataSource } from "..";
import { PortailUsagerPublic, Usager } from "@domifa/common";

import { myDataSource } from "..";
import { UsagerTable } from "../../entities";
import { joinSelectFields, pgRepository } from "../_postgres";

import { getDateForMonthInterval } from "../../../stats/services";
import { PortailUsagerPublic, Usager } from "@domifa/common";
import { USER_USAGER_ATTRIBUTES } from "../../../modules/portail-usagers/const";

const baseRepository = pgRepository.get<UsagerTable, Usager>(UsagerTable);

Expand Down Expand Up @@ -38,7 +38,7 @@ export async function getUserUsagerData({
where: {
uuid: usagerUUID,
},
select: USAGER_PORTAIL_ATTRIBUTES,
select: USER_USAGER_ATTRIBUTES,
});
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { PortailUsagerUsager } from "../../../../_common/model";
import { PortailUsagerUsager } from "../types";

export const USAGER_PORTAIL_ATTRIBUTES: (keyof PortailUsagerUsager)[] = [
export const USER_USAGER_ATTRIBUTES: (keyof PortailUsagerUsager)[] = [
"uuid",
"ref",
"customRef",
Expand Down
2 changes: 2 additions & 0 deletions packages/backend/src/modules/portail-usagers/const/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
//@index('./*', f => `export * from '${f.path}'`)
export * from "./USER_USAGER_ATTRIBUTES.const";
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
HttpStatus,
Param,
ParseIntPipe,
Patch,
Post,
Res,
UseGuards,
Expand All @@ -20,17 +21,24 @@ import {
CurrentUser,
} from "../../../../auth/decorators";
import { AppUserGuard, UsagerAccessGuard } from "../../../../auth/guards";
import { usagerRepository, userUsagerRepository } from "../../../../database";
import {
structureRepository,
usagerRepository,
userUsagerRepository,
} from "../../../../database";
import {
userUsagerCreator,
userUsagerUpdator,
} from "../../../../users/services";
import { appLogger } from "../../../../util";
import { UpdatePortailUsagerOptionsDto } from "../../dto";
import { appLogger, ExpressResponse } from "../../../../util";
import { Response } from "express";
import { AppLogsService } from "../../../app-logs/app-logs.service";
import { AuthGuard } from "@nestjs/passport";
import { ApiTags, ApiBearerAuth } from "@nestjs/swagger";
import {
StructureEditPortailUsagerDto,
UpdatePortailUsagerOptionsDto,
} from "../../dto";

@Controller("portail-usagers-manager")
@ApiTags("portail-usagers-manager")
Expand All @@ -39,6 +47,64 @@ import { ApiTags, ApiBearerAuth } from "@nestjs/swagger";
export class PortailUsagersManagerController {
constructor(private readonly appLogsService: AppLogsService) {}

@ApiBearerAuth()
@AllowUserStructureRoles("admin")
@Patch("configure-structure")
public async toggleEnablePortailUsagerByStructure(
@CurrentUser() user: UserStructureAuthenticated,
@Body() structurePortailUsagerDto: StructureEditPortailUsagerDto,
@Res() res: ExpressResponse
) {
const portailUsager = user.structure.portailUsager;

if (!portailUsager.enabledByDomifa) {
return res
.status(HttpStatus.BAD_REQUEST)
.json({ message: "PORTAIL_NOT_ENABLED_BY_DOMIFA" });
}

try {
await structureRepository.update(
{ id: user.structureId },
{
portailUsager: {
enabledByDomifa: true,
enabledByStructure: structurePortailUsagerDto.enabledByStructure,
usagerLoginUpdateLastInteraction:
structurePortailUsagerDto.usagerLoginUpdateLastInteraction,
},
}
);

if (
user.structure.sms.enabledByStructure !==
structurePortailUsagerDto.enabledByStructure
) {
const action =
structurePortailUsagerDto.enabledByStructure === true
? "ENABLE_PORTAIL_BY_STRUCTURE"
: "DISABLE_PORTAIL_BY_STRUCTURE";

await this.appLogsService.create({
userId: user._userId,
usagerRef: null,
structureId: user.structureId,
action,
});
}

const structure = await structureRepository.findOneBy({
id: user.structureId,
});
return res.status(HttpStatus.OK).json(structure);
} catch (e) {
appLogger.error("PORTAIL_UPDATE_FAIL", { error: e, sentry: true });
return res
.status(HttpStatus.INTERNAL_SERVER_ERROR)
.json({ message: "PORTAIL_UPDATE_FAIL" });
}
}

@UseGuards(UsagerAccessGuard)
@AllowUserStructureRoles(...USER_STRUCTURE_ROLE_ALL)
@Get(":usagerRef")
Expand Down
3 changes: 2 additions & 1 deletion packages/backend/src/modules/portail-usagers/dto/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
// @index('./*', f => `export * from '${f.path}'`)
export * from "./update-portail-usager-options.dto";
export * from "./structure-edit-portail-usager.dto";
export * from "./update-portail-usagers-options.dto";
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Usager } from "@domifa/common";

// PortailUsagerStructure: attributs publics (retournés au Portail Usager via UserStructureAuthenticated)
export type PortailUsagerUsager = Pick<
Usager, // @see USAGER_PORTAIL_ATTRIBUTES
Usager, // @see USER_USAGER_ATTRIBUTES
| "uuid"
| "ref"
| "customRef"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { appLogger } from "./../../util/AppLogger.service";
import {
Body,
Controller,
Expand All @@ -19,7 +18,7 @@ import {
UserStructureAuthenticated,
USER_STRUCTURE_ROLE_ALL,
} from "../../_common/model";
import { StructureDto, StructureEditPortailUsagerDto } from "../dto";
import { StructureDto } from "../dto";
import { StructureEditSmsDto } from "../dto/structure-edit-sms.dto";

import { resetUsagers } from "../services/structure-deletor.service";
Expand Down Expand Up @@ -52,46 +51,6 @@ export class StructuresController {
private readonly fileManagerService: FileManagerService
) {}

@ApiBearerAuth()
@AllowUserStructureRoles("admin")
@Patch("portail-usager/configure-structure")
public async toggleEnablePortailUsagerByStructure(
@CurrentUser() user: UserStructureAuthenticated,
@Body() structurePortailUsagerDto: StructureEditPortailUsagerDto,
@Res() res: ExpressResponse
) {
const portailUsager = user.structure.portailUsager;

if (!portailUsager.enabledByDomifa) {
return res
.status(HttpStatus.BAD_REQUEST)
.json({ message: "PORTAIL_NOT_ENABLED_BY_DOMIFA" });
}

try {
await structureRepository.update(
{ id: user.structureId },
{
portailUsager: {
enabledByDomifa: true,
enabledByStructure: structurePortailUsagerDto.enabledByStructure,
usagerLoginUpdateLastInteraction:
structurePortailUsagerDto.usagerLoginUpdateLastInteraction,
},
}
);
const retour = await structureRepository.findOneBy({
id: user.structureId,
});
return res.status(HttpStatus.OK).json(retour);
} catch (e) {
appLogger.error("PORTAIL_UPDATE_FAIL", { error: e, sentry: true });
return res
.status(HttpStatus.INTERNAL_SERVER_ERROR)
.json({ message: "PORTAIL_UPDATE_FAIL" });
}
}

@ApiBearerAuth()
@AllowUserStructureRoles("admin")
@Patch()
Expand Down
2 changes: 1 addition & 1 deletion packages/backend/src/structures/dto/index.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
//@index('./*', f => `export * from '${f.path}'`)
export * from "./code-postal.dto";
export * from "./schedule.dto";
export * from "./structure-adresse-courrier.dto";
export * from "./structure-doc.dto";
export * from "./structure-edit-portail-usager.dto";
export * from "./structure-edit-sms.dto";
export * from "./structure-options.dto";
export * from "./structure-responsable.dto";
Expand Down
3 changes: 1 addition & 2 deletions packages/backend/src/usagers/dto/index.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
// @index('./*', f => `export * from '${f.path}'`)
export * from "./check-duplicate-usager-ref.dto";
export * from "./check-duplicate-usager.dto";
export * from "./contact-details.dto";
export * from "./create-note.dto";
export * from "./create-usager.dto";
export * from "./decision.dto";
export * from "./entretien.dto";
export * from "./contact-details.dto";
export * from "./pagination";
export * from "./procuration.dto";
export * from "./rdv.dto";
export * from "./search-usager.dto";
export * from "./transfert.dto";
export * from "../../modules/portail-usagers/dto/update-portail-usager-options.dto";
export * from "./UploadUsagerDoc.dto";
export * from "./UsagerAyantDroitDto";
10 changes: 9 additions & 1 deletion packages/frontend/src/app/app-routing.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import { NewsComponent } from "./modules/general/components/news/news.component"
import { PlanSiteComponent } from "./modules/general/components/plan-site/plan-site.component";
import { CguResponsableComponent } from "./modules/general/components/static-pages/cgu-responsable/cgu-responsable.component";
import { RgaaComponent } from "./modules/general/components/static-pages/rgaa/rgaa.component";
import { AuthGuard, FacteurGuard } from "./guards";
import { AdminGuard, AuthGuard, FacteurGuard } from "./guards";
import { LandingPagePortailComponent } from "./modules/general/components/static-pages/landing-page-portail/landing-page-portail.component";

export const routes: Routes = [
Expand Down Expand Up @@ -79,6 +79,14 @@ export const routes: Routes = [
),
path: "import",
},
{
canActivate: [AuthGuard, AdminGuard],
loadChildren: () =>
import(
"./modules/admin-portail-usagers/admin-portail-usagers.module"
).then((m) => m.AdminPortailUsagersModule),
path: "portail-usagers",
},
{
loadChildren: () =>
import("./modules/users/users.module").then((m) => m.UsersModule),
Expand Down
36 changes: 0 additions & 36 deletions packages/frontend/src/app/guards/can-edit-portail-usager.guard.ts

This file was deleted.

33 changes: 0 additions & 33 deletions packages/frontend/src/app/guards/can-edit-sms.guard.ts

This file was deleted.

2 changes: 0 additions & 2 deletions packages/frontend/src/app/guards/index.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
// @index('./*', f => `export * from '${f.path}'`)
export * from "./admin.guard";
export * from "./auth.guard";
export * from "./can-edit-portail-usager.guard";
export * from "./can-edit-sms.guard";
export * from "./facteur.guard";
export * from "./logged.guard";
export * from "./responsable.guard";
Loading