Browse Source

feat(dev-server): Add example REST plugin

Michael Bromley 6 years ago
parent
commit
ead9476668
2 changed files with 23 additions and 0 deletions
  1. 2 0
      packages/dev-server/dev-config.ts
  2. 21 0
      packages/dev-server/rest-plugin.ts

+ 2 - 0
packages/dev-server/dev-config.ts

@@ -14,6 +14,8 @@ import { defaultEmailHandlers, EmailPlugin } from '@vendure/email-plugin';
 import path from 'path';
 import { ConnectionOptions } from 'typeorm';
 
+import { RestPlugin } from './rest-plugin';
+
 /**
  * Config settings used during development
  */

+ 21 - 0
packages/dev-server/rest-plugin.ts

@@ -0,0 +1,21 @@
+import { Controller, Get } from '@nestjs/common';
+import { Ctx, PluginCommonModule, ProductService, RequestContext, VendurePlugin } from '@vendure/core';
+
+@Controller('products')
+export class ProductsController {
+    constructor(private productService: ProductService) {}
+
+    @Get()
+    findAll(@Ctx() ctx: RequestContext) {
+        return this.productService.findAll(ctx);
+    }
+}
+
+/**
+ * A proof-of-concept plugin which adds a REST endpoint for querying products.
+ */
+@VendurePlugin({
+    imports: [PluginCommonModule],
+    controllers: [ProductsController],
+})
+export class RestPlugin {}