Browse Source

feat(server): Allow multiple assets to be created in one mutation

Michael Bromley 7 years ago
parent
commit
47d40840b0
3 changed files with 4 additions and 4 deletions
  1. 0 0
      schema.json
  2. 1 1
      server/src/api/asset/asset.api.graphql
  3. 3 3
      server/src/api/asset/asset.resolver.ts

File diff suppressed because it is too large
+ 0 - 0
schema.json


+ 1 - 1
server/src/api/asset/asset.api.graphql

@@ -5,7 +5,7 @@ type Query {
 
 type Mutation {
     "Create a new Asset"
-    createAsset(input: CreateAssetInput!): Asset!
+    createAssets(input: [CreateAssetInput!]!): [Asset!]!
 }
 
 type AssetList implements PaginatedList {

+ 3 - 3
server/src/api/asset/asset.resolver.ts

@@ -7,7 +7,7 @@ import { AssetService } from '../../service/asset.service';
 import { RequestContextPipe } from '../common/request-context.pipe';
 import { Allow } from '../roles-guard';
 
-@Resolver('Auth')
+@Resolver('Assets')
 export class AssetResolver {
     constructor(private assetService: AssetService) {}
 
@@ -34,7 +34,7 @@ export class AssetResolver {
      */
     @Mutation()
     @Allow(Permission.CreateCatalog)
-    async createAsset(@Args() args: CreateAssetVariables): Promise<Asset> {
-        return this.assetService.create(args.input);
+    async createAssets(@Args() args: CreateAssetVariables): Promise<Asset[]> {
+        return Promise.all(args.input.map(asset => this.assetService.create(asset)));
     }
 }

Some files were not shown because too many files changed in this diff