This commit is contained in:
41666 2017-12-10 03:56:41 -06:00
parent 13cd3bd4a0
commit 52cb96baa3
43 changed files with 3257 additions and 1072 deletions

View file

@ -1,3 +1,51 @@
module.exports = R => {
module.exports = (R, $) => {
R.post('/api/auth/token', async (ctx) => {
const { token } = ctx.request.body
if (token == null || token === '') {
ctx.body = { err: 'token_missing' }
ctx.status = 400
return
}
console.log(ctx.session.expiresAt >= new Date(), ctx.session.expiresAt, new Date())
if (ctx.session.accessToken === undefined || ctx.session.expiresAt >= new Date()) {
console.log('getting auth token')
const data = await $.discord.getAuthToken(token)
console.log(data)
ctx.session.accessToken = data.access_token
ctx.session.refreshToken = data.refresh_token
ctx.session.expiresAt = new Date() + ctx.expires_in
console.log(ctx.session)
}
const user = await $.discord.getUser(ctx.session.accessToken)
ctx.session.userId = user.id
ctx.session.avatarHash = user.avatar
ctx.body = {
id: user.id,
avatar: user.avatar,
username: user.username,
discriminator: user.discriminator
}
})
R.get('/api/auth/user', async ctx => {
const user = await $.discord.getUser(ctx.session.accessToken)
ctx.session.userId = user.id
ctx.session.avatarHash = user.avatar
ctx.body = {
id: user.id,
avatar: user.avatar,
username: user.username,
discriminator: user.discriminator
}
})
R.get('/api/auth/redirect', ctx => {
ctx.redirect($.discord.getAuthUrl())
})
}

View file

@ -1,6 +1,25 @@
module.exports = (R, $) => {
R.get('/api/servers', (ctx) => {
ctx.body = 'hi'
console.log($)
R.get('/api/servers', async (ctx) => {
const { userId } = ctx.session
const srv = $.discord.getRelevantServers(userId)
ctx.body = $.discord.presentableServers(srv, userId)
})
R.get('/api/server/:id', async (ctx) => {
const { userId } = ctx.session
const { id } = ctx.params
const srv = $.discord.client.guilds.get(id)
if (srv == null) {
ctx.body = { err: 'not found' }
ctx.status = 404
return
}
const gm = srv.members.get(userId)
const roles = $.discord.presentableRoles(id, gm)
ctx.body = roles
})
}

View file

@ -6,9 +6,21 @@ module.exports = (R, $) => {
return
})
R.get('/api/~/roles/:server', (ctx, next) => {
R.get('/api/~/roles/:id/:userId', (ctx, next) => {
// ctx.body = 'ok'
ctx.body = $.discord.getRoles(ctx.params.server)
return
const { id, userId } = ctx.params
const srv = $.discord.client.guilds.get(id)
if (srv === undefined) {
ctx.body = { err: 'not found' }
ctx.status = 404
return
}
const gm = srv.members.get(userId)
const roles = $.discord.presentableRoles(id, gm)
ctx.boy = roles
})
}