diff --git a/app.js b/app.js index 4da167d..5f8cdb7 100644 --- a/app.js +++ b/app.js @@ -10,9 +10,7 @@ const { limitText } = require('./libraries/helpers'); const generateHTML = require('./libraries/html-generator'); -const { - uploadFile -} = require('./libraries/bucketManager'); +const { uploadFile } = require('./libraries/bucketManager'); const generateImage = require('./libraries/image-generator'); const membersJSON = JSON.parse(fs.readFileSync('./members.json', 'utf-8')); @@ -40,7 +38,11 @@ app.post('/', async (req, res, next) => { } = req.body; await login.login(email, password); - const pages = await Promise.all([login.getTicketList(), login.getEventlist(), login.getHandshakeList()]); + const pages = await Promise.all([ + login.getTicketList(), + login.getEventlist(), + login.getHandshakeList() + ]); const attendance = login.combineShows(login.parseShowTickets(pages[0]), login.parseEvents(pages[1])); const handshakes = login.parseHandshake(pages[2]); const username = login.username; @@ -58,24 +60,20 @@ app.post('/', async (req, res, next) => { memberImagebuffers.push(membersJSON[memberName]); handshakeRanks.push(`${limitText(memberName)} - ${handshakes[i].sum} kali` || null); } - } - - if (handshakes.length === 0) { + } else { handshakeRanks.push('Tidak tersedia'); memberImagebuffers.push(membersJSON.Empty); } - if (attendance.length === 0) { - setlistRanks.push('Tidak tersedia'); - setlistImageBuffers.push(setlistJSON.Empty); - } - if (attendance.length > 0) { const length = attendance.length > 3 ? 3 : attendance.length; for (let i = 0; i < length; i++) { setlistImageBuffers.push(setlistJSON[attendance[i].showName] || null); setlistRanks.push(`${attendance[i].showName} - ${attendance[i].sum} kali` || null); } + } else { + setlistRanks.push('Tidak tersedia'); + setlistImageBuffers.push(setlistJSON.Empty); } const slug = createSlug(username); @@ -103,7 +101,10 @@ app.post('/', async (req, res, next) => { userNameText: username }); - const results = await Promise.all([uploadFile(`share/${slug}.png`, 'image/png', Buffer.from(image)), uploadFile(`share/${slug}.html`, 'text/html', Buffer.from(html))]); + const results = await Promise.all([ + uploadFile(`share/${slug}.png`, 'image/png', Buffer.from(image)), + uploadFile(`share/${slug}.html`, 'text/html', Buffer.from(html)) + ]); if (results) { res.send({ resultUrl: `https://2020.ngidol.club/share/${slug}.html` diff --git a/libraries/bucketManager.js b/libraries/bucketManager.js index d6751b6..a28d9c9 100644 --- a/libraries/bucketManager.js +++ b/libraries/bucketManager.js @@ -1,12 +1,10 @@ -const { - Storage -} = require('@google-cloud/storage'); +const { Storage } = require('@google-cloud/storage'); const storage = new Storage(); const bucket = storage.bucket('2020.ngidol.club'); -module.exports.uploadFile = async (filename, contentType, buffer) => { +module.exports.uploadFile = (filename, contentType, buffer) => { const file = bucket.file(filename); - return await file.save(buffer, { + return file.save(buffer, { metadata: { contentType: contentType }, diff --git a/libraries/loginPage.js b/libraries/loginPage.js index 56d444c..762184f 100644 --- a/libraries/loginPage.js +++ b/libraries/loginPage.js @@ -1,11 +1,6 @@ -require('dotenv').config(); const got = require('got'); -const { - CookieJar -} = require('tough-cookie'); -const { - JSDOM -} = require('jsdom'); +const { CookieJar } = require('tough-cookie'); +const { JSDOM } = require('jsdom'); const ticketListUrl = 'mypage/ticket-list?lang=id'; const eventListUrl = 'mypage/event-list?lang=id'; @@ -16,14 +11,6 @@ const setlist = ['Saka Agari', 'Matahari Milikku', 'Pajama Drive', 'Fajar Sang I const isSetlistName = text => setlist.some(setlistTitle => text ? text.includes(setlistTitle) : ''); const getSetlistName = text => setlist.find(setlistTitle => text.includes(setlistTitle)); - -// const { -// bootstrap -// } = require('global-agent'); -const e = require('express'); -// bootstrap(); - - class Login { constructor() { const cookieJar = new CookieJar(); @@ -47,9 +34,7 @@ class Login { throw new Error("Alamat email atau Kata kunci salah"); } - const { - document - } = (new JSDOM(resp.body)).window; + const { document } = (new JSDOM(resp.body)).window; this.username = document.querySelector('.pinx').innerHTML; } catch (e) { @@ -61,9 +46,9 @@ class Login { } } - async getTicketList() { + getTicketList() { try { - return await this.req.get(ticketListUrl, { + return this.req.get(ticketListUrl, { resolveBodyOnly: true }); } catch (error) { @@ -75,9 +60,9 @@ class Login { } } - async getEventlist() { + getEventlist() { try { - return await this.req.get(eventListUrl, { + return this.req.get(eventListUrl, { resolveBodyOnly: true }); } catch (error) { @@ -89,9 +74,9 @@ class Login { } } - async getHandshakeList() { + getHandshakeList() { try { - return await this.req(handshakeUrl, { + return this.req(handshakeUrl, { resolveBodyOnly: true }); } catch (error) {