36 lines
2.3 KiB
C#

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 SendAttendanceMessageAsync(Guid projectId, string Name, ATTENDANCE_MARK_TYPE markType, Guid employeeId, Guid tenantId);
Task SendAssignTaskMessageAsync(Guid workItemId, string name, List<Guid> 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<Guid> 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<ProjectAllocation> 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<Guid> bucketIds, Notification notification, Guid tenantId);
Task SendContactNoteAsync(Guid contactId, List<Guid> bucketIds, Notification notification, Guid tenantId);
Task SendBucketAsync(Guid bucketId, Notification notification, Guid tenantId);
Task SendAssignBucketAsync(List<Guid> 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);
}
}