update room bold

This commit is contained in:
Peter Maquiran
2024-09-17 18:05:47 +01:00
parent 263f593260
commit eeaade9aab
6 changed files with 58 additions and 11 deletions
@@ -1,8 +1,24 @@
import { HubConnection } from "@microsoft/signalr";
import { Result } from "neverthrow";
import { Observable } from "rxjs";
import { BehaviorSubject, Observable } from "rxjs";
import { ListenToDeleteRoomInput, RoomSocketOutPutDTO } from "src/app/module/chat/data/repository/room/room-socket-repository.service";
import { CreateRoomInputDTO } from "src/app/module/chat/domain/use-case/room/room-create-use-case.service";
import { z } from "zod";
const SocketRoomUpdateOutPutSchema = z.object({
id: z.string().uuid(),
roomName: z.string().min(1),
createdBy: z.string().nullable(), // Allowing null for createdBy
createdAt: z.string().datetime(),
expirationDate: z.string().nullable().optional(), // Allowing null and making it optional
roomType: z.number(),
user1: z.string().nullable().optional(), // Allowing null for user1
user2: z.string().nullable().optional(), // Allowing null for user2
messages: z.array(z.any()), // Allowing an array of any type for messages
});
export type SocketRoomUpdateOutPut = z.infer<typeof SocketRoomUpdateOutPutSchema>
export abstract class IRoomSocketRepository {
@@ -11,6 +27,7 @@ export abstract class IRoomSocketRepository {
abstract listenToCreateRoom(): Observable<any>
abstract listenToDeleteRoom(): Observable<ListenToDeleteRoomInput>
abstract listenToRoomUpdate(): Observable<{method: string, data: SocketRoomUpdateOutPut}>
}
@@ -4,7 +4,7 @@ import { filter, map } from 'rxjs/operators';
import { z } from 'zod';
import { SocketMessage } from 'src/app/infra/socket/signalR/signalR';
import { v4 as uuidv4 } from 'uuid'
import { IRoomSocketRepository } from 'src/app/core/chat/repository/room/room-socket-repository';
import { IRoomSocketRepository, SocketRoomUpdateOutPut } from 'src/app/core/chat/repository/room/room-socket-repository';
import { CreateRoomInputDTO } from '../../../domain/use-case/room/room-create-use-case.service';
const listenToDeleteRoomInputSchema = z.object({
@@ -54,6 +54,12 @@ export class RoomSocketRepositoryService implements IRoomSocketRepository {
)
}
listenToRoomUpdate() {
return this.socket.getData<SocketRoomUpdateOutPut>().pipe(
filter((data) => data?.method == 'GroupUpdate')
)
}
listenToDeleteRoom() {
return this.socket.getData<any>().pipe(
filter((data): data is SocketMessage<ListenToDeleteRoomInput> =>
@@ -45,6 +45,7 @@ import { RoomSetLastMessageService } from 'src/app/module/chat/domain/use-case/r
import { RoomCreateLocalDirectMessageInputDTOInputDTO, RoomCreateLocalDirectMessageService } from 'src/app/module/chat/domain/use-case/room/room-create-local-direct-message.service';
import { RoomGetListOnCreateUseCaseService } from 'src/app/module/chat/domain/use-case/room/room-get-list-on-create-use-case.service';
import { IRoomSetLocalToFalseByIdInput, RoomSetLocalToFalseByIdService } from 'src/app/module/chat/domain/use-case/room/room-set-local-to-false-by-id.service';
import { RoomUpdateNameSyncService } from 'src/app/module/chat/domain/use-case/room/room-update-name-sync.service';
import { IUserPhotoGetByIdInput, UserPhotoGetByIdUseCase } from 'src/app/module/chat/domain/use-case/user-photo/user-photo-get-by-id-use-case.service'
import { IMessageLocalGetByIdServiceInput, MessageLocalGetByIdService } from 'src/app/module/chat/domain/use-case/message/message-local-get-by-id.service'
import { ContactListService } from './use-case/contact/contact-list.service';
@@ -113,7 +114,8 @@ export class ChatServiceService {
private contactListService: ContactListService,
private messageLocalGetByIdService: MessageLocalGetByIdService,
private roomGetLocalByIdService: RoomGetLocalByIdService,
private roomSetLocalToFalseByIdService: RoomSetLocalToFalseByIdService
private roomSetLocalToFalseByIdService: RoomSetLocalToFalseByIdService,
private roomUpdateNameSyncService: RoomUpdateNameSyncService
) {
this.MessageSocketRepositoryService.listenToDeleteMessages()
.pipe()
@@ -0,0 +1,22 @@
import { Injectable } from '@angular/core';
import { IRoomSocketRepository } from 'src/app/core/chat/repository/room/room-socket-repository';
import { GetRoomByIdUseCaseService } from './room-get-by-id-use-case.service'
@Injectable({
providedIn: 'root'
})
export class RoomUpdateNameSyncService {
constructor(
private GetRoomByIdUseCaseService: GetRoomByIdUseCaseService,
private roomSocketRepository: IRoomSocketRepository
) {
// this.watch()
}
private watch() {
this.roomSocketRepository.listenToRoomUpdate().subscribe((event) => {
this.GetRoomByIdUseCaseService.execute(event.data.id)
})
}
}
+1 -1
View File
@@ -60,7 +60,7 @@
<ion-label >
<span >
<div >
<div class="font-15-em add-ellipsis" [class.bold-message]="boldTable?.[room.$id]?.bold">
<div class="font-15-em add-ellipsis" [class.bold-message]="boldTable?.[room.id]?.bold">
{{room.roomName}}
</div>
</div>
+6 -6
View File
@@ -1,11 +1,11 @@
export let versionData = {
"shortSHA": "1bc570732",
"SHA": "1bc5707321532b7659caed51bd90c1105d3f4c6f",
"shortSHA": "263f59326",
"SHA": "263f593260f41c86f36c984e82cd023adb6bdbd2",
"branch": "feature/chat-new-api-peter",
"lastCommitAuthor": "'Peter Maquiran'",
"lastCommitTime": "'Tue Sep 17 16:02:12 2024 +0100'",
"lastCommitMessage": "create offline direct message",
"lastCommitNumber": "6076",
"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: src/app/core/chat/entity/group.ts\n\tmodified: src/app/module/chat/data/repository/member/member-list-remote-repository.service.ts\n\tmodified: src/app/module/chat/domain/use-case/message/sync-all-room-messages.service.ts\n\tmodified: src/app/module/chat/domain/use-case/room/room-bold-sync-use-case.service.ts\n\tmodified: src/app/services/http.service.ts\n\tmodified: src/app/ui/chat/chat.page.ts\n\tmodified: src/app/ui/chat/component/messages/messages.page.ts\n\tmodified: version/git-version.ts\n\tmodified: workspace.code-workspace",
"lastCommitTime": "'Tue Sep 17 17:28:50 2024 +0100'",
"lastCommitMessage": "fix delete member and add member",
"lastCommitNumber": "6077",
"changeStatus": "On branch feature/chat-new-api-peter\nYour branch is ahead of 'origin/feature/chat-new-api-peter' by 5 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/core/chat/repository/room/room-socket-repository.ts\n\tmodified: src/app/module/chat/data/repository/room/room-socket-repository.service.ts\n\tmodified: src/app/module/chat/domain/chat-service.service.ts\n\tnew file: src/app/module/chat/domain/use-case/room/room-update-name-sync.service.ts\n\tmodified: src/app/ui/chat/chat.page.html",
"changeAuthor": "peter.maquiran"
}