304 lines
9.2 KiB
TypeScript
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
|