UNPKG

moleculer-decorators

Version:
42 lines (35 loc) 961 B
import * as Moleculer from "moleculer"; import { Action, Method, Service } from "../../src"; import { User } from "./api.service"; interface ChatsActionParams { withUser: string; } export interface AuthMeta { user: User; $statusCode?: number; } export interface AuthContext<P = Moleculer.GenericObject> extends Moleculer.Context<P, AuthMeta> { meta: AuthMeta; params: P; } @Service() export default class GetTest extends Moleculer.Service { @Action({ params: { withUser: "string" } }) public async getModel(ctx: AuthContext<ChatsActionParams>) { const { withUser } = ctx.params; const fromUser = ctx.meta.user.id; return this._getModel(withUser, fromUser); } @Method private _getModel(withUser: string, fromUser: string): Promise<User> { return Promise.resolve({ id: "5" }); } private created(): void { this.logger.info("Successfully created!"); } }