@aurtic/cli 1.0.3 → 2.0.4
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/LICENSE +1 -1
- package/README.md +20 -0
- package/dist/app.controller.d.ts +6 -0
- package/dist/app.controller.js +35 -0
- package/dist/app.controller.js.map +1 -0
- package/dist/app.module.d.ts +2 -0
- package/dist/app.module.js +40 -0
- package/dist/app.module.js.map +1 -0
- package/dist/app.service.d.ts +3 -0
- package/dist/app.service.js +20 -0
- package/dist/app.service.js.map +1 -0
- package/dist/authentication/authentication.command.d.ts +9 -0
- package/dist/authentication/authentication.command.js +60 -0
- package/dist/authentication/authentication.command.js.map +1 -0
- package/dist/authentication/authentication.module.d.ts +2 -0
- package/dist/authentication/authentication.module.js +24 -0
- package/dist/authentication/authentication.module.js.map +1 -0
- package/dist/authentication/authentication.service.d.ts +10 -0
- package/dist/authentication/authentication.service.js +69 -0
- package/dist/authentication/authentication.service.js.map +1 -0
- package/dist/builds/builds.command.d.ts +12 -0
- package/dist/builds/builds.command.js +116 -0
- package/dist/builds/builds.command.js.map +1 -0
- package/dist/builds/builds.module.d.ts +2 -0
- package/dist/builds/builds.module.js +25 -0
- package/dist/builds/builds.module.js.map +1 -0
- package/dist/builds/builds.service.d.ts +17 -0
- package/dist/builds/builds.service.js +156 -0
- package/dist/builds/builds.service.js.map +1 -0
- package/dist/builds/builds.zip.service.d.ts +3 -0
- package/dist/builds/builds.zip.service.js +73 -0
- package/dist/builds/builds.zip.service.js.map +1 -0
- package/dist/github/github.module.d.ts +2 -0
- package/dist/github/github.module.js +21 -0
- package/dist/github/github.module.js.map +1 -0
- package/dist/github/github.service.d.ts +3 -0
- package/dist/github/github.service.js +25 -0
- package/dist/github/github.service.js.map +1 -0
- package/dist/main.js +10 -0
- package/dist/main.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +73 -24
- package/README +0 -29
- package/dist/api.d.ts +0 -14
- package/dist/api.js +0 -148
- package/dist/cli.js +0 -281
- package/dist/entities/Project.d.ts +0 -39
- package/dist/entities/Project.js +0 -124
- package/dist/entities/ProjectContainer.d.ts +0 -227
- package/dist/entities/ProjectContainer.js +0 -465
- package/dist/entities/Server.d.ts +0 -45
- package/dist/entities/Server.js +0 -114
- package/dist/entities/Team.d.ts +0 -49
- package/dist/entities/Team.js +0 -149
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/tsconfig.json +0 -24
- /package/dist/{cli.d.ts → main.d.ts} +0 -0
package/dist/entities/Project.js
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
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
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.getServices = exports.all = exports.get = exports.create = void 0;
|
|
40
|
-
var api_1 = require("../api");
|
|
41
|
-
var create = function (_a) {
|
|
42
|
-
var name = _a.name, team = _a.team;
|
|
43
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
44
|
-
var res, result;
|
|
45
|
-
return __generator(this, function (_b) {
|
|
46
|
-
switch (_b.label) {
|
|
47
|
-
case 0: return [4 /*yield*/, (0, api_1.authRequest)('/v1/projects', {
|
|
48
|
-
method: 'POST',
|
|
49
|
-
body: {
|
|
50
|
-
name: name,
|
|
51
|
-
team: typeof team === 'string' ? team : team.id,
|
|
52
|
-
}
|
|
53
|
-
})];
|
|
54
|
-
case 1:
|
|
55
|
-
res = _b.sent();
|
|
56
|
-
return [4 /*yield*/, res.json()];
|
|
57
|
-
case 2:
|
|
58
|
-
result = _b.sent();
|
|
59
|
-
if (result['error'])
|
|
60
|
-
throw result['error'];
|
|
61
|
-
return [2 /*return*/, result];
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
};
|
|
66
|
-
exports.create = create;
|
|
67
|
-
var get = function (id) { return __awaiter(void 0, void 0, void 0, function () {
|
|
68
|
-
var res, result;
|
|
69
|
-
return __generator(this, function (_a) {
|
|
70
|
-
switch (_a.label) {
|
|
71
|
-
case 0: return [4 /*yield*/, (0, api_1.authRequest)('/v1/projects/' + encodeURIComponent(id))];
|
|
72
|
-
case 1:
|
|
73
|
-
res = _a.sent();
|
|
74
|
-
return [4 /*yield*/, res.json()];
|
|
75
|
-
case 2:
|
|
76
|
-
result = _a.sent();
|
|
77
|
-
if (result['error'])
|
|
78
|
-
throw result['error'];
|
|
79
|
-
return [2 /*return*/, result];
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}); };
|
|
83
|
-
exports.get = get;
|
|
84
|
-
var all = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
85
|
-
var res, result;
|
|
86
|
-
return __generator(this, function (_a) {
|
|
87
|
-
switch (_a.label) {
|
|
88
|
-
case 0: return [4 /*yield*/, (0, api_1.authRequest)('/v1/projects')];
|
|
89
|
-
case 1:
|
|
90
|
-
res = _a.sent();
|
|
91
|
-
return [4 /*yield*/, res.json()];
|
|
92
|
-
case 2:
|
|
93
|
-
result = _a.sent();
|
|
94
|
-
if (result['error'])
|
|
95
|
-
throw result['error'];
|
|
96
|
-
return [2 /*return*/, result];
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
}); };
|
|
100
|
-
exports.all = all;
|
|
101
|
-
var getServices = function (project) { return __awaiter(void 0, void 0, void 0, function () {
|
|
102
|
-
var res, result;
|
|
103
|
-
return __generator(this, function (_a) {
|
|
104
|
-
switch (_a.label) {
|
|
105
|
-
case 0: return [4 /*yield*/, (0, api_1.authRequest)(project._links.services.href)];
|
|
106
|
-
case 1:
|
|
107
|
-
res = _a.sent();
|
|
108
|
-
return [4 /*yield*/, res.json()];
|
|
109
|
-
case 2:
|
|
110
|
-
result = _a.sent();
|
|
111
|
-
if (result['error'])
|
|
112
|
-
throw result['error'];
|
|
113
|
-
return [2 /*return*/, result];
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
}); };
|
|
117
|
-
exports.getServices = getServices;
|
|
118
|
-
var Project = {
|
|
119
|
-
all: exports.all,
|
|
120
|
-
get: exports.get,
|
|
121
|
-
create: exports.create,
|
|
122
|
-
getServices: exports.getServices,
|
|
123
|
-
};
|
|
124
|
-
exports.default = Project;
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
import { IProject } from "./Project";
|
|
2
|
-
import { IServer } from "./Server";
|
|
3
|
-
export declare enum ProjectContainerType {
|
|
4
|
-
m256_c1 = "m256_c1",
|
|
5
|
-
m512_c1 = "m512_c1",
|
|
6
|
-
m1024_c1 = "m1024_c1",
|
|
7
|
-
m1536_c1 = "m1536_c1",
|
|
8
|
-
m2048_c1 = "m2048_c1",
|
|
9
|
-
m2560_c1 = "m2560_c1",
|
|
10
|
-
m3072_c1 = "m3072_c1",
|
|
11
|
-
m3584_c1 = "m3584_c1",
|
|
12
|
-
m4095_c1 = "m4095_c1",
|
|
13
|
-
m5120_c1 = "m5120_c1",
|
|
14
|
-
m6144_c1 = "m6144_c1",
|
|
15
|
-
m7168_c1 = "m7168_c1",
|
|
16
|
-
m8192_c1 = "m8192_c1",
|
|
17
|
-
m256_c2 = "m256_c2",
|
|
18
|
-
m512_c2 = "m512_c2",
|
|
19
|
-
m1024_c2 = "m1024_c2",
|
|
20
|
-
m1536_c2 = "m1536_c2",
|
|
21
|
-
m2048_c2 = "m2048_c2",
|
|
22
|
-
m2560_c2 = "m2560_c2",
|
|
23
|
-
m3072_c2 = "m3072_c2",
|
|
24
|
-
m3584_c2 = "m3584_c2",
|
|
25
|
-
m4095_c2 = "m4095_c2",
|
|
26
|
-
m5120_c2 = "m5120_c2",
|
|
27
|
-
m6144_c2 = "m6144_c2",
|
|
28
|
-
m7168_c2 = "m7168_c2",
|
|
29
|
-
m8192_c2 = "m8192_c2",
|
|
30
|
-
m256_c3 = "m256_c3",
|
|
31
|
-
m512_c3 = "m512_c3",
|
|
32
|
-
m1024_c3 = "m1024_c3",
|
|
33
|
-
m1536_c3 = "m1536_c3",
|
|
34
|
-
m2048_c3 = "m2048_c3",
|
|
35
|
-
m2560_c3 = "m2560_c3",
|
|
36
|
-
m3072_c3 = "m3072_c3",
|
|
37
|
-
m3584_c3 = "m3584_c3",
|
|
38
|
-
m4095_c3 = "m4095_c3",
|
|
39
|
-
m5120_c3 = "m5120_c3",
|
|
40
|
-
m6144_c3 = "m6144_c3",
|
|
41
|
-
m7168_c3 = "m7168_c3",
|
|
42
|
-
m8192_c3 = "m8192_c3",
|
|
43
|
-
m256_c4 = "m256_c4",
|
|
44
|
-
m512_c4 = "m512_c4",
|
|
45
|
-
m1024_c4 = "m1024_c4",
|
|
46
|
-
m1536_c4 = "m1536_c4",
|
|
47
|
-
m2048_c4 = "m2048_c4",
|
|
48
|
-
m2560_c4 = "m2560_c4",
|
|
49
|
-
m3072_c4 = "m3072_c4",
|
|
50
|
-
m3584_c4 = "m3584_c4",
|
|
51
|
-
m4095_c4 = "m4095_c4",
|
|
52
|
-
m5120_c4 = "m5120_c4",
|
|
53
|
-
m6144_c4 = "m6144_c4",
|
|
54
|
-
m7168_c4 = "m7168_c4",
|
|
55
|
-
m8192_c4 = "m8192_c4"
|
|
56
|
-
}
|
|
57
|
-
export declare enum ProjectContainerFlavour {
|
|
58
|
-
PROTOTYPE = "PROTOTYPE",
|
|
59
|
-
PRODUCTION = "PRODUCTION",
|
|
60
|
-
ENTERPRISE = "ENTERPRISE"
|
|
61
|
-
}
|
|
62
|
-
export declare enum ProjectContainerRegion {
|
|
63
|
-
EUROPE = "EUROPE",
|
|
64
|
-
ASIA = "ASIA",
|
|
65
|
-
OCEANIA = "OCEANIA",
|
|
66
|
-
NORTH_AMERICA = "NORTH_AMERICA",
|
|
67
|
-
SOUTH_AMERICA = "SOUTH_AMERICA"
|
|
68
|
-
}
|
|
69
|
-
export interface IProjectContainer {
|
|
70
|
-
readonly id: string;
|
|
71
|
-
name: string;
|
|
72
|
-
regions: ProjectContainerRegion[];
|
|
73
|
-
type: ProjectContainerType;
|
|
74
|
-
env: {
|
|
75
|
-
[index: string]: string;
|
|
76
|
-
};
|
|
77
|
-
flavour: ProjectContainerFlavour;
|
|
78
|
-
amount: number;
|
|
79
|
-
readonly _links: {
|
|
80
|
-
[index: string]: {
|
|
81
|
-
href: string;
|
|
82
|
-
type: string;
|
|
83
|
-
};
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
export interface IProjectContainerFilesystem {
|
|
87
|
-
readonly id: string;
|
|
88
|
-
path: string;
|
|
89
|
-
readonly daemon?: {
|
|
90
|
-
username: string;
|
|
91
|
-
password: string;
|
|
92
|
-
server: IServer;
|
|
93
|
-
};
|
|
94
|
-
readonly _links: {
|
|
95
|
-
[index: string]: {
|
|
96
|
-
href: string;
|
|
97
|
-
type: string;
|
|
98
|
-
};
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
export interface IProjectContainerUsage {
|
|
102
|
-
date: Date;
|
|
103
|
-
containers: number;
|
|
104
|
-
type: ProjectContainerType;
|
|
105
|
-
flavour: ProjectContainerFlavour;
|
|
106
|
-
}
|
|
107
|
-
export interface IProjectContainerProxy {
|
|
108
|
-
readonly id: string;
|
|
109
|
-
domain: string;
|
|
110
|
-
type: 'INTERNAL' | 'EXTERNAL';
|
|
111
|
-
certificate?: {
|
|
112
|
-
public: string;
|
|
113
|
-
private?: String;
|
|
114
|
-
};
|
|
115
|
-
readonly _links: {
|
|
116
|
-
[index: string]: {
|
|
117
|
-
href: string;
|
|
118
|
-
type: string;
|
|
119
|
-
};
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
export interface IProjectContainerDeployment {
|
|
123
|
-
readonly id: string;
|
|
124
|
-
active: boolean;
|
|
125
|
-
readonly time: number;
|
|
126
|
-
build: boolean;
|
|
127
|
-
result?: {
|
|
128
|
-
result: boolean;
|
|
129
|
-
logs: string[];
|
|
130
|
-
errors: string[];
|
|
131
|
-
};
|
|
132
|
-
readonly created: Date;
|
|
133
|
-
readonly _links: {
|
|
134
|
-
[index: string]: {
|
|
135
|
-
href: string;
|
|
136
|
-
type: string;
|
|
137
|
-
};
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
export interface IProjectContainerLog {
|
|
141
|
-
readonly date: Date;
|
|
142
|
-
uuid: string;
|
|
143
|
-
type: 'LOG' | 'ERROR';
|
|
144
|
-
data: string[];
|
|
145
|
-
readonly created: Date;
|
|
146
|
-
}
|
|
147
|
-
export declare const create: (project: IProject, { name, flavour, regions, type, amount }: Pick<IProjectContainer, 'name' | 'flavour' | 'regions' | 'type' | 'amount'>) => Promise<IProjectContainer>;
|
|
148
|
-
export declare const createProxy: (container: IProjectContainer, { domain, }: Pick<IProjectContainerProxy, 'domain'>) => Promise<IProjectContainer>;
|
|
149
|
-
export declare const get: (project: IProject, id: string) => Promise<IProjectContainer>;
|
|
150
|
-
export declare const put: (container: IProjectContainer, data: {
|
|
151
|
-
name?: string | undefined;
|
|
152
|
-
amount?: number | undefined;
|
|
153
|
-
env?: {
|
|
154
|
-
[index: string]: string;
|
|
155
|
-
} | undefined;
|
|
156
|
-
type?: ProjectContainerType | undefined;
|
|
157
|
-
flavour?: ProjectContainerFlavour | undefined;
|
|
158
|
-
regions?: ProjectContainerRegion[] | undefined;
|
|
159
|
-
}) => Promise<IProjectContainer>;
|
|
160
|
-
export declare const all: (project: IProject) => Promise<IProjectContainer[]>;
|
|
161
|
-
export declare const getProxies: (container: IProjectContainer) => Promise<IProjectContainerProxy[]>;
|
|
162
|
-
export declare const getUsage: (container: IProjectContainer) => Promise<IProjectContainerUsage[]>;
|
|
163
|
-
export declare const getProxy: (container: IProjectContainer, id: string) => Promise<IProjectContainerProxy>;
|
|
164
|
-
export declare const getDeployments: (container: IProjectContainer) => Promise<IProjectContainerDeployment[]>;
|
|
165
|
-
export declare const getLogs: (container: IProjectContainer) => Promise<IProjectContainerLog[]>;
|
|
166
|
-
export declare const getDeployment: (container: IProjectContainer, id: string) => Promise<IProjectContainerDeployment>;
|
|
167
|
-
export declare const createDeployment: (container: IProjectContainer, { data }: {
|
|
168
|
-
data: string;
|
|
169
|
-
}) => Promise<IProjectContainerDeployment>;
|
|
170
|
-
export declare const buildDeployment: (deployment: IProjectContainerDeployment) => Promise<{
|
|
171
|
-
result: boolean;
|
|
172
|
-
}>;
|
|
173
|
-
export declare const getDeploymentBuildStatus: (deployment: IProjectContainerDeployment) => Promise<{
|
|
174
|
-
finished: boolean;
|
|
175
|
-
result: boolean;
|
|
176
|
-
data: {
|
|
177
|
-
errors: string[];
|
|
178
|
-
logs: string[];
|
|
179
|
-
};
|
|
180
|
-
}>;
|
|
181
|
-
export declare const createFilesystem: (container: IProjectContainer, { path }: {
|
|
182
|
-
path: string;
|
|
183
|
-
}) => Promise<IProjectContainerFilesystem>;
|
|
184
|
-
export declare const getFilesystems: (container: IProjectContainer) => Promise<IProjectContainerFilesystem[]>;
|
|
185
|
-
export declare const getFilesystem: (container: IProjectContainer, id: string) => Promise<IProjectContainerFilesystem>;
|
|
186
|
-
declare const ProjectContainer: {
|
|
187
|
-
all: (project: IProject) => Promise<IProjectContainer[]>;
|
|
188
|
-
get: (project: IProject, id: string) => Promise<IProjectContainer>;
|
|
189
|
-
put: (container: IProjectContainer, data: {
|
|
190
|
-
name?: string | undefined;
|
|
191
|
-
amount?: number | undefined;
|
|
192
|
-
env?: {
|
|
193
|
-
[index: string]: string;
|
|
194
|
-
} | undefined;
|
|
195
|
-
type?: ProjectContainerType | undefined;
|
|
196
|
-
flavour?: ProjectContainerFlavour | undefined;
|
|
197
|
-
regions?: ProjectContainerRegion[] | undefined;
|
|
198
|
-
}) => Promise<IProjectContainer>;
|
|
199
|
-
create: (project: IProject, { name, flavour, regions, type, amount }: Pick<IProjectContainer, 'name' | 'flavour' | 'regions' | 'type' | 'amount'>) => Promise<IProjectContainer>;
|
|
200
|
-
getLogs: (container: IProjectContainer) => Promise<IProjectContainerLog[]>;
|
|
201
|
-
getProxies: (container: IProjectContainer) => Promise<IProjectContainerProxy[]>;
|
|
202
|
-
getProxy: (container: IProjectContainer, id: string) => Promise<IProjectContainerProxy>;
|
|
203
|
-
createProxy: (container: IProjectContainer, { domain, }: Pick<IProjectContainerProxy, 'domain'>) => Promise<IProjectContainer>;
|
|
204
|
-
getDeployments: (container: IProjectContainer) => Promise<IProjectContainerDeployment[]>;
|
|
205
|
-
getDeployment: (container: IProjectContainer, id: string) => Promise<IProjectContainerDeployment>;
|
|
206
|
-
createDeployment: (container: IProjectContainer, { data }: {
|
|
207
|
-
data: string;
|
|
208
|
-
}) => Promise<IProjectContainerDeployment>;
|
|
209
|
-
buildDeployment: (deployment: IProjectContainerDeployment) => Promise<{
|
|
210
|
-
result: boolean;
|
|
211
|
-
}>;
|
|
212
|
-
getDeploymentBuildStatus: (deployment: IProjectContainerDeployment) => Promise<{
|
|
213
|
-
finished: boolean;
|
|
214
|
-
result: boolean;
|
|
215
|
-
data: {
|
|
216
|
-
errors: string[];
|
|
217
|
-
logs: string[];
|
|
218
|
-
};
|
|
219
|
-
}>;
|
|
220
|
-
createFilesystem: (container: IProjectContainer, { path }: {
|
|
221
|
-
path: string;
|
|
222
|
-
}) => Promise<IProjectContainerFilesystem>;
|
|
223
|
-
getFilesystem: (container: IProjectContainer, id: string) => Promise<IProjectContainerFilesystem>;
|
|
224
|
-
getFilesystems: (container: IProjectContainer) => Promise<IProjectContainerFilesystem[]>;
|
|
225
|
-
getUsage: (container: IProjectContainer) => Promise<IProjectContainerUsage[]>;
|
|
226
|
-
};
|
|
227
|
-
export default ProjectContainer;
|