@serve.zone/gitops 3.0.0 → 3.1.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 +17 -0
- package/deno.json +1 -1
- package/dist_serve/bundle.js +726 -694
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes/connectionmanager.d.ts +5 -1
- package/dist_ts/classes/connectionmanager.js +62 -7
- package/dist_ts/classes/syncmanager.d.ts +40 -0
- package/dist_ts/classes/syncmanager.js +804 -111
- package/dist_ts/classes/syncpath.d.ts +13 -0
- package/dist_ts/classes/syncpath.js +53 -0
- package/dist_ts/opsserver/handlers/connections.handler.js +8 -2
- package/dist_ts/opsserver/handlers/sync.handler.js +5 -1
- package/dist_ts/providers/classes.baseprovider.d.ts +22 -0
- package/dist_ts/providers/classes.baseprovider.js +93 -1
- package/dist_ts/providers/classes.giteaprovider.d.ts +18 -1
- package/dist_ts/providers/classes.giteaprovider.js +236 -1
- package/dist_ts/providers/classes.gitlabprovider.d.ts +16 -1
- package/dist_ts/providers/classes.gitlabprovider.js +235 -1
- package/dist_ts_interfaces/data/artifact.d.ts +39 -0
- package/dist_ts_interfaces/data/artifact.js +2 -0
- package/dist_ts_interfaces/data/connection.d.ts +3 -0
- package/dist_ts_interfaces/data/index.d.ts +1 -0
- package/dist_ts_interfaces/data/index.js +2 -1
- package/dist_ts_interfaces/data/sync.d.ts +21 -0
- package/dist_ts_interfaces/requests/connections.d.ts +6 -0
- package/dist_ts_interfaces/requests/sync.d.ts +4 -0
- package/package.json +3 -3
- package/readme.md +8 -4
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes/connectionmanager.ts +61 -6
- package/ts/classes/syncmanager.ts +1095 -119
- package/ts/classes/syncpath.ts +71 -0
- package/ts/opsserver/handlers/connections.handler.ts +9 -0
- package/ts/opsserver/handlers/sync.handler.ts +4 -0
- package/ts/providers/classes.baseprovider.ts +137 -0
- package/ts/providers/classes.giteaprovider.ts +293 -1
- package/ts/providers/classes.gitlabprovider.ts +292 -1
- package/ts_interfaces/data/artifact.ts +43 -0
- package/ts_interfaces/data/connection.ts +3 -0
- package/ts_interfaces/data/index.ts +1 -0
- package/ts_interfaces/data/sync.ts +22 -0
- package/ts_interfaces/requests/connections.ts +6 -0
- package/ts_interfaces/requests/sync.ts +4 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/appstate.ts +10 -0
- package/ts_web/elements/views/connections/index.ts +26 -0
- package/ts_web/elements/views/sync/index.ts +26 -4
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface ISyncPathMappingOptions {
|
|
2
|
+
sourceFullPath: string;
|
|
3
|
+
sourceGroupFilter?: string;
|
|
4
|
+
targetGroupOffset?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface IContainerImagePathOptions extends ISyncPathMappingOptions {
|
|
7
|
+
sourceImagePath: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function normalizeSyncPath(pathArg: string): string;
|
|
10
|
+
export declare function computeRelativePath(sourceFullPath: string, sourceGroupFilter?: string): string;
|
|
11
|
+
export declare function computeTargetFullPath(options: ISyncPathMappingOptions): string;
|
|
12
|
+
export declare function computeTargetContainerImagePath(options: IContainerImagePathOptions): string;
|
|
13
|
+
export declare function reverseTargetGroupPath(targetGroupPath: string, sourceGroupFilter?: string, targetGroupOffset?: string): string | null;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export function normalizeSyncPath(pathArg) {
|
|
2
|
+
return pathArg
|
|
3
|
+
.split('/')
|
|
4
|
+
.map((segment) => segment.trim())
|
|
5
|
+
.filter(Boolean)
|
|
6
|
+
.join('/');
|
|
7
|
+
}
|
|
8
|
+
export function computeRelativePath(sourceFullPath, sourceGroupFilter) {
|
|
9
|
+
const sourcePath = normalizeSyncPath(sourceFullPath);
|
|
10
|
+
const filterPath = sourceGroupFilter ? normalizeSyncPath(sourceGroupFilter) : '';
|
|
11
|
+
if (!filterPath)
|
|
12
|
+
return sourcePath;
|
|
13
|
+
if (sourcePath === filterPath)
|
|
14
|
+
return '';
|
|
15
|
+
if (sourcePath.startsWith(`${filterPath}/`)) {
|
|
16
|
+
return sourcePath.substring(filterPath.length + 1);
|
|
17
|
+
}
|
|
18
|
+
return sourcePath;
|
|
19
|
+
}
|
|
20
|
+
export function computeTargetFullPath(options) {
|
|
21
|
+
const relativePath = computeRelativePath(options.sourceFullPath, options.sourceGroupFilter);
|
|
22
|
+
const targetOffset = options.targetGroupOffset ? normalizeSyncPath(options.targetGroupOffset) : '';
|
|
23
|
+
return targetOffset ? `${targetOffset}/${relativePath}` : relativePath;
|
|
24
|
+
}
|
|
25
|
+
export function computeTargetContainerImagePath(options) {
|
|
26
|
+
const sourceProjectPath = normalizeSyncPath(options.sourceFullPath);
|
|
27
|
+
const sourceImagePath = normalizeSyncPath(options.sourceImagePath);
|
|
28
|
+
const targetProjectPath = computeTargetFullPath(options);
|
|
29
|
+
if (sourceImagePath === sourceProjectPath) {
|
|
30
|
+
return targetProjectPath;
|
|
31
|
+
}
|
|
32
|
+
if (sourceImagePath.startsWith(`${sourceProjectPath}/`)) {
|
|
33
|
+
return `${targetProjectPath}/${sourceImagePath.substring(sourceProjectPath.length + 1)}`;
|
|
34
|
+
}
|
|
35
|
+
const relativeImagePath = computeRelativePath(sourceImagePath, options.sourceGroupFilter);
|
|
36
|
+
const targetOffset = options.targetGroupOffset ? normalizeSyncPath(options.targetGroupOffset) : '';
|
|
37
|
+
return targetOffset ? `${targetOffset}/${relativeImagePath}` : relativeImagePath;
|
|
38
|
+
}
|
|
39
|
+
export function reverseTargetGroupPath(targetGroupPath, sourceGroupFilter, targetGroupOffset) {
|
|
40
|
+
const targetPath = normalizeSyncPath(targetGroupPath);
|
|
41
|
+
const offsetPath = targetGroupOffset ? normalizeSyncPath(targetGroupOffset) : '';
|
|
42
|
+
let relativePath = targetPath;
|
|
43
|
+
if (offsetPath) {
|
|
44
|
+
if (targetPath === offsetPath)
|
|
45
|
+
return null;
|
|
46
|
+
if (!targetPath.startsWith(`${offsetPath}/`))
|
|
47
|
+
return null;
|
|
48
|
+
relativePath = targetPath.substring(offsetPath.length + 1);
|
|
49
|
+
}
|
|
50
|
+
const sourceFilter = sourceGroupFilter ? normalizeSyncPath(sourceGroupFilter) : '';
|
|
51
|
+
return sourceFilter ? `${sourceFilter}/${relativePath}` : relativePath;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY3BhdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9jbGFzc2VzL3N5bmNwYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxPQUFlO0lBQy9DLE9BQU8sT0FBTztTQUNYLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDVixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxjQUFzQixFQUFFLGlCQUEwQjtJQUNwRixNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNyRCxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2pGLElBQUksQ0FBQyxVQUFVO1FBQUUsT0FBTyxVQUFVLENBQUM7SUFDbkMsSUFBSSxVQUFVLEtBQUssVUFBVTtRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxPQUFnQztJQUNwRSxNQUFNLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzVGLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNuRyxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztBQUN6RSxDQUFDO0FBRUQsTUFBTSxVQUFVLCtCQUErQixDQUFDLE9BQW1DO0lBQ2pGLE1BQU0saUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sZUFBZSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuRSxNQUFNLGlCQUFpQixHQUFHLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpELElBQUksZUFBZSxLQUFLLGlCQUFpQixFQUFFLENBQUM7UUFDMUMsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUcsaUJBQWlCLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDeEQsT0FBTyxHQUFHLGlCQUFpQixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVELE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzFGLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNuRyxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLElBQUksaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7QUFDbkYsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsZUFBdUIsRUFDdkIsaUJBQTBCLEVBQzFCLGlCQUEwQjtJQUUxQixNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN0RCxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2pGLElBQUksWUFBWSxHQUFHLFVBQVUsQ0FBQztJQUU5QixJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsSUFBSSxVQUFVLEtBQUssVUFBVTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxHQUFHLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUMxRCxZQUFZLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ25GLE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksSUFBSSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0FBQ3pFLENBQUMifQ==
|
|
@@ -22,7 +22,7 @@ export class ConnectionsHandler {
|
|
|
22
22
|
// Create connection
|
|
23
23
|
this.typedrouter.addTypedHandler(new plugins.typedrequest.TypedHandler('createConnection', async (dataArg) => {
|
|
24
24
|
await requireValidIdentity(this.opsServerRef.adminHandler, dataArg);
|
|
25
|
-
const connection = await this.opsServerRef.gitopsAppRef.connectionManager.createConnection(dataArg.name, dataArg.providerType, dataArg.baseUrl, dataArg.token, dataArg.groupFilter);
|
|
25
|
+
const connection = await this.opsServerRef.gitopsAppRef.connectionManager.createConnection(dataArg.name, dataArg.providerType, dataArg.baseUrl, dataArg.token, dataArg.groupFilter, dataArg.registryUrl, dataArg.registryUsername, dataArg.registryToken);
|
|
26
26
|
this.actionLog.append({
|
|
27
27
|
actionType: 'create',
|
|
28
28
|
entityType: 'connection',
|
|
@@ -41,12 +41,18 @@ export class ConnectionsHandler {
|
|
|
41
41
|
baseUrl: dataArg.baseUrl,
|
|
42
42
|
token: dataArg.token,
|
|
43
43
|
groupFilter: dataArg.groupFilter,
|
|
44
|
+
registryUrl: dataArg.registryUrl,
|
|
45
|
+
registryUsername: dataArg.registryUsername,
|
|
46
|
+
registryToken: dataArg.registryToken,
|
|
44
47
|
});
|
|
45
48
|
const fields = [
|
|
46
49
|
dataArg.name && 'name',
|
|
47
50
|
dataArg.baseUrl && 'baseUrl',
|
|
48
51
|
dataArg.token && 'token',
|
|
49
52
|
dataArg.groupFilter !== undefined && 'groupFilter',
|
|
53
|
+
dataArg.registryUrl !== undefined && 'registryUrl',
|
|
54
|
+
dataArg.registryUsername !== undefined && 'registryUsername',
|
|
55
|
+
dataArg.registryToken && 'registryToken',
|
|
50
56
|
].filter(Boolean).join(', ');
|
|
51
57
|
this.actionLog.append({
|
|
52
58
|
actionType: 'update',
|
|
@@ -106,4 +112,4 @@ export class ConnectionsHandler {
|
|
|
106
112
|
}));
|
|
107
113
|
}
|
|
108
114
|
}
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbnMuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzL29wc3NlcnZlci9oYW5kbGVycy9jb25uZWN0aW9ucy5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFFNUMsT0FBTyxLQUFLLFVBQVUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU1RCxNQUFNLE9BQU8sa0JBQWtCO0lBR1Q7SUFGYixXQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRTVELFlBQW9CLFlBQXVCO1FBQXZCLGlCQUFZLEdBQVosWUFBWSxDQUFXO1FBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztJQUNsRCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FDOUIsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FDbkMsZ0JBQWdCLEVBQ2hCLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNoQixNQUFNLG9CQUFvQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RGLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQ0YsQ0FDRixDQUFDO1FBRUYsb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUM5QixJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUNuQyxrQkFBa0IsRUFDbEIsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ2hCLE1BQU0sb0JBQW9CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FDeEYsT0FBTyxDQUFDLElBQUksRUFDWixPQUFPLENBQUMsWUFBWSxFQUNwQixPQUFPLENBQUMsT0FBTyxFQUNmLE9BQU8sQ0FBQyxLQUFLLEVBQ2IsT0FBTyxDQUFDLFdBQVcsRUFDbkIsT0FBTyxDQUFDLFdBQVcsRUFDbkIsT0FBTyxDQUFDLGdCQUFnQixFQUN4QixPQUFPLENBQUMsYUFBYSxDQUN0QixDQUFDO1lBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7Z0JBQ3BCLFVBQVUsRUFBRSxRQUFRO2dCQUNwQixVQUFVLEVBQUUsWUFBWTtnQkFDeEIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxFQUFFO2dCQUN2QixVQUFVLEVBQUUsVUFBVSxDQUFDLElBQUk7Z0JBQzNCLE9BQU8sRUFBRSxXQUFXLE9BQU8sQ0FBQyxZQUFZLGdCQUFnQixPQUFPLENBQUMsSUFBSSxNQUFNLE9BQU8sQ0FBQyxPQUFPLEdBQUc7Z0JBQzVGLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVE7YUFDcEMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FDRixDQUNGLENBQUM7UUFFRixvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQzlCLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQ25DLGtCQUFrQixFQUNsQixLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDaEIsTUFBTSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwRSxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUN4RixPQUFPLENBQUMsWUFBWSxFQUNwQjtnQkFDRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7Z0JBQ2xCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUNwQixXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7Z0JBQ2hDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztnQkFDaEMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGdCQUFnQjtnQkFDMUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhO2FBQ3JDLENBQ0YsQ0FBQztZQUNGLE1BQU0sTUFBTSxHQUFHO2dCQUNiLE9BQU8sQ0FBQyxJQUFJLElBQUksTUFBTTtnQkFDdEIsT0FBTyxDQUFDLE9BQU8sSUFBSSxTQUFTO2dCQUM1QixPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU87Z0JBQ3hCLE9BQU8sQ0FBQyxXQUFXLEtBQUssU0FBUyxJQUFJLGFBQWE7Z0JBQ2xELE9BQU8sQ0FBQyxXQUFXLEtBQUssU0FBUyxJQUFJLGFBQWE7Z0JBQ2xELE9BQU8sQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLElBQUksa0JBQWtCO2dCQUM1RCxPQUFPLENBQUMsYUFBYSxJQUFJLGVBQWU7YUFDekMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO2dCQUNwQixVQUFVLEVBQUUsUUFBUTtnQkFDcEIsVUFBVSxFQUFFLFlBQVk7Z0JBQ3hCLFFBQVEsRUFBRSxPQUFPLENBQUMsWUFBWTtnQkFDOUIsVUFBVSxFQUFFLFVBQVUsQ0FBQyxJQUFJO2dCQUMzQixPQUFPLEVBQUUsdUJBQXVCLFVBQVUsQ0FBQyxJQUFJLGNBQWMsTUFBTSxHQUFHO2dCQUN0RSxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRO2FBQ3BDLENBQUMsQ0FBQztZQUNILE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQ0YsQ0FDRixDQUFDO1FBRUYsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUM5QixJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUNuQyxpQkFBaUIsRUFDakIsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ2hCLE1BQU0sb0JBQW9CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQ3ZGLE9BQU8sQ0FBQyxZQUFZLEVBQ3BCLE9BQU8sQ0FBQyxNQUFNLENBQ2YsQ0FBQztZQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO2dCQUNwQixVQUFVLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRO2dCQUMvQyxVQUFVLEVBQUUsWUFBWTtnQkFDeEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2dCQUM5QixVQUFVLEVBQUUsVUFBVSxDQUFDLElBQUk7Z0JBQzNCLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxnQkFBZ0IsVUFBVSxDQUFDLElBQUksR0FBRztnQkFDbkYsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUTthQUNwQyxDQUFDLENBQUM7WUFDSCxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUNGLENBQ0YsQ0FBQztRQUVGLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FDOUIsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FDbkMsZ0JBQWdCLEVBQ2hCLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNoQixNQUFNLG9CQUFvQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUNsRixPQUFPLENBQUMsWUFBWSxDQUNyQixDQUFDO1lBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsY0FBYyxFQUFFO2lCQUMzRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO2dCQUNwQixVQUFVLEVBQUUsTUFBTTtnQkFDbEIsVUFBVSxFQUFFLFlBQVk7Z0JBQ3hCLFFBQVEsRUFBRSxPQUFPLENBQUMsWUFBWTtnQkFDOUIsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksT0FBTyxDQUFDLFlBQVk7Z0JBQzlDLE9BQU8sRUFBRSxzQkFBc0IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLE1BQU0sQ0FBQyxLQUFLLElBQUksZUFBZSxFQUFFLEVBQUU7Z0JBQ3RHLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVE7YUFDcEMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUNGLENBQ0YsQ0FBQztRQUVGLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FDOUIsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FDbkMsa0JBQWtCLEVBQ2xCLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNoQixNQUFNLG9CQUFvQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRTtpQkFDM0UsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM5QyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUNyRSxPQUFPLENBQUMsWUFBWSxDQUNyQixDQUFDO1lBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7Z0JBQ3BCLFVBQVUsRUFBRSxRQUFRO2dCQUNwQixVQUFVLEVBQUUsWUFBWTtnQkFDeEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2dCQUM5QixVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxPQUFPLENBQUMsWUFBWTtnQkFDOUMsT0FBTyxFQUFFLHVCQUF1QixJQUFJLEVBQUUsSUFBSSxJQUFJLE9BQU8sQ0FBQyxZQUFZLEdBQUc7Z0JBQ3JFLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVE7YUFDcEMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
|
|
@@ -58,6 +58,8 @@ export class SyncHandler {
|
|
|
58
58
|
intervalMinutes: dataArg.intervalMinutes,
|
|
59
59
|
enforceDelete: dataArg.enforceDelete,
|
|
60
60
|
enforceGroupDelete: dataArg.enforceGroupDelete,
|
|
61
|
+
syncReleases: dataArg.syncReleases,
|
|
62
|
+
syncContainerImages: dataArg.syncContainerImages,
|
|
61
63
|
addMirrorHint: dataArg.addMirrorHint,
|
|
62
64
|
useGroupAvatarsForProjects: dataArg.useGroupAvatarsForProjects,
|
|
63
65
|
});
|
|
@@ -80,6 +82,8 @@ export class SyncHandler {
|
|
|
80
82
|
intervalMinutes: dataArg.intervalMinutes,
|
|
81
83
|
enforceDelete: dataArg.enforceDelete,
|
|
82
84
|
enforceGroupDelete: dataArg.enforceGroupDelete,
|
|
85
|
+
syncReleases: dataArg.syncReleases,
|
|
86
|
+
syncContainerImages: dataArg.syncContainerImages,
|
|
83
87
|
addMirrorHint: dataArg.addMirrorHint,
|
|
84
88
|
useGroupAvatarsForProjects: dataArg.useGroupAvatarsForProjects,
|
|
85
89
|
});
|
|
@@ -163,4 +167,4 @@ export class SyncHandler {
|
|
|
163
167
|
}));
|
|
164
168
|
}
|
|
165
169
|
}
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHMvb3Bzc2VydmVyL2hhbmRsZXJzL3N5bmMuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBRTVDLE9BQU8sS0FBSyxVQUFVLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTFDLE1BQU0sT0FBTyxXQUFXO0lBR0Y7SUFGYixXQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRTVELFlBQW9CLFlBQXVCO1FBQXZCLGlCQUFZLEdBQVosWUFBWSxDQUFXO1FBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSyxjQUFjO1FBQ3BCLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUM5QixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQztnQkFDdkUsSUFBSSxDQUFDLFdBQVc7b0JBQUUsT0FBTztnQkFDekIsV0FBVyxDQUFDLDZCQUE2QixDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO29CQUM5RSxLQUFLLE1BQU0sSUFBSSxJQUFJLFdBQVcsRUFBRSxDQUFDO3dCQUMvQixXQUFXOzZCQUNSLGtC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
|
|
@@ -13,6 +13,14 @@ export interface IPipelineListOptions extends IListOptions {
|
|
|
13
13
|
ref?: string;
|
|
14
14
|
source?: string;
|
|
15
15
|
}
|
|
16
|
+
export interface IReleaseAssetPayload {
|
|
17
|
+
data: Uint8Array;
|
|
18
|
+
contentType?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface IReleaseAssetTransferOptions {
|
|
21
|
+
signal?: AbortSignal;
|
|
22
|
+
maxBytes?: number;
|
|
23
|
+
}
|
|
16
24
|
/**
|
|
17
25
|
* Abstract base class for Git provider implementations.
|
|
18
26
|
* Subclasses implement Gitea API v1 or GitLab API v4.
|
|
@@ -48,4 +56,18 @@ export declare abstract class BaseProvider {
|
|
|
48
56
|
path: string;
|
|
49
57
|
type: string;
|
|
50
58
|
}[] | null>;
|
|
59
|
+
abstract getReleases(projectFullPath: string): Promise<interfaces.data.IRelease[]>;
|
|
60
|
+
abstract upsertRelease(projectFullPath: string, release: interfaces.data.IRelease): Promise<interfaces.data.IRelease>;
|
|
61
|
+
abstract deleteRelease(projectFullPath: string, tagName: string): Promise<void>;
|
|
62
|
+
abstract deleteReleaseAsset(projectFullPath: string, release: interfaces.data.IRelease, asset: interfaces.data.IReleaseAsset): Promise<void>;
|
|
63
|
+
abstract downloadReleaseAsset(projectFullPath: string, release: interfaces.data.IRelease, asset: interfaces.data.IReleaseAsset, options?: IReleaseAssetTransferOptions): Promise<IReleaseAssetPayload | null>;
|
|
64
|
+
abstract uploadReleaseAsset(projectFullPath: string, release: interfaces.data.IRelease, asset: interfaces.data.IReleaseAsset, payload: IReleaseAssetPayload, options?: IReleaseAssetTransferOptions): Promise<interfaces.data.IReleaseAsset>;
|
|
65
|
+
abstract createReleaseAssetLink(projectFullPath: string, release: interfaces.data.IRelease, asset: interfaces.data.IReleaseAsset): Promise<interfaces.data.IReleaseAsset>;
|
|
66
|
+
abstract getContainerImageRepositories(projectFullPath: string): Promise<interfaces.data.IContainerImageRepository[]>;
|
|
67
|
+
abstract deleteContainerImageTag(projectFullPath: string, repositoryId: string, tagName: string): Promise<void>;
|
|
68
|
+
protected readReleaseAssetPayload(response: Response, assetName: string, fallbackContentType: string | undefined, options: IReleaseAssetTransferOptions | undefined): Promise<IReleaseAssetPayload>;
|
|
69
|
+
protected getPayloadArrayBuffer(payload: IReleaseAssetPayload): ArrayBuffer;
|
|
70
|
+
protected fetchJsonWithTimeout<T>(url: string, init: RequestInit, label: string): Promise<T>;
|
|
71
|
+
protected fetchVoidWithTimeout(url: string, init: RequestInit, label: string): Promise<void>;
|
|
72
|
+
private fetchWithTimeout;
|
|
51
73
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const PROVIDER_REQUEST_TIMEOUT_MS = 2 * 60 * 1000;
|
|
1
2
|
/**
|
|
2
3
|
* Abstract base class for Git provider implementations.
|
|
3
4
|
* Subclasses implement Gitea API v1 or GitLab API v4.
|
|
@@ -13,5 +14,96 @@ export class BaseProvider {
|
|
|
13
14
|
this.token = token;
|
|
14
15
|
this.groupFilterId = groupFilterId;
|
|
15
16
|
}
|
|
17
|
+
async readReleaseAssetPayload(response, assetName, fallbackContentType, options) {
|
|
18
|
+
const maxBytes = options?.maxBytes;
|
|
19
|
+
const contentLengthHeader = response.headers.get('content-length');
|
|
20
|
+
const contentLength = contentLengthHeader ? Number(contentLengthHeader) : undefined;
|
|
21
|
+
if (maxBytes && contentLength && contentLength > maxBytes) {
|
|
22
|
+
if (response.body) {
|
|
23
|
+
try {
|
|
24
|
+
await response.body.cancel();
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
// Best-effort cleanup before rejecting the oversized transfer.
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
throw new Error(`Release asset ${assetName} is ${contentLength} bytes, exceeding the ${maxBytes} byte limit`);
|
|
31
|
+
}
|
|
32
|
+
if (!response.body) {
|
|
33
|
+
const buffer = await response.arrayBuffer();
|
|
34
|
+
if (maxBytes && buffer.byteLength > maxBytes) {
|
|
35
|
+
throw new Error(`Release asset ${assetName} is ${buffer.byteLength} bytes, exceeding the ${maxBytes} byte limit`);
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
data: new Uint8Array(buffer),
|
|
39
|
+
contentType: response.headers.get('content-type') || fallbackContentType,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
const reader = response.body.getReader();
|
|
43
|
+
const chunks = [];
|
|
44
|
+
let totalBytes = 0;
|
|
45
|
+
try {
|
|
46
|
+
while (true) {
|
|
47
|
+
const { done, value } = await reader.read();
|
|
48
|
+
if (done)
|
|
49
|
+
break;
|
|
50
|
+
totalBytes += value.byteLength;
|
|
51
|
+
if (maxBytes && totalBytes > maxBytes) {
|
|
52
|
+
await reader.cancel();
|
|
53
|
+
throw new Error(`Release asset ${assetName} exceeds the ${maxBytes} byte limit`);
|
|
54
|
+
}
|
|
55
|
+
chunks.push(value);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
finally {
|
|
59
|
+
reader.releaseLock();
|
|
60
|
+
}
|
|
61
|
+
const data = new Uint8Array(totalBytes);
|
|
62
|
+
let offset = 0;
|
|
63
|
+
for (const chunk of chunks) {
|
|
64
|
+
data.set(chunk, offset);
|
|
65
|
+
offset += chunk.byteLength;
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
data,
|
|
69
|
+
contentType: response.headers.get('content-type') || fallbackContentType,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
getPayloadArrayBuffer(payload) {
|
|
73
|
+
const copy = new Uint8Array(payload.data.byteLength);
|
|
74
|
+
copy.set(payload.data);
|
|
75
|
+
return copy.buffer;
|
|
76
|
+
}
|
|
77
|
+
async fetchJsonWithTimeout(url, init, label) {
|
|
78
|
+
return await this.fetchWithTimeout(url, init, label, async (response) => await response.json());
|
|
79
|
+
}
|
|
80
|
+
async fetchVoidWithTimeout(url, init, label) {
|
|
81
|
+
await this.fetchWithTimeout(url, init, label, async (response) => {
|
|
82
|
+
await response.text().catch(() => undefined);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
async fetchWithTimeout(url, init, label, parser) {
|
|
86
|
+
const controller = new AbortController();
|
|
87
|
+
let timeout;
|
|
88
|
+
try {
|
|
89
|
+
timeout = setTimeout(() => {
|
|
90
|
+
controller.abort(new Error(`${label} timed out after ${PROVIDER_REQUEST_TIMEOUT_MS}ms`));
|
|
91
|
+
}, PROVIDER_REQUEST_TIMEOUT_MS);
|
|
92
|
+
timeout.unref?.();
|
|
93
|
+
const response = await fetch(url, {
|
|
94
|
+
...init,
|
|
95
|
+
signal: controller.signal,
|
|
96
|
+
});
|
|
97
|
+
if (!response.ok) {
|
|
98
|
+
const text = await response.text();
|
|
99
|
+
throw new Error(`${label}: ${response.status} - ${text}`);
|
|
100
|
+
}
|
|
101
|
+
return await parser(response);
|
|
102
|
+
}
|
|
103
|
+
finally {
|
|
104
|
+
if (timeout)
|
|
105
|
+
clearTimeout(timeout);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
16
108
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5iYXNlcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9wcm92aWRlcnMvY2xhc3Nlcy5iYXNlcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkJBLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFFbEQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFnQixZQUFZO0lBSWQ7SUFDQTtJQUNHO0lBTEwsYUFBYSxDQUFVO0lBRXZDLFlBQ2tCLFlBQW9CLEVBQ3BCLE9BQWUsRUFDWixLQUFhLEVBQ2hDLGFBQXNCO1FBSE4saUJBQVksR0FBWixZQUFZLENBQVE7UUFDcEIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNaLFVBQUssR0FBTCxLQUFLLENBQVE7UUFHaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQThFUyxLQUFLLENBQUMsdUJBQXVCLENBQ3JDLFFBQWtCLEVBQ2xCLFNBQWlCLEVBQ2pCLG1CQUF1QyxFQUN2QyxPQUFpRDtRQUVqRCxNQUFNLFFBQVEsR0FBRyxPQUFPLEVBQUUsUUFBUSxDQUFDO1FBQ25DLE1BQU0sbUJBQW1CLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNuRSxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNwRixJQUFJLFFBQVEsSUFBSSxhQUFhLElBQUksYUFBYSxHQUFHLFFBQVEsRUFBRSxDQUFDO1lBQzFELElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUM7b0JBQ0gsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMvQixDQUFDO2dCQUFDLE1BQU0sQ0FBQztvQkFDUCwr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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as interfaces from '../../dist_ts_interfaces/index.js';
|
|
2
|
-
import { BaseProvider, type ITestConnectionResult, type IListOptions, type IPipelineListOptions } from './classes.baseprovider.js';
|
|
2
|
+
import { BaseProvider, type IReleaseAssetPayload, type IReleaseAssetTransferOptions, type ITestConnectionResult, type IListOptions, type IPipelineListOptions } from './classes.baseprovider.js';
|
|
3
3
|
/**
|
|
4
4
|
* Gitea API v1 provider implementation
|
|
5
5
|
*/
|
|
@@ -31,6 +31,23 @@ export declare class GiteaProvider extends BaseProvider {
|
|
|
31
31
|
path: string;
|
|
32
32
|
type: string;
|
|
33
33
|
}[] | null>;
|
|
34
|
+
getReleases(projectFullPath: string): Promise<interfaces.data.IRelease[]>;
|
|
35
|
+
upsertRelease(projectFullPath: string, release: interfaces.data.IRelease): Promise<interfaces.data.IRelease>;
|
|
36
|
+
deleteRelease(projectFullPath: string, tagName: string): Promise<void>;
|
|
37
|
+
deleteReleaseAsset(projectFullPath: string, release: interfaces.data.IRelease, asset: interfaces.data.IReleaseAsset): Promise<void>;
|
|
38
|
+
downloadReleaseAsset(_projectFullPath: string, _release: interfaces.data.IRelease, asset: interfaces.data.IReleaseAsset, options?: IReleaseAssetTransferOptions): Promise<IReleaseAssetPayload | null>;
|
|
39
|
+
uploadReleaseAsset(projectFullPath: string, release: interfaces.data.IRelease, asset: interfaces.data.IReleaseAsset, payload: IReleaseAssetPayload, options?: IReleaseAssetTransferOptions): Promise<interfaces.data.IReleaseAsset>;
|
|
40
|
+
createReleaseAssetLink(_projectFullPath: string, _release: interfaces.data.IRelease, asset: interfaces.data.IReleaseAsset): Promise<interfaces.data.IReleaseAsset>;
|
|
41
|
+
getContainerImageRepositories(projectFullPath: string): Promise<interfaces.data.IContainerImageRepository[]>;
|
|
42
|
+
deleteContainerImageTag(_projectFullPath: string, repositoryId: string, tagName: string): Promise<void>;
|
|
43
|
+
private splitOwnerRepo;
|
|
44
|
+
private requestPaginated;
|
|
45
|
+
private requestJson;
|
|
46
|
+
private requestVoid;
|
|
47
|
+
private isNotFoundError;
|
|
48
|
+
private getReleaseByTag;
|
|
49
|
+
private mapRelease;
|
|
50
|
+
private mapReleaseAsset;
|
|
34
51
|
private mapProject;
|
|
35
52
|
private mapGroup;
|
|
36
53
|
private mapSecret;
|