diff --git a/route/api/twitch/index.js b/route/api/twitch/index.js index 55c2426..842f98d 100644 --- a/route/api/twitch/index.js +++ b/route/api/twitch/index.js @@ -8,6 +8,7 @@ const { } = require('@libs/route-utils') const r = new Router() const evt = require('@root/event') +const koaBody = require('koa-body') const typeTwitch = async (c, n) => { let text = `select * from "public"."twitch_channel" where "id" = $1` @@ -94,12 +95,14 @@ r.put('/channel/:chid/opay', checkSession, getChannelList, hasChannel('chid'), a c.obj = resObject('Success') }) -r.get('/channel/:chid/donation', checkSession, getChannelList, hasChannel('chid'), async (c, n) => { +r.get('/channel/:chid/opay/setting', checkSession, getChannelList, hasChannel('chid'), async (c, n) => { let text = `select ds.* from "public"."donate_setting" ds left join "public"."twitch_channel" tw on tw.id = ds.twitch where - tw.id = $1` + tw.id = $1 + and tw.opayid != '' + limit 1` let values = [c.state.channel.id] let result = await c.db.query({ text, @@ -110,4 +113,32 @@ r.get('/channel/:chid/donation', checkSession, getChannelList, hasChannel('chid' }) }) +r.put('/channel/:chid/opay/setting', checkSession, getChannelList, hasChannel('chid'), koaBody(), async (c, n) => { + if (!c.chkBody('start', 'number') || !c.chkBody('end', 'number') || !c.chkBody('title', 'string') || !c.chkBody('amount', 'number')) throw genError('DataFormat') + + let sts = toInt(c.request.body.start, 0, 0) + let ets = toInt(c.request.body.end, 0, 0) + let amount = toInt(c.request.body.amount, 0, 0) + let sd = new Date(sts) + let ed = new Date(ets) + + let text = `insert into "public"."donate_setting" ("twitch", "start_date", "end_date", "target_amount", "title") values + ($1, $2, $3, $4, $5) returning * + on CONFLICT ("twitch") DO UPDATE + set + "start_date" = $2, + "end_date" = $3, + "target_amount" = $4, + "title" = $5` + let values = [c.state.channel.id, sd, ed, amount, c.request.body.title] + let result = await c.db.query({ + text, + values + }) + + console.log(result) + + c.obj = resObject('Success') +}) + module.exports = r