moleculer-decorators
Version:
decorators for moleculer
42 lines (35 loc) • 961 B
text/typescript
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;
}
()
export default class GetTest extends Moleculer.Service {
({
params: {
withUser: "string"
}
})
public async getModel(ctx: AuthContext<ChatsActionParams>) {
const { withUser } = ctx.params;
const fromUser = ctx.meta.user.id;
return this._getModel(withUser, fromUser);
}
private _getModel(withUser: string, fromUser: string): Promise<User> {
return Promise.resolve({ id: "5" });
}
private created(): void {
this.logger.info("Successfully created!");
}
}