File tree Expand file tree Collapse file tree 12 files changed +133
-142
lines changed
Expand file tree Collapse file tree 12 files changed +133
-142
lines changed Original file line number Diff line number Diff line change 1+ import moment from "moment" ;
2+ import { createDbClient } from "../../gql/lib/db" ;
3+ import { DAY_FORMAT } from "../../gql/constants" ;
4+ import { NextRequest , NextResponse } from "next/server" ;
5+
6+ export const dynamic = "force-dynamic" ;
7+
8+ async function logEventHandler ( request : NextRequest ) {
9+ const { date, event } = await request . json ( ) ;
10+ const momentDate = moment ( date ) . utc ( ) ;
11+
12+ if ( ! event ) {
13+ return NextResponse . json ( { error : "Date is missing" } , { status : 400 } ) ;
14+ }
15+
16+ if ( ! date ) {
17+ return NextResponse . json ( { error : "Event is missing" } , { status : 400 } ) ;
18+ }
19+
20+ try {
21+ const db = await createDbClient ( ) ;
22+ const day = momentDate . format ( DAY_FORMAT ) ;
23+
24+ await db . workTimetable . updateOne (
25+ { day : { $eq : day } } ,
26+ {
27+ $push : { events : event } ,
28+ $setOnInsert : {
29+ date : new Date ( momentDate . toISOString ( ) ) ,
30+ day,
31+ } ,
32+ } ,
33+ { upsert : true }
34+ ) ;
35+
36+ return NextResponse . json ( { } , { status : 200 } ) ;
37+ } catch ( exception ) {
38+ return NextResponse . json ( { error : exception } , { status : 500 } ) ;
39+ }
40+ }
41+
42+ export { logEventHandler as POST } ;
Original file line number Diff line number Diff line change 1+ import { logTime } from "../../gql/utils/log-time" ;
2+ import { NextRequest , NextResponse } from "next/server" ;
3+
4+ export const dynamic = "force-dynamic" ;
5+
6+ async function logHomeArriveHandler ( request : NextRequest ) {
7+ const { date } = await request . json ( ) ;
8+
9+ if ( ! date ) {
10+ return NextResponse . json ( { error : "Date is missing" } , { status : 400 } ) ;
11+ }
12+
13+ try {
14+ await logTime ( date , "homeArriveTime" ) ;
15+
16+ return NextResponse . json ( { } , { status : 200 } ) ;
17+ } catch ( exception ) {
18+ return NextResponse . json ( { error : exception } , { status : 500 } ) ;
19+ }
20+ }
21+
22+ export { logHomeArriveHandler as POST } ;
Original file line number Diff line number Diff line change 1+ import { logTime } from "../../gql/utils/log-time" ;
2+ import { NextRequest , NextResponse } from "next/server" ;
3+
4+ export const dynamic = "force-dynamic" ;
5+
6+ async function logHomeLeaveHandler ( request : NextRequest ) {
7+ const { date } = await request . json ( ) ;
8+
9+ if ( ! date ) {
10+ return NextResponse . json ( { error : "Date is missing" } , { status : 400 } ) ;
11+ }
12+
13+ try {
14+ await logTime ( date , "homeLeaveTime" ) ;
15+
16+ return NextResponse . json ( { } , { status : 200 } ) ;
17+ } catch ( exception ) {
18+ return NextResponse . json ( { error : exception } , { status : 500 } ) ;
19+ }
20+ }
21+
22+ export { logHomeLeaveHandler as POST } ;
Original file line number Diff line number Diff line change 1+ import { logTime } from "../../gql/utils/log-time" ;
2+ import { NextRequest , NextResponse } from "next/server" ;
3+
4+ export const dynamic = "force-dynamic" ;
5+
6+ async function logWorkArriveHandler ( request : NextRequest ) {
7+ const { date } = await request . json ( ) ;
8+
9+ if ( ! date ) {
10+ return NextResponse . json ( { error : "Date is missing" } , { status : 400 } ) ;
11+ }
12+
13+ try {
14+ await logTime ( date , "workArriveTime" ) ;
15+
16+ return NextResponse . json ( { } , { status : 200 } ) ;
17+ } catch ( exception ) {
18+ return NextResponse . json ( { error : exception } , { status : 500 } ) ;
19+ }
20+ }
21+
22+ export { logWorkArriveHandler as POST } ;
Original file line number Diff line number Diff line change 1+ import { logTime } from "../../gql/utils/log-time" ;
2+ import { NextRequest , NextResponse } from "next/server" ;
3+
4+ async function logWorkLeaveHandler ( request : NextRequest ) {
5+ const { date } = await request . json ( ) ;
6+
7+ if ( ! date ) {
8+ return NextResponse . json ( { error : "Date is missing" } , { status : 400 } ) ;
9+ }
10+
11+ try {
12+ await logTime ( date , "workLeaveTime" ) ;
13+
14+ return NextResponse . json ( { } , { status : 200 } ) ;
15+ } catch ( exception ) {
16+ return NextResponse . json ( { error : exception } , { status : 500 } ) ;
17+ }
18+ }
19+
20+ export { logWorkLeaveHandler as POST } ;
Original file line number Diff line number Diff line change 1- export const IS_DEV = process . env . NODE_ENV === ' development' ;
2- export const DEVELOPMENT_DAY = ' 2019-12-12' ;
3- export const DATE_FORMAT = ' YYYY-MM-DD' ;
4- export const MONTH_DATE_FORMAT = ' YYYY-MM' ;
1+ export const IS_DEV = process . env . NODE_ENV === " development" ;
2+ export const DEVELOPMENT_DAY = " 2019-11-14" ;
3+ export const DATE_FORMAT = " YYYY-MM-DD" ;
4+ export const MONTH_DATE_FORMAT = " YYYY-MM" ;
Original file line number Diff line number Diff line change @@ -7,9 +7,7 @@ const MONGODB_URL = `mongodb+srv://${username}:${password}@cluster0-uk48d.mongod
77
88export const createDbClient = async ( ) : Promise < IDB > => {
99 try {
10- const client = await MongoClient . connect ( MONGODB_URL , {
11- // useUnifiedTopology: true,
12- } ) ;
10+ const client = await MongoClient . connect ( MONGODB_URL ) ;
1311
1412 const db = client . db ( process . env . DB_NAME ) ;
1513 const workTimetable = db . collection ( "workTimetable" ) ;
Load Diff This file was deleted.
Load Diff This file was deleted.
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments