1
1
// noinspection ES6PreferShortImport
2
2
3
+ import type { VercelRequest , VercelResponse } from '@vercel/node'
3
4
import { Octokit } from '@octokit/core'
4
5
import { v4 as uuidv4 } from 'uuid'
5
6
import * as yaml from 'yaml'
6
7
import { createAppAuth } from '@octokit/auth-app'
7
8
import { AkismetClient } from 'akismet-api'
8
9
import { createPullRequest } from 'octokit-plugin-create-pull-request'
9
- import { site } from '../../site/site '
10
+ import type { Comment } from '../../types '
10
11
11
- export default async function handler ( request , response ) {
12
+ export default async function handler ( request : VercelRequest , response : VercelResponse ) {
12
13
if ( ! allowCors ( request , response ) ) {
13
14
return
14
15
}
@@ -22,7 +23,7 @@ export default async function handler (request, response) {
22
23
}
23
24
24
25
const id = uuidv4 ( )
25
- const comment = {
26
+ const comment : Comment = {
26
27
_id : id ,
27
28
level : request . body . level ,
28
29
lesson : request . body . lesson ,
@@ -52,8 +53,8 @@ export default async function handler (request, response) {
52
53
53
54
const title = `Nouveau commentaire par ${ comment . author } (${ id } )`
54
55
const githubResponse = await octokit . createPullRequest ( {
55
- owner : site . github . username ,
56
- repo : site . github . repository ,
56
+ owner : 'Skyost' , // TODO: Use " site".
57
+ repo : 'Bacomathiques' ,
57
58
title,
58
59
body : `Nouveau commentaire sur Bacomathiques !
59
60
@@ -92,9 +93,9 @@ export default async function handler (request, response) {
92
93
} )
93
94
}
94
95
95
- function allowCors ( request , response ) {
96
+ function allowCors ( request : VercelRequest , response : VercelResponse ) {
96
97
response . setHeader ( 'Access-Control-Allow-Credentials' , 'true' )
97
- response . setHeader ( 'Access-Control-Allow-Origin' , site . host )
98
+ response . setHeader ( 'Access-Control-Allow-Origin' , 'https://bacomathiqu.es' ) // TODO: Same here.
98
99
// response.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000')
99
100
response . setHeader ( 'Access-Control-Allow-Methods' , 'GET,OPTIONS,PATCH,DELETE,POST,PUT' )
100
101
response . setHeader (
@@ -108,7 +109,7 @@ function allowCors (request, response) {
108
109
return true
109
110
}
110
111
111
- async function akismetSpam ( request , comment ) {
112
+ async function akismetSpam ( request : VercelRequest , comment : Comment ) {
112
113
if ( ! process . env . ASKIMET_API_KEY ) {
113
114
return true
114
115
}
@@ -119,7 +120,7 @@ async function akismetSpam (request, comment) {
119
120
} )
120
121
121
122
return await client . checkSpam ( {
122
- ip : request . headers [ 'x-forwarded-for' ] . toString ( ) ,
123
+ ip : request . headers [ 'x-forwarded-for' ] ! . toString ( ) ,
123
124
useragent : request . headers [ 'user-agent' ] ,
124
125
content : comment . message ,
125
126
name : comment . author ,
0 commit comments