From 3e58f8026f76b61d1b0de86e86caec1cbc69902a Mon Sep 17 00:00:00 2001 From: MathieuCarteron Date: Wed, 10 Jun 2026 22:10:13 +0200 Subject: [PATCH] =?UTF-8?q?D=C3=A9connexion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../disconnect/disconnect.component.css | 21 ++++ .../disconnect/disconnect.component.html | 7 ++ .../disconnect/disconnect.component.ts | 16 +++ .../parameters-main.component.css | 7 ++ .../parameters-main.component.html | 6 +- .../parameters-main.component.ts | 9 +- .../parameters-profile.component.html | 11 +- .../parameters-profile.component.ts | 1 + src/app/services/api/.openapi-generator/FILES | 1 + .../services/api/api/discussions.service.ts | 57 ++++++++++ src/app/services/api/api/messages.service.ts | 106 ------------------ ...ots-dto-message-get-message-details-dto.ts | 20 ++++ src/app/services/api/model/models.ts | 1 + 13 files changed, 152 insertions(+), 111 deletions(-) create mode 100644 src/app/pages/parameters/disconnect/disconnect.component.css create mode 100644 src/app/pages/parameters/disconnect/disconnect.component.html create mode 100644 src/app/pages/parameters/disconnect/disconnect.component.ts create mode 100644 src/app/services/api/model/knots-dto-message-get-message-details-dto.ts diff --git a/src/app/pages/parameters/disconnect/disconnect.component.css b/src/app/pages/parameters/disconnect/disconnect.component.css new file mode 100644 index 0000000..9e82ded --- /dev/null +++ b/src/app/pages/parameters/disconnect/disconnect.component.css @@ -0,0 +1,21 @@ +.logout-btn { + align-self: flex-start; + width: 44px; + height: 44px; + border-radius: 14px; + background: white; + border: none; + box-shadow: 0 2px 10px rgba(180, 80, 80, 0.12); + display: flex; + align-items: center; + justify-content: center; + color: rosybrown; + cursor: pointer; + margin-bottom: 28px; + transition: box-shadow 0.2s, transform 0.15s; + + &:active { + transform: scale(0.94); + box-shadow: 0 1px 5px rgba(180, 80, 80, 0.1); + } +} \ No newline at end of file diff --git a/src/app/pages/parameters/disconnect/disconnect.component.html b/src/app/pages/parameters/disconnect/disconnect.component.html new file mode 100644 index 0000000..23e9793 --- /dev/null +++ b/src/app/pages/parameters/disconnect/disconnect.component.html @@ -0,0 +1,7 @@ + diff --git a/src/app/pages/parameters/disconnect/disconnect.component.ts b/src/app/pages/parameters/disconnect/disconnect.component.ts new file mode 100644 index 0000000..d1f0dc6 --- /dev/null +++ b/src/app/pages/parameters/disconnect/disconnect.component.ts @@ -0,0 +1,16 @@ +import {Component, inject} from '@angular/core'; +import {AuthService} from "../../../core/auth/auth.service"; + +@Component({ + selector: 'app-disconnect', + imports: [], + templateUrl: './disconnect.component.html', + styleUrl: './disconnect.component.css' +}) +export class DisconnectComponent { + + private authService = inject(AuthService); + logout() { + this.authService.logout(); + } +} diff --git a/src/app/pages/parameters/parameters-main/parameters-main.component.css b/src/app/pages/parameters/parameters-main/parameters-main.component.css index 43363be..dc9f8cb 100644 --- a/src/app/pages/parameters/parameters-main/parameters-main.component.css +++ b/src/app/pages/parameters/parameters-main/parameters-main.component.css @@ -11,4 +11,11 @@ ); padding: 16px; gap: 12px; +} + +.header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 12px 16px; } \ No newline at end of file diff --git a/src/app/pages/parameters/parameters-main/parameters-main.component.html b/src/app/pages/parameters/parameters-main/parameters-main.component.html index 44d915a..7f197ec 100644 --- a/src/app/pages/parameters/parameters-main/parameters-main.component.html +++ b/src/app/pages/parameters/parameters-main/parameters-main.component.html @@ -1,5 +1,9 @@
- +
+ + +
+
diff --git a/src/app/pages/parameters/parameters-main/parameters-main.component.ts b/src/app/pages/parameters/parameters-main/parameters-main.component.ts index 9ea338d..631b338 100644 --- a/src/app/pages/parameters/parameters-main/parameters-main.component.ts +++ b/src/app/pages/parameters/parameters-main/parameters-main.component.ts @@ -1,18 +1,21 @@ import { Component } from '@angular/core'; import {ParametersExit} from "../parameters-exit/parameters-exit.component"; +import {DisconnectComponent} from "../disconnect/disconnect.component"; import {ParametersCoordinatesComponent} from "../parameters-coordinates/parameters-coordinates.component"; import {ParametersProfileComponent} from "../parameters-profile/parameters-profile.component"; @Component({ - selector: 'app-parameters-main', + selector: 'app-parameters-main', + templateUrl: './parameters-main.component.html', imports: [ ParametersExit, + DisconnectComponent, ParametersCoordinatesComponent, ParametersProfileComponent ], - templateUrl: './parameters-main.component.html', - styleUrl: './parameters-main.component.css' + styleUrl: './parameters-main.component.css' }) + export class ParametersMain { } diff --git a/src/app/pages/parameters/parameters-profile/parameters-profile.component.html b/src/app/pages/parameters/parameters-profile/parameters-profile.component.html index 67e3ce6..7a0ba03 100644 --- a/src/app/pages/parameters/parameters-profile/parameters-profile.component.html +++ b/src/app/pages/parameters/parameters-profile/parameters-profile.component.html @@ -53,6 +53,16 @@ {{ bio() }} + + -
diff --git a/src/app/pages/parameters/parameters-profile/parameters-profile.component.ts b/src/app/pages/parameters/parameters-profile/parameters-profile.component.ts index cbeb67a..450ddcf 100644 --- a/src/app/pages/parameters/parameters-profile/parameters-profile.component.ts +++ b/src/app/pages/parameters/parameters-profile/parameters-profile.component.ts @@ -10,6 +10,7 @@ import {AuthService} from "../../../core/auth/auth.service"; selector: 'app-parameters-profile', imports: [FormsModule, CommonModule], templateUrl: './parameters-profile.component.html', + standalone: true, styleUrl: './parameters-profile.component.css' }) export class ParametersProfileComponent implements OnInit { diff --git a/src/app/services/api/.openapi-generator/FILES b/src/app/services/api/.openapi-generator/FILES index 0f53e7c..3785b24 100644 --- a/src/app/services/api/.openapi-generator/FILES +++ b/src/app/services/api/.openapi-generator/FILES @@ -26,6 +26,7 @@ model/knots-dto-key-create-key-dto.ts model/knots-dto-key-delete-key-dto.ts model/knots-dto-message-create-message-dto.ts model/knots-dto-message-delete-message-dto.ts +model/knots-dto-message-get-message-details-dto.ts model/knots-dto-role-create-role-dto.ts model/knots-dto-role-delete-role-dto.ts model/knots-dto-user-create-user-dto.ts diff --git a/src/app/services/api/api/discussions.service.ts b/src/app/services/api/api/discussions.service.ts index 8b3c3b5..20072d8 100644 --- a/src/app/services/api/api/discussions.service.ts +++ b/src/app/services/api/api/discussions.service.ts @@ -22,6 +22,8 @@ import { FastEndpointsErrorResponse } from '../model/fast-endpoints-error-respon import { KnotsDTODiscussionCreateDiscussionDto } from '../model/knots-dto-discussion-create-discussion-dto'; // @ts-ignore import { KnotsDTODiscussionDeleteDiscussionDto } from '../model/knots-dto-discussion-delete-discussion-dto'; +// @ts-ignore +import { KnotsDTOMessageGetMessageDetailsDto } from '../model/knots-dto-message-get-message-details-dto'; // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; @@ -271,6 +273,61 @@ export class DiscussionsService extends BaseService { ); } + /** + * @endpoint get /API/discussions/{discussionId}/messages + * @param discussionId + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + * @param options additional options + */ + public getMessageEndpoint(discussionId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getMessageEndpoint(discussionId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getMessageEndpoint(discussionId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getMessageEndpoint(discussionId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (discussionId === null || discussionId === undefined) { + throw new Error('Required parameter discussionId was null or undefined when calling getMessageEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/discussions/${this.configuration.encodeParam({name: "discussionId", value: discussionId, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}/messages`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request>('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + /** * @endpoint get /API/discussions/my * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. diff --git a/src/app/services/api/api/messages.service.ts b/src/app/services/api/api/messages.service.ts index 28d2c24..5c67788 100644 --- a/src/app/services/api/api/messages.service.ts +++ b/src/app/services/api/api/messages.service.ts @@ -168,110 +168,4 @@ export class MessagesService extends BaseService { ); } - /** - * @endpoint get /API/messages/{@Id} - * @param id - * @param id2 - * @param date - * @param type - * @param contenu - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - * @param options additional options - */ - public getMessageEndpoint(id: string, id2: number, date: string, type: boolean, contenu?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable; - public getMessageEndpoint(id: string, id2: number, date: string, type: boolean, contenu?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable>; - public getMessageEndpoint(id: string, id2: number, date: string, type: boolean, contenu?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable>; - public getMessageEndpoint(id: string, id2: number, date: string, type: boolean, contenu?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable { - if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling getMessageEndpoint.'); - } - if (id2 === null || id2 === undefined) { - throw new Error('Required parameter id2 was null or undefined when calling getMessageEndpoint.'); - } - if (date === null || date === undefined) { - throw new Error('Required parameter date was null or undefined when calling getMessageEndpoint.'); - } - if (type === null || type === undefined) { - throw new Error('Required parameter type was null or undefined when calling getMessageEndpoint.'); - } - - let localVarQueryParameters = new OpenApiHttpParams(this.encoder); - - localVarQueryParameters = this.addToHttpParams( - localVarQueryParameters, - 'id', - id2, - QueryParamStyle.Form, - true, - ); - - - localVarQueryParameters = this.addToHttpParams( - localVarQueryParameters, - 'contenu', - contenu, - QueryParamStyle.Form, - true, - ); - - - localVarQueryParameters = this.addToHttpParams( - localVarQueryParameters, - 'date', - date, - QueryParamStyle.Form, - true, - ); - - - localVarQueryParameters = this.addToHttpParams( - localVarQueryParameters, - 'type', - type, - QueryParamStyle.Form, - true, - ); - - - let localVarHeaders = this.defaultHeaders; - - const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ - ]); - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); - - const localVarTransferCache: boolean = options?.transferCache ?? true; - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - let localVarPath = `/API/messages/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}`; - const { basePath, withCredentials } = this.configuration; - return this.httpClient.request('get', `${basePath}${localVarPath}`, - { - context: localVarHttpContext, - params: localVarQueryParameters.toHttpParams(), - responseType: responseType_, - ...(withCredentials ? { withCredentials } : {}), - headers: localVarHeaders, - observe: observe, - ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), - reportProgress: reportProgress - } - ); - } - } diff --git a/src/app/services/api/model/knots-dto-message-get-message-details-dto.ts b/src/app/services/api/model/knots-dto-message-get-message-details-dto.ts new file mode 100644 index 0000000..9d31fe7 --- /dev/null +++ b/src/app/services/api/model/knots-dto-message-get-message-details-dto.ts @@ -0,0 +1,20 @@ +/** + * Knots + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface KnotsDTOMessageGetMessageDetailsDto { + id?: number; + contenu?: string | null; + date?: string; + type?: boolean; + authorId?: number; + authorName?: string; +} + diff --git a/src/app/services/api/model/models.ts b/src/app/services/api/model/models.ts index a4aece7..f67ece6 100644 --- a/src/app/services/api/model/models.ts +++ b/src/app/services/api/model/models.ts @@ -10,6 +10,7 @@ export * from './knots-dto-key-create-key-dto'; export * from './knots-dto-key-delete-key-dto'; export * from './knots-dto-message-create-message-dto'; export * from './knots-dto-message-delete-message-dto'; +export * from './knots-dto-message-get-message-details-dto'; export * from './knots-dto-role-create-role-dto'; export * from './knots-dto-role-delete-role-dto'; export * from './knots-dto-user-create-user-dto';