@case-contract-testing/case
Version:
Next-generation contract testing suite
36 lines (35 loc) • 1.49 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.usersByQuery = exports.usersByPath = exports.health = exports.base = void 0;
const userService_1 = require("../../domain/userService");
const responder_1 = __importDefault(require("./responder"));
const base = ({ baseService }) => (req, res) => {
(0, responder_1.default)(res).success(baseService(req.ip));
};
exports.base = base;
const health = ({ healthService }) => (_req, res) => {
if (healthService.ready()) {
(0, responder_1.default)(res).success({ status: 'up' });
}
else {
(0, responder_1.default)(res).status(503, { status: 'down' });
}
};
exports.health = health;
const usersByPath = ({ userRepository }) => (req, res) => {
const { userId } = req.params;
if (typeof userId !== 'string')
throw new Error('No userID provided');
(0, responder_1.default)(res).success((0, userService_1.makeUserService)({ userRepository }).getUser(userId));
};
exports.usersByPath = usersByPath;
const usersByQuery = ({ userRepository }) => (req, res) => {
const { id } = req.query;
if (typeof id !== 'string')
throw new Error('No userID provided');
(0, responder_1.default)(res).success((0, userService_1.makeUserService)({ userRepository }).getUser(id));
};
exports.usersByQuery = usersByQuery;