mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
fix all errors
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { RoomByIdOutputDTO } from "src/app/module/chat/domain/use-case/room/room-get-by-id-use-case.service";
|
||||
import { RoomByIdOutputDTO } from "src/app/core/chat/usecase/room/room-get-by-id-use-case.service";
|
||||
import { RoomEntity } from "../entity/group";
|
||||
|
||||
export class GetRoomByIdMapper {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { RoomListItemOutPutDTO } from "src/app/module/chat/domain/use-case/room/room-get-list-use-case.service";
|
||||
import { RoomListItemOutPutDTO } from "src/app/core/chat/usecase/room/room-get-list-use-case.service";
|
||||
import { RoomEntity } from "../entity/group";
|
||||
|
||||
export class GetRoomListMapper{
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
|
||||
import { MemberTable } from "src/app/infra/database/dexie/instance/chat/schema/members";
|
||||
import { RoomByIdMemberItemOutputDTO } from "../use-case/room/room-get-by-id-use-case.service";
|
||||
import { RoomByIdMemberItemOutputDTO } from "../usecase/room/room-get-by-id-use-case.service";
|
||||
|
||||
export function MemberListMapper(outputDto: RoomByIdMemberItemOutputDTO, roomId: string): MemberTable {
|
||||
return {
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
import { MessageEntity, IMessage } from "../../../../core/chat/entity/message";
|
||||
import { MessageEntity, IMessage } from "../entity/message";
|
||||
import { MessageOutPutDataDTO } from "src/app/core/chat/repository/dto/messageOutputDTO";
|
||||
import { MessageInputDTO } from "../use-case/message/message-create-use-case.service";
|
||||
import { MessageInputDTO } from "../usecase/message/message-create-use-case.service";
|
||||
|
||||
export class MessageMapper {
|
||||
static toDomain(DTO: MessageOutPutDataDTO) : MessageEntity {
|
||||
@@ -5,7 +5,7 @@ import { Result } from "neverthrow";
|
||||
import { MemberTable, MemberTableSchema } from "src/app/infra/database/dexie/instance/chat/schema/members";
|
||||
import { RepositoryResult } from "src/app/infra/repository";
|
||||
import { z } from "zod";
|
||||
import { MemberListUPdateStatusInputDTO } from "src/app/module/chat/domain/use-case/socket/member-list-update-status-use-case.service";
|
||||
import { MemberListUPdateStatusInputDTO } from "src/app/core/chat/usecase/socket/member-list-update-status-use-case.service";
|
||||
import { Observable } from "rxjs";
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { DataSourceReturn } from "src/app/services/Repositorys/type";
|
||||
import { Result } from "neverthrow";
|
||||
import { AddMemberToRoomInputDTO } from "src/app/module/chat/domain/use-case/member/member-add-use-case.service";
|
||||
import { MemberSetAdminDTO } from "src/app/module/chat/domain/use-case/member/member-admin-use-case.service";
|
||||
import { UserRemoveListInputDTO } from "src/app/module/chat/domain/use-case/room/room-leave-by-id-use-case.service";
|
||||
import { AddMemberToRoomInputDTO } from "src/app/core/chat/usecase/member/member-add-use-case.service";
|
||||
import { MemberSetAdminDTO } from "src/app/core/chat/usecase/member/member-admin-use-case.service";
|
||||
import { UserRemoveListInputDTO } from "src/app/core/chat/usecase/room/room-leave-by-id-use-case.service";
|
||||
|
||||
export abstract class IMemberRemoteRepository {
|
||||
abstract addMemberToRoom(data: AddMemberToRoomInputDTO): DataSourceReturn<AddMemberToRoomInputDTO>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Observable } from 'rxjs';
|
||||
import { IRemoveRoomMemberOutput, RemoveRoomMemberInput } from 'src/app/module/chat/domain/use-case/member/member-remove-socket-use-case.service';
|
||||
import { IRemoveRoomMemberOutput, RemoveRoomMemberInput } from 'src/app/core/chat/usecase/member/member-remove-socket-use-case.service';
|
||||
|
||||
export abstract class IMemberSocketRepository {
|
||||
abstract removeMember(input: RemoveRoomMemberInput): Promise<any>
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { DataSourceReturn } from "src/app/services/Repositorys/type";
|
||||
import { IMessageGetAllByRoomIdOutPut } from "../../usecase/message/message-get-all-by-room-Id";
|
||||
|
||||
export abstract class IMessageRemoteRepository {
|
||||
abstract getMessagesFromRoom(id: string): DataSourceReturn<IMessageGetAllByRoomIdOutPut>
|
||||
export interface IGetMessagesFromRoomParams {
|
||||
roomId: string
|
||||
lastMessageDate?: string
|
||||
}
|
||||
|
||||
export abstract class IMessageRemoteRepository {
|
||||
abstract getMessagesFromRoom(input: IGetMessagesFromRoomParams): DataSourceReturn<IMessageGetAllByRoomIdOutPut>
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
import { HubConnection } from "@microsoft/signalr";
|
||||
import { Result } from "neverthrow";
|
||||
import { MessageCreateOutPutDataDTO, MessageInputDTO } from "src/app/module/chat/domain/use-case/message/message-create-use-case.service";
|
||||
import { MessageMarkAsReadInput } from "src/app/module/chat/domain/use-case/message/message-mark-as-read-use-case.service";
|
||||
import { MessageDeleteInputDTO } from "src/app/module/chat/domain/use-case/message/message-delete-by-id-live-use-case.service";
|
||||
import { MessageCreateOutPutDataDTO, MessageInputDTO } from "src/app/core/chat/usecase/message/message-create-use-case.service";
|
||||
import { MessageMarkAsReadInput } from "src/app/core/chat/usecase/message/message-mark-as-read-use-case.service";
|
||||
import { MessageDeleteInputDTO } from "src/app/core/chat/usecase/message/message-delete-by-id-live-use-case.service";
|
||||
import { MessageOutPutDataDTO } from "../dto/messageOutputDTO";
|
||||
import { Observable } from "rxjs";
|
||||
import { MessageReactionInput } from "src/app/module/chat/domain/use-case/message/message-reaction-by-id-use-case.service";
|
||||
import { MessageUpdateInput } from "src/app/module/chat/domain/use-case/message/message-update-by-id-use-case.service";
|
||||
import { MessageReactionInput } from "src/app/core/chat/usecase/message/message-reaction-by-id-use-case.service";
|
||||
import { MessageUpdateInput } from "src/app/core/chat/usecase/message/message-update-by-id-use-case.service";
|
||||
import { SocketMessage } from "src/app/infra/socket/signalR/signalR";
|
||||
|
||||
export abstract class IMessageSocketRepository {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { DataSourceReturn } from "src/app/services/Repositorys/type";
|
||||
import { IMessageGetAllByRoomIdOutPut } from "../../usecase/message/message-get-all-by-room-Id";
|
||||
import { CreateRoomInputDTO, RoomOutPutDTO } from "src/app/module/chat/domain/use-case/room/room-create-use-case.service";
|
||||
import { RoomByIdInputDTO, RoomByIdOutputDTO } from "src/app/module/chat/domain/use-case/room/room-get-by-id-use-case.service";
|
||||
import { RoomUpdateInputDTO, RoomUpdateOutputDTO } from "src/app/module/chat/domain/use-case/room/room-update-by-id-use-case.service";
|
||||
import { CreateRoomInputDTO, RoomOutPutDTO } from "src/app/core/chat/usecase/room/room-create-use-case.service";
|
||||
import { RoomByIdInputDTO, RoomByIdOutputDTO } from "src/app/core/chat/usecase/room/room-get-by-id-use-case.service";
|
||||
import { RoomUpdateInputDTO, RoomUpdateOutputDTO } from "src/app/core/chat/usecase/room/room-update-by-id-use-case.service";
|
||||
import { Result } from "neverthrow";
|
||||
import { AddMemberToRoomInputDTO } from "src/app/module/chat/domain/use-case/member/member-add-use-case.service";
|
||||
import { RoomListOutPutDTO } from "src/app/module/chat/domain/use-case/room/room-get-list-use-case.service";
|
||||
import { AddMemberToRoomInputDTO } from "src/app/core/chat/usecase/member/member-add-use-case.service";
|
||||
import { RoomListOutPutDTO } from "src/app/core/chat/usecase/room/room-get-list-use-case.service";
|
||||
|
||||
export abstract class IRoomRemoteRepository {
|
||||
abstract createRoom(data: CreateRoomInputDTO): DataSourceReturn<RoomOutPutDTO>
|
||||
|
||||
@@ -2,7 +2,7 @@ import { HubConnection } from "@microsoft/signalr";
|
||||
import { Result } from "neverthrow";
|
||||
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 { CreateRoomInputDTO } from "src/app/core/chat/usecase/room/room-create-use-case.service";
|
||||
import { z } from "zod";
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { HttpResult, IHttPReturn } from "src/app/infra/http/type"
|
||||
import { UserPhotoGetByIdInputSchema } from "src/app/module/chat/domain/use-case/user-photo/user-photo-get-by-id-use-case.service"
|
||||
import { UserPhotoGetByIdInputSchema } from "src/app/core/chat/usecase/user-photo/user-photo-get-by-id-use-case.service"
|
||||
import { z } from "zod"
|
||||
|
||||
export const IGetUserPhotoByAttachmentIdInputSchema = z.object({
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { captureAndReraiseAsync } from 'src/app/services/decorators/captureAndReraiseAsync';
|
||||
import { MemberListRemoteRepository } from '../../../data/repository/member/member-list-remote-repository.service';
|
||||
import { UserRemoveListInputDTO } from '../room/room-leave-by-id-use-case.service';
|
||||
import { MemberListRemoteRepository } from 'src/app/module/chat/data/repository/member/member-list-remote-repository.service';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
+3
-3
@@ -1,10 +1,10 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { filter, map } from 'rxjs/operators';
|
||||
import { HttpAdapter } from 'src/app/infra/http/adapter';
|
||||
import { RoomByIdOutputDTO } from '../../../domain/use-case/room/room-get-by-id-use-case.service';
|
||||
import { IMemberLocalRepository } from 'src/app/core/chat/repository/member/member-local-repository';
|
||||
import { MemberListMapper } from '../../../domain/mapper/memberLIstMapper';
|
||||
import { roomMemberListDetermineChanges } from '../../../data/async/list/rooms/roomMembersChangeDetector';
|
||||
import { roomMemberListDetermineChanges } from 'src/app/module/chat/data/async/list/rooms/roomMembersChangeDetector';
|
||||
import { MemberListMapper } from 'src/app/core/chat/mapper/memberLIstMapper';
|
||||
import { RoomByIdOutputDTO } from '../room/room-get-by-id-use-case.service';
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { filter, map } from 'rxjs/operators';
|
||||
import { InstanceId } from '../../chat-service.service';
|
||||
import { MessageEntity } from '../../../../../core/chat/entity/message';
|
||||
import { z } from 'zod';
|
||||
import { IMessageSocketRepository } from 'src/app/core/chat/repository/message/message-socket-repository';
|
||||
import { MessageEntity } from '../../entity/message';
|
||||
import { InstanceId } from 'src/app/module/chat/domain/chat-service.service';
|
||||
|
||||
|
||||
export const ListenMessageByRoomIdNewInputDTOSchema = z.object({
|
||||
+3
-2
@@ -1,8 +1,9 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { MessageSocketRepositoryService } from 'src/app/module/chat/data/repository/message/message-live-signalr-data-source.service'
|
||||
import { InstanceId } from '../../chat-service.service';
|
||||
import { InstanceId } from '../../../../module/chat/domain/chat-service.service';
|
||||
import { filter, map } from 'rxjs/operators';
|
||||
import { z } from 'zod';
|
||||
import { IMessageSocketRepository } from '../../repository/message/message-socket-repository';
|
||||
|
||||
export const ListenSendMessageInputDTOSchema = z.object({
|
||||
roomId: z.string(),
|
||||
@@ -17,7 +18,7 @@ export type ListenSendMessageInputDTO = z.infer<typeof ListenSendMessageInputDTO
|
||||
export class ListenSendMessageUseCase {
|
||||
|
||||
constructor(
|
||||
private MessageSocketRepositoryService: MessageSocketRepositoryService
|
||||
private MessageSocketRepositoryService: IMessageSocketRepository
|
||||
) { }
|
||||
|
||||
execute({roomId}: {roomId: string}) {
|
||||
+2
-1
@@ -3,6 +3,7 @@ import { filter } from 'rxjs/operators';
|
||||
import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service';
|
||||
import { MessageSocketRepositoryService } from 'src/app/module/chat/data/repository/message/message-live-signalr-data-source.service'
|
||||
import { z } from 'zod';
|
||||
import { IMessageSocketRepository } from '../../repository/message/message-socket-repository';
|
||||
|
||||
export const ListenMessageDeleteByRoomIdInputDTOSchema = z.object({
|
||||
roomId: z.string(),
|
||||
@@ -16,7 +17,7 @@ export type ListenMessageDeleteByRoomIdInputDTO = z.infer<typeof ListenMessageDe
|
||||
export class ListenMessageDeleteByRoomIdService {
|
||||
|
||||
constructor(
|
||||
private MessageSocketRepositoryService: MessageSocketRepositoryService,
|
||||
private MessageSocketRepositoryService: IMessageSocketRepository,
|
||||
) { }
|
||||
|
||||
execute({roomId}: ListenMessageDeleteByRoomIdInputDTO) {
|
||||
+5
-3
@@ -4,9 +4,11 @@ import { AttachmentRemoteDataSourceService } from 'src/app/module/chat/data/repo
|
||||
import { AttachmentLocalDataSource } from 'src/app/module/chat/data/repository/attachment/attachment-local-repository.service'
|
||||
import { createBlobUrl } from 'src/app/utils/ToBase64';
|
||||
import { err, Result } from 'neverthrow';
|
||||
import { MessageEntitySchema } from '../../../../../core/chat/entity/message';
|
||||
import { TracingType, XTracerAsync } from 'src/app/services/monitoring/opentelemetry/tracer';
|
||||
import { isHttpResponse } from 'src/app/infra/http/http.service';
|
||||
import { MessageEntitySchema } from '../../entity/message';
|
||||
import { IAttachmentRemoteRepository } from '../../repository/attachment/attachment-remote-repository';
|
||||
import { IAttachmentLocalRepository } from '../../repository/typing/typing-local-repository';
|
||||
|
||||
const MessageAttachmentByMessageIdSchema = MessageEntitySchema.pick({
|
||||
$id: true,
|
||||
@@ -22,8 +24,8 @@ export type MessageAttachmentByMessageIdInput = z.infer<typeof MessageAttachment
|
||||
export class MessageAttachmentByMessageIdUseCase {
|
||||
|
||||
constructor(
|
||||
private AttachmentRemoteDataSourceService: AttachmentRemoteDataSourceService,
|
||||
private AttachmentLocalDataSource: AttachmentLocalDataSource
|
||||
private AttachmentRemoteDataSourceService: IAttachmentRemoteRepository,
|
||||
private AttachmentLocalDataSource: IAttachmentLocalRepository
|
||||
) { }
|
||||
|
||||
@XTracerAsync({name:'Message-Attachment-By-MessageIdUseCase', module:'chat', bugPrint: true, waitNThrow: 15000})
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IMessage, MessageAttachmentSource, MessageEntity, MessageEntitySchema, } from '../../../../../core/chat/entity/message';
|
||||
import { IMessage, MessageAttachmentSource, MessageEntity, MessageEntitySchema, } from '../../entity/message';
|
||||
import { z } from 'zod';
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
import { InstanceId } from '../../chat-service.service';
|
||||
import { InstanceId } from '../../../../module/chat/domain/chat-service.service';
|
||||
import { createBlobFromBase64, createDataURL } from 'src/app/utils/ToBase64';
|
||||
import { zodSafeValidation } from 'src/app/utils/zodValidation';
|
||||
import { Logger } from 'src/app/services/logger/main/service';
|
||||
+3
-2
@@ -1,7 +1,8 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { z } from 'zod';
|
||||
import { MessageSocketRepositoryService } from '../../../data/repository/message/message-live-signalr-data-source.service';
|
||||
import { MessageSocketRepositoryService } from '../../../../module/chat/data/repository/message/message-live-signalr-data-source.service';
|
||||
import { XTracerAsync, TracingType } from 'src/app/services/monitoring/opentelemetry/tracer';
|
||||
import { IMessageSocketRepository } from '../../repository/message/message-socket-repository';
|
||||
|
||||
export const MessageDeleteInputDTOSchema = z.object({
|
||||
requestId: z.string().optional(),
|
||||
@@ -17,7 +18,7 @@ export type MessageDeleteInputDTO = z.infer<typeof MessageDeleteInputDTOSchema>
|
||||
})
|
||||
export class MessageDeleteLiveUseCaseService {
|
||||
constructor(
|
||||
public repository: MessageSocketRepositoryService
|
||||
public repository: IMessageSocketRepository
|
||||
) { }
|
||||
|
||||
@XTracerAsync({name:'MessageDeleteLiveUseCaseService', module:'chat', bugPrint: true, waitNThrow: 5000})
|
||||
+4
-2
@@ -6,6 +6,8 @@ import { AttachmentLocalDataSource } from 'src/app/module/chat/data/repository/a
|
||||
import { z } from 'zod';
|
||||
import { zodSafeValidation } from 'src/app/utils/zodValidation';
|
||||
import { IMessage, MessageEntitySchema } from 'src/app/core/chat/entity/message';
|
||||
import { IAttachmentRemoteRepository } from '../../repository/attachment/attachment-remote-repository';
|
||||
import { IAttachmentLocalRepository } from '../../repository/typing/typing-local-repository';
|
||||
|
||||
const DownloadMessageAttachmentByMessageIdSchema = z.object({
|
||||
$messageId: z.string(),
|
||||
@@ -21,8 +23,8 @@ export type DownloadMessageAttachmentByMessageId = z.infer<typeof DownloadMessag
|
||||
export class DownloadMessageAttachmentUserCaseService {
|
||||
|
||||
constructor(
|
||||
private AttachmentRemoteDataSourceService: AttachmentRemoteDataSourceService,
|
||||
private AttachmentLocalDataSource: AttachmentLocalDataSource
|
||||
private AttachmentRemoteDataSourceService: IAttachmentRemoteRepository,
|
||||
private AttachmentLocalDataSource: IAttachmentLocalRepository
|
||||
) { }
|
||||
|
||||
async execute(input: DownloadMessageAttachmentByMessageId) {
|
||||
+4
-2
@@ -6,6 +6,8 @@ import { err, Result } from 'neverthrow';
|
||||
import { AttachmentTableSchema } from 'src/app/infra/database/dexie/instance/chat/schema/attachment';
|
||||
import { z } from 'zod';
|
||||
import { createBlobUrl } from 'src/app/utils/ToBase64';
|
||||
import { IAttachmentRemoteRepository } from '../../repository/attachment/attachment-remote-repository';
|
||||
import { IAttachmentLocalRepository } from '../../repository/typing/typing-local-repository';
|
||||
|
||||
const GetMessageAttachmentLocallyByMessageIdSchema = AttachmentTableSchema.pick({
|
||||
$messageId: true
|
||||
@@ -21,8 +23,8 @@ export type GetMessageAttachmentLocallyByMessageId = z.infer<typeof GetMessageAt
|
||||
export class GetMessageAttachmentLocallyUseCaseService {
|
||||
|
||||
constructor(
|
||||
private AttachmentRemoteDataSourceService: AttachmentRemoteDataSourceService,
|
||||
private AttachmentLocalDataSource: AttachmentLocalDataSource
|
||||
private AttachmentRemoteDataSourceService: IAttachmentRemoteRepository,
|
||||
private AttachmentLocalDataSource: IAttachmentLocalRepository
|
||||
) { }
|
||||
|
||||
|
||||
+4
-2
@@ -3,6 +3,8 @@ import { z } from 'zod';
|
||||
import { MessageLocalDataSourceService } from 'src/app/module/chat/data/repository/message/message-local-data-source.service'
|
||||
import { MessageSocketRepositoryService } from 'src/app/module/chat/data/repository/message/message-live-signalr-data-source.service'
|
||||
import { SessionStore } from 'src/app/store/session.service';
|
||||
import { IMessageLocalRepository } from '../../repository/message/message-local-repository';
|
||||
import { IMessageSocketRepository } from '../../repository/message/message-socket-repository';
|
||||
|
||||
const MessageMarkAllMessageAsReadByRoomIdInputSchema = z.object({
|
||||
roomId: z.string(),
|
||||
@@ -20,8 +22,8 @@ export type MessageMarkAllMessageAsReadByRoomIdInputSchema = z.infer<typeof Mess
|
||||
export class MessageMarkAllMessageAsReadByRoomIdService {
|
||||
|
||||
constructor(
|
||||
private MessageLocalDataSourceService: MessageLocalDataSourceService,
|
||||
private MessageSocketRepositoryService: MessageSocketRepositoryService
|
||||
private MessageLocalDataSourceService: IMessageLocalRepository,
|
||||
private MessageSocketRepositoryService: IMessageSocketRepository
|
||||
) { }
|
||||
|
||||
|
||||
+3
-2
@@ -1,7 +1,8 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { MessageSocketRepositoryService } from '../../../data/repository/message/message-live-signalr-data-source.service';
|
||||
import { MessageSocketRepositoryService } from '../../../../module/chat/data/repository/message/message-live-signalr-data-source.service';
|
||||
import { XTracerAsync, TracingType } from 'src/app/services/monitoring/opentelemetry/tracer';
|
||||
import { z } from 'zod';
|
||||
import { IMessageSocketRepository } from '../../repository/message/message-socket-repository';
|
||||
|
||||
export const MessageMarkAsReadInputSchema = z.object({
|
||||
memberId: z.number(),
|
||||
@@ -18,7 +19,7 @@ export type MessageMarkAsReadInput = z.infer<typeof MessageMarkAsReadInputSchema
|
||||
export class MessageMarkAsReadUseCaseService {
|
||||
|
||||
constructor(
|
||||
private MessageSocketRepositoryService: MessageSocketRepositoryService,
|
||||
private MessageSocketRepositoryService: IMessageSocketRepository,
|
||||
) { }
|
||||
|
||||
|
||||
+4
-3
@@ -1,8 +1,9 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { object, z } from 'zod';
|
||||
import { ValidateSchema } from 'src/app/services/decorators/validate-schema.decorator';
|
||||
import { MessageRemoteDataSourceService } from '../../../data/repository/message/message-remote-data-source.service';
|
||||
import { MessageSocketRepositoryService } from '../../../data/repository/message/message-live-signalr-data-source.service';
|
||||
import { MessageRemoteDataSourceService } from '../../../../module/chat/data/repository/message/message-remote-data-source.service';
|
||||
import { MessageSocketRepositoryService } from '../../../../module/chat/data/repository/message/message-live-signalr-data-source.service';
|
||||
import { IMessageSocketRepository } from '../../repository/message/message-socket-repository';
|
||||
|
||||
|
||||
const MessageReactionInputDTOSchema = z.object({
|
||||
@@ -21,7 +22,7 @@ export type MessageReactionInput = z.infer< typeof MessageReactionInputDTOSchema
|
||||
export class MessageReactionUseCaseService {
|
||||
|
||||
constructor(
|
||||
public repository: MessageSocketRepositoryService
|
||||
public repository: IMessageSocketRepository
|
||||
) { }
|
||||
|
||||
@ValidateSchema(MessageReactionInputDTOSchema)
|
||||
+4
-3
@@ -1,8 +1,9 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { z } from 'zod';
|
||||
import { ValidateSchema } from 'src/app/services/decorators/validate-schema.decorator';
|
||||
import { MessageRemoteDataSourceService } from '../../../data/repository/message/message-remote-data-source.service';
|
||||
import { MessageSocketRepositoryService } from '../../../data/repository/message/message-live-signalr-data-source.service';
|
||||
import { MessageRemoteDataSourceService } from '../../../../module/chat/data/repository/message/message-remote-data-source.service';
|
||||
import { MessageSocketRepositoryService } from '../../../../module/chat/data/repository/message/message-live-signalr-data-source.service';
|
||||
import { IMessageSocketRepository } from '../../repository/message/message-socket-repository';
|
||||
|
||||
|
||||
const MessageUpdateInputDTOSchema = z.object({
|
||||
@@ -22,7 +23,7 @@ export type MessageUpdateInput = z.infer< typeof MessageUpdateInputDTOSchema>
|
||||
export class MessageUpdateUseCaseService {
|
||||
|
||||
constructor(
|
||||
public repository: MessageSocketRepositoryService
|
||||
public repository: IMessageSocketRepository
|
||||
) { }
|
||||
|
||||
@ValidateSchema(MessageUpdateInputDTOSchema)
|
||||
+16
-11
@@ -1,17 +1,22 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { MessageLocalDataSourceService } from '../../../data/repository/message/message-local-data-source.service';
|
||||
import { MessageSocketRepositoryService } from '../../../data/repository/message/message-live-signalr-data-source.service';
|
||||
import { InstanceId } from '../../chat-service.service';
|
||||
import { MessageLocalDataSourceService } from '../../../../module/chat/data/repository/message/message-local-data-source.service';
|
||||
import { MessageSocketRepositoryService } from '../../../../module/chat/data/repository/message/message-live-signalr-data-source.service';
|
||||
import { InstanceId } from '../../../../module/chat/domain/chat-service.service';
|
||||
import { MessageMapper } from '../../mapper/messageMapper';
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
import { AttachmentLocalDataSource } from '../../../data/repository/attachment/attachment-local-repository.service';
|
||||
import { RoomLocalRepository } from '../../../data/repository/room/room-local-repository.service';
|
||||
import { AttachmentLocalDataSource } from '../../../../module/chat/data/repository/attachment/attachment-local-repository.service';
|
||||
import { RoomLocalRepository } from '../../../../module/chat/data/repository/room/room-local-repository.service';
|
||||
import { MemberListLocalRepository } from 'src/app/module/chat/data/repository/member/member-list-local-repository.service'
|
||||
import { Result } from 'neverthrow';
|
||||
import { RoomType } from 'src/app/core/chat/entity/group';
|
||||
import { MessageTable } from 'src/app/infra/database/dexie/instance/chat/schema/message';
|
||||
import { MessageOutPutDataDTO } from 'src/app/core/chat/repository/dto/messageOutputDTO';
|
||||
import { IDBoolean } from 'src/app/infra/database/dexie/type';
|
||||
import { IMemberLocalRepository } from '../../repository/member/member-local-repository';
|
||||
import { IMessageLocalRepository } from '../../repository/message/message-local-repository';
|
||||
import { IMessageSocketRepository } from '../../repository/message/message-socket-repository';
|
||||
import { IRoomLocalRepository } from '../../repository/room/room-local-repository';
|
||||
import { IAttachmentLocalRepository } from '../../repository/typing/typing-local-repository';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
@@ -19,12 +24,12 @@ import { IDBoolean } from 'src/app/infra/database/dexie/type';
|
||||
export class SendLocalMessagesUseCaseService {
|
||||
|
||||
constructor(
|
||||
private MessageSocketRepositoryService: MessageSocketRepositoryService,
|
||||
private messageLocalDataSourceService: MessageLocalDataSourceService,
|
||||
private AttachmentRepositoryService: AttachmentLocalDataSource,
|
||||
private roomLocalDataSourceService: RoomLocalRepository,
|
||||
private MemberListLocalRepository: MemberListLocalRepository,
|
||||
private messageSocketRepositoryService: MessageSocketRepositoryService,
|
||||
private MessageSocketRepositoryService: IMessageSocketRepository,
|
||||
private messageLocalDataSourceService: IMessageLocalRepository,
|
||||
private AttachmentRepositoryService: IAttachmentLocalRepository,
|
||||
private roomLocalDataSourceService: IRoomLocalRepository,
|
||||
private MemberListLocalRepository: IMemberLocalRepository,
|
||||
private messageSocketRepositoryService: IMessageSocketRepository,
|
||||
) { }
|
||||
|
||||
async execute() {
|
||||
+15
-10
@@ -1,14 +1,17 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { MessageLocalDataSourceService } from '../../../data/repository/message/message-local-data-source.service';
|
||||
import { messageListDetermineChanges } from '../../../data/async/list/rooms/messageListChangedetector';
|
||||
import { MessageRemoteDataSourceService } from '../../../data/repository/message/message-remote-data-source.service';
|
||||
import { MessageSocketRepositoryService } from '../../../data/repository/message/message-live-signalr-data-source.service';
|
||||
import { messageListDetermineChanges } from '../../../../module/chat/data/async/list/rooms/messageListChangedetector';
|
||||
import { MessageRemoteDataSourceService } from '../../../../module/chat/data/repository/message/message-remote-data-source.service';
|
||||
import { MessageSocketRepositoryService } from '../../../../module/chat/data/repository/message/message-live-signalr-data-source.service';
|
||||
import { ok } from 'neverthrow';
|
||||
import { RoomLocalRepository } from '../../../data/repository/room/room-local-repository.service';
|
||||
import { RoomLocalRepository } from '../../../../module/chat/data/repository/room/room-local-repository.service';
|
||||
import { Logger } from 'src/app/services/logger/main/service';
|
||||
import { XTracerAsync, TracingType } from 'src/app/services/monitoring/opentelemetry/tracer';
|
||||
import { MessageTable } from 'src/app/infra/database/dexie/instance/chat/schema/message';
|
||||
import { IDBoolean } from 'src/app/infra/database/dexie/type';
|
||||
import { IMessageLocalRepository } from '../../repository/message/message-local-repository';
|
||||
import { IMessageRemoteRepository } from '../../repository/message/message-remote-repository';
|
||||
import { IMessageSocketRepository } from '../../repository/message/message-socket-repository';
|
||||
import { IRoomLocalRepository } from '../../repository/room/room-local-repository';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
@@ -16,10 +19,10 @@ import { IDBoolean } from 'src/app/infra/database/dexie/type';
|
||||
export class SyncAllRoomMessagesService {
|
||||
|
||||
constructor(
|
||||
private messageLocalDataSourceService: MessageLocalDataSourceService,
|
||||
private messageRemoteDataSourceService: MessageRemoteDataSourceService,
|
||||
private MessageSocketRepositoryService: MessageSocketRepositoryService,
|
||||
private roomLocalDataSourceService: RoomLocalRepository,
|
||||
private messageLocalDataSourceService: IMessageLocalRepository,
|
||||
private messageRemoteDataSourceService: IMessageRemoteRepository,
|
||||
private MessageSocketRepositoryService: IMessageSocketRepository,
|
||||
private roomLocalDataSourceService: IRoomLocalRepository,
|
||||
) { }
|
||||
|
||||
@XTracerAsync({name:'SyncAllRoomMessagesService', module:'chat', bugPrint: true})
|
||||
@@ -39,8 +42,10 @@ export class SyncAllRoomMessagesService {
|
||||
const removeLocalRooms = allRooms.value.filter((e)=> e.local != IDBoolean.true)
|
||||
|
||||
const roomPromises = removeLocalRooms.map(async (room) => {
|
||||
const lastMessage = room.messages.find(e => e.sentAt && e.id)
|
||||
|
||||
const [result, localResult] = await Promise.all([
|
||||
this.messageRemoteDataSourceService.getMessagesFromRoom(room.id),
|
||||
this.messageRemoteDataSourceService.getMessagesFromRoom({roomId:room.id, lastMessageDate: lastMessage?.sentAt}),
|
||||
this.messageLocalDataSourceService.getItems(room.id)
|
||||
]);
|
||||
|
||||
+4
-4
@@ -4,14 +4,14 @@ import { IMessageSocketRepository } from 'src/app/core/chat/repository/message/m
|
||||
import { MessageEntity } from 'src/app/core/chat/entity/message';
|
||||
import { IBoldLocalRepository } from 'src/app/core/chat/repository/bold/bold-local-repository';
|
||||
import { IMessageLocalRepository } from 'src/app/core/chat/repository/message/message-local-repository';
|
||||
import { InstanceId } from '../../chat-service.service';
|
||||
import { InstanceId } from '../../../../module/chat/domain/chat-service.service';
|
||||
import { HttpAdapter } from 'src/app/infra/http/adapter';
|
||||
import { SessionStore } from 'src/app/store/session.service';
|
||||
import { TracingType, XTracerAsync } from 'src/app/services/monitoring/opentelemetry/tracer';
|
||||
import { IRoomLocalRepository } from 'src/app/core/chat/repository/room/room-local-repository';
|
||||
import { IMessageGetAllByRoomIdOutPut } from 'src/app/core/chat/usecase/message/message-get-all-by-room-Id';
|
||||
import { RoomEntity } from 'src/app/core/chat/entity/group';
|
||||
import { messageListDetermineChanges } from '../../../data/async/list/rooms/messageListChangedetector';
|
||||
import { messageListDetermineChanges } from '../../../../module/chat/data/async/list/rooms/messageListChangedetector';
|
||||
|
||||
|
||||
@Injectable({
|
||||
@@ -94,8 +94,8 @@ export class RoomBoldSyncUseCaseService {
|
||||
const regex = new RegExp("Room\\/([0-9a-fA-F]{8})-([0-9a-fA-F]{4})-([0-9a-fA-F]{4})-([0-9a-fA-F]{4})-([0-9a-fA-F]{12})\\/Messages");
|
||||
|
||||
return this.http.listen().pipe(
|
||||
filter((response: any)=> {
|
||||
return response?.isOk() && regex.test(response.value.url) && response.value.url.endsWith('/Messages')
|
||||
filter((response)=> {
|
||||
return response?.isOk() && regex.test(response.value.url)
|
||||
}),
|
||||
map((response: any) => response.value.data as IMessageGetAllByRoomIdOutPut)
|
||||
).subscribe(async (data)=> {
|
||||
+3
-2
@@ -1,7 +1,8 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { GetRoomListUseCaseService } from './room-get-list-use-case.service'
|
||||
import { RoomSocketRepositoryService } from '../../../data/repository/room/room-socket-repository.service'
|
||||
import { RoomSocketRepositoryService } from '../../../../module/chat/data/repository/room/room-socket-repository.service'
|
||||
import { IRoomLocalRepository } from 'src/app/core/chat/repository/room/room-local-repository';
|
||||
import { IRoomSocketRepository } from '../../repository/room/room-socket-repository';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
@@ -9,7 +10,7 @@ import { IRoomLocalRepository } from 'src/app/core/chat/repository/room/room-loc
|
||||
export class RoomGetListOnCreateUseCaseService {
|
||||
|
||||
constructor(
|
||||
private RoomSocketRepositoryService: RoomSocketRepositoryService,
|
||||
private RoomSocketRepositoryService: IRoomSocketRepository,
|
||||
private getRoomListUseCaseService: GetRoomListUseCaseService,
|
||||
private roomLocalDataSourceService: IRoomLocalRepository,
|
||||
) {
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { roomListDetermineChanges } from '../../../data/async/list/rooms/roomListChangeDetector';
|
||||
import { roomListDetermineChanges } from '../../../../module/chat/data/async/list/rooms/roomListChangeDetector';
|
||||
import { captureAndReraiseAsync } from 'src/app/services/decorators/captureAndReraiseAsync';
|
||||
import { CronJobService } from 'src/app/utils/task-scheduler'
|
||||
import { z } from "zod";
|
||||
+2
-2
@@ -8,7 +8,7 @@ import { IMessageGetAllByRoomIdOutPut } from 'src/app/core/chat/usecase/message/
|
||||
import { RoomEntity } from 'src/app/core/chat/entity/group';
|
||||
import { RoomTable } from 'src/app/infra/database/dexie/instance/chat/schema/room';
|
||||
import { IMessageLocalRepository } from 'src/app/core/chat/repository/message/message-local-repository';
|
||||
import { messageListDetermineChanges } from '../../../data/async/list/rooms/messageListChangedetector';
|
||||
import { messageListDetermineChanges } from '../../../../module/chat/data/async/list/rooms/messageListChangedetector';
|
||||
import { IDBoolean } from 'src/app/infra/database/dexie/type';
|
||||
|
||||
@Injectable({
|
||||
@@ -166,7 +166,7 @@ export class RoomSetLastMessageService {
|
||||
|
||||
return this.http.listen().pipe(
|
||||
filter((response: any)=> {
|
||||
return response?.isOk() && regex.test(response.value.url) && response.value.url.endsWith('/Messages')
|
||||
return response?.isOk() && regex.test(response.value.url)
|
||||
}),
|
||||
map((response: any) => response.value.data as IMessageGetAllByRoomIdOutPut)
|
||||
).subscribe(async (data)=> {
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { MessageSocketRepositoryService } from 'src/app/module/chat/data/repository/message/message-live-signalr-data-source.service';
|
||||
import { XTracerAsync } from 'src/app/services/monitoring/opentelemetry/tracer';
|
||||
import { IMessageSocketRepository } from '../repository/message/message-socket-repository';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
@@ -8,7 +9,7 @@ import { XTracerAsync } from 'src/app/services/monitoring/opentelemetry/tracer';
|
||||
export class SocketConnectUseCaseService {
|
||||
|
||||
constructor(
|
||||
private MessageSocketRepositoryService: MessageSocketRepositoryService
|
||||
private MessageSocketRepositoryService: IMessageSocketRepository
|
||||
) { }
|
||||
|
||||
@XTracerAsync({name:'SocketConnectUseCaseService', module:'chat', bugPrint: true})
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { MessageSocketRepositoryService } from 'src/app/module/chat/data/repository/message/message-live-signalr-data-source.service';
|
||||
import { IMessageSocketRepository } from '../repository/message/message-socket-repository';
|
||||
|
||||
|
||||
@Injectable({
|
||||
@@ -8,7 +9,7 @@ import { MessageSocketRepositoryService } from 'src/app/module/chat/data/reposit
|
||||
export class SocketJoinUseCaseService {
|
||||
|
||||
constructor(
|
||||
private MessageSocketRepositoryService: MessageSocketRepositoryService
|
||||
private MessageSocketRepositoryService: IMessageSocketRepository
|
||||
) { }
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
import { Injectable, Input } from '@angular/core';
|
||||
import { MessageLocalDataSourceService } from '../../../data/repository/message/message-local-data-source.service';
|
||||
import { MessageLocalDataSourceService } from '../../../../module/chat/data/repository/message/message-local-data-source.service';
|
||||
import { TracingType, XTracerAsync } from 'src/app/services/monitoring/opentelemetry/tracer';
|
||||
import { ParamsValidation } from 'src/app/services/decorators/validate-schema.decorator';
|
||||
import { MessageEntitySchema } from 'src/app/core/chat/entity/message';
|
||||
+3
-2
@@ -1,8 +1,9 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { MessageLocalDataSourceService } from '../../../data/repository/message/message-local-data-source.service';
|
||||
import { MessageLocalDataSourceService } from '../../../../module/chat/data/repository/message/message-local-data-source.service';
|
||||
import { MessageEntitySchema } from 'src/app/core/chat/entity/message';
|
||||
import { z } from 'zod';
|
||||
import { TracingType, XTracerAsync } from 'src/app/services/monitoring/opentelemetry/tracer';
|
||||
import { IMessageLocalRepository } from '../../repository/message/message-local-repository';
|
||||
|
||||
const SocketMessageDeleteOutputSchema = MessageEntitySchema.pick({
|
||||
id: true,
|
||||
@@ -32,7 +33,7 @@ export type ISocketMessageDeleteOutput = z.infer<typeof SocketMessageDeleteOutpu
|
||||
export class SocketMessageDeleteUseCaseService {
|
||||
|
||||
constructor(
|
||||
private messageLocalDataSourceService: MessageLocalDataSourceService
|
||||
private messageLocalDataSourceService: IMessageLocalRepository
|
||||
) { }
|
||||
|
||||
|
||||
+3
-2
@@ -1,11 +1,12 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { MessageLocalDataSourceService } from '../../../data/repository/message/message-local-data-source.service';
|
||||
import { MessageLocalDataSourceService } from '../../../../module/chat/data/repository/message/message-local-data-source.service';
|
||||
import { ParamsValidation, SafeValidateSchema, ValidateSchema } from 'src/app/services/decorators/validate-schema.decorator';
|
||||
import { TracingType, XTracerAsync } from 'src/app/services/monitoring/opentelemetry/tracer';
|
||||
import { MessageEntitySchema } from 'src/app/core/chat/entity/message';
|
||||
import { z } from 'zod';
|
||||
import { MessageTable } from 'src/app/infra/database/dexie/instance/chat/schema/message';
|
||||
import { MessageOutPutDataDTOSchema } from 'src/app/core/chat/repository/dto/messageOutputDTO';
|
||||
import { IMessageLocalRepository } from '../../repository/message/message-local-repository';
|
||||
|
||||
|
||||
const SocketMessageUpdateOutputSchema = MessageEntitySchema.pick({
|
||||
@@ -34,7 +35,7 @@ export type ISocketMessageUpdateOutput = z.infer<typeof SocketMessageUpdateOutpu
|
||||
export class SocketMessageUpdateUseCaseService {
|
||||
|
||||
constructor(
|
||||
private messageLocalDataSourceService: MessageLocalDataSourceService
|
||||
private messageLocalDataSourceService: IMessageLocalRepository
|
||||
) { }
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { SessionStore } from 'src/app/store/session.service';
|
||||
import { UserTypingRemoteRepositoryService } from '../../../data/repository/typing/user-typing-live-data-source.service';
|
||||
import { UserTypingRemoteRepositoryService } from 'src/app/module/chat/data/repository/typing/user-typing-live-data-source.service'
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
@@ -39,7 +39,10 @@ export class HttpService {
|
||||
let httpParams = new HttpParams();
|
||||
if (options?.params) {
|
||||
Object.keys(options.params).forEach(key => {
|
||||
httpParams = httpParams.append(key, String(options.params[key]));
|
||||
if(options.params[key]) {
|
||||
httpParams = httpParams.append(key, options.params[key]);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { RoomTable } from "src/app/infra/database/dexie/instance/chat/schema/room";
|
||||
import { RoomByIdOutputDTO } from "src/app/module/chat/domain/use-case/room/room-get-by-id-use-case.service";
|
||||
import { RoomListItemOutPutDTO } from "src/app/module/chat/domain/use-case/room/room-get-list-use-case.service";
|
||||
import { RoomByIdOutputDTO } from "src/app/core/chat/usecase/room/room-get-by-id-use-case.service";
|
||||
import { RoomListItemOutPutDTO } from "src/app/core/chat/usecase/room/room-get-list-use-case.service";
|
||||
|
||||
export function roomByIdDetermineChanges(serverResponse: RoomByIdOutputDTO, localRooms: RoomTable[]) {
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { RoomType } from "src/app/core/chat/entity/group";
|
||||
import { RoomTable } from "src/app/infra/database/dexie/instance/chat/schema/room";
|
||||
import { RoomListItemOutPutDTO } from "src/app/module/chat/domain/use-case/room/room-get-list-use-case.service";
|
||||
import { RoomListItemOutPutDTO } from "src/app/core/chat/usecase/room/room-get-list-use-case.service";
|
||||
import { SessionStore } from "src/app/store/session.service";
|
||||
|
||||
export function roomListDetermineChanges(serverRooms: RoomListItemOutPutDTO[], localRooms: RoomTable[]) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { MemberTable } from "src/app/infra/database/dexie/instance/chat/schema/members";
|
||||
import { RoomByIdMemberItemOutputDTO } from "src/app/module/chat/domain/use-case/room/room-get-by-id-use-case.service";
|
||||
import { RoomByIdMemberItemOutputDTO } from "src/app/core/chat/usecase/room/room-get-by-id-use-case.service";
|
||||
|
||||
export function roomMemberListDetermineChanges(____serverRooms: RoomByIdMemberItemOutputDTO[], localRooms: MemberTable[], roomId: string) {
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import { z } from 'zod';
|
||||
import { DexieRepository } from 'src/app/infra/repository/dexie/dexie-repository.service';
|
||||
import { ok } from 'neverthrow';
|
||||
import { err, Result } from 'neverthrow';
|
||||
import { MemberListUPdateStatusInputDTO } from '../../../domain/use-case/socket/member-list-update-status-use-case.service';
|
||||
import { MemberListUPdateStatusInputDTO } from '../../../../../core/chat/usecase/socket/member-list-update-status-use-case.service';
|
||||
import { from } from 'rxjs';
|
||||
import { MemberTable, MemberTableSchema } from 'src/app/infra/database/dexie/instance/chat/schema/members';
|
||||
import { chatDatabase } from 'src/app/infra/database/dexie/instance/chat/service';
|
||||
|
||||
@@ -4,9 +4,9 @@ import { ValidateSchema } from 'src/app/services/decorators/validate-schema.deco
|
||||
import { HttpService } from 'src/app/services/http.service';
|
||||
import { DataSourceReturn } from 'src/app/services/Repositorys/type';
|
||||
import { IMemberRemoteRepository } from 'src/app/core/chat/repository/member/member-remote-repository';
|
||||
import { AddMemberToRoomInputDTO, AddMemberToRoomInputDTOSchema } from '../../../domain/use-case/member/member-add-use-case.service';
|
||||
import { MemberSetAdminDTO } from '../../../domain/use-case/member/member-admin-use-case.service';
|
||||
import { UserRemoveListInputDTOSchema, UserRemoveListInputDTO } from '../../../domain/use-case/room/room-leave-by-id-use-case.service';
|
||||
import { UserRemoveListInputDTOSchema, UserRemoveListInputDTO } from '../../../../../core/chat/usecase/room/room-leave-by-id-use-case.service';
|
||||
import { AddMemberToRoomInputDTOSchema, AddMemberToRoomInputDTO } from 'src/app/core/chat/usecase/member/member-add-use-case.service';
|
||||
import { MemberSetAdminDTO } from 'src/app/core/chat/usecase/member/member-admin-use-case.service';
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
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';
|
||||
import { RemoveRoomMemberInput, IRemoveRoomMemberOutput } from 'src/app/core/chat/usecase/member/member-remove-socket-use-case.service';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
|
||||
+5
-5
@@ -1,16 +1,16 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
import { InstanceId } from '../../../domain/chat-service.service';
|
||||
import { MessageUpdateInput } from '../../../domain/use-case/message/message-update-by-id-use-case.service';
|
||||
import { MessageReactionInput } from '../../../domain/use-case/message/message-reaction-by-id-use-case.service';
|
||||
import { MessageUpdateInput } from '../../../../../core/chat/usecase/message/message-update-by-id-use-case.service';
|
||||
import { MessageReactionInput } from '../../../../../core/chat/usecase/message/message-reaction-by-id-use-case.service';
|
||||
import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service';
|
||||
import { filter, map } from 'rxjs/operators';
|
||||
import { SocketMessage } from 'src/app/infra/socket/signalR/signalR';
|
||||
import { IMessageSocketRepository } from 'src/app/core/chat/repository/message/message-socket-repository';
|
||||
import { MessageCreateOutPutDataDTO, MessageInputDTO } from '../../../domain/use-case/message/message-create-use-case.service';
|
||||
import { MessageMarkAsReadInput } from '../../../domain/use-case/message/message-mark-as-read-use-case.service';
|
||||
import { MessageCreateOutPutDataDTO, MessageInputDTO } from '../../../../../core/chat/usecase/message/message-create-use-case.service';
|
||||
import { MessageMarkAsReadInput } from '../../../../../core/chat/usecase/message/message-mark-as-read-use-case.service';
|
||||
import { MessageOutPutDataDTO } from 'src/app/core/chat/repository/dto/messageOutputDTO';
|
||||
import { MessageDeleteInputDTO } from '../../../domain/use-case/message/message-delete-by-id-live-use-case.service';
|
||||
import { MessageDeleteInputDTO } from '../../../../../core/chat/usecase/message/message-delete-by-id-live-use-case.service';
|
||||
import { BehaviorSubject, Observable } from 'rxjs';
|
||||
|
||||
interface sendDeliverAt {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { DataSourceReturn } from 'src/app/services/Repositorys/type';
|
||||
import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service';
|
||||
import { HttpAdapter } from 'src/app/infra/http/adapter';
|
||||
import { IMessageGetAllByRoomIdOutPut } from 'src/app/core/chat/usecase/message/message-get-all-by-room-Id';
|
||||
import { IMessageRemoteRepository } from 'src/app/core/chat/repository/message/message-remote-repository';
|
||||
import { IGetMessagesFromRoomParams, IMessageRemoteRepository } from 'src/app/core/chat/repository/message/message-remote-repository';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
@@ -21,9 +21,9 @@ export class MessageRemoteDataSourceService implements IMessageRemoteRepository
|
||||
|
||||
|
||||
// @APIReturn(MessageOutPutDTOSchema, 'get/Messages')
|
||||
async getMessagesFromRoom(id: string): DataSourceReturn<IMessageGetAllByRoomIdOutPut> {
|
||||
async getMessagesFromRoom(input: IGetMessagesFromRoomParams): DataSourceReturn<IMessageGetAllByRoomIdOutPut> {
|
||||
|
||||
var a = await this.http.get<IMessageGetAllByRoomIdOutPut>(`${this.baseUrl}/Room/${id}/Messages`)
|
||||
var a = await this.http.get<IMessageGetAllByRoomIdOutPut>(`${this.baseUrl}/Room/${input.roomId}/Messages?startDate=${encodeURIComponent(input.lastMessageDate)}`)
|
||||
|
||||
return a.map((e) => {
|
||||
return e.data
|
||||
|
||||
@@ -41,8 +41,6 @@ export class RoomLocalRepository extends DexieRepository<RoomTable, RoomTable> i
|
||||
// (modifications as Partial<RoomTable>).messages[0].sentAt = oldValue.messages?.[0]?.sentAt
|
||||
// }
|
||||
|
||||
console.log({modifications, oldValue})
|
||||
|
||||
if((modifications as Partial<RoomTable>).id || oldValue.id) {
|
||||
(modifications as Partial<RoomTable>).local = IDBoolean.false
|
||||
} else {
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Result } from 'neverthrow';
|
||||
import { HttpService } from 'src/app/services/http.service';
|
||||
import { AddMemberToRoomInputDTO } from '../../../domain/use-case/member/member-add-use-case.service';
|
||||
import { DataSourceReturn } from 'src/app/services/Repositorys/type';
|
||||
import { SessionStore } from 'src/app/store/session.service';
|
||||
import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service';
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
import { CreateRoomInputDTO, RoomOutPutDTO } from '../../../domain/use-case/room/room-create-use-case.service';
|
||||
import { CreateRoomInputDTO, RoomOutPutDTO } from '../../../../../core/chat/usecase/room/room-create-use-case.service';
|
||||
import { IRoomRemoteRepository } from 'src/app/core/chat/repository/room/room-remote-repository';
|
||||
import { RoomByIdOutputDTO } from 'src/app/module/chat/domain/use-case/room/room-get-by-id-use-case.service';
|
||||
import { RoomUpdateInputDTO, RoomUpdateOutputDTO } from 'src/app/module/chat/domain/use-case/room/room-update-by-id-use-case.service';
|
||||
import { RoomListOutPutDTO } from '../../../domain/use-case/room/room-get-list-use-case.service';
|
||||
import { RoomByIdOutputDTO } from 'src/app/core/chat/usecase/room/room-get-by-id-use-case.service';
|
||||
import { RoomUpdateInputDTO, RoomUpdateOutputDTO } from 'src/app/core/chat/usecase/room/room-update-by-id-use-case.service';
|
||||
import { RoomListOutPutDTO } from '../../../../../core/chat/usecase/room/room-get-list-use-case.service';
|
||||
import { z } from 'zod';
|
||||
import { HttpAdapter } from 'src/app/infra/http/adapter';
|
||||
import { AddMemberToRoomInputDTO } from 'src/app/core/chat/usecase/member/member-add-use-case.service';
|
||||
|
||||
const RoomByIdInputDTOSchema = z.string()
|
||||
type RoomByIdInputDTO = z.infer<typeof RoomByIdInputDTOSchema>
|
||||
|
||||
@@ -5,7 +5,7 @@ import { z } from 'zod';
|
||||
import { SocketMessage } from 'src/app/infra/socket/signalR/signalR';
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
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';
|
||||
import { CreateRoomInputDTO } from '../../../../../core/chat/usecase/room/room-create-use-case.service';
|
||||
|
||||
const listenToDeleteRoomInputSchema = z.object({
|
||||
roomId: z.string()
|
||||
|
||||
@@ -1,57 +1,56 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { MessageDeleteLiveUseCaseService } from 'src/app/module/chat/domain/use-case/message/message-delete-by-id-live-use-case.service'
|
||||
import { MessageDeleteLiveUseCaseService } from 'src/app/core/chat/usecase/message/message-delete-by-id-live-use-case.service'
|
||||
import { SessionStore } from 'src/app/store/session.service';
|
||||
import { MessageReactionInput, MessageReactionUseCaseService } from 'src/app/module/chat/domain/use-case/message/message-reaction-by-id-use-case.service';
|
||||
import { MessageUpdateInput, MessageUpdateUseCaseService } from 'src/app/module/chat/domain/use-case/message/message-update-by-id-use-case.service';
|
||||
import { MemberAdminUseCaseService, MemberSetAdminDTO } from 'src/app/module/chat/domain/use-case/member/member-admin-use-case.service';
|
||||
import { MessageCreateUseCaseService } from 'src/app/module/chat/domain/use-case/message/message-create-use-case.service';
|
||||
import { MessageReactionInput, MessageReactionUseCaseService } from 'src/app/core/chat/usecase/message/message-reaction-by-id-use-case.service';
|
||||
import { MessageUpdateInput, MessageUpdateUseCaseService } from 'src/app/core/chat/usecase/message/message-update-by-id-use-case.service';
|
||||
import { MemberAdminUseCaseService, MemberSetAdminDTO } from 'src/app/core/chat/usecase/member/member-admin-use-case.service';
|
||||
import { MessageCreateUseCaseService } from 'src/app/core/chat/usecase/message/message-create-use-case.service';
|
||||
import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service';
|
||||
import { SocketMessageDeleteUseCaseService } from 'src/app/module/chat/domain/use-case/socket/socket-message-delete-use-case.service';
|
||||
import { SocketMessageUpdateUseCaseService } from 'src/app/module/chat/domain/use-case/socket/socket-message-update-use-case.service';
|
||||
import { SocketMessageCreateUseCaseService } from 'src/app/module/chat/domain/use-case/socket/socket-message-create-use-case.service';
|
||||
import { DownloadMessageAttachmentByMessageId, DownloadMessageAttachmentUserCaseService } from 'src/app/module/chat/domain/use-case/message/message-download-attachment-user-case.service';
|
||||
import { ListenMessageByRoomIdNewUseCase } from 'src/app/module/chat/domain/use-case/message/listen-message-by-roomId.service';
|
||||
import { MemberListUpdateStatusUseCaseService } from 'src/app/module/chat/domain/use-case/socket/member-list-update-status-use-case.service';
|
||||
import { ListenMessageDeleteByRoomIdService } from './use-case/message/listene-message-delete-by-roomId.service';
|
||||
import { ListenMessageUpdateByRoomIdUseCase } from './use-case/message/listen-message-update-by-roomId.service';
|
||||
import { GetRoomByIdUseCaseService } from './use-case/room/room-get-by-id-use-case.service';
|
||||
import { DeleteRoomUseCaseService } from './use-case/room/room-delete-by-id-use-case.service';
|
||||
import { CreateRoomInputDTO, CreateRoomUseCaseService } from './use-case/room/room-create-use-case.service';
|
||||
import { RoomLeaveUseCase, UserRemoveListInputDTO } from './use-case/room/room-leave-by-id-use-case.service';
|
||||
import { SyncAllRoomMessagesService } from './use-case/message/sync-all-room-messages.service';
|
||||
import { ListenSendMessageUseCase } from './use-case/message/listen-send-message.service';
|
||||
import { SendLocalMessagesUseCaseService } from './use-case/message/messages-send-offline-use-case.service'
|
||||
import { RemoveMemberUseCaseService } from './use-case/member/-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 { SocketConnectUseCaseService } from './use-case/socket-connect-use-case.service'
|
||||
import { MessageMarkAsReadUseCaseService } from './use-case/message/message-mark-as-read-use-case.service'
|
||||
import { MessageMarkAllMessageAsReadByRoomIdInputSchema, MessageMarkAllMessageAsReadByRoomIdService } from './use-case/message/message-mark-all-message-as-read-by-room-id.service'
|
||||
import { GetRoomListUseCaseService } from 'src/app/module/chat/domain/use-case/room/room-get-list-use-case.service';
|
||||
import { SocketMessageDeleteUseCaseService } from 'src/app/core/chat/usecase/socket/socket-message-delete-use-case.service';
|
||||
import { SocketMessageUpdateUseCaseService } from 'src/app/core/chat/usecase/socket/socket-message-update-use-case.service';
|
||||
import { SocketMessageCreateUseCaseService } from 'src/app/core/chat/usecase/socket/socket-message-create-use-case.service';
|
||||
import { DownloadMessageAttachmentByMessageId, DownloadMessageAttachmentUserCaseService } from 'src/app/core/chat/usecase/message/message-download-attachment-user-case.service';
|
||||
import { ListenMessageByRoomIdNewUseCase } from 'src/app/core/chat/usecase/message/listen-message-by-roomId.service';
|
||||
import { MemberListUpdateStatusUseCaseService } from 'src/app/core/chat/usecase/socket/member-list-update-status-use-case.service';
|
||||
import { ListenMessageDeleteByRoomIdService } from 'src/app/core/chat/usecase/message/listene-message-delete-by-roomId.service';
|
||||
import { ListenMessageUpdateByRoomIdUseCase } from 'src/app/core/chat/usecase/message/listen-message-update-by-roomId.service';
|
||||
import { GetRoomByIdUseCaseService } from '../../../core/chat/usecase/room/room-get-by-id-use-case.service';
|
||||
import { DeleteRoomUseCaseService } from '../../../core/chat/usecase/room/room-delete-by-id-use-case.service';
|
||||
import { CreateRoomInputDTO, CreateRoomUseCaseService } from '../../../core/chat/usecase/room/room-create-use-case.service';
|
||||
import { RoomLeaveUseCase, UserRemoveListInputDTO } from '../../../core/chat/usecase/room/room-leave-by-id-use-case.service';
|
||||
import { SyncAllRoomMessagesService } from 'src/app/core/chat/usecase/message/sync-all-room-messages.service';
|
||||
import { ListenSendMessageUseCase } from '../../../core/chat/usecase/message/listen-send-message.service';
|
||||
import { SendLocalMessagesUseCaseService } from 'src/app/core/chat/usecase/message/messages-send-offline-use-case.service'
|
||||
import { RemoveMemberUseCaseService } from 'src/app/core/chat/usecase/member/-use-case.service'
|
||||
import { AddMemberToRoomInputDTO, AddMemberUseCaseService } from 'src/app/core/chat/usecase/member/member-add-use-case.service'
|
||||
import { MemberRemoveSocketUseCaseService, RemoveRoomMemberInput } from 'src/app/core/chat/usecase/member/member-remove-socket-use-case.service'
|
||||
import { RoomUpdateInputDTO, UpdateRoomByIdUseCaseService } from '../../../core/chat/usecase/room/room-update-by-id-use-case.service'
|
||||
import { SocketConnectUseCaseService } from 'src/app/core/chat/usecase/socket-connect-use-case.service'
|
||||
import { MessageMarkAsReadUseCaseService } from 'src/app/core/chat/usecase/message/message-mark-as-read-use-case.service'
|
||||
import { MessageMarkAllMessageAsReadByRoomIdInputSchema, MessageMarkAllMessageAsReadByRoomIdService } from 'src/app/core/chat/usecase/message/message-mark-all-message-as-read-by-room-id.service'
|
||||
import { GetRoomListUseCaseService } from 'src/app/core/chat/usecase/room/room-get-list-use-case.service';
|
||||
import { filter, map } from 'rxjs/operators';
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
import { IMessage, MessageEntity } from '../../../core/chat/entity/message';
|
||||
import { MessageAttachmentByMessageIdInput, MessageAttachmentByMessageIdUseCase } from './use-case/message/message-attachment-by-message-id.service';
|
||||
import { AddMemberToRoomInputDTO } from '../domain/use-case/member/member-add-use-case.service';
|
||||
import { MessageAttachmentByMessageIdInput, MessageAttachmentByMessageIdUseCase } from 'src/app/core/chat/usecase/message/message-attachment-by-message-id.service';
|
||||
import { RoomType } from "src/app/core/chat/entity/group";
|
||||
import { HttpListenToMessageLoadHistoryAdapter } from './adapter'
|
||||
import { HttpListenToMessageLoadHistoryUseCaseInput } from 'src/app/core/chat/usecase/message/http-listen-to-message-load-history-by-roomId-use-case';
|
||||
import { MessageSocketRepositoryService } from 'src/app/module/chat/data/repository/message/message-live-signalr-data-source.service'
|
||||
import { MessageMarkAsReadInput } from "src/app/module/chat/domain/use-case/message/message-mark-as-read-use-case.service";
|
||||
import { BoldRemoveByRoomIdInput, BoldRemoveByRoomIdService } from 'src/app/module/chat/domain/use-case/bold/bold-remove-by-room-id.service';
|
||||
import { MemberListHttpSyncUseCase } from 'src/app/module/chat/domain/use-case/member/member-list-http-sync-use-case.ts.service'
|
||||
import { RoomBoldSyncUseCaseService } from 'src/app/module/chat/domain/use-case/room/room-bold-sync-use-case.service'
|
||||
import { RoomSetLastMessageService } from 'src/app/module/chat/domain/use-case/room/room-set-last-message.service';
|
||||
import { RoomDirectOnSetIdUseCaseInputSchema, RoomDirectOnSetIdUseCaseService } from 'src/app/module/chat/domain/use-case/room/room-direct-on-set-id-use-case.service';
|
||||
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';
|
||||
import { IRoomGetLocalByIdServiceInput, RoomGetLocalByIdService } from './use-case/room/room-getlocal-by-id.service';
|
||||
import { MessageMarkAsReadInput } from "src/app/core/chat/usecase/message/message-mark-as-read-use-case.service";
|
||||
import { BoldRemoveByRoomIdInput, BoldRemoveByRoomIdService } from 'src/app/core/chat/usecase/bold/bold-remove-by-room-id.service';
|
||||
import { MemberListHttpSyncUseCase } from 'src/app/core/chat/usecase/member/member-list-http-sync-use-case.ts.service'
|
||||
import { RoomBoldSyncUseCaseService } from 'src/app/core/chat/usecase/room/room-bold-sync-use-case.service'
|
||||
import { RoomSetLastMessageService } from 'src/app/core/chat/usecase/room/room-set-last-message.service';
|
||||
import { RoomDirectOnSetIdUseCaseInputSchema, RoomDirectOnSetIdUseCaseService } from 'src/app/core/chat/usecase/room/room-direct-on-set-id-use-case.service';
|
||||
import { RoomCreateLocalDirectMessageInputDTOInputDTO, RoomCreateLocalDirectMessageService } from 'src/app/core/chat/usecase/room/room-create-local-direct-message.service';
|
||||
import { RoomGetListOnCreateUseCaseService } from 'src/app/core/chat/usecase/room/room-get-list-on-create-use-case.service';
|
||||
import { IRoomSetLocalToFalseByIdInput, RoomSetLocalToFalseByIdService } from 'src/app/core/chat/usecase/room/room-set-local-to-false-by-id.service';
|
||||
import { RoomUpdateNameSyncService } from 'src/app/core/chat/usecase/room/room-update-name-sync.service';
|
||||
import { IUserPhotoGetByIdInput, UserPhotoGetByIdUseCase } from 'src/app/core/chat/usecase/user-photo/user-photo-get-by-id-use-case.service'
|
||||
import { IMessageLocalGetByIdServiceInput, MessageLocalGetByIdService } from 'src/app/core/chat/usecase/message/message-local-get-by-id.service'
|
||||
import { ContactListService } from 'src/app/core/chat/usecase/contact/contact-list.service';
|
||||
import { IRoomGetLocalByIdServiceInput, RoomGetLocalByIdService } from '../../../core/chat/usecase/room/room-getlocal-by-id.service';
|
||||
|
||||
|
||||
export const getInstanceId = (): string => {
|
||||
|
||||
@@ -228,10 +228,6 @@
|
||||
<div class="height-100">
|
||||
<div class="timeline-container height-100 d-flex pt-10 pl-20 filter-{{segment}} flex-column" >
|
||||
|
||||
<div class="timeline-date align-center" *ngIf="isSelectedDayHasEvent && hasEventToday">
|
||||
<span >Hoje, </span> {{ todayDateFormat() }}
|
||||
</div>
|
||||
|
||||
<div class="ss-timeline timeline-mobile flex-grow-1 pr-10 text-black height-100 width-100 overflow-y-auto" >
|
||||
|
||||
<div *ngFor="let year of TimelineMDList " >
|
||||
@@ -240,7 +236,8 @@
|
||||
|
||||
<div *ngFor="let day of month.days; let i = index " class="EventListBox-container" >
|
||||
|
||||
<div class="day" *ngIf="!(i == 0 && isSelectedDayHasEvent)" >
|
||||
<div class="day" >
|
||||
<span *ngIf="i == 0 && isSelectedDayIsToday" > Hoje </span>
|
||||
{{ day.daysInfo.dayName }} <div style="text-transform: capitalize; display: inline;">{{month.monthInfo.monthName}}</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -183,7 +183,7 @@ export class AgendaPage implements OnInit {
|
||||
environment = environment
|
||||
selectedUserCalendar: number | string = null
|
||||
hasEventToday = false
|
||||
isSelectedDayHasEvent = true
|
||||
isSelectedDayIsToday = true
|
||||
|
||||
sharedCalendar: Observable<TableSharedCalendar[]>
|
||||
|
||||
@@ -854,21 +854,26 @@ export class AgendaPage implements OnInit {
|
||||
if(YearIndex == 0) {
|
||||
let MonthNameIndex = year[YearIndex].months.findIndex( x => x.monthInfo.monthName == monthName)
|
||||
if(MonthNameIndex == 0) {
|
||||
let DayNameIndex = year[YearIndex].months[MonthNameIndex].days.findIndex( x => x.daysInfo.dayName == dayName)
|
||||
if(DayNameIndex == 0) {
|
||||
this.hasEventToday = true
|
||||
} else {
|
||||
this.hasEventToday = false
|
||||
}
|
||||
} else {
|
||||
this.hasEventToday = false
|
||||
}
|
||||
} else {
|
||||
this.hasEventToday = false
|
||||
}
|
||||
let events = year[YearIndex].months[MonthNameIndex].days.filter( x => x.daysInfo.dayName == dayName)
|
||||
|
||||
for(const e of events) {
|
||||
for(const b of e.events) {
|
||||
const equal = (momentG(new Date(), 'dd MMMM yyyy', 'pt') == momentG((b as any).start, 'dd MMMM yyyy', 'pt'))
|
||||
|
||||
this.isSelectedDayHasEvent = momentG(new Date(), 'dd MMMM yyyy', 'pt') == momentG(this.eventSelectedDate, 'dd MMMM yyyy', 'pt');
|
||||
if(equal) {
|
||||
this.isSelectedDayIsToday = true
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
this.isSelectedDayIsToday = false
|
||||
|
||||
} else {
|
||||
this.isSelectedDayIsToday = false
|
||||
}
|
||||
} else {
|
||||
this.isSelectedDayIsToday = false
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -258,4 +258,3 @@
|
||||
</div>
|
||||
<div [class.header-bottom-line]="ThemeService.currentTheme == 'gov'" style="height: 5px;"></div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -176,11 +176,8 @@ export class PublicationFolderService {
|
||||
if (!found) {
|
||||
this.publicationList[folderId].push(publicationDetails)
|
||||
this.revertPublicationOrder(folderId);
|
||||
console.log('found')
|
||||
} else {
|
||||
|
||||
console.log('try')
|
||||
|
||||
let a: any = this.publicationList[folderId][findIndex]
|
||||
let b: any = publicationDetails
|
||||
|
||||
|
||||
@@ -383,7 +383,6 @@ export class ChatPage implements OnInit {
|
||||
else {
|
||||
this.roomId = null;
|
||||
this.selectedRoomId = room.$id;
|
||||
console.log('RoomSelected', room)
|
||||
this.RoomSelected = room
|
||||
this.closeAllDesktopComponents();
|
||||
this.showEmptyComponent = false;
|
||||
@@ -524,7 +523,6 @@ export class ChatPage implements OnInit {
|
||||
modal.onDidDismiss().then(e => {
|
||||
this.roomId = null;
|
||||
this.selectedRoomId = null;
|
||||
console.log('RoomSelected', room)
|
||||
this.RoomSelected = null
|
||||
})
|
||||
}
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
|
||||
<div *ngIf="attachment.fileType == MessageAttachmentFileType.Image">
|
||||
<img
|
||||
class="image-container"
|
||||
*ngIf="message.oneShot != true && attachment.blobURl != true"
|
||||
[src]="attachment.safeFile"
|
||||
(load)="onImageLoad(message, messageIndex)"
|
||||
@@ -76,6 +77,7 @@
|
||||
>
|
||||
|
||||
<img
|
||||
class="image-container"
|
||||
*ngIf="message.oneShot != true && attachment.blobURl"
|
||||
[src]="attachment.safeFile|safehtml"
|
||||
(load)="onImageLoad(message, messageIndex)"
|
||||
|
||||
@@ -545,3 +545,9 @@ ion-footer {
|
||||
.emoji-picker button:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
|
||||
.image-container {
|
||||
max-height: 400px;
|
||||
max-width: 700px;
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
<ion-content >
|
||||
|
||||
<div class="messages height-100 width-100 d-flex flex-column" #scrollMe >
|
||||
<div class="messages height-100 width-100 d-flex flex-column" #scrollMe>
|
||||
|
||||
<div
|
||||
*ngFor="let message of RoomStore.messages1[room.$id]; let messageIndex = index" class="messages-list-item-wrapper"
|
||||
@@ -87,6 +87,7 @@
|
||||
|
||||
<div *ngIf="attachment.fileType == MessageAttachmentFileType.Image">
|
||||
<img
|
||||
class="image-container"
|
||||
*ngIf="message.oneShot != true && attachment.blobURl != true"
|
||||
[src]="attachment.safeFile"
|
||||
(load)="onImageLoad(message, messageIndex)"
|
||||
@@ -94,6 +95,7 @@
|
||||
>
|
||||
|
||||
<img
|
||||
class="image-container"
|
||||
*ngIf="message.oneShot != true && attachment.blobURl"
|
||||
[src]="attachment.safeFile|safehtml"
|
||||
(load)="onImageLoad(message, messageIndex)"
|
||||
|
||||
@@ -525,3 +525,9 @@ button::-moz-focus-inner {
|
||||
color: #0782c9;
|
||||
margin: 5px 0 0 0;
|
||||
}
|
||||
|
||||
|
||||
.image-container {
|
||||
max-height: 325px;
|
||||
max-width: 300px;
|
||||
}
|
||||
|
||||
@@ -144,15 +144,20 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
|
||||
|
||||
|
||||
@HostListener('document:click', ['$event'])
|
||||
@HostListener('document:touchstart', ['$event'])
|
||||
handleClickOutside(event: Event) {
|
||||
|
||||
if (!this.handleClickActive) return;
|
||||
this.handleClickActive = false
|
||||
const clickedInside = (event.target as HTMLElement).closest('.mat-menu-content');
|
||||
|
||||
setTimeout(()=> {
|
||||
|
||||
if (!clickedInside) {
|
||||
this.selectedMessage = null;
|
||||
}
|
||||
}
|
||||
}, 100);
|
||||
|
||||
}
|
||||
|
||||
messageStatus(message: MessageViewModal) {
|
||||
if(this.allViewed(message)) {
|
||||
@@ -1059,6 +1064,7 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
|
||||
}
|
||||
|
||||
addReaction(message: any, emoji: string) {
|
||||
console.log('reaction==')
|
||||
// Logic to add reaction to the message
|
||||
this.selectedMessage = null; // Close the picker after adding reaction
|
||||
|
||||
|
||||
@@ -51,7 +51,6 @@ export class RoomStore {
|
||||
scrollToBottomClicked = ()=> {}
|
||||
|
||||
constructor(
|
||||
private messageLocalDataSourceService: MessageLocalDataSourceService,
|
||||
private RoomLocalRepository: RoomLocalRepository,
|
||||
private chatServiceService: ChatServiceService,
|
||||
private MemberListLocalRepository: MemberListLocalRepository,
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user