diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..a20502b --- /dev/null +++ b/.prettierrc @@ -0,0 +1,4 @@ +{ + "singleQuote": true, + "trailingComma": "all" +} diff --git a/CATATAN_GMAIL_MAILER.md b/CATATAN_GMAIL_MAILER.md deleted file mode 100644 index d07cc55..0000000 --- a/CATATAN_GMAIL_MAILER.md +++ /dev/null @@ -1,9 +0,0 @@ -# Catatan Konfigurasi Gmail Mailer - -Saya catat karena konfigurasinya lumayan susah awalnya - -- Turtorial Konfigurasi APInya: - https://www.youtube.com/watch?v=JJ44WA_eV8E -- Jangan lupa cek komentarnya *Nikolai Stakheiko* biar bisa jalan -- Boleh cek ini buat menuju ke URL console API-nya: - https://developers.google.com/gmail/api/quickstart/js \ No newline at end of file diff --git a/README.md b/README.md index b12f454..93bacd1 100644 --- a/README.md +++ b/README.md @@ -2,20 +2,13 @@ Backend ini hanya digunakan untuk mengirim email konfirmasi pendaftaran ke member yang baru daftar. -Untuk menggunakan GMAIL API silahkan lihat sebuah catatan di file [CATATAN_GMAIL_MAILER.md](./CATATAN_GMAIL_MAILER.md). - Untuk bagian frontend dapat dilihat di [Frontend-Web-Pendaftaran-KoLU](https://github.com/KomunitasLinuxUPN/Website-Pendaftaran-KoLU.git). --- ## Untuk Para Kontributor dan _Maintainer_ -#### Tentang Ekstensi - - Dianjurkan untuk memasang ekstensi ESLint untuk pengguna VSCode, karena proyek ini menggunakan ESLint untuk menjaga kualitas dan konsistensi kode. - -#### Tentang _commit_ - - Dimohon untuk tidak melakukan _commit_ langsung ke _branch main_. Dimohon untuk membuat _branch_ baru untuk setiap pekerjaan anda, lalu _push_ branch tersebut ke _repository_ ini dan lakukan _pull request_ ke _branch main_. --- @@ -36,6 +29,14 @@ $ npm run dev $ npm start ``` +## Catatan Konfigurasi Gmail Mailer + +- Turtorial Konfigurasi APInya: + https://www.youtube.com/watch?v=JJ44WA_eV8E +- Jangan lupa cek komentarnya *Nikolai Stakheiko* biar bisa jalan +- Boleh cek ini buat menuju ke URL console API-nya: + https://developers.google.com/gmail/api/quickstart/js + --- > Sebagian isi README mengutip dari README [web-pendaftaran-seed](https://github.com/pps-ti/web-pendaftaran-seed) milik Lab PPS-TI UPN "Veteran" Jawa Timur diff --git a/package.json b/package.json index 1e3c355..68fd3d3 100644 --- a/package.json +++ b/package.json @@ -1,21 +1,11 @@ { "name": "backend-pendaftaran-kolu", - "version": "1.1.0", - "description": "Backend Web Pendaftaran KoLU", + "private": true, "main": "dist/app.js", "scripts": { "dev": "nodemon dist/app.js", "start": "node dist/app.js" }, - "keywords": [ - "node", - "typescript", - "express", - "gmailer", - "nodemailer" - ], - "author": "mramirid", - "license": "ISC", "dependencies": { "body-parser": "^1.19.0", "cors": "^2.8.5", @@ -39,7 +29,7 @@ "eslint-plugin-import": "^2.22.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^4.2.1", - "nodemon": "^2.0.6", - "typescript": "^4.1.2" + "nodemon": "^2.0.15", + "typescript": "^4.5.3" } } diff --git a/src/app.ts b/src/app.ts index ffe7a7e..2b282ce 100644 --- a/src/app.ts +++ b/src/app.ts @@ -20,19 +20,19 @@ dotenv.config(); * EmailSendedResponse adalah struktur response data balikan dari Gmail API * ketika email konfirmasi berhasil dikirim */ -interface EmailSendedResponse { - accepted: string[] - rejected: string[] - envelopeTime: number - messageTime: number - messageSize: number - response: string +type EmailSendedResponse = { + accepted: string[]; + rejected: string[]; + envelopeTime: number; + messageTime: number; + messageSize: number; + response: string; envelope: { - from: string - to: string[] - } - messageId: string -} + from: string; + to: string[]; + }; + messageId: string; +}; /* * RegConfirmBody adalah struktur request body yang akan dikirim oleh frontend @@ -41,10 +41,10 @@ interface EmailSendedResponse { * Struktur RegConfirmBody disini HARUS MIRIP dengan * struktur RegConfirmBody yang ada di projek frontend */ -interface RegConfirmBody { - destEmail: string - confirmationURL: string -} +type RegConfirmBody = { + destEmail: string; + confirmationURL: string; +}; /* * Gmailer Middleware @@ -58,7 +58,7 @@ interface RegConfirmBody { */ app.use(async (req, res) => { try { - const { destEmail, confirmationURL } = (req.body as RegConfirmBody); + const { destEmail, confirmationURL } = req.body as RegConfirmBody; const emailTemplate = await ejs.renderFile( Path.join(__dirname, '/templates/confirmation.ejs'), @@ -114,7 +114,7 @@ app.use(async (req, res) => { moreInfo: error, }); }); - } catch (err) { + } catch (err: any) { res.status(400).send({ message: err.message || 'An error occurred', });