80 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
| # ===============================================
 | |
| # ASSETS
 | |
| # ===============================================
 | |
| 
 | |
| extend type Query {
 | |
|   assets: AssetQuery
 | |
| }
 | |
| 
 | |
| extend type Mutation {
 | |
|   assets: AssetMutation
 | |
| }
 | |
| 
 | |
| # -----------------------------------------------
 | |
| # QUERIES
 | |
| # -----------------------------------------------
 | |
| 
 | |
| type AssetQuery {
 | |
|   list(
 | |
|     folderId: Int!
 | |
|     kind: AssetKind!
 | |
|   ): [AssetItem] @auth(requires: ["manage:system", "read:assets"])
 | |
| 
 | |
|   folders(
 | |
|     parentFolderId: Int!
 | |
|   ): [AssetFolder] @auth(requires: ["manage:system", "read:assets"])
 | |
| }
 | |
| 
 | |
| # -----------------------------------------------
 | |
| # MUTATIONS
 | |
| # -----------------------------------------------
 | |
| 
 | |
| type AssetMutation {
 | |
|   createFolder(
 | |
|     parentFolderId: Int!
 | |
|     slug: String!
 | |
|     name: String
 | |
|   ): DefaultResponse @auth(requires: ["manage:system", "write:assets"])
 | |
| 
 | |
|   renameAsset(
 | |
|     id: Int!
 | |
|     filename: String!
 | |
|   ): DefaultResponse @auth(requires: ["manage:system", "manage:assets"])
 | |
| 
 | |
|   deleteAsset(
 | |
|     id: Int!
 | |
|   ): DefaultResponse @auth(requires: ["manage:system", "manage:assets"])
 | |
| 
 | |
|   flushTempUploads: DefaultResponse @auth(requires: ["manage:system"])
 | |
| }
 | |
| 
 | |
| # -----------------------------------------------
 | |
| # TYPES
 | |
| # -----------------------------------------------
 | |
| 
 | |
| type AssetItem {
 | |
|   id: Int!
 | |
|   filename: String!
 | |
|   ext: String!
 | |
|   kind: AssetKind!
 | |
|   mime: String!
 | |
|   fileSize: Int!
 | |
|   metadata: String
 | |
|   createdAt: Date!
 | |
|   updatedAt: Date!
 | |
|   folder: AssetFolder
 | |
|   author: User
 | |
| }
 | |
| 
 | |
| type AssetFolder {
 | |
|   id: Int!
 | |
|   slug: String!
 | |
|   name: String
 | |
| }
 | |
| 
 | |
| enum AssetKind {
 | |
|   IMAGE
 | |
|   BINARY
 | |
|   ALL
 | |
| }
 |