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