cnpmcore 3.13.2 → 3.15.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/dist/app/common/FileUtil.d.ts +7 -1
- package/dist/app/common/FileUtil.js +8 -5
- package/dist/app/common/adapter/NPMRegistry.d.ts +14 -4
- package/dist/app/common/adapter/NPMRegistry.js +17 -9
- package/dist/app/core/entity/Task.d.ts +2 -0
- package/dist/app/core/entity/Task.js +2 -1
- package/dist/app/core/entity/Token.d.ts +28 -4
- package/dist/app/core/entity/Token.js +31 -5
- package/dist/app/core/service/BinarySyncerService.js +2 -2
- package/dist/app/core/service/PackageSyncerService.js +9 -7
- package/dist/app/core/service/TokenService.d.ts +9 -0
- package/dist/app/core/service/TokenService.js +76 -0
- package/dist/app/core/service/UserService.d.ts +14 -3
- package/dist/app/core/service/UserService.js +3 -4
- package/dist/app/port/UserRoleManager.d.ts +1 -0
- package/dist/app/port/UserRoleManager.js +15 -6
- package/dist/app/port/controller/PackageSyncController.js +3 -1
- package/dist/app/port/controller/TokenController.d.ts +44 -0
- package/dist/app/port/controller/TokenController.js +140 -2
- package/dist/app/port/typebox.d.ts +1 -0
- package/dist/app/port/typebox.js +5 -1
- package/dist/app/repository/UserRepository.d.ts +2 -0
- package/dist/app/repository/UserRepository.js +39 -6
- package/dist/app/repository/model/Token.d.ts +5 -0
- package/dist/app/repository/model/Token.js +21 -1
- package/dist/app/repository/model/TokenPackage.d.ts +8 -0
- package/dist/app/repository/model/TokenPackage.js +44 -0
- package/package.json +1 -1
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { EggContextHttpClient, HttpClientResponse } from 'egg';
|
|
2
|
+
interface DownloadToTempfileOptionalConfig {
|
|
3
|
+
retries?: number;
|
|
4
|
+
ignoreDownloadStatuses?: number[];
|
|
5
|
+
remoteAuthToken?: string;
|
|
6
|
+
}
|
|
2
7
|
export declare function createTempfile(dataDir: string, filename: string): Promise<string>;
|
|
3
|
-
export declare function downloadToTempfile(httpclient: EggContextHttpClient, dataDir: string, url: string,
|
|
8
|
+
export declare function downloadToTempfile(httpclient: EggContextHttpClient, dataDir: string, url: string, optionalConfig?: DownloadToTempfileOptionalConfig): Promise<Tempfile>;
|
|
4
9
|
export interface Tempfile {
|
|
5
10
|
tmpfile: string;
|
|
6
11
|
headers: HttpClientResponse['res']['headers'];
|
|
7
12
|
timing: HttpClientResponse['res']['timing'];
|
|
8
13
|
}
|
|
14
|
+
export {};
|
|
@@ -21,11 +21,12 @@ async function createTempfile(dataDir, filename) {
|
|
|
21
21
|
return tmpfile;
|
|
22
22
|
}
|
|
23
23
|
exports.createTempfile = createTempfile;
|
|
24
|
-
async function downloadToTempfile(httpclient, dataDir, url,
|
|
24
|
+
async function downloadToTempfile(httpclient, dataDir, url, optionalConfig) {
|
|
25
|
+
let retries = optionalConfig?.retries || 3;
|
|
25
26
|
let lastError;
|
|
26
27
|
while (retries > 0) {
|
|
27
28
|
try {
|
|
28
|
-
return await _downloadToTempfile(httpclient, dataDir, url,
|
|
29
|
+
return await _downloadToTempfile(httpclient, dataDir, url, optionalConfig);
|
|
29
30
|
}
|
|
30
31
|
catch (err) {
|
|
31
32
|
if (err.name === 'DownloadNotFoundError')
|
|
@@ -42,19 +43,21 @@ async function downloadToTempfile(httpclient, dataDir, url, ignoreDownloadStatus
|
|
|
42
43
|
throw lastError;
|
|
43
44
|
}
|
|
44
45
|
exports.downloadToTempfile = downloadToTempfile;
|
|
45
|
-
async function _downloadToTempfile(httpclient, dataDir, url,
|
|
46
|
+
async function _downloadToTempfile(httpclient, dataDir, url, optionalConfig) {
|
|
46
47
|
const tmpfile = await createTempfile(dataDir, url);
|
|
47
48
|
const writeStream = (0, fs_1.createWriteStream)(tmpfile);
|
|
48
49
|
try {
|
|
49
50
|
// max 10 mins to download
|
|
50
51
|
// FIXME: should show download progress
|
|
52
|
+
const authorization = optionalConfig?.remoteAuthToken ? `Bearer ${optionalConfig?.remoteAuthToken}` : '';
|
|
51
53
|
const { status, headers, res } = await httpclient.request(url, {
|
|
52
54
|
timeout: 60000 * 10,
|
|
55
|
+
headers: { authorization },
|
|
53
56
|
writeStream,
|
|
54
57
|
timing: true,
|
|
55
58
|
followRedirect: true,
|
|
56
59
|
});
|
|
57
|
-
if (status === 404 || (ignoreDownloadStatuses && ignoreDownloadStatuses.includes(status))) {
|
|
60
|
+
if (status === 404 || (optionalConfig?.ignoreDownloadStatuses && optionalConfig.ignoreDownloadStatuses.includes(status))) {
|
|
58
61
|
const err = new Error(`Not found, status(${status})`);
|
|
59
62
|
err.name = 'DownloadNotFoundError';
|
|
60
63
|
throw err;
|
|
@@ -75,4 +78,4 @@ async function _downloadToTempfile(httpclient, dataDir, url, ignoreDownloadStatu
|
|
|
75
78
|
throw err;
|
|
76
79
|
}
|
|
77
80
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvY29tbW9uL0ZpbGVVdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBDQUF3QztBQUN4QywyQkFBdUM7QUFDdkMsOENBQTZDO0FBQzdDLGdEQUF3QjtBQUN4Qiw4Q0FBc0I7QUFDdEIsbUNBQXFDO0FBRXJDLG9EQUE0QjtBQVFyQixLQUFLLFVBQVUsY0FBYyxDQUFDLE9BQWUsRUFBRSxRQUFnQjtJQUNwRSwyQ0FBMkM7SUFDM0MsTUFBTSxNQUFNLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUEsZUFBSyxHQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDN0UsTUFBTSxJQUFBLGdCQUFLLEVBQUMsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFekMsa0lBQWtJO0lBQ2xJLCtDQUErQztJQUMvQyxNQUFNLE9BQU8sR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUEsb0JBQVcsRUFBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksY0FBSSxDQUFDLFFBQVEsQ0FBQyxhQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4SCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBVEQsd0NBU0M7QUFFTSxLQUFLLFVBQVUsa0JBQWtCLENBQUMsVUFBZ0MsRUFDdkUsT0FBZSxFQUFFLEdBQVcsRUFBRSxjQUFpRDtJQUMvRSxJQUFJLE9BQU8sR0FBRyxjQUFjLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQztJQUMzQyxJQUFJLFNBQWMsQ0FBQztJQUNuQixPQUFPLE9BQU8sR0FBRyxDQUFDLEVBQUU7UUFDbEIsSUFBSTtZQUNGLE9B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
|
|
@@ -11,10 +11,20 @@ export declare class NPMRegistry {
|
|
|
11
11
|
registryHost: string;
|
|
12
12
|
get registry(): string;
|
|
13
13
|
setRegistryHost(registryHost?: string): void;
|
|
14
|
-
getFullManifests(fullname: string,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
getFullManifests(fullname: string, optionalConfig?: {
|
|
15
|
+
retries?: number;
|
|
16
|
+
remoteAuthToken?: string;
|
|
17
|
+
}): Promise<RegistryResponse>;
|
|
18
|
+
createSyncTask(fullname: string, optionalConfig?: {
|
|
19
|
+
remoteAuthToken?: string;
|
|
20
|
+
}): Promise<RegistryResponse>;
|
|
21
|
+
getSyncTask(fullname: string, id: string, offset: number, optionalConfig?: {
|
|
22
|
+
remoteAuthToken?: string;
|
|
23
|
+
}): Promise<RegistryResponse>;
|
|
24
|
+
getDownloadRanges(registry: string, fullname: string, start: string, end: string, optionalConfig?: {
|
|
25
|
+
remoteAuthToken?: string;
|
|
26
|
+
}): Promise<RegistryResponse>;
|
|
18
27
|
private request;
|
|
28
|
+
private genAuthorizationHeader;
|
|
19
29
|
}
|
|
20
30
|
export {};
|
|
@@ -23,7 +23,8 @@ let NPMRegistry = class NPMRegistry {
|
|
|
23
23
|
setRegistryHost(registryHost = '') {
|
|
24
24
|
this.registryHost = registryHost;
|
|
25
25
|
}
|
|
26
|
-
async getFullManifests(fullname,
|
|
26
|
+
async getFullManifests(fullname, optionalConfig) {
|
|
27
|
+
let retries = optionalConfig?.retries || 3;
|
|
27
28
|
// set query t=timestamp, make sure CDN cache disable
|
|
28
29
|
// cache=0 is sync worker request flag
|
|
29
30
|
const url = `${this.registry}/${encodeURIComponent(fullname)}?t=${Date.now()}&cache=0`;
|
|
@@ -32,7 +33,8 @@ let NPMRegistry = class NPMRegistry {
|
|
|
32
33
|
try {
|
|
33
34
|
// large package: https://r.cnpmjs.org/%40procore%2Fcore-icons
|
|
34
35
|
// https://r.cnpmjs.org/intraactive-sdk-ui 44s
|
|
35
|
-
|
|
36
|
+
const authorization = this.genAuthorizationHeader(optionalConfig?.remoteAuthToken);
|
|
37
|
+
return await this.request('GET', url, undefined, { timeout: 120000, headers: { authorization } });
|
|
36
38
|
}
|
|
37
39
|
catch (err) {
|
|
38
40
|
if (err.name === 'ResponseTimeoutError')
|
|
@@ -49,23 +51,26 @@ let NPMRegistry = class NPMRegistry {
|
|
|
49
51
|
throw lastError;
|
|
50
52
|
}
|
|
51
53
|
// app.put('/:name/sync', sync.sync);
|
|
52
|
-
async createSyncTask(fullname) {
|
|
54
|
+
async createSyncTask(fullname, optionalConfig) {
|
|
55
|
+
const authorization = this.genAuthorizationHeader(optionalConfig?.remoteAuthToken);
|
|
53
56
|
const url = `${this.registry}/${encodeURIComponent(fullname)}/sync?sync_upstream=true&nodeps=true`;
|
|
54
57
|
// {
|
|
55
58
|
// ok: true,
|
|
56
59
|
// logId: logId
|
|
57
60
|
// };
|
|
58
|
-
return await this.request('PUT', url);
|
|
61
|
+
return await this.request('PUT', url, undefined, { authorization });
|
|
59
62
|
}
|
|
60
63
|
// app.get('/:name/sync/log/:id', sync.getSyncLog);
|
|
61
|
-
async getSyncTask(fullname, id, offset) {
|
|
64
|
+
async getSyncTask(fullname, id, offset, optionalConfig) {
|
|
65
|
+
const authorization = this.genAuthorizationHeader(optionalConfig?.remoteAuthToken);
|
|
62
66
|
const url = `${this.registry}/${encodeURIComponent(fullname)}/sync/log/${id}?offset=${offset}`;
|
|
63
67
|
// { ok: true, syncDone: syncDone, log: log }
|
|
64
|
-
return await this.request('GET', url);
|
|
68
|
+
return await this.request('GET', url, undefined, { authorization });
|
|
65
69
|
}
|
|
66
|
-
async getDownloadRanges(registry, fullname, start, end) {
|
|
70
|
+
async getDownloadRanges(registry, fullname, start, end, optionalConfig) {
|
|
71
|
+
const authorization = this.genAuthorizationHeader(optionalConfig?.remoteAuthToken);
|
|
67
72
|
const url = `${registry}/downloads/range/${start}:${end}/${encodeURIComponent(fullname)}`;
|
|
68
|
-
return await this.request('GET', url);
|
|
73
|
+
return await this.request('GET', url, undefined, { authorization });
|
|
69
74
|
}
|
|
70
75
|
async request(method, url, params, options) {
|
|
71
76
|
const res = await this.httpclient.request(url, {
|
|
@@ -84,6 +89,9 @@ let NPMRegistry = class NPMRegistry {
|
|
|
84
89
|
...res,
|
|
85
90
|
};
|
|
86
91
|
}
|
|
92
|
+
genAuthorizationHeader(remoteAuthToken) {
|
|
93
|
+
return remoteAuthToken ? `Bearer ${remoteAuthToken}` : '';
|
|
94
|
+
}
|
|
87
95
|
};
|
|
88
96
|
__decorate([
|
|
89
97
|
(0, tegg_1.Inject)(),
|
|
@@ -104,4 +112,4 @@ NPMRegistry = __decorate([
|
|
|
104
112
|
})
|
|
105
113
|
], NPMRegistry);
|
|
106
114
|
exports.NPMRegistry = NPMRegistry;
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTlBNUmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29tbW9uL2FkYXB0ZXIvTlBNUmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsOENBQTZDO0FBQzdDLHNDQUlxQjtBQVdyQixNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUM7QUFRN0IsSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBVztJQUFqQjtRQU9HLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFtRjFCLENBQUM7SUFoRkMsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztJQUNsRSxDQUFDO0lBRU0sZUFBZSxDQUFDLFlBQVksR0FBRyxFQUFFO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFTSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBZ0IsRUFBRSxjQUEyRDtRQUN6RyxJQUFJLE9BQU8sR0FBRyxjQUFjLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQztRQUMzQyxxREFBcUQ7UUFDckQsc0NBQXNDO1FBQ3RDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQztRQUN2RixJQUFJLFNBQWMsQ0FBQztRQUNuQixPQUFPLE9BQU8sR0FBRyxDQUFDLEVBQUU7WUFDbEIsSUFBSTtnQkFDRiw4REFBOEQ7Z0JBQzlELDhDQUE4QztnQkFDOUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUMsQ0FBQztnQkFDbkYsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVB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
|
|
@@ -23,6 +23,7 @@ export interface TaskData<T = TaskBaseData> extends EntityData {
|
|
|
23
23
|
export type SyncPackageTaskOptions = {
|
|
24
24
|
authorId?: string;
|
|
25
25
|
authorIp?: string;
|
|
26
|
+
remoteAuthToken?: string;
|
|
26
27
|
tips?: string;
|
|
27
28
|
skipDependencies?: boolean;
|
|
28
29
|
syncDownloadData?: boolean;
|
|
@@ -38,6 +39,7 @@ export interface TriggerHookTaskData extends TaskBaseData {
|
|
|
38
39
|
responseStatus?: number;
|
|
39
40
|
}
|
|
40
41
|
export interface CreateSyncPackageTaskData extends TaskBaseData {
|
|
42
|
+
remoteAuthToken?: string;
|
|
41
43
|
tips?: string;
|
|
42
44
|
skipDependencies?: boolean;
|
|
43
45
|
syncDownloadData?: boolean;
|
|
@@ -49,6 +49,7 @@ class Task extends Entity_1.Entity {
|
|
|
49
49
|
data: {
|
|
50
50
|
// task execute worker
|
|
51
51
|
taskWorker: '',
|
|
52
|
+
remoteAuthToken: options?.remoteAuthToken,
|
|
52
53
|
tips: options?.tips,
|
|
53
54
|
registryId: options?.registryId ?? '',
|
|
54
55
|
skipDependencies: options?.skipDependencies,
|
|
@@ -153,4 +154,4 @@ class Task extends Entity_1.Entity {
|
|
|
153
154
|
}
|
|
154
155
|
}
|
|
155
156
|
exports.Task = Task;
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL2VudGl0eS9UYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDRDQUFvQjtBQUNwQixnREFBd0I7QUFDeEIscUNBQThDO0FBQzlDLG1EQUEwRDtBQUMxRCxpREFBNkQ7QUFDN0QsK0RBQXVDO0FBRzFCLFFBQUEsU0FBUyxHQUFHLFlBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUMxQixRQUFBLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO0FBcUUvQixNQUFhLElBQTRDLFNBQVEsZUFBTTtJQWVyRSxZQUFZLElBQWlCO1FBQzNCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJ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
|
|
@@ -1,14 +1,31 @@
|
|
|
1
1
|
import { Entity, EntityData } from './Entity';
|
|
2
2
|
import { EasyData } from '../util/EntityUtil';
|
|
3
|
-
|
|
3
|
+
export declare enum TokenType {
|
|
4
|
+
granular = "granular",
|
|
5
|
+
classic = "classic"
|
|
6
|
+
}
|
|
7
|
+
interface BaseTokenData extends EntityData {
|
|
4
8
|
tokenId: string;
|
|
5
9
|
tokenMark: string;
|
|
6
10
|
tokenKey: string;
|
|
7
|
-
cidrWhitelist
|
|
11
|
+
cidrWhitelist?: string[];
|
|
8
12
|
userId: string;
|
|
9
|
-
isReadonly
|
|
10
|
-
|
|
13
|
+
isReadonly?: boolean;
|
|
14
|
+
type?: TokenType;
|
|
15
|
+
}
|
|
16
|
+
interface ClassicTokenData extends BaseTokenData {
|
|
17
|
+
isAutomation?: boolean;
|
|
18
|
+
}
|
|
19
|
+
interface GranularTokenData extends BaseTokenData {
|
|
20
|
+
name: string;
|
|
21
|
+
description?: string;
|
|
22
|
+
allowedScopes?: string[];
|
|
23
|
+
allowedPackages?: string[];
|
|
24
|
+
expires: number;
|
|
25
|
+
expiredAt: Date;
|
|
11
26
|
}
|
|
27
|
+
type TokenData = ClassicTokenData | GranularTokenData;
|
|
28
|
+
export declare function isGranularToken(data: TokenData): data is GranularTokenData;
|
|
12
29
|
export declare class Token extends Entity {
|
|
13
30
|
readonly tokenId: string;
|
|
14
31
|
readonly tokenMark: string;
|
|
@@ -17,6 +34,13 @@ export declare class Token extends Entity {
|
|
|
17
34
|
readonly userId: string;
|
|
18
35
|
readonly isReadonly: boolean;
|
|
19
36
|
readonly isAutomation: boolean;
|
|
37
|
+
readonly type?: TokenType;
|
|
38
|
+
readonly name?: string;
|
|
39
|
+
readonly description?: string;
|
|
40
|
+
readonly allowedScopes?: string[];
|
|
41
|
+
readonly expiredAt?: Date;
|
|
42
|
+
readonly expires?: number;
|
|
43
|
+
allowedPackages?: string[];
|
|
20
44
|
token?: string;
|
|
21
45
|
constructor(data: TokenData);
|
|
22
46
|
static create(data: EasyData<TokenData, 'tokenId'>): Token;
|
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Token = void 0;
|
|
6
|
+
exports.Token = exports.isGranularToken = exports.TokenType = void 0;
|
|
7
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
4
8
|
const Entity_1 = require("./Entity");
|
|
5
9
|
const EntityUtil_1 = require("../util/EntityUtil");
|
|
10
|
+
var TokenType;
|
|
11
|
+
(function (TokenType) {
|
|
12
|
+
TokenType["granular"] = "granular";
|
|
13
|
+
TokenType["classic"] = "classic";
|
|
14
|
+
})(TokenType = exports.TokenType || (exports.TokenType = {}));
|
|
15
|
+
function isGranularToken(data) {
|
|
16
|
+
return data.type === TokenType.granular;
|
|
17
|
+
}
|
|
18
|
+
exports.isGranularToken = isGranularToken;
|
|
6
19
|
class Token extends Entity_1.Entity {
|
|
7
20
|
constructor(data) {
|
|
8
21
|
super(data);
|
|
@@ -10,14 +23,27 @@ class Token extends Entity_1.Entity {
|
|
|
10
23
|
this.tokenId = data.tokenId;
|
|
11
24
|
this.tokenMark = data.tokenMark;
|
|
12
25
|
this.tokenKey = data.tokenKey;
|
|
13
|
-
this.cidrWhitelist = data.cidrWhitelist;
|
|
14
|
-
this.isReadonly = data.isReadonly;
|
|
15
|
-
this.
|
|
26
|
+
this.cidrWhitelist = data.cidrWhitelist || [];
|
|
27
|
+
this.isReadonly = data.isReadonly || false;
|
|
28
|
+
this.type = data.type || TokenType.classic;
|
|
29
|
+
if (isGranularToken(data)) {
|
|
30
|
+
this.name = data.name;
|
|
31
|
+
this.description = data.description;
|
|
32
|
+
this.allowedScopes = data.allowedScopes;
|
|
33
|
+
this.expiredAt = data.expiredAt;
|
|
34
|
+
this.allowedPackages = data.allowedPackages;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
this.isAutomation = data.isAutomation || false;
|
|
38
|
+
}
|
|
16
39
|
}
|
|
17
40
|
static create(data) {
|
|
18
41
|
const newData = EntityUtil_1.EntityUtil.defaultData(data, 'tokenId');
|
|
42
|
+
if (isGranularToken(newData) && !newData.expiredAt) {
|
|
43
|
+
newData.expiredAt = (0, dayjs_1.default)(newData.createdAt).add(newData.expires, 'days').toDate();
|
|
44
|
+
}
|
|
19
45
|
return new Token(newData);
|
|
20
46
|
}
|
|
21
47
|
}
|
|
22
48
|
exports.Token = Token;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9lbnRpdHkvVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLHFDQUE4QztBQUM5QyxtREFBMEQ7QUFFMUQsSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLGtDQUFxQixDQUFBO0lBQ3JCLGdDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQUdwQjtBQXlCRCxTQUFnQixlQUFlLENBQUMsSUFBZTtJQUM3QyxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLFFBQVEsQ0FBQztBQUMxQyxDQUFDO0FBRkQsMENBRUM7QUFFRCxNQUFhLEtBQU0sU0FBUSxlQUFNO0lBaUIvQixZQUFZLElBQWU7UUFDekIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUUzQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1NBQzdDO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBb0M7UUFDaEQsTUFBTSxPQUFPLEdBQUcsdUJBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNsRCxPQUFPLENBQUMsU0FBUyxHQUFHLElBQUEsZUFBSyxFQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNwRjtRQUNELE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUVGO0FBOUNELHNCQThDQyJ9
|
|
@@ -162,7 +162,7 @@ let BinarySyncerService = class BinarySyncerService extends AbstractService_1.Ab
|
|
|
162
162
|
logs = [];
|
|
163
163
|
let localFile = '';
|
|
164
164
|
try {
|
|
165
|
-
const { tmpfile, headers, timing } = await (0, FileUtil_1.downloadToTempfile)(this.httpclient, this.config.dataDir, item.sourceUrl, item.ignoreDownloadStatuses);
|
|
165
|
+
const { tmpfile, headers, timing } = await (0, FileUtil_1.downloadToTempfile)(this.httpclient, this.config.dataDir, item.sourceUrl, { ignoreDownloadStatuses: item.ignoreDownloadStatuses });
|
|
166
166
|
logs.push(`[${isoNow()}][${dir}] 🟢 [${parentIndex}${index}] HTTP content-length: ${headers['content-length']}, timing: ${JSON.stringify(timing)}, ${item.sourceUrl} => ${tmpfile}`);
|
|
167
167
|
localFile = tmpfile;
|
|
168
168
|
const binary = await this.saveBinaryItem(item, tmpfile);
|
|
@@ -290,4 +290,4 @@ BinarySyncerService = __decorate([
|
|
|
290
290
|
})
|
|
291
291
|
], BinarySyncerService);
|
|
292
292
|
exports.BinarySyncerService = BinarySyncerService;
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmluYXJ5U3luY2VyU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL3NlcnZpY2UvQmluYXJ5U3luY2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBaUM7QUFDakMsc0NBS3FCO0FBSXJCLDJEQUE2QjtBQUM3Qix3RUFBOEU7QUFDOUUsZ0VBQTZEO0FBQzdELGlEQUE2RDtBQUM3RCxvREFBMkQ7QUFDM0Qsd0VBQXFFO0FBQ3JFLHlDQUFzQztBQUN0Qyw2Q0FBMEM7QUFDMUMsK0NBQTRDO0FBQzVDLCtFQUF3RjtBQUN4RixrRUFBK0Q7QUFDL0Qsb0VBQWlFO0FBQ2pFLHFEQUFzRDtBQUV0RCxTQUFTLE1BQU07SUFDYixPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDbEMsQ0FBQztBQUtNLElBQU0sbUJBQW1CLEdBQXpCLE1BQU0sbUJBQW9CLFNBQVEsaUNBQWU7SUFjdEQsOERBQThEO0lBQzlELDZGQUE2RjtJQUM3Riw0Q0FBNEM7SUFDckMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFxQyxFQUFFLE1BQWMsRUFBRSxJQUFZO1FBQ3pGLE9BQU8sTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVNLEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBYztRQUN6QyxPQUFPLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLFVBQXNCO1FBQ2xELDJFQUEyRTtRQUMzRSxvREFBb0Q7UUFDcEQsTUFBTSxFQUNK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
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmluYXJ5U3luY2VyU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL3NlcnZpY2UvQmluYXJ5U3luY2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBaUM7QUFDakMsc0NBS3FCO0FBSXJCLDJEQUE2QjtBQUM3Qix3RUFBOEU7QUFDOUUsZ0VBQTZEO0FBQzdELGlEQUE2RDtBQUM3RCxvREFBMkQ7QUFDM0Qsd0VBQXFFO0FBQ3JFLHlDQUFzQztBQUN0Qyw2Q0FBMEM7QUFDMUMsK0NBQTRDO0FBQzVDLCtFQUF3RjtBQUN4RixrRUFBK0Q7QUFDL0Qsb0VBQWlFO0FBQ2pFLHFEQUFzRDtBQUV0RCxTQUFTLE1BQU07SUFDYixPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDbEMsQ0FBQztBQUtNLElBQU0sbUJBQW1CLEdBQXpCLE1BQU0sbUJBQW9CLFNBQVEsaUNBQWU7SUFjdEQsOERBQThEO0lBQzlELDZGQUE2RjtJQUM3Riw0Q0FBNEM7SUFDckMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFxQyxFQUFFLE1BQWMsRUFBRSxJQUFZO1FBQ3pGLE9BQU8sTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVNLEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBYztRQUN6QyxPQUFPLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLFVBQXNCO1FBQ2xELDJFQUEyRTtRQUMzRSxvREFBb0Q7UUFDcEQsTUFBTSxFQUNK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
|