mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
add member repository
This commit is contained in:
@@ -6,9 +6,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "../sentium"
|
"path": "../sentium"
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "../../../Desktop/contacts"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
import { Observable } from 'rxjs';
|
||||||
|
import { IRemoveRoomMemberOutput, RemoveRoomMemberInput } from 'src/app/module/chat/domain/use-case/member/member-remove-socket-use-case.service';
|
||||||
|
|
||||||
|
export abstract class IMemberSocketRepository {
|
||||||
|
abstract removeMember(input: RemoveRoomMemberInput): Promise<any>
|
||||||
|
|
||||||
|
abstract listenToRemoveMember(): Observable<IRemoveRoomMemberOutput>
|
||||||
|
}
|
||||||
@@ -4,11 +4,11 @@ import { ok, Result, err } from 'neverthrow';
|
|||||||
import { SessionStore } from 'src/app/store/session.service';
|
import { SessionStore } from 'src/app/store/session.service';
|
||||||
import { filter, first, map } from 'rxjs/operators';
|
import { filter, first, map } from 'rxjs/operators';
|
||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
import { ISignalRInput, ISignalROutput } from '../type';
|
import { ISignalRInput, ISignalROutput, ISocketMethod } from '../type';
|
||||||
import { MessageOutPutDataDTO } from 'src/app/core/chat/repository/dto/messageOutputDTO';
|
import { MessageOutPutDataDTO } from 'src/app/core/chat/repository/dto/messageOutputDTO';
|
||||||
import { Subject } from 'rxjs';
|
import { Subject } from 'rxjs';
|
||||||
export interface SocketMessage<T, I = any> {
|
export interface SocketMessage<T, I = any> {
|
||||||
method: string,
|
method: ISocketMethod,
|
||||||
data: T,
|
data: T,
|
||||||
payload: I
|
payload: I
|
||||||
}
|
}
|
||||||
@@ -166,7 +166,7 @@ export class SignalRConnection {
|
|||||||
for(const method of methods) {
|
for(const method of methods) {
|
||||||
this.hubConnection.on(method, (message: any) => {
|
this.hubConnection.on(method, (message: any) => {
|
||||||
this.sendDataSubject.next({
|
this.sendDataSubject.next({
|
||||||
method: method,
|
method: method as any,
|
||||||
data: message,
|
data: message,
|
||||||
payload: this.payload[message?.requestId]
|
payload: this.payload[message?.requestId]
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,7 +1,34 @@
|
|||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
|
let socketMethodSchema = z.enum([
|
||||||
|
'ReceiveMessage',
|
||||||
|
'TypingMessage',
|
||||||
|
'AvailableUsers',
|
||||||
|
'ReadAt',
|
||||||
|
'DeleteMessage',
|
||||||
|
'UpdateMessage',
|
||||||
|
'GroupAddedMembers',
|
||||||
|
'GroupDeletedMembers',
|
||||||
|
'UserAddGroup',
|
||||||
|
'RemoveRoomMember',
|
||||||
|
'TypingMessage',
|
||||||
|
'UserRemoveGroup', // no on the documentation
|
||||||
|
'GroupUpdate', // not in the documentation
|
||||||
|
'CreateGroup', // not on the documentation
|
||||||
|
'Typing',
|
||||||
|
'EditMessage',
|
||||||
|
'ReactMessage',
|
||||||
|
'AddRoomMember',
|
||||||
|
'SendDirectMessage',
|
||||||
|
'DeliverAt',
|
||||||
|
'sendMessage'
|
||||||
|
]);
|
||||||
|
|
||||||
|
export type ISocketMethod = z.infer<typeof socketMethodSchema>
|
||||||
|
|
||||||
|
|
||||||
const SignalRInputSchema = z.object({
|
const SignalRInputSchema = z.object({
|
||||||
method: z.string(),
|
method: socketMethodSchema,
|
||||||
data: z.object({
|
data: z.object({
|
||||||
requestId: z.string(),
|
requestId: z.string(),
|
||||||
}).catchall(z.unknown()), // Allows any additional properties with unknown values
|
}).catchall(z.unknown()), // Allows any additional properties with unknown values
|
||||||
@@ -22,7 +49,7 @@ const SignalROutOutSchema = z.object({
|
|||||||
})
|
})
|
||||||
|
|
||||||
export interface ISignalROutput<T = any> {
|
export interface ISignalROutput<T = any> {
|
||||||
method: string;
|
method: ISocketMethod;
|
||||||
data: T;
|
data: T;
|
||||||
payload: {
|
payload: {
|
||||||
[key: string]: unknown; // Allows any additional properties with unknown values
|
[key: string]: unknown; // Allows any additional properties with unknown values
|
||||||
|
|||||||
@@ -40,6 +40,8 @@ import { IUserPhotoLocalRepository } from 'src/app/core/chat/repository/user-pho
|
|||||||
import { UserPhotoLocalRepository } from './data/repository/user-foto/user-photo-local-repository.service';
|
import { UserPhotoLocalRepository } from './data/repository/user-foto/user-photo-local-repository.service';
|
||||||
import { IUserPhotoRemoteRepository } from 'src/app/core/chat/repository/user-photo/user-photo-remote-repository';
|
import { IUserPhotoRemoteRepository } from 'src/app/core/chat/repository/user-photo/user-photo-remote-repository';
|
||||||
import { UserPhotoRemoteRepositoryService } from './data/repository/user-foto/user-photo-remote-repository.service';
|
import { UserPhotoRemoteRepositoryService } from './data/repository/user-foto/user-photo-remote-repository.service';
|
||||||
|
import { IMemberSocketRepository } from 'src/app/core/chat/repository/member/member-socket-repository';
|
||||||
|
import { MemberSocketRepositoryService } from './data/repository/member/member-socket-repository.service';
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [HttpModule],
|
imports: [HttpModule],
|
||||||
providers: [
|
providers: [
|
||||||
@@ -73,6 +75,10 @@ import { UserPhotoRemoteRepositoryService } from './data/repository/user-foto/us
|
|||||||
provide: IMemberRemoteRepository,
|
provide: IMemberRemoteRepository,
|
||||||
useClass: MemberListRemoteRepository
|
useClass: MemberListRemoteRepository
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
provide: IMemberSocketRepository,
|
||||||
|
useClass: MemberSocketRepositoryService
|
||||||
|
},
|
||||||
// room repository
|
// room repository
|
||||||
{
|
{
|
||||||
provide: IRoomLocalRepository,
|
provide: IRoomLocalRepository,
|
||||||
@@ -113,7 +119,8 @@ import { UserPhotoRemoteRepositoryService } from './data/repository/user-foto/us
|
|||||||
{
|
{
|
||||||
provide: IUserPhotoRemoteRepository,
|
provide: IUserPhotoRemoteRepository,
|
||||||
useClass: UserPhotoRemoteRepositoryService
|
useClass: UserPhotoRemoteRepositoryService
|
||||||
}
|
},
|
||||||
|
|
||||||
],
|
],
|
||||||
declarations: [],
|
declarations: [],
|
||||||
schemas: [],
|
schemas: [],
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service';
|
||||||
|
import { IMemberSocketRepository } from 'src/app/core/chat/repository/member/member-socket-repository';
|
||||||
|
import { IRemoveRoomMemberOutput, RemoveRoomMemberInput } from '../../../domain/use-case/member/member-remove-socket-use-case.service';
|
||||||
|
import { InstanceId } from '../../../domain/chat-service.service';
|
||||||
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
|
import { filter, map, tap } from 'rxjs/operators';
|
||||||
|
import { SocketMessage } from 'src/app/infra/socket/signalR/signalR';
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root'
|
||||||
|
})
|
||||||
|
export class MemberSocketRepositoryService implements IMemberSocketRepository {
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
private socket: SignalRService
|
||||||
|
) {
|
||||||
|
// this.listenToRemoveMember()
|
||||||
|
}
|
||||||
|
async removeMember(data: RemoveRoomMemberInput) {
|
||||||
|
|
||||||
|
const result = await this.socket.sendData<any>({
|
||||||
|
method: 'RemoveRoomMember',
|
||||||
|
data: {
|
||||||
|
...data,
|
||||||
|
requestId: InstanceId +'@'+ uuidv4()
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
listenToRemoveMember() {
|
||||||
|
return this.socket.getData().pipe(
|
||||||
|
filter((e) : e is SocketMessage<IRemoveRoomMemberOutput>=> e?.method == 'GroupDeletedMembers'),
|
||||||
|
map((e)=> e.data),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { liveQuery, Observable } from 'Dexie';
|
import { liveQuery, Observable } from 'Dexie';
|
||||||
import { DexieRepository } from 'src/app/infra/repository/dexie/dexie-repository.service';
|
import { DexieRepository } from 'src/app/infra/repository/dexie/dexie-repository.service';
|
||||||
import { BehaviorSubject, from } from 'rxjs';
|
import { BehaviorSubject, from, Subject } from 'rxjs';
|
||||||
import { RoomTable, RoomTableSchema } from 'src/app/infra/database/dexie/instance/chat/schema/room';
|
import { RoomTable, RoomTableSchema } from 'src/app/infra/database/dexie/instance/chat/schema/room';
|
||||||
import { chatDatabase } from 'src/app/infra/database/dexie/instance/chat/service';
|
import { chatDatabase } from 'src/app/infra/database/dexie/instance/chat/service';
|
||||||
import { IRoomLocalRepository } from 'src/app/core/chat/repository/room/room-local-repository';
|
import { IRoomLocalRepository } from 'src/app/core/chat/repository/room/room-local-repository';
|
||||||
@@ -13,7 +13,7 @@ import { RoomType } from 'src/app/core/chat/entity/group';
|
|||||||
})
|
})
|
||||||
export class RoomLocalRepository extends DexieRepository<RoomTable, RoomTable> implements IRoomLocalRepository {
|
export class RoomLocalRepository extends DexieRepository<RoomTable, RoomTable> implements IRoomLocalRepository {
|
||||||
|
|
||||||
private listenCreateSyncSubject : BehaviorSubject<RoomTable> = new BehaviorSubject<RoomTable>(null);
|
private listenCreateSyncSubject : Subject<RoomTable> = new Subject<RoomTable>();
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super(chatDatabase.room, RoomTableSchema)
|
super(chatDatabase.room, RoomTableSchema)
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import { ListenSendMessageUseCase } from './use-case/message/listen-send-message
|
|||||||
import { SendLocalMessagesUseCaseService } from './use-case/message/messages-send-offline-use-case.service'
|
import { SendLocalMessagesUseCaseService } from './use-case/message/messages-send-offline-use-case.service'
|
||||||
import { RemoveMemberUseCaseService } from './use-case/member/-use-case.service'
|
import { RemoveMemberUseCaseService } from './use-case/member/-use-case.service'
|
||||||
import { AddMemberUseCaseService } from './use-case/member/member-add-use-case.service'
|
import { AddMemberUseCaseService } from './use-case/member/member-add-use-case.service'
|
||||||
|
import { MemberRemoveSocketUseCaseService, RemoveRoomMemberInput } from './use-case/member/member-remove-socket-use-case.service'
|
||||||
import { RoomUpdateInputDTO, UpdateRoomByIdUseCaseService } from './use-case/room/room-update-by-id-use-case.service'
|
import { RoomUpdateInputDTO, UpdateRoomByIdUseCaseService } from './use-case/room/room-update-by-id-use-case.service'
|
||||||
import { SocketConnectUseCaseService } from './use-case/socket-connect-use-case.service'
|
import { SocketConnectUseCaseService } from './use-case/socket-connect-use-case.service'
|
||||||
import { MessageMarkAsReadUseCaseService } from './use-case/message/message-mark-as-read-use-case.service'
|
import { MessageMarkAsReadUseCaseService } from './use-case/message/message-mark-as-read-use-case.service'
|
||||||
@@ -117,7 +118,8 @@ export class ChatServiceService {
|
|||||||
private roomGetLocalByIdService: RoomGetLocalByIdService,
|
private roomGetLocalByIdService: RoomGetLocalByIdService,
|
||||||
private roomSetLocalToFalseByIdService: RoomSetLocalToFalseByIdService,
|
private roomSetLocalToFalseByIdService: RoomSetLocalToFalseByIdService,
|
||||||
private roomUpdateNameSyncService: RoomUpdateNameSyncService,
|
private roomUpdateNameSyncService: RoomUpdateNameSyncService,
|
||||||
private RoomDirectOnSetIdUseCaseService: RoomDirectOnSetIdUseCaseService
|
private RoomDirectOnSetIdUseCaseService: RoomDirectOnSetIdUseCaseService,
|
||||||
|
private MemberRemoveSocketUseCaseService: MemberRemoveSocketUseCaseService
|
||||||
) {
|
) {
|
||||||
this.MessageSocketRepositoryService.listenToDeleteMessages()
|
this.MessageSocketRepositoryService.listenToDeleteMessages()
|
||||||
.pipe()
|
.pipe()
|
||||||
@@ -272,6 +274,10 @@ export class ChatServiceService {
|
|||||||
return this.AddMemberUseCaseService.execute(data)
|
return this.AddMemberUseCaseService.execute(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
removeMember(input: RemoveRoomMemberInput) {
|
||||||
|
return this.MemberRemoveSocketUseCaseService.execute(input)
|
||||||
|
}
|
||||||
|
|
||||||
updateRoomById(data: RoomUpdateInputDTO) {
|
updateRoomById(data: RoomUpdateInputDTO) {
|
||||||
return this.UpdateRoomByIdUseCaseService.execute(data)
|
return this.UpdateRoomByIdUseCaseService.execute(data)
|
||||||
}
|
}
|
||||||
@@ -283,9 +289,6 @@ export class ChatServiceService {
|
|||||||
sendLocalMessages() {
|
sendLocalMessages() {
|
||||||
return this.SendLocalMessagesUseCaseService.execute()
|
return this.SendLocalMessagesUseCaseService.execute()
|
||||||
}
|
}
|
||||||
removeMember() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
sendReadAt(sendReadAt: MessageMarkAsReadInput) {
|
sendReadAt(sendReadAt: MessageMarkAsReadInput) {
|
||||||
return this.MessageMarkAsReadUseCaseService.execute(sendReadAt)
|
return this.MessageMarkAsReadUseCaseService.execute(sendReadAt)
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { captureAndReraiseAsync } from 'src/app/services/decorators/captureAndReraiseAsync';
|
import { captureAndReraiseAsync } from 'src/app/services/decorators/captureAndReraiseAsync';
|
||||||
import { RoomRemoteDataSourceService } from '../../../data/repository/room/room-remote-repository.service';
|
|
||||||
import { MemberListRemoteRepository } from '../../../data/repository/member/member-list-remote-repository.service';
|
import { MemberListRemoteRepository } from '../../../data/repository/member/member-list-remote-repository.service';
|
||||||
import { UserRemoveListInputDTO } from '../room/room-leave-by-id-use-case.service';
|
import { UserRemoveListInputDTO } from '../room/room-leave-by-id-use-case.service';
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import { IMemberSocketRepository } from 'src/app/core/chat/repository/member/member-socket-repository';
|
||||||
|
import { z } from 'zod';
|
||||||
|
|
||||||
|
export const RemoveRoomMemberInputSchema = z.object({
|
||||||
|
roomId: z.string(),
|
||||||
|
members: z.number().array()
|
||||||
|
})
|
||||||
|
|
||||||
|
export type RemoveRoomMemberInput = z.infer<typeof RemoveRoomMemberInputSchema>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export const RemoveRoomMemberOutputSchema = z.object({
|
||||||
|
userPhoto: z.string().nullable(),
|
||||||
|
wxFullName: z.string().optional(),
|
||||||
|
wxUserId: z.number(),
|
||||||
|
wxeMail: z.string(),
|
||||||
|
}).array()
|
||||||
|
|
||||||
|
export type IRemoveRoomMemberOutput = z.infer<typeof RemoveRoomMemberOutputSchema>
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root'
|
||||||
|
})
|
||||||
|
export class MemberRemoveSocketUseCaseService {
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
private socketRepository: IMemberSocketRepository
|
||||||
|
) { }
|
||||||
|
|
||||||
|
async execute(input: RemoveRoomMemberInput) {
|
||||||
|
|
||||||
|
return this.socketRepository.removeMember(input)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -27,7 +27,6 @@ export class MessageLocalGetByIdService {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
else if(input.roomId) {
|
else if(input.roomId) {
|
||||||
console.log('find(')
|
|
||||||
return this.messageLocalRepository.find({roomId: input.roomId})
|
return this.messageLocalRepository.find({roomId: input.roomId})
|
||||||
} else if (input.receiverId) {
|
} else if (input.receiverId) {
|
||||||
return this.messageLocalRepository.find({receiverId: parseInt(input.receiverId)})
|
return this.messageLocalRepository.find({receiverId: parseInt(input.receiverId)})
|
||||||
|
|||||||
@@ -187,6 +187,13 @@ export class GroupContactsPage implements OnInit {
|
|||||||
async deleteMember(user: UserContacts) {
|
async deleteMember(user: UserContacts) {
|
||||||
this.showLoader = true;
|
this.showLoader = true;
|
||||||
|
|
||||||
|
// this.chatServiceService.removeMember({
|
||||||
|
// roomId: this.roomId,
|
||||||
|
// members: [ user.wxUserId]
|
||||||
|
// })
|
||||||
|
|
||||||
|
// this.currentMembers = this.currentMembers.filter( e => e.wxUserId != user.wxUserId)
|
||||||
|
|
||||||
const result = await this.chatServiceService.removeMemberToRoom({
|
const result = await this.chatServiceService.removeMemberToRoom({
|
||||||
id: this.roomId,
|
id: this.roomId,
|
||||||
members: [ user.wxUserId]
|
members: [ user.wxUserId]
|
||||||
|
|||||||
@@ -19,14 +19,14 @@
|
|||||||
|
|
||||||
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
|
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
|
||||||
<br *ngIf="showLoader">
|
<br *ngIf="showLoader">
|
||||||
<button (click)="details()" class="btn-cancel" shape="round">Detalhes</button>
|
<button (click)="details()" class="btn-cancel mt-10-em" shape="round">Detalhes</button>
|
||||||
<button *ngIf="isAdmin && roomType == EnumRoomType.Group" (click)="addUser()" class="btn-cancel" shape="round">Adicionar</button>
|
<button *ngIf="isAdmin && roomType == EnumRoomType.Group" (click)="addUser()" class="btn-cancel mt-10-em" shape="round">Adicionar</button>
|
||||||
<button *ngIf="roomType == EnumRoomType.Group" (click)="leaveGroup()" class="btn-cancel" shape="round">Sair do Grupo</button>
|
<button *ngIf="roomType == EnumRoomType.Group" (click)="leaveGroup()" class="btn-cancel mt-10-em" shape="round">Sair do Grupo</button>
|
||||||
<button *ngIf="isAdmin && roomType == EnumRoomType.Group" (click)="openChangeGroupName()" class="btn-cancel btn-cancel mt-10" shape="round" style="min-width: 192px;">Alterar
|
<button *ngIf="isAdmin && roomType == EnumRoomType.Group" (click)="openChangeGroupName()" class="btn-cancel btn-cancel mt-10" shape="round" style="min-width: 192px;">Alterar
|
||||||
nome do grupo</button>
|
nome do grupo</button>
|
||||||
<button *ngIf="isAdmin && roomType == EnumRoomType.Group" (click)="setRoomOwner()" class="btn-cancel" shape="round">Adicionar admin</button>
|
<button *ngIf="isAdmin && roomType == EnumRoomType.Group" (click)="setRoomOwner()" class="btn-cancel mt-10-em" shape="round">Adicionar admin</button>
|
||||||
<div class="solid"></div>
|
<div class="solid"></div>
|
||||||
<button (click)="close('cancel')" full class="btn-cancel mobile-only" shape="round">Cancelar</button>
|
<button (click)="close('cancel')" full class="btn-cancel mobile-only mt-10-em" shape="round">Cancelar</button>
|
||||||
<button (click)="deleteGroup()" class="btn-delete" shape="round">Apagar grupo</button>
|
<button (click)="deleteGroup()" class="btn-delete" shape="round mt-10-em">Apagar grupo</button>
|
||||||
</div>
|
</div>
|
||||||
</ion-content>
|
</ion-content>
|
||||||
|
|||||||
@@ -465,6 +465,7 @@ button::-moz-focus-inner {
|
|||||||
margin: 10px 20px 10px 75px;
|
margin: 10px 20px 10px 75px;
|
||||||
background: var(--chat-incoming-msg-color);
|
background: var(--chat-incoming-msg-color);
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
|
max-width: 90%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
export let versionData = {
|
export let versionData = {
|
||||||
"shortSHA": "9c8ecc182",
|
"shortSHA": "e626883b5",
|
||||||
"SHA": "9c8ecc182fd7f405aec5dbe5d0cbe5e29656ae09",
|
"SHA": "e626883b5c0bb91a6fe9591eab1bf0b84a7c1d6b",
|
||||||
"branch": "feature/chat-new-api-peter",
|
"branch": "feature/chat-new-api-peter",
|
||||||
"lastCommitAuthor": "'Peter Maquiran'",
|
"lastCommitAuthor": "'Peter Maquiran'",
|
||||||
"lastCommitTime": "'Tue Oct 8 13:16:01 2024 +0100'",
|
"lastCommitTime": "'Wed Oct 9 08:56:34 2024 +0100'",
|
||||||
"lastCommitMessage": "fix chat",
|
"lastCommitMessage": "fix audio icon",
|
||||||
"lastCommitNumber": "6088",
|
"lastCommitNumber": "6089",
|
||||||
"changeStatus": "On branch feature/chat-new-api-peter\nYour branch is ahead of 'origin/feature/chat-new-api-peter' by 3 commits.\n (use \"git push\" to publish your local commits)\n\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts\n\tmodified: src/app/ui/chat/chat.page.html\n\tmodified: src/app/ui/chat/store/model/room.ts\n\tnew file: src/assets/icon/icons-audio.png",
|
"changeStatus": "On branch feature/chat-new-api-peter\nYour branch is ahead of 'origin/feature/chat-new-api-peter' by 4 commits.\n (use \"git push\" to publish your local commits)\n\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\tmodified: gabinete-digital-fo.code-workspace\n\tnew file: src/app/core/chat/repository/member/member-socket-repository.ts\n\tmodified: src/app/infra/socket/signalR/signalR.ts\n\tmodified: src/app/infra/socket/type.ts\n\tmodified: src/app/module/chat/chat.module.ts\n\tnew file: src/app/module/chat/data/repository/member/member-socket-repository.service.ts\n\tmodified: src/app/module/chat/data/repository/room/room-local-repository.service.ts\n\tmodified: src/app/module/chat/domain/chat-service.service.ts\n\tmodified: src/app/module/chat/domain/use-case/member/-use-case.service.ts\n\tnew file: src/app/module/chat/domain/use-case/member/member-remove-socket-use-case.service.ts\n\tmodified: src/app/module/chat/domain/use-case/message/message-local-get-by-id.service.ts\n\tmodified: src/app/ui/chat/component/group-contacts/group-contacts.page.ts\n\tmodified: src/app/ui/chat/modal/chat-popover/chat-popover.page.html\n\tmodified: src/app/ui/chat/modal/messages/messages.page.scss\n\tmodified: version/git-version.ts",
|
||||||
"changeAuthor": "peter.maquiran"
|
"changeAuthor": "peter.maquiran"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user