mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 12:37:53 +00:00
update image
This commit is contained in:
Generated
+572
-219
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -259,7 +259,7 @@
|
||||
"cordova-plugin-media-capture": "^3.0.3",
|
||||
"cordova-plugin-network-information": "^3.0.0",
|
||||
"cordova-plugin-statusbar": "^2.4.2",
|
||||
"cypress": "^12.13.0",
|
||||
"cypress": "^15.1.0",
|
||||
"es6-promise-plugin": "^4.2.2",
|
||||
"jasmine-core": "~3.6.0",
|
||||
"jasmine-spec-reporter": "~5.0.0",
|
||||
|
||||
@@ -98,7 +98,7 @@ const UserSessionSchema = z.object({
|
||||
Inactivity: z.boolean(),
|
||||
UrlBeforeInactivity: z.string(),
|
||||
UserPermissions: z.unknown(), // Again, you can define it more explicitly if needed
|
||||
UserPhoto: z.string(),
|
||||
UserPhoto: z.string().nullable(),
|
||||
RefreshToken: z.string(),
|
||||
});
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ const UserSchema = z.object({
|
||||
wxeMail: z.string(),
|
||||
role: z.string(),
|
||||
roleId: z.number(),
|
||||
userPhoto: z.string(),
|
||||
userPhoto: z.string().nullable(),
|
||||
adUserSID: z.string(),
|
||||
});
|
||||
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { z, ZodError, ZodSchema } from 'zod';
|
||||
|
||||
const UserGetByIdInputSchema = z.object({
|
||||
username: z.string(),
|
||||
password: z.string()
|
||||
})
|
||||
|
||||
export type UserGetByIdInput = z.infer<typeof UserGetByIdInputSchema>
|
||||
|
||||
export const UserGetByIdOutputSchema = z.object({
|
||||
success: z.boolean(),
|
||||
message: z.string(),
|
||||
data: z.object({
|
||||
wxUserId: z.number(),
|
||||
wxFullName: z.string(),
|
||||
wxUser: z.string(),
|
||||
wxeMail: z.string().email(),
|
||||
role: z.string(),
|
||||
roleId: z.number(),
|
||||
userPhoto: z.string(), // base64 image string
|
||||
adUserSID: z.string().nullable(),
|
||||
organicEntityID: z.number(),
|
||||
organicEntityName: z.string(),
|
||||
managerId: z.number(),
|
||||
managerName: z.string(),
|
||||
status: z.string()
|
||||
})
|
||||
});
|
||||
|
||||
export type UserGetByIdOutput = z.infer<typeof UserGetByIdOutputSchema>
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class UserGetByIdService {
|
||||
|
||||
constructor() { }
|
||||
}
|
||||
@@ -62,21 +62,10 @@
|
||||
<div mat-icon-button [matMenuTriggerFor]="menu" aria-label="Example icon-button with a menu">
|
||||
<div class="d-flex align-center flex-column" >
|
||||
|
||||
<div *ngIf="profilePictureSubject == undefined ">
|
||||
<img
|
||||
|
||||
class="profile-pic" src="assets/images/theme/gov/icons-profile.svg">
|
||||
|
||||
<!-- <img *ngIf="SessionStore.user.RoleDescription == 'Presidente da República' " class="profile-pic"
|
||||
src='assets/images/presidente.png'>
|
||||
<img *ngIf="SessionStore.user.RoleDescription == 'Ministro e Director do Gabinete do PR' "
|
||||
class="profile-pic" src='assets/images/ministro.png'>
|
||||
<img *ngIf="SessionStore.user.RoleDescription == 'Secretário Geral' " class="profile-pic"
|
||||
src='assets/images/secretaria_geral.png'> -->
|
||||
</div>
|
||||
|
||||
<div *ngIf="(profilePictureSubject | async) as calendarData">
|
||||
<img class="profile-pic" src={{calendarData.base64}}>
|
||||
<img *ngIf="calendarData.base64 != null" class="profile-pic" src={{calendarData.base64}}>
|
||||
<img *ngIf="calendarData.base64 == null" class="profile-pic" src="assets/images/theme/gov/icons-profile.svg">
|
||||
</div>
|
||||
|
||||
|
||||
@@ -125,29 +114,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="profile-title d-flex justify-space-between align-center width-100">
|
||||
<div class="d-flex align-center">
|
||||
<div>Tema</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="profile-title d-flex justify-space-between align-center width-100">
|
||||
<div class="d-flex align-center">
|
||||
<div class="btn-close d-flex cursor-pointer" (click)="changeTheme('gov')">
|
||||
<img style="width: 40px;" src="assets/images/theme/gov/governoangola_A.png">
|
||||
</div>
|
||||
|
||||
<div class="btn-close d-flex cursor-pointer pr-10 pl-10" (click)="changeTheme('default')">
|
||||
<img style="width: 40px;" src="assets/images/logo-removebg-preview.png" />
|
||||
</div>
|
||||
|
||||
<div class="btn-close d-flex cursor-pointer pr-10 pl-10" (click)="changeTheme('default')">
|
||||
<img style="width: 40px;" src="assets/images/logo-removebg-preview.png" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -38,31 +38,10 @@
|
||||
<div class="profile-content">
|
||||
|
||||
<div class="d-flex align-center flex-column">
|
||||
|
||||
<div *ngIf="profilePictureSubject == undefined ">
|
||||
<img
|
||||
class="profile-pic" src="assets/images/theme/gov/icons-profile.svg">
|
||||
|
||||
<!-- <img *ngIf="SessionStore.user.RoleDescription == 'Presidente da República' " class="profile-pic"
|
||||
src='assets/images/presidente.png'>
|
||||
<img *ngIf="SessionStore.user.RoleDescription == 'Ministro e Director do Gabinete do PR' " class="profile-pic"
|
||||
src='assets/images/ministro.png'>
|
||||
<img *ngIf="SessionStore.user.RoleDescription == 'Secretário Geral' " class="profile-pic"
|
||||
src='assets/images/secretaria_geral.png'> -->
|
||||
</div>
|
||||
|
||||
<div *ngIf="(profilePictureSubject | async) as calendarData"class="profile-pic">
|
||||
<img class="profile-pic"
|
||||
src={{calendarData.base64}}>
|
||||
<img *ngIf="calendarData.base64 != null" class="profile-pic" src={{calendarData.base64}}>
|
||||
<img *ngIf="calendarData.base64 == null" class="profile-pic" src="assets/images/theme/gov/icons-profile.svg">
|
||||
</div>
|
||||
|
||||
|
||||
<!-- <ion-icon *ngIf="ThemeService.currentTheme == 'default' " class="profile-pic"
|
||||
src="assets/images/icons-default-profile.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="profile-pic"
|
||||
src="assets/images/theme/gov/icons-profile.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " class="profile-pic"
|
||||
src="assets/images/theme/{{ThemeService.currentTheme}}/icons-profile.svg"></ion-icon> -->
|
||||
</div>
|
||||
|
||||
<div class="profile-name d-flex justify-content-center width-100">
|
||||
|
||||
@@ -160,7 +160,7 @@ const OwnerSchema = z.object({
|
||||
wxUserId: z.number(),
|
||||
wxFullName: z.string(),
|
||||
wxeMail: z.string(),
|
||||
userPhoto: z.string(),
|
||||
userPhoto: z.string().nullable(),
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -28,14 +28,14 @@ const OwnerSchema = z.object({
|
||||
wxUserId: z.number(),
|
||||
wxFullName: z.string(),
|
||||
wxeMail: z.string(),
|
||||
userPhoto: z.string(),
|
||||
userPhoto: z.string().nullable(),
|
||||
});
|
||||
|
||||
const OrganizerSchema = z.object({
|
||||
wxUserId: z.number(),
|
||||
wxFullName: z.string(),
|
||||
wxeMail: z.string(),
|
||||
userPhoto: z.string(),
|
||||
userPhoto: z.string().nullable(),
|
||||
});
|
||||
|
||||
const EventRecurrenceSchema = z.object({
|
||||
|
||||
@@ -5,7 +5,7 @@ const OwnerSchema = z.object({
|
||||
wxUserId: z.number(),
|
||||
wxFullName: z.string(),
|
||||
wxeMail: z.string(),
|
||||
userPhoto: z.string(),
|
||||
userPhoto: z.string().nullable(),
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ const OwnerSchema = z.object({
|
||||
wxUserId: z.number(),
|
||||
wxFullName: z.string(),
|
||||
wxeMail: z.string(),
|
||||
userPhoto: z.string(),
|
||||
userPhoto: z.string().nullable(),
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import { HttpAdapter } from 'src/app/infra/http/adapter';
|
||||
import { IUserRepositoryLoginParams, UserRefreshTokenInputDTO } from 'src/app/core/user/repository/user-remote-repository';
|
||||
import { UserLoginOutput } from 'src/app/core/user/use-case/user-login-use-case.service';
|
||||
import { SessionStore } from 'src/app/store/session.service';
|
||||
import { UserGetByIdOutput } from 'src/app/core/user/use-case/user-get-by-id.service';
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
@@ -38,14 +39,8 @@ export class UserRemoteRepositoryService {
|
||||
return await this.http.post<UserLoginOutput>(`${this.baseUrl}/Users/RefreshToken`, input)
|
||||
}
|
||||
|
||||
getUserProfilePhoto(guid: string, tracing?: TracingType) {
|
||||
const geturl = environment.apiURL + 'UserAuthentication/GetPhoto';
|
||||
|
||||
const params = {
|
||||
UserPhoto: guid
|
||||
}
|
||||
|
||||
return this.httpService.get<string>(`${geturl}`, params, tracing);
|
||||
async getUserProfilePhoto(guid: string, tracing?: TracingType) {
|
||||
return await this.http.get<UserGetByIdOutput>(`${this.baseUrl}/Users/${SessionStore.user.UserId}`, {})
|
||||
}
|
||||
|
||||
addUserProfilePhoto(data: IProfilePictureInputDTO) {
|
||||
|
||||
@@ -18,7 +18,7 @@ export class UserRepositoryService {
|
||||
const result = await this.remote.getUserProfilePhoto(guid, tracing)
|
||||
|
||||
if(result.isOk()) {
|
||||
this.local.addProfilePicture({base64: 'data:image/jpeg;base64,' + result.value})
|
||||
this.local.addProfilePicture({base64: result.value.data.data.userPhoto})
|
||||
} else {
|
||||
tracing?.setAttribute("picture.upload", "false")
|
||||
tracing?.hasError("cant upload picture")
|
||||
|
||||
@@ -16,31 +16,12 @@ const tracerNotificationInstance = OpentelemetryNotificationProvider.getTracer('
|
||||
const tracerChat = OpentelemetryChatProvider.getTracer('OpentelemetryChatProvider','some' ,{})
|
||||
const tracerUser = OpentelemetryUserProvider.getTracer('OpentelemetryUserProvider','some' ,{})
|
||||
|
||||
|
||||
let device: DeviceInfo;
|
||||
|
||||
Device.getInfo().then(e => {
|
||||
device = e
|
||||
});
|
||||
|
||||
function convertAttributesToString(obj) {
|
||||
const result = {};
|
||||
|
||||
for (const key in obj) {
|
||||
if (obj.hasOwnProperty(key)) {
|
||||
if (typeof obj[key] === 'object' && obj[key] !== null) {
|
||||
// Convert only the object attribute to string
|
||||
result[key] = JSON.stringify(obj[key], null, 2);
|
||||
} else {
|
||||
// Convert primitive values to string
|
||||
result[key] = obj[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
const createTracingInstance = ({bugPrint, name, module, autoFinish, waitNThrow = 0}): TracingType => {
|
||||
|
||||
|
||||
@@ -51,30 +51,15 @@
|
||||
<span style="padding-right: 12px" *ngIf="PublicationHolderService.PublicationFormMV?.[0]?.retry" (click)="PublicationHolderService.PublicationFormMV?.[0]?.retryFunction()" ><ion-icon src="assets/images/retry-svgrepo-com.svg" > </ion-icon></span>
|
||||
<span style="padding-right: 7px" *ngIf="PublicationHolderService.PublicationFormMV?.[0]?.retry" (click)="PublicationHolderService.remove(PublicationHolderService.PublicationFormMV?.[0]?.id)">X</span>
|
||||
</div>
|
||||
<!-- <div *ngIf="this.NotificationHolderService.notificationList.length > 0" class="icon-badge">{{NotificationHolderService.notificationList.length}}</div> -->
|
||||
<!-- <ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " class="icon font-45-em" src='assets/images/theme/doneIt/icons-profile.svg'></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " class="icon font-45-em" src='assets/images/icons-profile.svg'></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="icon font-45-em" src='assets/images/theme/gov/icons-profile.svg'></ion-icon> -->
|
||||
|
||||
<div (click)="openProfile()" *ngIf="profilePictureSubject == undefined " class="profile-image" >
|
||||
<!-- <img *ngIf="loggeduser.RoleDescription == 'Presidente da República' " class="profile-image"
|
||||
src='assets/images/presidente.png'>
|
||||
<img *ngIf="loggeduser.RoleDescription == 'Ministro e Director do Gabinete do PR' " class="profile-image"
|
||||
src='assets/images/ministro.png'>
|
||||
<img *ngIf="loggeduser.RoleDescription == 'Secretário Geral' " class="profile-image"
|
||||
src='assets/images/secretaria_geral.png'> -->
|
||||
|
||||
<ion-icon
|
||||
<div (click)="openProfile()" *ngIf="(profilePictureSubject | async) as calendarData" class="profile-image d-flex">
|
||||
<img *ngIf="calendarData.base64 != null" class="profile-image image-prety" src={{calendarData.base64}}>
|
||||
<ion-icon *ngIf="calendarData.base64 == null"
|
||||
class="icon font-45-em" src='assets/images/theme/gov/icons-profile.svg'></ion-icon>
|
||||
</div>
|
||||
|
||||
|
||||
<div (click)="openProfile()" *ngIf="(profilePictureSubject | async) as calendarData" class="profile-image">
|
||||
<img class="profile-image image-prety" src={{calendarData.base64}}>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="profile-text" *ngIf="(notificationCount$ | async) as notificationCount ">
|
||||
<div *ngIf="notificationCount > 0" class="icon-badge" style="right: -6px;top: 38px;top: -6px;">
|
||||
{{notificationCount}} </div>
|
||||
@@ -200,53 +185,14 @@
|
||||
src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
</button>
|
||||
|
||||
<div *ngIf="showSearch">
|
||||
<div class="d-flex search-input-container ml-10 justify-between" *ngIf="showSearch">
|
||||
<!-- <div class="icon" (click)="basicSearch()">
|
||||
<ion-icon class="icon-z" slot="end" name="search"></ion-icon>
|
||||
</div> -->
|
||||
<!-- <div class="input-text d-flex ion-align-items-center">
|
||||
<ion-input (keyup.enter)="basicSearch()" [(ngModel)]='searchSubject' (ngModelChange)="dynamicSearch()"
|
||||
class="search-input text-black" type="search" placeholder="Pesquisar assunto"></ion-input>
|
||||
</div> -->
|
||||
|
||||
<!-- <div class="icon" (click)="clearSearchInput()">
|
||||
<ion-icon title="Limpar" *ngIf="ThemeService.currentTheme == 'default' "name="restaurant-outline" src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
<ion-icon title="Limpar" *ngIf="ThemeService.currentTheme == 'doneIt' "name="restaurant-outline" src="assets/images/theme/doneIt/icons-search.svg"></ion-icon>
|
||||
<ion-icon title="Limpar" *ngIf="ThemeService.currentTheme == 'gov' " name="restaurant-outline" src="assets/images/theme/gov/icons-search-close.svg"></ion-icon>
|
||||
</div> -->
|
||||
<!-- <div (click)="basicSearch()" class="d-flex align-center icon">
|
||||
|
||||
<ion-icon class="icon-z" slot="end" src="assets/images/theme/gov/search.svg"></ion-icon>
|
||||
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div title="Perfil" class="div-profile d-flex cursor-pointer font-45-rem" (click)="openProfile()">
|
||||
<!-- <ion-icon *ngIf="ThemeService.currentTheme == 'default' " class="icon" src='assets/images/icons-profile.svg'></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " class="icon" src='assets/images/theme/doneIt/icons-profile.svg'></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="icon" src='assets/images/theme/gov/icons-profile.svg'></ion-icon> -->
|
||||
<div title="Perfil" class="div-profile d-flex cursor-pointer font-45-rem d-flex align-center" (click)="openProfile()">
|
||||
|
||||
<div *ngIf="profilePictureSubject == undefined " class="profile-image">
|
||||
<!-- <img *ngIf="loggeduser.RoleDescription == 'Presidente da República' " class="profile-image"
|
||||
src='assets/images/presidente.png'>
|
||||
<img *ngIf="loggeduser.RoleDescription == 'Ministro e Director do Gabinete do PR' " class="profile-image"
|
||||
src='assets/images/ministro.png'>
|
||||
<img *ngIf="loggeduser.RoleDescription == 'Secretário Geral' " class="profile-image"
|
||||
src='assets/images/secretaria_geral.png'> -->
|
||||
|
||||
<ion-icon
|
||||
class="icon" src='assets/images/theme/gov/icons-profile.svg'></ion-icon>
|
||||
</div>
|
||||
|
||||
<ion-icon
|
||||
class="icon" src='assets/images/theme/gov/icons-profile.svg'></ion-icon>
|
||||
|
||||
|
||||
<div *ngIf="(profilePictureSubject | async) as calendarData" class="profile-image">
|
||||
<img class="profile-image font-45-em image-prety" src={{calendarData.base64}}>
|
||||
<div *ngIf="(profilePictureSubject | async) as calendarData" class="profile-image d-flex">
|
||||
<img *ngIf="calendarData.base64 != null" class="profile-image image-prety" src={{calendarData.base64}}>
|
||||
<ion-icon *ngIf="calendarData.base64 == null"
|
||||
class="icon font-45 image-prety" src='assets/images/theme/gov/icons-profile.svg'></ion-icon>
|
||||
</div>
|
||||
|
||||
<div class="profile-text" *ngIf="(notificationCount$ | async) as notificationCount ">
|
||||
|
||||
@@ -9,8 +9,6 @@
|
||||
|
||||
.profile-image {
|
||||
vertical-align: middle;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 50%;
|
||||
display: block; /* Torna a imagem um elemento de bloco */
|
||||
margin: 0 auto;
|
||||
|
||||
@@ -136,13 +136,11 @@ export class HeaderPage implements OnInit {
|
||||
@XTracerAsync({name:'header/getPrfilePicture', bugPrint: true})
|
||||
async getProfilpicture(tracing?: TracingType) {
|
||||
|
||||
if (this.SessionStore.user.UserPhoto) {
|
||||
|
||||
const base = await this.UserRepositoryService.getUserProfilePhoto(this.SessionStore.user.UserPhoto, tracing)
|
||||
|
||||
if(base.isOk()) {
|
||||
tracing.addEvent('download image')
|
||||
this.profilePicture = 'data:image/jpeg;base64,' + base.value;
|
||||
this.profilePicture = base.value.data.data.userPhoto;
|
||||
|
||||
tracing.setAttribute("picture.save", "true")
|
||||
tracing.setAttribute("outcome", "success")
|
||||
@@ -157,8 +155,6 @@ export class HeaderPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
updateReciveNotification() {
|
||||
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
export let versionData = {
|
||||
"shortSHA": "cfc7330e7",
|
||||
"SHA": "cfc7330e729bb815925e687ffa74c20fe4431eb3",
|
||||
"shortSHA": "430adf394",
|
||||
"SHA": "430adf394db277fcf0d092bd9cd08d25397270c2",
|
||||
"branch": "developer",
|
||||
"lastCommitAuthor": "'Peter Maquiran'",
|
||||
"lastCommitTime": "'Tue Jun 3 08:46:54 2025 +0000'",
|
||||
"lastCommitMessage": "Merged in feature/login-v2 (pull request #36)\n\nFeature/login v2",
|
||||
"lastCommitNumber": "6143",
|
||||
"changeStatus": "On branch developer\nYour branch is up to date with 'origin/developer'.\n\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\tmodified: src/app/app.module.ts\n\tmodified: src/app/core/chat/entity/group.ts\n\tmodified: src/app/core/chat/entity/message.ts\n\tmodified: src/app/core/chat/mapper/messageMapper.ts\n\tmodified: src/app/core/chat/repository/dto/messageOutputDTO.ts\n\tmodified: src/app/core/chat/repository/room/room-socket-repository.ts\n\tmodified: src/app/core/chat/usecase/message/listen-message-by-roomId.service.ts\n\tmodified: src/app/core/chat/usecase/message/listen-send-message.service.ts\n\tmodified: src/app/core/chat/usecase/message/message-create-use-case.service copy.ts\n\tmodified: src/app/core/chat/usecase/message/message-create-use-case.service.ts\n\tmodified: src/app/core/chat/usecase/message/message-mark-all-message-as-read-by-room-id.service.ts\n\tmodified: src/app/core/chat/usecase/message/messages-send-offline-use-case.service.ts\n\tmodified: src/app/core/chat/usecase/room/room-bold-sync-use-case.service.ts\n\tmodified: src/app/core/chat/usecase/room/room-create-use-case.service.ts\n\tmodified: src/app/core/chat/usecase/room/room-get-by-id-use-case.service.ts\n\tmodified: src/app/core/chat/usecase/room/room-get-list-use-case.service.ts\n\tmodified: src/app/core/chat/usecase/room/room-update-by-id-use-case.service.ts\n\tmodified: src/app/infra/database/dexie/instance/chat/schema/members.ts\n\tmodified: src/app/infra/database/dexie/instance/chat/schema/room.ts\n\tmodified: src/app/infra/monitoring/interceptors/token.interceptors.ts\n\tmodified: src/app/infra/socket/signalR/signal-r.service.ts\n\tmodified: src/app/modals/profile/edit-profile/edit-profile.page.html\n\tmodified: src/app/models/envarioment.ts\n\tmodified: src/app/module/agenda/data/data-source/agenda-data.service.ts\n\tmodified: src/app/module/chat/data/repository/attachment/attachment-remote-repository.service.ts\n\tmodified: src/app/module/chat/data/repository/member/member-list-remote-repository.service.ts\n\tmodified: src/app/module/chat/data/repository/member/member-socket-repository.service.ts\n\tmodified: src/app/module/chat/data/repository/message/message-live-signalr-data-source.service.ts\n\tmodified: src/app/module/chat/data/repository/message/message-remote-data-source.service.ts\n\tmodified: src/app/module/chat/data/repository/room/room-remote-repository.service.ts\n\tmodified: src/app/module/chat/data/repository/typing/user-typing-live-data-source.service.ts\n\tmodified: src/app/module/chat/domain/chat-service.service.ts\n\tmodified: src/app/module/chat/domain/service/room-last-message.service.ts\n\tmodified: src/app/module/notification/data/datasource/remote-notification.service.ts\n\tmodified: src/app/module/user/data/datasource/user-remote-repository.service.ts\n\tmodified: src/app/services/Repositorys/contacts/data-source/contacts-data-source.service.ts\n\tmodified: src/app/services/aesencrypt.service.ts\n\tmodified: src/app/services/logger/main/service.ts\n\tmodified: src/app/services/monitoring/opentelemetry/logging.ts\n\tmodified: src/app/services/monitoring/opentelemetry/opentelemetry.ts\n\tmodified: src/app/services/monitoring/opentelemetry/tracer.ts\n\tmodified: src/app/ui/chat/component/edit-group/edit-group.page.ts\n\tmodified: src/app/ui/chat/component/messages/messages.page.ts\n\tmodified: src/app/ui/chat/modal/edit-group/edit-group.page.ts\n\tmodified: src/app/ui/chat/store/roomStore.ts\n\tmodified: src/app/ui/shared/components/header/header.page.html\n\tmodified: src/app/ui/shared/components/header/header.page.ts\n\tmodified: src/environments/environment.prod.ts\n\tmodified: src/environments/environment.ts\n\tmodified: src/environments/suport/dev.ts\n\tdeleted: src/environments/suport/doneIt.ts\n\tmodified: src/environments/suport/oapr.ts\n\tdeleted: workspace.code-workspace",
|
||||
"lastCommitAuthor": "'peter.maquiran'",
|
||||
"lastCommitTime": "'Thu Sep 4 15:40:45 2025 +0100'",
|
||||
"lastCommitMessage": "fix chage duplicate message",
|
||||
"lastCommitNumber": "6144",
|
||||
"changeStatus": "On branch developer\nYour branch is ahead of 'origin/developer' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\tmodified: package-lock.json\n\tmodified: package.json\n\tmodified: src/app/core/user/entity/userEntity.ts\n\tmodified: src/app/core/user/repository/user-remote-repository.ts\n\tnew file: src/app/core/user/use-case/user-get-by-id.service.ts\n\tmodified: src/app/modals/profile/edit-profile/edit-profile.page.html\n\tmodified: src/app/modals/profile/profile.page.html\n\tmodified: src/app/models/entiry/agenda/eventToApproveDetails.ts\n\tmodified: src/app/module/agenda/data/dto/eventDTOOutput.ts\n\tmodified: src/app/module/agenda/data/dto/eventListDTOOutput.ts\n\tmodified: src/app/module/agenda/data/dto/eventToApproveListOutputDTO.ts\n\tmodified: src/app/module/user/data/datasource/user-remote-repository.service.ts\n\tmodified: src/app/module/user/data/user-repository.service.ts\n\tmodified: src/app/services/monitoring/opentelemetry/tracer.ts\n\tmodified: src/app/ui/shared/components/header/header.page.html\n\tmodified: src/app/ui/shared/components/header/header.page.scss\n\tmodified: src/app/ui/shared/components/header/header.page.ts\n\tmodified: version/git-version.ts",
|
||||
"changeAuthor": "peter.maquiran"
|
||||
}
|
||||
Reference in New Issue
Block a user