using FirebaseAdmin.Messaging; using Marco.Pms.Model.Dtos.Attendance; using Marco.Pms.Model.Expenses; using Marco.Pms.Model.Projects; namespace Marco.Pms.Services.Service.ServiceInterfaces { public interface IFirebaseService { Task SendLoginMessageAsync(string name, Guid tenentId); Task SendLoginOnAnotherDeviceMessageAsync(Guid employeeId, string fcmToken, Guid tenentId); Task SendEmployeeSuspendMessageAsync(Guid employeeId, Guid tenantId); Task SendAttendanceMessageAsync(Guid projectId, string Name, ATTENDANCE_MARK_TYPE markType, Guid employeeId, Guid tenantId); Task SendAssignTaskMessageAsync(Guid workItemId, string name, List teamMembers, Guid tenantId); Task SendReportTaskMessageAsync(Guid taskAllocationId, string name, Guid tenantId); Task SendTaskCommentMessageAsync(Guid taskAllocationId, string name, Guid tenantId); Task SendApproveTaskMessageAsync(Guid taskAllocationId, string name, Guid tenantId); Task SendModifyTaskMeaasgeAsync(List workItemIds, string name, bool IsExist, Guid tenantId); Task SendModifyWorkAreaMeaasgeAsync(Guid workAreaId, string name, bool IsExist, Guid tenantId); Task SendModifyFloorMeaasgeAsync(Guid floorId, string name, bool IsExist, Guid tenantId); Task SendModifyBuildingMeaasgeAsync(Guid buildingId, string name, bool IsExist, Guid tenantId); Task SendDeleteTaskMeaasgeAsync(Guid workItemId, string name, Guid tenantId); Task SendProjectAllocationMessageAsync(List projectAllocations, string name, Guid tenantId); Task SendModifyProjectMessageAsync(Project project, string name, bool IsExist, Guid tenantId); Task SendExpenseMessageAsync(Expenses expenses, string name, Guid tenantId); Task SendContactAsync(Guid contactId, List bucketIds, Notification notification, Guid tenantId); Task SendContactNoteAsync(Guid contactId, List bucketIds, Notification notification, Guid tenantId); Task SendBucketAsync(Guid bucketId, Notification notification, Guid tenantId); Task SendAssignBucketAsync(List employeeIds, Notification notification, Guid tenantId); Task SendEmployeeDocumentMessageAsync(Guid documentId, Guid employeeId, Notification notification, Guid tenantId); Task SendProjectDocumentMessageAsync(Guid documentId, Guid projectId, Notification notification, Guid tenantId); } }