@commitspark/git-adapter-github 0.8.2 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -2
- package/README.md +24 -2
- package/dist/cjs/{axios-cache-key-generator.js → axios/cache-key-generator.js} +4 -4
- package/dist/cjs/axios/cache-key-generator.js.map +1 -0
- package/dist/cjs/axios/cached-instance.js +19 -0
- package/dist/cjs/axios/cached-instance.js.map +1 -0
- package/dist/cjs/github-adapter.js +126 -0
- package/dist/cjs/github-adapter.js.map +1 -0
- package/dist/cjs/index.js +10 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/model/addition.model.js.map +1 -0
- package/dist/cjs/model/deletion.model.js.map +1 -0
- package/dist/cjs/util/entries-to-actions-converter.js +28 -0
- package/dist/cjs/util/entries-to-actions-converter.js.map +1 -0
- package/dist/cjs/util/entry-factory.js +20 -0
- package/dist/cjs/util/entry-factory.js.map +1 -0
- package/dist/cjs/{graphql-query-factory.service.js → util/graphql-query-factory.js} +16 -16
- package/dist/cjs/util/graphql-query-factory.js.map +1 -0
- package/dist/cjs/util/path-factory.js +18 -0
- package/dist/cjs/util/path-factory.js.map +1 -0
- package/dist/cjs/util/types.js +7 -0
- package/dist/cjs/util/types.js.map +1 -0
- package/dist/esm/{axios-cache-key-generator.js → axios/cache-key-generator.js} +2 -3
- package/dist/esm/axios/cache-key-generator.js.map +1 -0
- package/dist/esm/axios/cached-instance.js +12 -0
- package/dist/esm/axios/cached-instance.js.map +1 -0
- package/dist/esm/github-adapter.js +108 -0
- package/dist/esm/github-adapter.js.map +1 -0
- package/dist/esm/index.js +10 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/model/addition.model.js.map +1 -0
- package/dist/esm/model/deletion.model.js.map +1 -0
- package/dist/esm/util/entries-to-actions-converter.js +25 -0
- package/dist/esm/util/entries-to-actions-converter.js.map +1 -0
- package/dist/esm/util/entry-factory.js +17 -0
- package/dist/esm/util/entry-factory.js.map +1 -0
- package/{src/graphql-query-factory.service.ts → dist/esm/util/graphql-query-factory.js} +12 -16
- package/dist/esm/util/graphql-query-factory.js.map +1 -0
- package/dist/esm/util/path-factory.js +12 -0
- package/dist/esm/util/path-factory.js.map +1 -0
- package/dist/esm/util/types.js +4 -0
- package/dist/esm/util/types.js.map +1 -0
- package/dist/tsconfig.build.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.build.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.build.types.tsbuildinfo +1 -1
- package/dist/types/axios/cache-key-generator.d.ts +3 -0
- package/dist/types/axios/cache-key-generator.d.ts.map +1 -0
- package/dist/types/axios/cached-instance.d.ts +4 -0
- package/dist/types/axios/cached-instance.d.ts.map +1 -0
- package/dist/types/github-adapter.d.ts +9 -0
- package/dist/types/github-adapter.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/model/addition.model.d.ts.map +1 -0
- package/dist/types/model/deletion.model.d.ts.map +1 -0
- package/dist/types/util/entries-to-actions-converter.d.ts +8 -0
- package/dist/types/util/entries-to-actions-converter.d.ts.map +1 -0
- package/dist/types/{entry-factory.service.d.ts → util/entry-factory.d.ts} +2 -4
- package/dist/types/util/entry-factory.d.ts.map +1 -0
- package/dist/types/util/graphql-query-factory.d.ts +5 -0
- package/dist/types/util/graphql-query-factory.d.ts.map +1 -0
- package/dist/types/util/path-factory.d.ts +4 -0
- package/dist/types/util/path-factory.d.ts.map +1 -0
- package/dist/types/util/types.d.ts +4 -0
- package/dist/types/util/types.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/{axios-cache-key-generator.ts → axios/cache-key-generator.ts} +1 -3
- package/src/axios/cached-instance.ts +17 -0
- package/src/github-adapter.ts +179 -0
- package/src/index.ts +24 -7
- package/src/util/entries-to-actions-converter.ts +36 -0
- package/src/util/entry-factory.ts +34 -0
- package/{dist/esm/graphql-query-factory.service.js → src/util/graphql-query-factory.ts} +18 -18
- package/src/util/path-factory.ts +19 -0
- package/src/util/types.ts +3 -0
- package/dist/cjs/addition.model.js.map +0 -1
- package/dist/cjs/axios-cache-key-generator.js.map +0 -1
- package/dist/cjs/container.js +0 -25
- package/dist/cjs/container.js.map +0 -1
- package/dist/cjs/deletion.model.js.map +0 -1
- package/dist/cjs/entries-to-actions-converter.service.js +0 -31
- package/dist/cjs/entries-to-actions-converter.service.js.map +0 -1
- package/dist/cjs/entry-factory.service.js +0 -25
- package/dist/cjs/entry-factory.service.js.map +0 -1
- package/dist/cjs/git-hub-adapter.service.js +0 -154
- package/dist/cjs/git-hub-adapter.service.js.map +0 -1
- package/dist/cjs/graphql-query-factory.service.js.map +0 -1
- package/dist/cjs/path-factory.service.js +0 -20
- package/dist/cjs/path-factory.service.js.map +0 -1
- package/dist/esm/addition.model.js.map +0 -1
- package/dist/esm/axios-cache-key-generator.js.map +0 -1
- package/dist/esm/container.js +0 -19
- package/dist/esm/container.js.map +0 -1
- package/dist/esm/deletion.model.js.map +0 -1
- package/dist/esm/entries-to-actions-converter.service.js +0 -27
- package/dist/esm/entries-to-actions-converter.service.js.map +0 -1
- package/dist/esm/entry-factory.service.js +0 -21
- package/dist/esm/entry-factory.service.js.map +0 -1
- package/dist/esm/git-hub-adapter.service.js +0 -135
- package/dist/esm/git-hub-adapter.service.js.map +0 -1
- package/dist/esm/graphql-query-factory.service.js.map +0 -1
- package/dist/esm/path-factory.service.js +0 -14
- package/dist/esm/path-factory.service.js.map +0 -1
- package/dist/types/addition.model.d.ts.map +0 -1
- package/dist/types/axios-cache-key-generator.d.ts +0 -4
- package/dist/types/axios-cache-key-generator.d.ts.map +0 -1
- package/dist/types/container.d.ts +0 -3
- package/dist/types/container.d.ts.map +0 -1
- package/dist/types/deletion.model.d.ts.map +0 -1
- package/dist/types/entries-to-actions-converter.service.d.ts +0 -10
- package/dist/types/entries-to-actions-converter.service.d.ts.map +0 -1
- package/dist/types/entry-factory.service.d.ts.map +0 -1
- package/dist/types/git-hub-adapter.service.d.ts +0 -24
- package/dist/types/git-hub-adapter.service.d.ts.map +0 -1
- package/dist/types/graphql-query-factory.service.d.ts +0 -7
- package/dist/types/graphql-query-factory.service.d.ts.map +0 -1
- package/dist/types/path-factory.service.d.ts +0 -6
- package/dist/types/path-factory.service.d.ts.map +0 -1
- package/src/container.ts +0 -27
- package/src/entries-to-actions-converter.service.ts +0 -37
- package/src/entry-factory.service.ts +0 -35
- package/src/git-hub-adapter.service.ts +0 -205
- package/src/path-factory.service.ts +0 -21
- /package/dist/cjs/{addition.model.js → model/addition.model.js} +0 -0
- /package/dist/cjs/{deletion.model.js → model/deletion.model.js} +0 -0
- /package/dist/esm/{addition.model.js → model/addition.model.js} +0 -0
- /package/dist/esm/{deletion.model.js → model/deletion.model.js} +0 -0
- /package/dist/types/{addition.model.d.ts → model/addition.model.d.ts} +0 -0
- /package/dist/types/{deletion.model.d.ts → model/deletion.model.d.ts} +0 -0
- /package/src/{addition.model.ts → model/addition.model.ts} +0 -0
- /package/src/{deletion.model.ts → model/deletion.model.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,7 +5,24 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [0.
|
|
8
|
+
## [0.20.0] - 2025-11-08
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Upgrade to `@commitspark/git-adapter` 0.20.0
|
|
13
|
+
- Refactor implementation to drop dependency injection pattern
|
|
14
|
+
|
|
15
|
+
### Removed
|
|
16
|
+
|
|
17
|
+
- Removed separate `setRepositoryOptions()` in favor of less complex configuration on instantiation
|
|
18
|
+
|
|
19
|
+
## [0.8.3] - 2025-09-16
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Upgrade dependencies
|
|
24
|
+
|
|
25
|
+
## [0.8.2] - 2025-06-20
|
|
9
26
|
|
|
10
27
|
### Fixed
|
|
11
28
|
|
|
@@ -15,7 +32,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
15
32
|
|
|
16
33
|
- Upgrade dependencies
|
|
17
34
|
|
|
18
|
-
## [0.8.1]
|
|
35
|
+
## [0.8.1] - 2025-04-16
|
|
19
36
|
|
|
20
37
|
### Fixed
|
|
21
38
|
|
package/README.md
CHANGED
|
@@ -5,10 +5,15 @@
|
|
|
5
5
|
This repository holds code for a [Commitspark Git adapter](https://github.com/commitspark/git-adapter) that provides
|
|
6
6
|
access to Git repositories hosted on GitHub.
|
|
7
7
|
|
|
8
|
+
# Installation
|
|
9
|
+
|
|
10
|
+
```shell
|
|
11
|
+
npm i @commitspark/git-adapter-github
|
|
12
|
+
```
|
|
13
|
+
|
|
8
14
|
# Usage
|
|
9
15
|
|
|
10
|
-
Instantiate the adapter with `createAdapter()
|
|
11
|
-
the instance. These options are as follows:
|
|
16
|
+
Instantiate the adapter with `createAdapter()`, providing `GitHubRepositoryOptions` with the following parameters:
|
|
12
17
|
|
|
13
18
|
| Option name | Required | Default value | Description |
|
|
14
19
|
|-------------------|----------|-------------------------------------|---------------------------------------------------|
|
|
@@ -53,6 +58,23 @@ Access tokens for a user obtained
|
|
|
53
58
|
from an [OAuth app](https://docs.github.com/en/apps/oauth-apps/using-oauth-apps/authorizing-oauth-apps) can be used in
|
|
54
59
|
the same way (including permissions) as fine-grained personal access tokens.
|
|
55
60
|
|
|
61
|
+
# Example
|
|
62
|
+
|
|
63
|
+
To use this adapter together with the Commitspark GraphQL API library, your code could be the following:
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
import { createAdapter } from '@commitspark/git-adapter-github'
|
|
67
|
+
import { createClient } from '@commitspark/graphql-api'
|
|
68
|
+
|
|
69
|
+
const gitHubAdapter = createAdapter({
|
|
70
|
+
repositoryOwner: process.env.GITHUB_REPOSITORY_OWNER,
|
|
71
|
+
repositoryName: process.env.GITHUB_REPOSITORY_NAME,
|
|
72
|
+
accessToken: process.env.GITHUB_ACCESS_TOKEN,
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
const client = await createClient(gitHubAdapter)
|
|
76
|
+
```
|
|
77
|
+
|
|
56
78
|
# License
|
|
57
79
|
|
|
58
80
|
The code in this repository is licensed under the permissive ISC license (see [LICENSE](LICENSE)).
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
3
|
+
exports.cacheKeyGenerator = void 0;
|
|
4
|
+
const cacheKeyGenerator = (request) => {
|
|
5
5
|
var _a;
|
|
6
6
|
const authorization = (_a = request.headers) === null || _a === void 0 ? void 0 : _a.authorization;
|
|
7
7
|
const key = {
|
|
@@ -16,5 +16,5 @@ const axiosCacheKeyGenerator = (request) => {
|
|
|
16
16
|
}
|
|
17
17
|
return key;
|
|
18
18
|
};
|
|
19
|
-
exports.
|
|
20
|
-
//# sourceMappingURL=
|
|
19
|
+
exports.cacheKeyGenerator = cacheKeyGenerator;
|
|
20
|
+
//# sourceMappingURL=cache-key-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-key-generator.js","sourceRoot":"","sources":["../../../src/axios/cache-key-generator.ts"],"names":[],"mappings":";;;AAEO,MAAM,iBAAiB,GAAG,CAC/B,OAAiC,EACjC,EAAE;;IACF,MAAM,aAAa,GAAG,MAAA,OAAO,CAAC,OAAO,0CAAE,aAAa,CAAA;IACpD,MAAM,GAAG,GAA2C;QAClD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,uCAAuC;KAC5D,CAAA;IAED,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,uGAAuG;QACvG,+EAA+E;QAC/E,GAAG,CAAC,MAAM,CAAC,GAAG,aAAa,CAAA;IAC7B,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAjBY,QAAA,iBAAiB,qBAiB7B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createAxiosCachedInstance = exports.QUERY_CACHE_SECONDS = void 0;
|
|
7
|
+
const axios_cache_interceptor_1 = require("axios-cache-interceptor");
|
|
8
|
+
const axios_1 = __importDefault(require("axios"));
|
|
9
|
+
const cache_key_generator_1 = require("./cache-key-generator");
|
|
10
|
+
exports.QUERY_CACHE_SECONDS = 10 * 60;
|
|
11
|
+
const createAxiosCachedInstance = () => {
|
|
12
|
+
return (0, axios_cache_interceptor_1.setupCache)(axios_1.default.create(), {
|
|
13
|
+
ttl: exports.QUERY_CACHE_SECONDS * 1000, // milliseconds
|
|
14
|
+
methods: ['get', 'post'],
|
|
15
|
+
generateKey: (0, axios_cache_interceptor_1.buildKeyGenerator)(cache_key_generator_1.cacheKeyGenerator), //
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
exports.createAxiosCachedInstance = createAxiosCachedInstance;
|
|
19
|
+
//# sourceMappingURL=cached-instance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cached-instance.js","sourceRoot":"","sources":["../../../src/axios/cached-instance.ts"],"names":[],"mappings":";;;;;;AAAA,qEAIgC;AAChC,kDAAyB;AACzB,+DAAyD;AAE5C,QAAA,mBAAmB,GAAG,EAAE,GAAG,EAAE,CAAA;AAEnC,MAAM,yBAAyB,GAAG,GAAuB,EAAE;IAChE,OAAO,IAAA,oCAAU,EAAC,eAAK,CAAC,MAAM,EAAE,EAAE;QAChC,GAAG,EAAE,2BAAmB,GAAG,IAAI,EAAE,eAAe;QAChD,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,IAAA,2CAAiB,EAAC,uCAAiB,CAAC,EAAE,EAAE;KACtD,CAAC,CAAA;AACJ,CAAC,CAAA;AANY,QAAA,yBAAyB,6BAMrC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.createCommit = exports.getLatestCommitHash = exports.getSchema = exports.getEntries = exports.API_URL = void 0;
|
|
13
|
+
const graphql_query_factory_1 = require("./util/graphql-query-factory");
|
|
14
|
+
const entries_to_actions_converter_1 = require("./util/entries-to-actions-converter");
|
|
15
|
+
const path_factory_1 = require("./util/path-factory");
|
|
16
|
+
const entry_factory_1 = require("./util/entry-factory");
|
|
17
|
+
exports.API_URL = 'https://api.github.com/graphql';
|
|
18
|
+
const getEntries = (gitRepositoryOptions, axiosCacheInstance, commitHash) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
const token = gitRepositoryOptions.accessToken;
|
|
21
|
+
const pathEntryFolder = (0, path_factory_1.getPathEntryFolder)(gitRepositoryOptions);
|
|
22
|
+
const queryFilesContent = (0, graphql_query_factory_1.createBlobsContentQuery)();
|
|
23
|
+
const filesContentResponse = yield axiosCacheInstance.post(exports.API_URL, {
|
|
24
|
+
query: queryFilesContent,
|
|
25
|
+
variables: {
|
|
26
|
+
repositoryOwner: gitRepositoryOptions.repositoryOwner,
|
|
27
|
+
repositoryName: gitRepositoryOptions.repositoryName,
|
|
28
|
+
expression: `${commitHash}:${pathEntryFolder}`,
|
|
29
|
+
},
|
|
30
|
+
}, {
|
|
31
|
+
headers: {
|
|
32
|
+
authorization: `Bearer ${token}`,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
if (!((_b = (_a = filesContentResponse.data.data.repository) === null || _a === void 0 ? void 0 : _a.object) === null || _b === void 0 ? void 0 : _b.entries)) {
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
return (0, entry_factory_1.createEntriesFromBlobsQueryResponseData)(filesContentResponse.data.data.repository.object.entries);
|
|
39
|
+
});
|
|
40
|
+
exports.getEntries = getEntries;
|
|
41
|
+
const getSchema = (gitRepositoryOptions, axiosCacheInstance, commitHash) => __awaiter(void 0, void 0, void 0, function* () {
|
|
42
|
+
var _a, _b, _c, _d;
|
|
43
|
+
const repositoryOwner = gitRepositoryOptions.repositoryOwner;
|
|
44
|
+
const repositoryName = gitRepositoryOptions.repositoryName;
|
|
45
|
+
const token = gitRepositoryOptions.accessToken;
|
|
46
|
+
const schemaFilePath = (0, path_factory_1.getPathSchema)(gitRepositoryOptions);
|
|
47
|
+
const queryContent = (0, graphql_query_factory_1.createBlobContentQuery)();
|
|
48
|
+
const response = yield axiosCacheInstance.post(exports.API_URL, {
|
|
49
|
+
query: queryContent,
|
|
50
|
+
variables: {
|
|
51
|
+
repositoryOwner: repositoryOwner,
|
|
52
|
+
repositoryName: repositoryName,
|
|
53
|
+
expression: `${commitHash}:${schemaFilePath}`,
|
|
54
|
+
},
|
|
55
|
+
}, {
|
|
56
|
+
headers: {
|
|
57
|
+
authorization: `Bearer ${token}`,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
const schema = (_d = (_c = (_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.repository) === null || _c === void 0 ? void 0 : _c.object) === null || _d === void 0 ? void 0 : _d.text;
|
|
61
|
+
if (!schema) {
|
|
62
|
+
throw new Error(`"${schemaFilePath}" not found in Git repository "${repositoryOwner}/${repositoryName}" at commit "${commitHash}"`);
|
|
63
|
+
}
|
|
64
|
+
return schema;
|
|
65
|
+
});
|
|
66
|
+
exports.getSchema = getSchema;
|
|
67
|
+
const getLatestCommitHash = (gitRepositoryOptions, axiosCacheInstance, ref) => __awaiter(void 0, void 0, void 0, function* () {
|
|
68
|
+
var _a, _b, _c, _d, _e;
|
|
69
|
+
const token = gitRepositoryOptions.accessToken;
|
|
70
|
+
const queryLatestCommit = (0, graphql_query_factory_1.createLatestCommitQuery)();
|
|
71
|
+
const response = yield axiosCacheInstance.post(exports.API_URL, {
|
|
72
|
+
query: queryLatestCommit,
|
|
73
|
+
variables: {
|
|
74
|
+
repositoryOwner: gitRepositoryOptions.repositoryOwner,
|
|
75
|
+
repositoryName: gitRepositoryOptions.repositoryName,
|
|
76
|
+
ref: ref,
|
|
77
|
+
},
|
|
78
|
+
}, {
|
|
79
|
+
cache: false, // must not use cache, so we always get the branch's current head
|
|
80
|
+
headers: {
|
|
81
|
+
authorization: `Bearer ${token}`,
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
if (!response.data.data.repository) {
|
|
85
|
+
throw new Error(`No repository found "${gitRepositoryOptions.repositoryOwner}/${gitRepositoryOptions.repositoryName}"`);
|
|
86
|
+
}
|
|
87
|
+
const lastCommit = (_e = (_c = (_b = (_a = response.data.data.repository.ref) === null || _a === void 0 ? void 0 : _a.target) === null || _b === void 0 ? void 0 : _b.oid) !== null && _c !== void 0 ? _c : (_d = response.data.data.repository.object) === null || _d === void 0 ? void 0 : _d.oid) !== null && _e !== void 0 ? _e : undefined;
|
|
88
|
+
if (!lastCommit) {
|
|
89
|
+
throw new Error(`No commit found for ref "${ref}"`);
|
|
90
|
+
}
|
|
91
|
+
return lastCommit;
|
|
92
|
+
});
|
|
93
|
+
exports.getLatestCommitHash = getLatestCommitHash;
|
|
94
|
+
const createCommit = (gitRepositoryOptions, axiosCacheInstance, commitDraft) => __awaiter(void 0, void 0, void 0, function* () {
|
|
95
|
+
var _a;
|
|
96
|
+
const token = gitRepositoryOptions.accessToken;
|
|
97
|
+
const pathEntryFolder = (0, path_factory_1.getPathEntryFolder)(gitRepositoryOptions);
|
|
98
|
+
const { additions, deletions } = (0, entries_to_actions_converter_1.convertEntriesToActions)(commitDraft.entries, pathEntryFolder);
|
|
99
|
+
const mutateCommit = (0, graphql_query_factory_1.createCommitMutation)();
|
|
100
|
+
const response = yield axiosCacheInstance.post(exports.API_URL, {
|
|
101
|
+
query: mutateCommit,
|
|
102
|
+
variables: {
|
|
103
|
+
repositoryNameWithOwner: `${gitRepositoryOptions.repositoryOwner}/${gitRepositoryOptions.repositoryName}`,
|
|
104
|
+
branchName: commitDraft.ref,
|
|
105
|
+
commitMessage: (_a = commitDraft.message) !== null && _a !== void 0 ? _a : '-',
|
|
106
|
+
precedingCommitSha: commitDraft.parentSha,
|
|
107
|
+
additions: additions,
|
|
108
|
+
deletions: deletions,
|
|
109
|
+
},
|
|
110
|
+
}, {
|
|
111
|
+
cache: false,
|
|
112
|
+
headers: {
|
|
113
|
+
authorization: `Bearer ${token}`,
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
if (response.data.errors) {
|
|
117
|
+
throw new Error(JSON.stringify(response.data.errors));
|
|
118
|
+
}
|
|
119
|
+
const mutationResult = response.data.data.commitCreate;
|
|
120
|
+
if (mutationResult.errors) {
|
|
121
|
+
throw new Error(JSON.stringify(mutationResult.errors));
|
|
122
|
+
}
|
|
123
|
+
return { ref: mutationResult.commit.oid };
|
|
124
|
+
});
|
|
125
|
+
exports.createCommit = createCommit;
|
|
126
|
+
//# sourceMappingURL=github-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-adapter.js","sourceRoot":"","sources":["../../src/github-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GitHubAdapterService = void 0;
|
|
4
3
|
exports.createAdapter = createAdapter;
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return
|
|
4
|
+
const cached_instance_1 = require("./axios/cached-instance");
|
|
5
|
+
const github_adapter_1 = require("./github-adapter");
|
|
6
|
+
function createAdapter(gitRepositoryOptions) {
|
|
7
|
+
const axiosCacheInstance = (0, cached_instance_1.createAxiosCachedInstance)();
|
|
8
|
+
return {
|
|
9
|
+
getEntries: (commitHash) => (0, github_adapter_1.getEntries)(gitRepositoryOptions, axiosCacheInstance, commitHash),
|
|
10
|
+
getSchema: (commitHash) => (0, github_adapter_1.getSchema)(gitRepositoryOptions, axiosCacheInstance, commitHash),
|
|
11
|
+
getLatestCommitHash: (ref) => (0, github_adapter_1.getLatestCommitHash)(gitRepositoryOptions, axiosCacheInstance, ref),
|
|
12
|
+
createCommit: (commitDraft) => (0, github_adapter_1.createCommit)(gitRepositoryOptions, axiosCacheInstance, commitDraft),
|
|
13
|
+
};
|
|
10
14
|
}
|
|
11
15
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAiBA,sCAeC;AA/BD,6DAAmE;AACnE,qDAKyB;AAUzB,SAAgB,aAAa,CAC3B,oBAA6C;IAE7C,MAAM,kBAAkB,GAAG,IAAA,2CAAyB,GAAE,CAAA;IAEtD,OAAO;QACL,UAAU,EAAE,CAAC,UAAkB,EAAE,EAAE,CACjC,IAAA,2BAAU,EAAC,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,CAAC;QAClE,SAAS,EAAE,CAAC,UAAkB,EAAE,EAAE,CAChC,IAAA,0BAAS,EAAC,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,CAAC;QACjE,mBAAmB,EAAE,CAAC,GAAW,EAAE,EAAE,CACnC,IAAA,oCAAmB,EAAC,oBAAoB,EAAE,kBAAkB,EAAE,GAAG,CAAC;QACpE,YAAY,EAAE,CAAC,WAAwB,EAAE,EAAE,CACzC,IAAA,6BAAY,EAAC,oBAAoB,EAAE,kBAAkB,EAAE,WAAW,CAAC;KACtE,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addition.model.js","sourceRoot":"","sources":["../../../src/model/addition.model.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IAExB,YACW,IAAY,EACrB,QAAgB;QADP,SAAI,GAAJ,IAAI,CAAQ;QAGrB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAClE,CAAC;CACF;AARD,sCAQC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deletion.model.js","sourceRoot":"","sources":["../../../src/model/deletion.model.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IACxB,YAAqB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;CACtC;AAFD,sCAEC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertEntriesToActions = convertEntriesToActions;
|
|
4
|
+
const yaml_1 = require("yaml");
|
|
5
|
+
const addition_model_1 = require("../model/addition.model");
|
|
6
|
+
const deletion_model_1 = require("../model/deletion.model");
|
|
7
|
+
const types_1 = require("./types");
|
|
8
|
+
function convertEntriesToActions(entryDrafts, pathEntryFolder) {
|
|
9
|
+
const additions = [];
|
|
10
|
+
const deletions = [];
|
|
11
|
+
entryDrafts.forEach((entryDraft) => {
|
|
12
|
+
const entryPath = `${pathEntryFolder}/${entryDraft.id}${types_1.ENTRY_EXTENSION}`;
|
|
13
|
+
if (entryDraft.deletion) {
|
|
14
|
+
deletions.push(new deletion_model_1.DeletionModel(entryPath));
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
additions.push(new addition_model_1.AdditionModel(entryPath, (0, yaml_1.stringify)({
|
|
18
|
+
metadata: entryDraft.metadata,
|
|
19
|
+
data: entryDraft.data,
|
|
20
|
+
})));
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
return {
|
|
24
|
+
additions,
|
|
25
|
+
deletions,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=entries-to-actions-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entries-to-actions-converter.js","sourceRoot":"","sources":["../../../src/util/entries-to-actions-converter.ts"],"names":[],"mappings":";;AAMA,0DA6BC;AAlCD,+BAAgC;AAChC,4DAAuD;AACvD,4DAAuD;AACvD,mCAAyC;AAEzC,SAAgB,uBAAuB,CACrC,WAAyB,EACzB,eAAuB;IAKvB,MAAM,SAAS,GAAoB,EAAE,CAAA;IACrC,MAAM,SAAS,GAAoB,EAAE,CAAA;IACrC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,GAAG,eAAe,IAAI,UAAU,CAAC,EAAE,GAAG,uBAAe,EAAE,CAAA;QACzE,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,IAAI,8BAAa,CAAC,SAAS,CAAC,CAAC,CAAA;QAC9C,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CACZ,IAAI,8BAAa,CACf,SAAS,EACT,IAAA,gBAAS,EAAC;gBACR,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;aACtB,CAAC,CACH,CACF,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IACF,OAAO;QACL,SAAS;QACT,SAAS;KACV,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createEntriesFromBlobsQueryResponseData = createEntriesFromBlobsQueryResponseData;
|
|
4
|
+
const yaml_1 = require("yaml");
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
function createEntriesFromBlobsQueryResponseData(entries) {
|
|
7
|
+
return entries
|
|
8
|
+
.filter((entry) => entry.name.endsWith(types_1.ENTRY_EXTENSION) &&
|
|
9
|
+
entry.object['__typename'] === 'Blob')
|
|
10
|
+
.map((entry) => {
|
|
11
|
+
const fileContent = (0, yaml_1.parse)(entry.object.text);
|
|
12
|
+
const id = entry.name.substring(0, entry.name.length - types_1.ENTRY_EXTENSION.length);
|
|
13
|
+
return {
|
|
14
|
+
id: id,
|
|
15
|
+
metadata: fileContent.metadata,
|
|
16
|
+
data: fileContent.data,
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=entry-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-factory.js","sourceRoot":"","sources":["../../../src/util/entry-factory.ts"],"names":[],"mappings":";;AAYA,0FAqBC;AAjCD,+BAA4B;AAE5B,mCAAyC;AAUzC,SAAgB,uCAAuC,CACrD,OAAoB;IAEpB,OAAO,OAAO;SACX,MAAM,CACL,CAAC,KAAgB,EAAE,EAAE,CACnB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAe,CAAC;QACpC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,MAAM,CACxC;SACA,GAAG,CAAC,CAAC,KAAgB,EAAE,EAAE;QACxB,MAAM,WAAW,GAAG,IAAA,YAAK,EAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC5C,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAC7B,CAAC,EACD,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,uBAAe,CAAC,MAAM,CAC3C,CAAA;QACD,OAAO;YACL,EAAE,EAAE,EAAE;YACN,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;SACd,CAAA;IACZ,CAAC,CAAC,CAAA;AACN,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
exports.createBlobsContentQuery = createBlobsContentQuery;
|
|
4
|
+
exports.createBlobContentQuery = createBlobContentQuery;
|
|
5
|
+
exports.createCommitMutation = createCommitMutation;
|
|
6
|
+
exports.createLatestCommitQuery = createLatestCommitQuery;
|
|
7
|
+
function createBlobsContentQuery() {
|
|
8
|
+
return `
|
|
7
9
|
query ($repositoryOwner: String!, $repositoryName: String!, $expression: String!) {
|
|
8
10
|
repository(owner: $repositoryOwner, name: $repositoryName) {
|
|
9
11
|
object(expression: $expression) {
|
|
@@ -22,9 +24,9 @@ class GraphqlQueryFactoryService {
|
|
|
22
24
|
}
|
|
23
25
|
}
|
|
24
26
|
`;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
}
|
|
28
|
+
function createBlobContentQuery() {
|
|
29
|
+
return `
|
|
28
30
|
query ($repositoryOwner: String!, $repositoryName: String!, $expression: String!) {
|
|
29
31
|
repository(owner: $repositoryOwner, name: $repositoryName) {
|
|
30
32
|
object(expression: $expression) {
|
|
@@ -35,9 +37,9 @@ class GraphqlQueryFactoryService {
|
|
|
35
37
|
}
|
|
36
38
|
}
|
|
37
39
|
`;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
}
|
|
41
|
+
function createCommitMutation() {
|
|
42
|
+
return `
|
|
41
43
|
mutation (
|
|
42
44
|
$repositoryNameWithOwner: String!,
|
|
43
45
|
$branchName: String!,
|
|
@@ -67,9 +69,9 @@ class GraphqlQueryFactoryService {
|
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
71
|
`;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
}
|
|
73
|
+
function createLatestCommitQuery() {
|
|
74
|
+
return `
|
|
73
75
|
query ($repositoryOwner: String!, $repositoryName: String!, $ref: String!) {
|
|
74
76
|
repository(owner: $repositoryOwner, name: $repositoryName) {
|
|
75
77
|
ref(qualifiedName: $ref) {
|
|
@@ -83,7 +85,5 @@ class GraphqlQueryFactoryService {
|
|
|
83
85
|
}
|
|
84
86
|
}
|
|
85
87
|
`;
|
|
86
|
-
}
|
|
87
88
|
}
|
|
88
|
-
|
|
89
|
-
//# sourceMappingURL=graphql-query-factory.service.js.map
|
|
89
|
+
//# sourceMappingURL=graphql-query-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-query-factory.js","sourceRoot":"","sources":["../../../src/util/graphql-query-factory.ts"],"names":[],"mappings":";;AAAA,0DAoBC;AAED,wDAYC;AAED,oDA+BC;AAED,0DAeC;AApFD,SAAgB,uBAAuB;IACrC,OAAO;;;;;;;;;;;;;;;;;;KAkBJ,CAAA;AACL,CAAC;AAED,SAAgB,sBAAsB;IACpC,OAAO;;;;;;;;;;KAUJ,CAAA;AACL,CAAC;AAED,SAAgB,oBAAoB;IAClC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6BJ,CAAA;AACL,CAAC;AAED,SAAgB,uBAAuB;IACrC,OAAO;;;;;;;;;;;;;KAaJ,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPathSchema = getPathSchema;
|
|
4
|
+
exports.getPathEntryFolder = getPathEntryFolder;
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
function getPathSchema(gitRepositoryOptions) {
|
|
7
|
+
var _a;
|
|
8
|
+
return (_a = gitRepositoryOptions.pathSchemaFile) !== null && _a !== void 0 ? _a : types_1.PATH_SCHEMA_FILE;
|
|
9
|
+
}
|
|
10
|
+
function getPathEntryFolder(gitRepositoryOptions) {
|
|
11
|
+
var _a;
|
|
12
|
+
const pathEntryFolder = (_a = gitRepositoryOptions.pathEntryFolder) !== null && _a !== void 0 ? _a : types_1.PATH_ENTRY_FOLDER;
|
|
13
|
+
if (pathEntryFolder.endsWith('/')) {
|
|
14
|
+
return pathEntryFolder.substring(0, pathEntryFolder.length - 1);
|
|
15
|
+
}
|
|
16
|
+
return pathEntryFolder;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=path-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-factory.js","sourceRoot":"","sources":["../../../src/util/path-factory.ts"],"names":[],"mappings":";;AAGA,sCAEC;AAED,gDAWC;AAjBD,mCAA6D;AAE7D,SAAgB,aAAa,CAAC,oBAA6C;;IACzE,OAAO,MAAA,oBAAoB,CAAC,cAAc,mCAAI,wBAAgB,CAAA;AAChE,CAAC;AAED,SAAgB,kBAAkB,CAChC,oBAA6C;;IAE7C,MAAM,eAAe,GACnB,MAAA,oBAAoB,CAAC,eAAe,mCAAI,yBAAiB,CAAA;IAE3D,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,OAAO,eAAe,CAAA;AACxB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PATH_ENTRY_FOLDER = exports.PATH_SCHEMA_FILE = exports.ENTRY_EXTENSION = void 0;
|
|
4
|
+
exports.ENTRY_EXTENSION = '.yaml';
|
|
5
|
+
exports.PATH_SCHEMA_FILE = 'commitspark/schema/schema.graphql';
|
|
6
|
+
exports.PATH_ENTRY_FOLDER = 'commitspark/entries/';
|
|
7
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/util/types.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,OAAO,CAAA;AACzB,QAAA,gBAAgB,GAAG,mCAAmC,CAAA;AACtD,QAAA,iBAAiB,GAAG,sBAAsB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
export const cacheKeyGenerator = (request) => {
|
|
2
2
|
const authorization = request.headers?.authorization;
|
|
3
3
|
const key = {
|
|
4
4
|
method: request.method,
|
|
@@ -12,5 +12,4 @@ const axiosCacheKeyGenerator = (request) => {
|
|
|
12
12
|
}
|
|
13
13
|
return key;
|
|
14
14
|
};
|
|
15
|
-
|
|
16
|
-
//# sourceMappingURL=axios-cache-key-generator.js.map
|
|
15
|
+
//# sourceMappingURL=cache-key-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-key-generator.js","sourceRoot":"","sources":["../../../src/axios/cache-key-generator.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAiC,EACjC,EAAE;IACF,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,aAAa,CAAA;IACpD,MAAM,GAAG,GAA2C;QAClD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,uCAAuC;KAC5D,CAAA;IAED,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,uGAAuG;QACvG,+EAA+E;QAC/E,GAAG,CAAC,MAAM,CAAC,GAAG,aAAa,CAAA;IAC7B,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { buildKeyGenerator, setupCache, } from 'axios-cache-interceptor';
|
|
2
|
+
import axios from 'axios';
|
|
3
|
+
import { cacheKeyGenerator } from './cache-key-generator';
|
|
4
|
+
export const QUERY_CACHE_SECONDS = 10 * 60;
|
|
5
|
+
export const createAxiosCachedInstance = () => {
|
|
6
|
+
return setupCache(axios.create(), {
|
|
7
|
+
ttl: QUERY_CACHE_SECONDS * 1000, // milliseconds
|
|
8
|
+
methods: ['get', 'post'],
|
|
9
|
+
generateKey: buildKeyGenerator(cacheKeyGenerator), //
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=cached-instance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cached-instance.js","sourceRoot":"","sources":["../../../src/axios/cached-instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,UAAU,GACX,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,CAAA;AAE1C,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAuB,EAAE;IAChE,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE;QAChC,GAAG,EAAE,mBAAmB,GAAG,IAAI,EAAE,eAAe;QAChD,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,EAAE;KACtD,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { createBlobContentQuery, createBlobsContentQuery, createCommitMutation, createLatestCommitQuery, } from './util/graphql-query-factory';
|
|
2
|
+
import { convertEntriesToActions } from './util/entries-to-actions-converter';
|
|
3
|
+
import { getPathEntryFolder, getPathSchema } from './util/path-factory';
|
|
4
|
+
import { createEntriesFromBlobsQueryResponseData } from './util/entry-factory';
|
|
5
|
+
export const API_URL = 'https://api.github.com/graphql';
|
|
6
|
+
export const getEntries = async (gitRepositoryOptions, axiosCacheInstance, commitHash) => {
|
|
7
|
+
const token = gitRepositoryOptions.accessToken;
|
|
8
|
+
const pathEntryFolder = getPathEntryFolder(gitRepositoryOptions);
|
|
9
|
+
const queryFilesContent = createBlobsContentQuery();
|
|
10
|
+
const filesContentResponse = await axiosCacheInstance.post(API_URL, {
|
|
11
|
+
query: queryFilesContent,
|
|
12
|
+
variables: {
|
|
13
|
+
repositoryOwner: gitRepositoryOptions.repositoryOwner,
|
|
14
|
+
repositoryName: gitRepositoryOptions.repositoryName,
|
|
15
|
+
expression: `${commitHash}:${pathEntryFolder}`,
|
|
16
|
+
},
|
|
17
|
+
}, {
|
|
18
|
+
headers: {
|
|
19
|
+
authorization: `Bearer ${token}`,
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
if (!filesContentResponse.data.data.repository?.object?.entries) {
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
25
|
+
return createEntriesFromBlobsQueryResponseData(filesContentResponse.data.data.repository.object.entries);
|
|
26
|
+
};
|
|
27
|
+
export const getSchema = async (gitRepositoryOptions, axiosCacheInstance, commitHash) => {
|
|
28
|
+
const repositoryOwner = gitRepositoryOptions.repositoryOwner;
|
|
29
|
+
const repositoryName = gitRepositoryOptions.repositoryName;
|
|
30
|
+
const token = gitRepositoryOptions.accessToken;
|
|
31
|
+
const schemaFilePath = getPathSchema(gitRepositoryOptions);
|
|
32
|
+
const queryContent = createBlobContentQuery();
|
|
33
|
+
const response = await axiosCacheInstance.post(API_URL, {
|
|
34
|
+
query: queryContent,
|
|
35
|
+
variables: {
|
|
36
|
+
repositoryOwner: repositoryOwner,
|
|
37
|
+
repositoryName: repositoryName,
|
|
38
|
+
expression: `${commitHash}:${schemaFilePath}`,
|
|
39
|
+
},
|
|
40
|
+
}, {
|
|
41
|
+
headers: {
|
|
42
|
+
authorization: `Bearer ${token}`,
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
const schema = response.data?.data?.repository?.object?.text;
|
|
46
|
+
if (!schema) {
|
|
47
|
+
throw new Error(`"${schemaFilePath}" not found in Git repository "${repositoryOwner}/${repositoryName}" at commit "${commitHash}"`);
|
|
48
|
+
}
|
|
49
|
+
return schema;
|
|
50
|
+
};
|
|
51
|
+
export const getLatestCommitHash = async (gitRepositoryOptions, axiosCacheInstance, ref) => {
|
|
52
|
+
const token = gitRepositoryOptions.accessToken;
|
|
53
|
+
const queryLatestCommit = createLatestCommitQuery();
|
|
54
|
+
const response = await axiosCacheInstance.post(API_URL, {
|
|
55
|
+
query: queryLatestCommit,
|
|
56
|
+
variables: {
|
|
57
|
+
repositoryOwner: gitRepositoryOptions.repositoryOwner,
|
|
58
|
+
repositoryName: gitRepositoryOptions.repositoryName,
|
|
59
|
+
ref: ref,
|
|
60
|
+
},
|
|
61
|
+
}, {
|
|
62
|
+
cache: false, // must not use cache, so we always get the branch's current head
|
|
63
|
+
headers: {
|
|
64
|
+
authorization: `Bearer ${token}`,
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
if (!response.data.data.repository) {
|
|
68
|
+
throw new Error(`No repository found "${gitRepositoryOptions.repositoryOwner}/${gitRepositoryOptions.repositoryName}"`);
|
|
69
|
+
}
|
|
70
|
+
const lastCommit = response.data.data.repository.ref?.target?.oid ??
|
|
71
|
+
response.data.data.repository.object?.oid ??
|
|
72
|
+
undefined;
|
|
73
|
+
if (!lastCommit) {
|
|
74
|
+
throw new Error(`No commit found for ref "${ref}"`);
|
|
75
|
+
}
|
|
76
|
+
return lastCommit;
|
|
77
|
+
};
|
|
78
|
+
export const createCommit = async (gitRepositoryOptions, axiosCacheInstance, commitDraft) => {
|
|
79
|
+
const token = gitRepositoryOptions.accessToken;
|
|
80
|
+
const pathEntryFolder = getPathEntryFolder(gitRepositoryOptions);
|
|
81
|
+
const { additions, deletions } = convertEntriesToActions(commitDraft.entries, pathEntryFolder);
|
|
82
|
+
const mutateCommit = createCommitMutation();
|
|
83
|
+
const response = await axiosCacheInstance.post(API_URL, {
|
|
84
|
+
query: mutateCommit,
|
|
85
|
+
variables: {
|
|
86
|
+
repositoryNameWithOwner: `${gitRepositoryOptions.repositoryOwner}/${gitRepositoryOptions.repositoryName}`,
|
|
87
|
+
branchName: commitDraft.ref,
|
|
88
|
+
commitMessage: commitDraft.message ?? '-',
|
|
89
|
+
precedingCommitSha: commitDraft.parentSha,
|
|
90
|
+
additions: additions,
|
|
91
|
+
deletions: deletions,
|
|
92
|
+
},
|
|
93
|
+
}, {
|
|
94
|
+
cache: false,
|
|
95
|
+
headers: {
|
|
96
|
+
authorization: `Bearer ${token}`,
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
if (response.data.errors) {
|
|
100
|
+
throw new Error(JSON.stringify(response.data.errors));
|
|
101
|
+
}
|
|
102
|
+
const mutationResult = response.data.data.commitCreate;
|
|
103
|
+
if (mutationResult.errors) {
|
|
104
|
+
throw new Error(JSON.stringify(mutationResult.errors));
|
|
105
|
+
}
|
|
106
|
+
return { ref: mutationResult.commit.oid };
|
|
107
|
+
};
|
|
108
|
+
//# sourceMappingURL=github-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-adapter.js","sourceRoot":"","sources":["../../src/github-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export function createAdapter() {
|
|
4
|
-
|
|
1
|
+
import { createAxiosCachedInstance } from './axios/cached-instance';
|
|
2
|
+
import { createCommit, getEntries, getLatestCommitHash, getSchema, } from './github-adapter';
|
|
3
|
+
export function createAdapter(gitRepositoryOptions) {
|
|
4
|
+
const axiosCacheInstance = createAxiosCachedInstance();
|
|
5
|
+
return {
|
|
6
|
+
getEntries: (commitHash) => getEntries(gitRepositoryOptions, axiosCacheInstance, commitHash),
|
|
7
|
+
getSchema: (commitHash) => getSchema(gitRepositoryOptions, axiosCacheInstance, commitHash),
|
|
8
|
+
getLatestCommitHash: (ref) => getLatestCommitHash(gitRepositoryOptions, axiosCacheInstance, ref),
|
|
9
|
+
createCommit: (commitDraft) => createCommit(gitRepositoryOptions, axiosCacheInstance, commitDraft),
|
|
10
|
+
};
|
|
5
11
|
}
|
|
6
12
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,EACL,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,SAAS,GACV,MAAM,kBAAkB,CAAA;AAUzB,MAAM,UAAU,aAAa,CAC3B,oBAA6C;IAE7C,MAAM,kBAAkB,GAAG,yBAAyB,EAAE,CAAA;IAEtD,OAAO;QACL,UAAU,EAAE,CAAC,UAAkB,EAAE,EAAE,CACjC,UAAU,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,CAAC;QAClE,SAAS,EAAE,CAAC,UAAkB,EAAE,EAAE,CAChC,SAAS,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,CAAC;QACjE,mBAAmB,EAAE,CAAC,GAAW,EAAE,EAAE,CACnC,mBAAmB,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,GAAG,CAAC;QACpE,YAAY,EAAE,CAAC,WAAwB,EAAE,EAAE,CACzC,YAAY,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,WAAW,CAAC;KACtE,CAAA;AACH,CAAC"}
|