The frontend/UI server, written in JS using the MarkoJS library
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
507 B

6 years ago
  1. const {query} = require("../client")
  2. class Tag {
  3. /**
  4. * @param {string} kind
  5. * @param {string} name
  6. */
  7. constructor(kind, name) {
  8. this.kind = kind
  9. this.name = name
  10. }
  11. }
  12. const tagApi = {
  13. /**
  14. * Call `tags` query
  15. *
  16. * @returns {Promise<Tag[]>}
  17. */
  18. list() {
  19. return query(`
  20. query Tags {
  21. tags {
  22. kind
  23. name
  24. }
  25. }
  26. `, {}).then(({tags}) => {
  27. return tags.map(d => new Tag(d))
  28. })
  29. },
  30. }
  31. module.exports = {Tag, tagApi}