UNPKG

jkt48connect-cli

Version:

CLI dan modul untuk mengakses data dari API JKT48Connect, termasuk data member, teater, event, pembayaran, dan lainnya.

98 lines (92 loc) 3.55 kB
#!/usr/bin/env node const checkApiKey = require("./modules/checkApiKey"); const { getTheater, getTheaterDetail } = require("./modules/theater"); const { getEvents, getEventDetail } = require("./modules/events"); const { getMemberDetail, getAllMembers } = require("./modules/member"); const { getLive, getRecentLive } = require("./modules/live"); const { createPayment, checkPaymentStatus } = require("./modules/payment"); const { getNews, getNewsDetail } = require("./modules/news"); // Import fungsi dari news.js if (require.main === module) { const args = process.argv.slice(2); const command = args[0]; const apiKey = args[1]; const id = args[2]; if (!command || !apiKey) { console.error("Usage: <command> <api_key> [additional_params]"); console.error( "Commands: check, theater, events, eventDetail, theaterDetail, memberDetail, allMembers, live, recentLive, createPayment, checkPaymentStatus, news, newsDetail" ); process.exit(1); } switch (command) { case "check": checkApiKey(apiKey).then((data) => console.log(data)).catch(console.error); break; case "theater": getTheater(apiKey).then((data) => console.log(data)).catch(console.error); break; case "events": getEvents(apiKey).then((data) => console.log(data)).catch(console.error); break; case "eventDetail": if (!id) return console.error("Error: Event ID is required for eventDetail."); getEventDetail(apiKey, id).then((data) => console.log(data)).catch(console.error); break; case "theaterDetail": if (!id) return console.error("Error: Theater ID is required for theaterDetail."); getTheaterDetail(apiKey, id).then((data) => console.log(data)).catch(console.error); break; case "memberDetail": if (!id) return console.error("Error: Member ID is required for memberDetail."); getMemberDetail(apiKey, id).then((data) => console.log(data)).catch(console.error); break; case "allMembers": getAllMembers(apiKey).then((data) => console.log(data)).catch(console.error); break; case "live": getLive(apiKey).then((data) => console.log(data)).catch(console.error); break; case "recentLive": getRecentLive(apiKey).then((data) => console.log(data)).catch(console.error); break; case "createPayment": const amount = args[2]; const codeQr = args[3]; if (!amount || !codeQr) return console.error("Error: Amount and QR Code are required for createPayment."); createPayment(apiKey, amount, codeQr); break; case "checkPaymentStatus": const merchantId = args[2]; const keyOrkut = args[3]; if (!merchantId || !keyOrkut) return console.error("Error: Merchant ID and Key Orkut are required for checkPaymentStatus."); checkPaymentStatus(apiKey, merchantId, keyOrkut); break; case "news": getNews(apiKey).then((data) => console.log(data)).catch(console.error); break; case "newsDetail": if (!id) return console.error("Error: News ID is required for newsDetail."); getNewsDetail(apiKey, id).then((data) => console.log(data)).catch(console.error); break; default: console.error("Error: Invalid command."); } } // Ekspor semua fungsi sebagai modul module.exports = { checkApiKey, getTheater, getTheaterDetail, getEvents, getEventDetail, getMemberDetail, getAllMembers, getLive, getRecentLive, createPayment, checkPaymentStatus, getNews, getNewsDetail, };