@prism-engineer/router
Version:
Type-safe Express.js router with automatic client generation
51 lines • 1.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createUserRoute = exports.getUsersRoute = void 0;
const createApiRoute_1 = require("../../../../createApiRoute");
const typebox_1 = require("@sinclair/typebox");
exports.getUsersRoute = (0, createApiRoute_1.createApiRoute)({
path: '/api/users',
method: 'GET',
response: {
200: {
contentType: 'application/json',
body: typebox_1.Type.Array(typebox_1.Type.Object({
id: typebox_1.Type.Number(),
name: typebox_1.Type.String()
}))
}
},
handler: async (req) => {
return {
status: 200,
body: [{ id: 1, name: 'John Doe' }]
};
}
});
exports.createUserRoute = (0, createApiRoute_1.createApiRoute)({
path: '/api/users',
method: 'POST',
request: {
body: typebox_1.Type.Object({
name: typebox_1.Type.String(),
email: typebox_1.Type.String()
})
},
response: {
201: {
contentType: 'application/json',
body: typebox_1.Type.Object({
id: typebox_1.Type.Number(),
name: typebox_1.Type.String(),
email: typebox_1.Type.String()
})
}
},
handler: async (req) => {
return {
status: 201,
body: { id: 1, name: req.body.name, email: req.body.email }
};
}
});
//# sourceMappingURL=users.js.map