@ngn-net/giftcard-shared
Version:
Shared library for gifts score microservices
128 lines • 4.46 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UserRabbitModule = exports.UserService = exports.AuthenticationRabbitAPI = void 0;
const nestjs_rabbitmq_1 = require("@golevelup/nestjs-rabbitmq");
const common_1 = require("@nestjs/common");
const crypto_1 = require("crypto");
exports.AuthenticationRabbitAPI = {
exchange: "auth",
type: "topic",
routingkeys: {
default: {
key: "default",
},
syncUsers: {
key: "syncUsers",
},
getToken: {
key: "getToken",
},
revokeToken: {
key: "revokeToken",
},
revokeUser: {
key: "revokeUser",
},
checkCredentials: {
key: "checkCredentials",
},
getTwofa: {
key: "getTwofa",
},
},
};
let UserService = class UserService {
async getUserProfile(userId) {
return this.rabbit.request({
exchange: exports.AuthenticationRabbitAPI.exchange,
routingKey: exports.AuthenticationRabbitAPI.routingkeys.getToken.key,
payload: {
userId,
},
});
}
async syncUsers(timestamp) {
const correlationId = (0, crypto_1.randomUUID)();
return this.rabbit.request({
exchange: exports.AuthenticationRabbitAPI.exchange,
routingKey: exports.AuthenticationRabbitAPI.routingkeys.syncUsers.key,
correlationId,
payload: { timestamp },
headers: {
"X-Request-Id": (0, crypto_1.randomUUID)(),
},
timeout: 10000,
});
}
async revokeToken(jti) {
return this.rabbit.request({
exchange: exports.AuthenticationRabbitAPI.exchange,
routingKey: exports.AuthenticationRabbitAPI.routingkeys.revokeToken.key,
payload: {
jti,
},
timeout: 1000,
});
}
async revokeUser(userid, ttl) {
const data = {
userid,
ttl,
};
this.rabbit.publish(exports.AuthenticationRabbitAPI.exchange, exports.AuthenticationRabbitAPI.routingkeys.revokeUser.key, data);
}
async check2faCredentials(userid, passwd, token) {
return this.rabbit.request({
exchange: exports.AuthenticationRabbitAPI.exchange,
routingKey: exports.AuthenticationRabbitAPI.routingkeys.checkCredentials.key,
payload: {
userid,
passwd,
token,
},
timeout: 1000,
});
}
async getUserTwofa(userid) {
return this.rabbit.request({
exchange: exports.AuthenticationRabbitAPI.exchange,
routingKey: exports.AuthenticationRabbitAPI.routingkeys.getTwofa.key,
payload: {
userid,
},
timeout: 1000,
});
}
};
exports.UserService = UserService;
__decorate([
(0, common_1.Inject)(),
__metadata("design:type", nestjs_rabbitmq_1.AmqpConnection)
], UserService.prototype, "rabbit", void 0);
exports.UserService = UserService = __decorate([
(0, common_1.Injectable)()
], UserService);
exports.UserRabbitModule = nestjs_rabbitmq_1.RabbitMQModule.forRoot({
uri: process.env.RABBIT_URI || "amqp://127.0.0.1:5672",
exchanges: [
{
name: exports.AuthenticationRabbitAPI.exchange,
type: exports.AuthenticationRabbitAPI.type,
},
],
enableControllerDiscovery: true,
connectionInitOptions: {
timeout: 20000,
wait: false,
},
});
//# sourceMappingURL=user.service.js.map