changemaker.lite/api/dist/modules/map/shifts/shifts.service.d.ts

304 lines
9.2 KiB
TypeScript

import type { CreateShiftInput, UpdateShiftInput, ListShiftsInput, AddSignupInput, PublicSignupInput } from './shifts.schemas';
export declare const shiftsService: {
findAll(filters: ListShiftsInput): Promise<{
shifts: ({
_count: {
signups: number;
};
cut: {
id: string;
name: string;
} | null;
meeting: {
id: string;
title: string;
isActive: boolean;
slug: string;
jitsiRoom: string;
} | null;
} & {
status: import(".prisma/client").$Enums.ShiftStatus;
date: Date;
id: string;
createdAt: Date;
updatedAt: Date;
location: string | null;
title: string;
description: string | null;
createdBy: string | null;
isPublic: boolean;
cutId: string | null;
startTime: string;
endTime: string;
gancioEventId: number | null;
meetingId: string | null;
seriesId: string | null;
isException: boolean;
maxVolunteers: number;
currentVolunteers: number;
})[];
pagination: {
page: number;
limit: number;
total: number;
totalPages: number;
};
}>;
findById(id: string): Promise<{
_count: {
signups: number;
};
cut: {
id: string;
name: string;
} | null;
meeting: {
id: string;
title: string;
isActive: boolean;
slug: string;
jitsiRoom: string;
} | null;
signups: ({
user: {
id: string;
email: string;
name: string | null;
phone: string | null;
} | null;
} & {
status: import(".prisma/client").$Enums.SignupStatus;
id: string;
userId: string | null;
userEmail: string;
shiftId: string;
userName: string | null;
shiftTitle: string | null;
userPhone: string | null;
signupDate: Date;
signupSource: import(".prisma/client").$Enums.SignupSource;
})[];
} & {
status: import(".prisma/client").$Enums.ShiftStatus;
date: Date;
id: string;
createdAt: Date;
updatedAt: Date;
location: string | null;
title: string;
description: string | null;
createdBy: string | null;
isPublic: boolean;
cutId: string | null;
startTime: string;
endTime: string;
gancioEventId: number | null;
meetingId: string | null;
seriesId: string | null;
isException: boolean;
maxVolunteers: number;
currentVolunteers: number;
}>;
create(data: CreateShiftInput, userId: string): Promise<{
status: import(".prisma/client").$Enums.ShiftStatus;
date: Date;
id: string;
createdAt: Date;
updatedAt: Date;
location: string | null;
title: string;
description: string | null;
createdBy: string | null;
isPublic: boolean;
cutId: string | null;
startTime: string;
endTime: string;
gancioEventId: number | null;
meetingId: string | null;
seriesId: string | null;
isException: boolean;
maxVolunteers: number;
currentVolunteers: number;
}>;
update(id: string, data: UpdateShiftInput): Promise<{
status: import(".prisma/client").$Enums.ShiftStatus;
date: Date;
id: string;
createdAt: Date;
updatedAt: Date;
location: string | null;
title: string;
description: string | null;
createdBy: string | null;
isPublic: boolean;
cutId: string | null;
startTime: string;
endTime: string;
gancioEventId: number | null;
meetingId: string | null;
seriesId: string | null;
isException: boolean;
maxVolunteers: number;
currentVolunteers: number;
}>;
delete(id: string): Promise<void>;
createMeetingForShift(shiftId: string, userId: string): Promise<{
id: string;
createdAt: Date;
updatedAt: Date;
title: string;
isActive: boolean;
description: string | null;
slug: string;
createdByUserId: string;
jitsiRoom: string;
startTime: Date | null;
endTime: Date | null;
}>;
removeMeetingFromShift(shiftId: string): Promise<void>;
getStats(): Promise<{
total: number;
open: number;
full: number;
cancelled: number;
upcoming: number;
totalSignups: number;
}>;
getSignups(shiftId: string): Promise<({
user: {
id: string;
email: string;
name: string | null;
phone: string | null;
} | null;
} & {
status: import(".prisma/client").$Enums.SignupStatus;
id: string;
userId: string | null;
userEmail: string;
shiftId: string;
userName: string | null;
shiftTitle: string | null;
userPhone: string | null;
signupDate: Date;
signupSource: import(".prisma/client").$Enums.SignupSource;
})[]>;
addSignup(shiftId: string, data: AddSignupInput): Promise<{
status: import(".prisma/client").$Enums.SignupStatus;
id: string;
userId: string | null;
userEmail: string;
shiftId: string;
userName: string | null;
shiftTitle: string | null;
userPhone: string | null;
signupDate: Date;
signupSource: import(".prisma/client").$Enums.SignupSource;
}>;
removeSignup(signupId: string): Promise<void>;
publicSignup(shiftId: string, data: PublicSignupInput): Promise<{
signup: {
status: import(".prisma/client").$Enums.SignupStatus;
id: string;
userId: string | null;
userEmail: string;
shiftId: string;
userName: string | null;
shiftTitle: string | null;
userPhone: string | null;
signupDate: Date;
signupSource: import(".prisma/client").$Enums.SignupSource;
};
isNewUser: boolean;
}>;
cancelPublicSignup(shiftId: string, userEmail: string): Promise<void>;
getUpcomingForVolunteer(userId: string): Promise<{
isSignedUp: boolean;
status: import(".prisma/client").$Enums.ShiftStatus;
date: Date;
id: string;
location: string | null;
title: string;
description: string | null;
meeting: {
id: string;
isActive: boolean;
slug: string;
} | null;
startTime: string;
endTime: string;
maxVolunteers: number;
currentVolunteers: number;
}[]>;
volunteerSignup(shiftId: string, userId: string): Promise<{
status: import(".prisma/client").$Enums.SignupStatus;
id: string;
userId: string | null;
userEmail: string;
shiftId: string;
userName: string | null;
shiftTitle: string | null;
userPhone: string | null;
signupDate: Date;
signupSource: import(".prisma/client").$Enums.SignupSource;
}>;
cancelVolunteerSignup(shiftId: string, userId: string): Promise<void>;
getMySignups(userId: string): Promise<({
shift: {
status: import(".prisma/client").$Enums.ShiftStatus;
date: Date;
id: string;
location: string | null;
title: string;
description: string | null;
meeting: {
id: string;
isActive: boolean;
slug: string;
} | null;
startTime: string;
endTime: string;
maxVolunteers: number;
currentVolunteers: number;
};
} & {
status: import(".prisma/client").$Enums.SignupStatus;
id: string;
userId: string | null;
userEmail: string;
shiftId: string;
userName: string | null;
shiftTitle: string | null;
userPhone: string | null;
signupDate: Date;
signupSource: import(".prisma/client").$Enums.SignupSource;
})[]>;
getPublicShifts(): Promise<{
status: import(".prisma/client").$Enums.ShiftStatus;
date: Date;
id: string;
location: string | null;
title: string;
description: string | null;
meeting: {
id: string;
isActive: boolean;
slug: string;
} | null;
startTime: string;
endTime: string;
maxVolunteers: number;
currentVolunteers: number;
}[]>;
emailShiftDetails(shiftId: string): Promise<{
sent: number;
failed: number;
}>;
getCalendarData(startDate: string, endDate: string): Promise<{
dates: Record<string, {
count: number;
shifts: any[];
}>;
}>;
};
//# sourceMappingURL=shifts.service.d.ts.map