data: Added channel list/add/edit

This commit is contained in:
2018-10-11 21:55:15 +02:00
parent d380a47d8d
commit a5ac48e3d6
20 changed files with 329 additions and 11 deletions
+68 -1
View File
@@ -14,4 +14,71 @@ class Channel {
}
}
module.exports = { Channel }
class ChannelAPI {
/**
* Call `channels(filter)` query
*
* @param {{logged:boolean, eventName:string, locationName:string}} filter
* @returns {Promise<Channel[]>}
*/
list(filter = {}) {
return query(`
query ListChannel($filter: ChannelsFilter) {
channels(filter: $filter) {
name
logged
hub
eventName
locationName
}
}
`, {filter}).then(({channels}) => {
return channels.map(d => Channel.fromData(d))
})
}
/**
* Call `channels(filter)` query
*
* @param {{name:string, logged:boolean, eventName:string, locationName:string}} filter
* @returns {Promise<Channel>}
*/
add(input = {}) {
return query(`
mutation AddChannel($input: ChannelAddInput!) {
addChannel(input: $input) {
name
hub
logged
eventName
locationName
}
}
`, {input}, {permissions: ["channel.add"]}).then(({addChannel}) => {
return Channel.fromData(addChannel)
})
}
/**
* Call `channels(filter)` query
*
* @param {{name:string, logged:boolean, eventName:string, locationName:string}} filter
* @returns {Promise<{name:string, logged:boolean, eventName:string, locationName:string}>}
*/
edit(input = {}) {
return query(`
mutation EditChannel($input: ChannelEditInput!) {
editChannel(input: $input) {
name
logged
eventName
locationName
}
}
`, {input}, {permissions: ["channel.edit"]}).then(({editChannel}) => {
return editChannel
})
}
}
module.exports = { Channel, channelApi: new ChannelAPI }