asset.graphql 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # ===============================================
  2. # ASSETS
  3. # ===============================================
  4. extend type Query {
  5. assets: AssetQuery
  6. }
  7. extend type Mutation {
  8. assets: AssetMutation
  9. }
  10. # -----------------------------------------------
  11. # QUERIES
  12. # -----------------------------------------------
  13. type AssetQuery {
  14. list(
  15. folderId: Int!
  16. kind: AssetKind!
  17. ): [AssetItem] @auth(requires: ["manage:system", "read:assets"])
  18. folders(
  19. parentFolderId: Int!
  20. ): [AssetFolder] @auth(requires: ["manage:system", "read:assets"])
  21. }
  22. # -----------------------------------------------
  23. # MUTATIONS
  24. # -----------------------------------------------
  25. type AssetMutation {
  26. createFolder(
  27. parentFolderId: Int!
  28. slug: String!
  29. name: String
  30. ): DefaultResponse @auth(requires: ["manage:system", "write:assets"])
  31. }
  32. # -----------------------------------------------
  33. # TYPES
  34. # -----------------------------------------------
  35. type AssetItem {
  36. id: Int!
  37. filename: String!
  38. ext: String!
  39. kind: AssetKind!
  40. mime: String!
  41. fileSize: Int!
  42. metadata: String
  43. createdAt: Date!
  44. updatedAt: Date!
  45. folder: AssetFolder
  46. author: User
  47. }
  48. type AssetFolder {
  49. id: Int!
  50. slug: String!
  51. name: String
  52. }
  53. enum AssetKind {
  54. IMAGE
  55. BINARY
  56. ALL
  57. }