@venly/venly-core-sdk
Version:
Javascrip/Typescript SDK for Venly's Web3 Services
113 lines • 5.12 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
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) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultServerProvider = void 0;
const VenlyAPI_1 = require("../VenlyAPI");
const VyResponseHelper_1 = require("../helpers/VyResponseHelper");
const enums = __importStar(require("../models/enums/index"));
const VyApiResponse_1 = require("./VyApiResponse");
const VyServerProviderBase_1 = require("./VyServerProviderBase");
class DefaultServerProvider extends VyServerProviderBase_1.VyServerProviderBase {
constructor(clientId, clientSecret) {
super();
this._clientId = null;
this._clientSecret = null;
this._accessToken = null;
this._clientId = clientId;
this._clientSecret = clientSecret;
}
verifyAuthentication() {
return new Promise((resolve, reject) => {
VenlyAPI_1.Venly.Auth.getAccessToken(this._clientId, this._clientSecret)
.then(response => {
if (response.success) {
this._accessToken = response.data;
//resolve(VyApiResponse.Success(null));
}
resolve(response);
})
.catch(reason => {
reject(reason);
});
});
}
validateAccessToken(skip = false) {
var _a;
if (skip || ((_a = this._accessToken) === null || _a === void 0 ? void 0 : _a.IsValid))
return Promise.resolve(VyApiResponse_1.VyApiResponse.Success(null));
return this.verifyAuthentication();
}
makeRequest(requestData, toType) {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
//**CHECK AUTHORIZATION*/
var requiresAuthorization = requestData.endpoint != enums.VyApiEndpoint.Auth;
var authResult = yield this.validateAccessToken(!requiresAuthorization);
if (!authResult.success) {
resolve(authResult);
return;
}
//**BUILD REQUEST*/
var requestInit = requestData.toRequestInit(requiresAuthorization ? this._accessToken : null);
var url = requestData.getUrl();
try {
var response = yield fetch(url, requestInit);
var jsonData = yield response.json();
var apiResponse = VyResponseHelper_1.VyResponseHelper.processHttpResponse(jsonData, response, requestData, toType);
resolve(apiResponse);
// if (response.ok) {
// var json = await response.json();
// if (requestData.RequiresWrapping) {
// json = json.result;
// }
// var data = JsonConvert.deserialize(json, toType);
// resolve(VyApiResponse.Success(data as T));
// }
// else {
// var text = await response.text();
// //var json = await response.json();
// reject(text);
// }
}
catch (error) {
reject(error);
// if(error instanceof Error)
// {
// reject(error)
// }
}
}));
}
}
exports.DefaultServerProvider = DefaultServerProvider;
//# sourceMappingURL=DefaultServerProvider.js.map