riof
Version:
Rio framework
40 lines (33 loc) • 1.18 kB
text/typescript
import {
Rio,
RioClass,
RioClassConstructor,
RioMethod,
RioMethodError,
RioMethodModelType,
RioMethodRequest
} from "riof";
import {GetStockInputModel, GetStockOutput} from "./models";
({description: 'awesome class', accelerated: true})
export class Product extends Rio {
constructor(instance?: RioClassConstructor) {
super(instance);
}
({type: 'READ', inputModel: GetStockInputModel, outputModel: GetStockOutput})
async getStock(request: RioMethodRequest<RioMethodModelType<typeof GetStockInputModel>>): Promise<RioMethodModelType<typeof GetStockOutput>> {
if (request.body?.storeId === 'fd') {
throw new RioMethodError({code: '44', message: 'error detail'});
}
return {
stock: 2
}
}
({type: 'READ', inputModel: GetStockInputModel, outputModel: GetStockOutput})
async checkStock(request: RioMethodRequest<RioMethodModelType<typeof GetStockInputModel>>): Promise<RioMethodModelType<typeof GetStockOutput>> {
return await this.getStock({
body: {
storeId: '123'
}
})
}
}