airship-server
Version:
Airship is a framework for Node.JS & TypeScript that helps you to write big, scalable and maintainable API servers.
39 lines • 2.04 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const BaseTokensProvider_1 = require("../domain/BaseTokensProvider");
//import {BaseGroupService} min "../../tests/domain/group/BaseGroupService";
class VKTokensProvider extends BaseTokensProvider_1.BaseTokensProvider {
constructor(groupService, cache) {
super();
this._groupService = groupService;
this._cache = cache;
}
getToken(outputMessage) {
return __awaiter(this, void 0, void 0, function* () {
if (outputMessage.groupId == 151230239)
return '341e168d4a2f6ff95c6396243a13e7c03ea5f94811d1c880b64ca2ecc58be3f569c2575f1f0956036b2e1';
//if (outputMessage.groupId == 109504441)
// return '341e168d4a2f6ff95c6396243a13e7c03ea5f94811d1c880b64ca2ecc58be3f569c2575f1f0956036b2e1'
let cachedToken = yield this._cache.get(outputMessage.groupId);
if (cachedToken)
return cachedToken;
else {
let token = yield this._groupService.getGroupToken(outputMessage.groupId);
if (!token)
throw new Error('No token for group ' + outputMessage.groupId);
yield this._cache.cache(outputMessage.groupId, token, 60 * 1000);
return token;
}
});
}
}
exports.default = VKTokensProvider;
//# sourceMappingURL=VKTokensProvider.js.map