barecheck
Version:
Barecheck core Node.js library
99 lines • 4.18 kB
JavaScript
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());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.coverageMetrics = exports.createCoverageMetric = exports.authProject = exports.createGithubAccessToken = void 0;
const axios_1 = __importDefault(require("axios"));
const config_1 = require("../../config");
// TODO: define api request response interfaces
const makeRequest = (accessToken, query, variables) => __awaiter(void 0, void 0, void 0, function* () {
const { data } = yield axios_1.default.post(config_1.barecheckApiUrl, {
query,
variables
}, {
headers: Object.assign({ 'Content-Type': 'application/json' }, (accessToken
? {
'auth-provider': 'custom',
authorization: `Bearer ${accessToken}`
}
: {}))
});
return data;
});
const createGithubAccessToken = (variables) => __awaiter(void 0, void 0, void 0, function* () {
const query = `mutation createGithubAccessToken($appToken: String!) {
createGithubAccessToken(appToken:$appToken) {
accessToken
}
}`;
const response = yield makeRequest('', query, variables);
if (!response.data) {
throw new Error("Couldn't fetch accessToken token by using appToken. Check if you use the correct `BARECHECK_APP_KEY`");
}
return response.data.createGithubAccessToken;
});
exports.createGithubAccessToken = createGithubAccessToken;
const authProject = (variables) => __awaiter(void 0, void 0, void 0, function* () {
const query = `mutation authProject($apiKey: String!) {
authProject(apiKey:$apiKey) {
project {
id
}
accessToken
}
}`;
const response = yield makeRequest('', query, variables);
if (!response.data) {
throw new Error("Couldn't fetch accessToken token by using apiKey. Check if you use the correct `API_KEY`");
}
return response.data.authProject;
});
exports.authProject = authProject;
const createCoverageMetric = (accessToken, variables) => __awaiter(void 0, void 0, void 0, function* () {
const query = `mutation createCoverageMetric($projectId: Int!, $totalCoverage: Float! $ref: String!, $sha: String!) {
createCoverageMetric(input: {projectId: $projectId, totalCoverage: $totalCoverage, ref: $ref, sha: $sha }) {
id
totalCoverage
ref
sha
createdAt
updatedAt
}
}
`;
const response = yield makeRequest(accessToken, query, variables);
if (!response.data) {
throw new Error("Couldn't send your project coverage metric. Check if `accessToken` is valid or receive new one by using `authProject` mutation");
}
return response.data.createCoverageMetric;
});
exports.createCoverageMetric = createCoverageMetric;
const coverageMetrics = (accessToken, variables) => __awaiter(void 0, void 0, void 0, function* () {
const query = `query coverageMetrics($projectId: Int!, $ref: String, $dateTo: DateTime, $take: Int ) {
coverageMetrics(projectId: $projectId, ref:$ref, dateTo: $dateTo, take: $take){
id
ref
sha
totalCoverage
createdAt
}
}
`;
const response = yield makeRequest(accessToken, query, variables);
if (!response.data) {
return null;
}
return response.data.coverageMetrics;
});
exports.coverageMetrics = coverageMetrics;
//# sourceMappingURL=endpoints.js.map
;