Browse Source

Merge pull request #9500 from KostyaTretyak/master

chore(TypeScript/ditsmod): upgrade and fix version of some deps
Mike Smith 7 months ago
parent
commit
fc4e693781

+ 5 - 5
frameworks/TypeScript/ditsmod/package.json

@@ -14,12 +14,12 @@
   "author": "Костя Третяк",
   "license": "MIT",
   "dependencies": {
-    "@ditsmod/core": "^3.0.0-alpha.2",
-    "@ditsmod/routing": "^3.0.0-alpha.2",
+    "@ditsmod/core": "3.0.0-alpha.3",
+    "@ditsmod/routing": "3.0.0-alpha.3",
     "handlebars": "^4.7.8",
-    "lru-cache": "^11.0.0",
-    "mariadb": "^3.3.1",
-    "postgres": "^3.4.4"
+    "lru-cache": "^11.0.2",
+    "mariadb": "^3.4.0",
+    "postgres": "^3.4.5"
   },
   "devDependencies": {
     "@types/eslint": "^8.44.2",

+ 2 - 3
frameworks/TypeScript/ditsmod/src/app/app.module.ts

@@ -1,14 +1,13 @@
-import { Providers, rootModule } from '@ditsmod/core';
+import { InjectionToken, Providers, rootModule } from '@ditsmod/core';
 import { PRE_ROUTER_EXTENSIONS, RoutingModule } from '@ditsmod/routing';
 
 import { OneController } from './one.controller.js';
 import { InitExtension } from './init.extension.js';
-import { DB_INIT_EXTENSIONS } from './tokens.js';
 
 @rootModule({
   imports: [RoutingModule],
   providersPerApp: new Providers().useLogConfig({ level: 'off' }),
-  extensions: [{ extension: InitExtension, group: DB_INIT_EXTENSIONS, beforeGroup: PRE_ROUTER_EXTENSIONS }],
+  extensions: [{ extension: InitExtension, group: new InjectionToken('test'), beforeGroups: [PRE_ROUTER_EXTENSIONS] }],
   controllers: [OneController],
 })
 export class AppModule {}

+ 10 - 8
frameworks/TypeScript/ditsmod/src/app/one.controller.ts

@@ -1,4 +1,4 @@
-import { AnyObj, controller, RequestContext, SingletonRequestContext, optional } from '@ditsmod/core';
+import { AnyObj, controller, RequestContext, optional } from '@ditsmod/core';
 import { route } from '@ditsmod/routing';
 import Handlebars from 'handlebars';
 
@@ -28,7 +28,7 @@ const tmpl = Handlebars.compile(
   ].join(''),
 );
 
-@controller({ scope: 'module' })
+@controller({ scope: 'ctx' })
 export class OneController {
   constructor(@optional() private dbService: DbService) {}
 
@@ -40,19 +40,19 @@ export class OneController {
   }
 
   @route('GET', 'queries')
-  async getMultiQueries(ctx: SingletonRequestContext) {
+  async getMultiQueries(ctx: RequestContext) {
     const result = await this.dbService.getMultiQueries(ctx.queryParams!.queries);
     this.sendJson(ctx, result);
   }
 
   @route('GET', 'cached-queries')
-  async getCachedWorlds(ctx: SingletonRequestContext) {
+  async getCachedWorlds(ctx: RequestContext) {
     const result = await this.dbService.getMultiQueries(ctx.queryParams!.count, false);
     this.sendJson(ctx, result);
   }
 
   @route('GET', 'updates')
-  async getUpdates(ctx: SingletonRequestContext) {
+  async getUpdates(ctx: RequestContext) {
     const worlds = await this.dbService.saveWorlds(ctx.queryParams!.queries);
     this.sendJson(ctx, worlds);
   }
@@ -68,18 +68,20 @@ export class OneController {
   }
 
   @route('GET', 'plaintext')
-  getHello(ctx: SingletonRequestContext) {
+  getHello(ctx: RequestContext) {
     ctx.rawRes.setHeader('Server', 'Ditsmod');
     ctx.rawRes.setHeader('Content-Type', 'text/plain; charset=utf-8');
     ctx.rawRes.end('Hello, World!');
   }
 
   @route('GET', 'json')
-  getJson(ctx: SingletonRequestContext) {
+  getJson(ctx: RequestContext) {
     this.sendJson(ctx, { message: 'Hello, World!' });
   }
 
   protected sendJson(ctx: RequestContext, value: AnyObj) {
-    ctx.setHeader('Server', 'Ditsmod').sendJson(value);
+    ctx.rawRes.setHeader('Server', 'Ditsmod');
+    ctx.rawRes.setHeader('Content-Type', 'application/json; charset=utf-8');
+    ctx.rawRes.end(JSON.stringify(value));
   }
 }

+ 0 - 6
frameworks/TypeScript/ditsmod/src/app/tokens.ts

@@ -1,6 +0,0 @@
-import { Extension, InjectionToken } from '@ditsmod/core';
-
-/**
- * A group of extensions intended for preparatory work for the database module.
- */
-export const DB_INIT_EXTENSIONS = new InjectionToken<Extension<void>[]>('DB_INIT_EXTENSIONS');