upd: api mobile
Deskripsi: - tambah kalender divisi - edit divisi kalender No Isues
This commit is contained in:
@@ -67,6 +67,7 @@ export async function GET(request: Request, context: { params: { id: string } })
|
||||
const timeStart = moment.utc(dataCalender?.timeStart).format("HH:mm")
|
||||
const timeEnd = moment.utc(dataCalender?.timeEnd).format("HH:mm")
|
||||
const dateStart = moment.utc(dataCalender?.dateStart).format("LL")
|
||||
const dateStartFormat = moment.utc(dataCalender?.dateStart).format("DD-MM-YYYY")
|
||||
const idCalendar = data?.DivisionCalendar.id
|
||||
const title = data?.DivisionCalendar?.title
|
||||
const desc = data?.DivisionCalendar?.desc
|
||||
@@ -75,7 +76,7 @@ export async function GET(request: Request, context: { params: { id: string } })
|
||||
const repeatValue = data?.DivisionCalendar?.repeatValue
|
||||
|
||||
|
||||
dataFix = { ...dataCalender, timeStart, timeEnd, dateStart, idCalendar, title, desc, linkMeet, repeatEventTyper, repeatValue }
|
||||
dataFix = { ...dataCalender, timeStart, timeEnd, dateStart, dateStartFormat, idCalendar, title, desc, linkMeet, repeatEventTyper, repeatValue }
|
||||
} else if (kategori == "member") {
|
||||
const member = await prisma.divisionCalendarMember.findMany({
|
||||
where: {
|
||||
@@ -192,6 +193,7 @@ export async function PUT(request: Request, context: { params: { id: string } })
|
||||
);
|
||||
}
|
||||
|
||||
const dateStartFix = moment(dateStart, 'DD-MM-YYYY').format('YYYY-MM-DD')
|
||||
const y = new Date('1970-01-01 ' + timeStart)
|
||||
const x = new Date('1970-01-01 ' + timeEnd)
|
||||
const timeStartFix = new Date(y.getTime() - (y.getTimezoneOffset() * 60000)).toISOString()
|
||||
@@ -206,7 +208,7 @@ export async function PUT(request: Request, context: { params: { id: string } })
|
||||
desc: desc,
|
||||
createdBy: String(userId),
|
||||
timeStart: timeStartFix,
|
||||
dateStart: new Date(dateStart),
|
||||
dateStart: new Date(dateStartFix),
|
||||
timeEnd: timeEndFix,
|
||||
linkMeet: linkMeet,
|
||||
repeatEventTyper: repeatEventTyper,
|
||||
@@ -229,7 +231,7 @@ export async function PUT(request: Request, context: { params: { id: string } })
|
||||
const rule = new RRule({
|
||||
freq,
|
||||
interval: 1,
|
||||
dtstart: new Date(dateStart),
|
||||
dtstart: new Date(dateStartFix),
|
||||
count: repeatValue
|
||||
});
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ export async function GET(request: Request) {
|
||||
//CREATE CALENDER
|
||||
export async function POST(request: Request) {
|
||||
try {
|
||||
const { idDivision, title, desc, timeStart, timeEnd, dateStart, dateEnd, repeatEventTyper, member, linkMeet, repeatValue, user } = (await request.json());
|
||||
const { idDivision, title, desc, timeStart, timeEnd, dateStart, dateEnd, repeatEventType, member, linkMeet, repeatValue, user } = (await request.json());
|
||||
|
||||
const userMobile = await funGetUserById({ id: String(user) })
|
||||
if (userMobile.id == "null" || userMobile.id == undefined || userMobile.id == "") {
|
||||
@@ -126,16 +126,19 @@ export async function POST(request: Request) {
|
||||
const timeStartFix = new Date(y.getTime() - (y.getTimezoneOffset() * 60000)).toISOString()
|
||||
const timeEndFix = new Date(x.getTime() - (x.getTimezoneOffset() * 60000)).toISOString()
|
||||
|
||||
const dateStartFix = moment(dateStart, 'DD-MM-YYYY').format('YYYY-MM-DD')
|
||||
|
||||
|
||||
const data = await prisma.divisionCalendar.create({
|
||||
data: {
|
||||
idDivision,
|
||||
createdBy: String(userId),
|
||||
title,
|
||||
dateStart: new Date(dateStart),
|
||||
dateStart: new Date(dateStartFix),
|
||||
timeStart: timeStartFix,
|
||||
timeEnd: timeEndFix,
|
||||
linkMeet,
|
||||
repeatEventTyper,
|
||||
repeatEventTyper: repeatEventType,
|
||||
desc,
|
||||
repeatValue: Number(repeatValue)
|
||||
},
|
||||
@@ -145,18 +148,18 @@ export async function POST(request: Request) {
|
||||
});
|
||||
|
||||
|
||||
const freq: Frequency = repeatEventTyper === "yearly" ? RRule.YEARLY :
|
||||
repeatEventTyper === "monthly" ? RRule.MONTHLY :
|
||||
repeatEventTyper === "weekly" ? RRule.WEEKLY :
|
||||
repeatEventTyper === "daily" ? RRule.DAILY :
|
||||
repeatEventTyper === "hourly" ? RRule.HOURLY :
|
||||
repeatEventTyper === "minutely" ? RRule.MINUTELY :
|
||||
const freq: Frequency = repeatEventType === "yearly" ? RRule.YEARLY :
|
||||
repeatEventType === "monthly" ? RRule.MONTHLY :
|
||||
repeatEventType === "weekly" ? RRule.WEEKLY :
|
||||
repeatEventType === "daily" ? RRule.DAILY :
|
||||
repeatEventType === "hourly" ? RRule.HOURLY :
|
||||
repeatEventType === "minutely" ? RRule.MINUTELY :
|
||||
RRule.SECONDLY;
|
||||
|
||||
const rule = new RRule({
|
||||
freq,
|
||||
interval: 1,
|
||||
dtstart: new Date(dateStart),
|
||||
dtstart: new Date(dateStartFix),
|
||||
count: repeatValue
|
||||
});
|
||||
|
||||
@@ -173,12 +176,14 @@ export async function POST(request: Request) {
|
||||
data: hasil
|
||||
})
|
||||
|
||||
|
||||
const omitMember = member.map((v: any) => ({
|
||||
..._.omit(v, ["name", "idUser", "img"]),
|
||||
idCalendar: data.id,
|
||||
idUser: v.idUser
|
||||
}))
|
||||
|
||||
|
||||
const insertMember = await prisma.divisionCalendarMember.createMany({
|
||||
data: omitMember
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user