@wocker/ws 1.0.32-beta.1 → 1.1.0-beta.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.
Files changed (48) hide show
  1. package/lib/main.js +2 -2
  2. package/lib/makes/index.d.ts +0 -2
  3. package/lib/makes/index.js +0 -2
  4. package/lib/modules/core/controllers/DebugController.d.ts +3 -4
  5. package/lib/modules/core/controllers/DebugController.js +5 -22
  6. package/lib/modules/core/controllers/ExperimentalController.d.ts +3 -3
  7. package/lib/modules/core/controllers/ExperimentalController.js +1 -1
  8. package/lib/modules/dns/index.js +3 -3
  9. package/lib/modules/keystore/controllers/KeystoreController.d.ts +3 -3
  10. package/lib/modules/keystore/controllers/KeystoreController.js +6 -6
  11. package/lib/modules/keystore/services/KeystoreService.d.ts +3 -3
  12. package/lib/modules/keystore/services/KeystoreService.js +4 -4
  13. package/lib/modules/package-manager/service/PackageManager.d.ts +3 -3
  14. package/lib/modules/package-manager/service/PackageManager.js +7 -7
  15. package/lib/modules/plugin/controllers/PluginController.d.ts +3 -3
  16. package/lib/modules/plugin/controllers/PluginController.js +4 -4
  17. package/lib/modules/plugin/index.js +4 -5
  18. package/lib/modules/plugin/services/PluginService.d.ts +3 -3
  19. package/lib/modules/plugin/services/PluginService.js +11 -13
  20. package/lib/modules/preset/controllers/PresetController.d.ts +3 -3
  21. package/lib/modules/preset/controllers/PresetController.js +4 -4
  22. package/lib/modules/preset/controllers/PresetListener.d.ts +3 -3
  23. package/lib/modules/preset/controllers/PresetListener.js +7 -7
  24. package/lib/modules/preset/repositories/PresetRepository.d.ts +3 -3
  25. package/lib/modules/preset/repositories/PresetRepository.js +7 -7
  26. package/lib/modules/preset/services/PresetService.d.ts +4 -3
  27. package/lib/modules/preset/services/PresetService.js +19 -19
  28. package/lib/modules/project/controllers/ProjectController.d.ts +3 -3
  29. package/lib/modules/project/controllers/ProjectController.js +17 -24
  30. package/lib/modules/project/repositories/ProjectRepository.d.ts +1 -8
  31. package/lib/modules/project/repositories/ProjectRepository.js +1 -56
  32. package/lib/modules/project/services/ProjectService.d.ts +3 -3
  33. package/lib/modules/project/services/ProjectService.js +37 -37
  34. package/lib/modules/proxy/controllers/HttpAuthController.d.ts +3 -2
  35. package/lib/modules/proxy/controllers/HttpAuthController.js +29 -8
  36. package/lib/modules/proxy/controllers/ProxyController.d.ts +3 -3
  37. package/lib/modules/proxy/controllers/ProxyController.js +5 -5
  38. package/lib/modules/proxy/services/HttpAuthService.d.ts +3 -0
  39. package/lib/modules/proxy/services/HttpAuthService.js +29 -10
  40. package/lib/modules/proxy/services/ProxyService.d.ts +3 -3
  41. package/lib/modules/proxy/services/ProxyService.js +7 -7
  42. package/package.json +15 -5
  43. package/lib/makes/Version.d.ts +0 -22
  44. package/lib/makes/Version.js +0 -59
  45. package/lib/makes/VersionRange.d.ts +0 -6
  46. package/lib/makes/VersionRange.js +0 -18
  47. package/lib/makes/VersionRule.d.ts +0 -24
  48. package/lib/makes/VersionRule.js +0 -68
@@ -1,11 +1,12 @@
1
- import { Project, Preset, PresetVariableConfig, EnvConfig, AppConfigService, AppFileSystemService } from "@wocker/core";
1
+ import { Project, Preset, PresetVariableConfig, EnvConfig, AppService, ProcessService, AppFileSystemService } from "@wocker/core";
2
2
  import { PresetRepository } from "../repositories/PresetRepository";
3
3
  export declare class PresetService {
4
- protected readonly appConfigService: AppConfigService;
4
+ protected readonly appService: AppService;
5
+ protected readonly processService: ProcessService;
5
6
  protected readonly fs: AppFileSystemService;
6
7
  protected readonly presetRepository: PresetRepository;
7
8
  protected range: string;
8
- constructor(appConfigService: AppConfigService, fs: AppFileSystemService, presetRepository: PresetRepository);
9
+ constructor(appService: AppService, processService: ProcessService, fs: AppFileSystemService, presetRepository: PresetRepository);
9
10
  prompt(configMap: {
10
11
  [name: string]: PresetVariableConfig;
11
12
  }, values?: EnvConfig): Promise<EnvConfig>;
@@ -17,11 +17,11 @@ const core_1 = require("@wocker/core");
17
17
  const utils_1 = require("@wocker/utils");
18
18
  const md5_1 = __importDefault(require("md5"));
19
19
  const PresetRepository_1 = require("../repositories/PresetRepository");
20
- const makes_1 = require("../../../makes");
21
20
  const GithubClient_1 = require("../../../makes/GithubClient");
22
21
  let PresetService = class PresetService {
23
- constructor(appConfigService, fs, presetRepository) {
24
- this.appConfigService = appConfigService;
22
+ constructor(appService, processService, fs, presetRepository) {
23
+ this.appService = appService;
24
+ this.processService = processService;
25
25
  this.fs = fs;
26
26
  this.presetRepository = presetRepository;
27
27
  this.range = "1.x.x";
@@ -129,23 +129,23 @@ let PresetService = class PresetService {
129
129
  get(name) {
130
130
  const preset = name
131
131
  ? this.presetRepository.searchOne({ name })
132
- : this.presetRepository.searchOne({ path: this.appConfigService.pwd() });
132
+ : this.presetRepository.searchOne({ path: this.processService.pwd() });
133
133
  if (!preset) {
134
134
  throw new Error(name ? `Preset "${name}" not found` : "Preset not found");
135
135
  }
136
136
  return preset;
137
137
  }
138
138
  async init() {
139
- const fs = this.fs.cd(this.appConfigService.pwd());
139
+ const fs = this.fs.cd(this.processService.pwd());
140
140
  let preset = this.presetRepository.searchOne({
141
- path: this.appConfigService.pwd()
141
+ path: this.processService.pwd()
142
142
  });
143
143
  if (preset) {
144
144
  return;
145
145
  }
146
146
  if (fs.exists("config.json")) {
147
147
  const config = fs.readJSON("config.json");
148
- this.appConfigService.registerPreset(config.name, core_1.PRESET_SOURCE_EXTERNAL, fs.path());
148
+ this.appService.registerPreset(config.name, core_1.PRESET_SOURCE_EXTERNAL, fs.path());
149
149
  return;
150
150
  }
151
151
  let config = {};
@@ -214,17 +214,16 @@ let PresetService = class PresetService {
214
214
  return;
215
215
  }
216
216
  fs.writeJSON("config.json", config);
217
- this.appConfigService.registerPreset(config.name, core_1.PRESET_SOURCE_EXTERNAL, fs.path());
217
+ this.appService.registerPreset(config.name, core_1.PRESET_SOURCE_EXTERNAL, fs.path());
218
218
  }
219
219
  async deinit() {
220
220
  const preset = this.presetRepository.searchOne({
221
- path: this.appConfigService.pwd()
221
+ path: this.processService.pwd()
222
222
  });
223
223
  if (!preset) {
224
224
  return;
225
225
  }
226
- this.appConfigService.config.unregisterPreset(preset.name);
227
- this.appConfigService.save();
226
+ this.appService.unregisterPreset(preset.name);
228
227
  }
229
228
  async install(repository, version) {
230
229
  if (!/^[\w-]+\/[\w-]+$/.test(repository)) {
@@ -233,11 +232,11 @@ let PresetService = class PresetService {
233
232
  const [owner, name] = repository.split("/");
234
233
  let satisfyingTag;
235
234
  let satisfyingBranch;
236
- const github = new GithubClient_1.GithubClient(owner, name), wRule = makes_1.VersionRule.parse(this.range), rule = makes_1.VersionRule.parse(["latest", "beta"].includes(version) ? "x" : version ?? this.range);
235
+ const github = new GithubClient_1.GithubClient(owner, name), wRule = core_1.VersionRule.parse(this.range), rule = core_1.VersionRule.parse(["latest", "beta"].includes(version) ? "x" : version ?? this.range);
237
236
  if (version !== "beta") {
238
237
  satisfyingTag = (await github.getTags())
239
238
  .filter((tag) => {
240
- if (!makes_1.Version.valid(tag.name)) {
239
+ if (!core_1.Version.valid(tag.name)) {
241
240
  return false;
242
241
  }
243
242
  return wRule.match(tag.name) || rule.match(tag.name);
@@ -246,13 +245,13 @@ let PresetService = class PresetService {
246
245
  if (!tag) {
247
246
  return nextTag;
248
247
  }
249
- return makes_1.Version.parse(tag.name).compare(nextTag.name) < 0 ? nextTag : tag;
248
+ return core_1.Version.parse(tag.name).compare(nextTag.name) < 0 ? nextTag : tag;
250
249
  }, null);
251
250
  }
252
251
  if (!satisfyingTag) {
253
252
  satisfyingBranch = (await github.getBranches())
254
253
  .filter((branch) => {
255
- if (!makes_1.Version.valid(branch.name)) {
254
+ if (!core_1.Version.valid(branch.name)) {
256
255
  return false;
257
256
  }
258
257
  return wRule.match(branch.name) || rule.match(branch.name);
@@ -261,7 +260,7 @@ let PresetService = class PresetService {
261
260
  if (!branch) {
262
261
  return nextBranch;
263
262
  }
264
- return makes_1.Version.parse(branch.name).compare(nextBranch.name) < 0 ? nextBranch : branch;
263
+ return core_1.Version.parse(branch.name).compare(nextBranch.name) < 0 ? nextBranch : branch;
265
264
  }, null);
266
265
  }
267
266
  if (!satisfyingTag && !satisfyingBranch) {
@@ -273,7 +272,7 @@ let PresetService = class PresetService {
273
272
  let preset = this.presetRepository.searchOne({
274
273
  name: config.name
275
274
  });
276
- if (preset && satisfyingTag && preset.source === core_1.PRESET_SOURCE_GITHUB && makes_1.Version.parse(ref).compare(preset.version) === 0) {
275
+ if (preset && satisfyingTag && preset.source === core_1.PRESET_SOURCE_GITHUB && core_1.Version.parse(ref).compare(preset.version) === 0) {
277
276
  console.info("Preset already installed");
278
277
  return;
279
278
  }
@@ -289,7 +288,7 @@ let PresetService = class PresetService {
289
288
  });
290
289
  }
291
290
  this.fs.mv(`presets/.tmp/${config.name}`, `presets/${config.name}`);
292
- this.appConfigService.registerPreset(config.name, core_1.PRESET_SOURCE_GITHUB);
291
+ this.appService.registerPreset(config.name, core_1.PRESET_SOURCE_GITHUB);
293
292
  console.info("Preset installed successfully");
294
293
  }
295
294
  finally {
@@ -304,7 +303,8 @@ let PresetService = class PresetService {
304
303
  exports.PresetService = PresetService;
305
304
  exports.PresetService = PresetService = __decorate([
306
305
  (0, core_1.Injectable)(),
307
- __metadata("design:paramtypes", [core_1.AppConfigService,
306
+ __metadata("design:paramtypes", [core_1.AppService,
307
+ core_1.ProcessService,
308
308
  core_1.AppFileSystemService,
309
309
  PresetRepository_1.PresetRepository])
310
310
  ], PresetService);
@@ -1,9 +1,9 @@
1
- import { AppConfigService, AppFileSystemService, ProcessService, ProjectType, EventService, LogService } from "@wocker/core";
1
+ import { AppService, AppFileSystemService, ProcessService, EventService, ProjectType, LogService } from "@wocker/core";
2
2
  import { DockerService } from "@wocker/docker-module";
3
3
  import { PresetService } from "../../preset";
4
4
  import { ProjectService } from "../services/ProjectService";
5
5
  export declare class ProjectController {
6
- protected readonly appConfigService: AppConfigService;
6
+ protected readonly appService: AppService;
7
7
  protected readonly fs: AppFileSystemService;
8
8
  protected readonly processService: ProcessService;
9
9
  protected readonly projectService: ProjectService;
@@ -11,7 +11,7 @@ export declare class ProjectController {
11
11
  protected readonly eventService: EventService;
12
12
  protected readonly dockerService: DockerService;
13
13
  protected readonly logService: LogService;
14
- constructor(appConfigService: AppConfigService, fs: AppFileSystemService, processService: ProcessService, projectService: ProjectService, presetService: PresetService, eventService: EventService, dockerService: DockerService, logService: LogService);
14
+ constructor(appService: AppService, fs: AppFileSystemService, processService: ProcessService, projectService: ProjectService, presetService: PresetService, eventService: EventService, dockerService: DockerService, logService: LogService);
15
15
  protected getProjectNames(): Promise<string[]>;
16
16
  getScriptNames(): Promise<string[]>;
17
17
  init(name: string, type: ProjectType): Promise<void>;
@@ -26,8 +26,8 @@ const async_mutex_1 = require("async-mutex");
26
26
  const preset_1 = require("../../preset");
27
27
  const ProjectService_1 = require("../services/ProjectService");
28
28
  let ProjectController = class ProjectController {
29
- constructor(appConfigService, fs, processService, projectService, presetService, eventService, dockerService, logService) {
30
- this.appConfigService = appConfigService;
29
+ constructor(appService, fs, processService, projectService, presetService, eventService, dockerService, logService) {
30
+ this.appService = appService;
31
31
  this.fs = fs;
32
32
  this.processService = processService;
33
33
  this.projectService = projectService;
@@ -57,11 +57,7 @@ let ProjectController = class ProjectController {
57
57
  path: fs.path()
58
58
  });
59
59
  if (!project) {
60
- project = new core_1.Project({
61
- type: core_1.PROJECT_TYPE_IMAGE,
62
- name: fs.basename(),
63
- path: fs.path()
64
- });
60
+ project = new core_1.Project(fs.basename(), fs.path());
65
61
  }
66
62
  project.path = fs.path();
67
63
  if (name) {
@@ -91,7 +87,7 @@ let ProjectController = class ProjectController {
91
87
  if (type) {
92
88
  project.type = type;
93
89
  }
94
- const mapTypes = this.appConfigService.getProjectTypes();
90
+ const mapTypes = this.appService.getProjectTypes();
95
91
  if (!type || !project.type || !mapTypes[project.type]) {
96
92
  project.type = await (0, utils_1.promptSelect)({
97
93
  message: "Project type",
@@ -101,7 +97,7 @@ let ProjectController = class ProjectController {
101
97
  });
102
98
  }
103
99
  switch (project.type) {
104
- case core_1.PROJECT_TYPE_DOCKERFILE: {
100
+ case core_1.ProjectType.DOCKERFILE: {
105
101
  const files = fs.readdir();
106
102
  const dockerfiles = files.filter((fileName) => {
107
103
  if (new RegExp("^(.*)\\.dockerfile$").test(fileName)) {
@@ -124,7 +120,7 @@ let ProjectController = class ProjectController {
124
120
  });
125
121
  break;
126
122
  }
127
- case core_1.PROJECT_TYPE_IMAGE: {
123
+ case core_1.ProjectType.IMAGE: {
128
124
  project.imageName = await (0, utils_1.promptInput)({
129
125
  message: "Image name",
130
126
  required: true,
@@ -132,7 +128,7 @@ let ProjectController = class ProjectController {
132
128
  });
133
129
  break;
134
130
  }
135
- case core_1.PROJECT_TYPE_COMPOSE: {
131
+ case core_1.ProjectType.COMPOSE: {
136
132
  const composeFiles = fs.readdir().filter((file) => {
137
133
  return /docker-compose\./.test(file);
138
134
  });
@@ -147,7 +143,7 @@ let ProjectController = class ProjectController {
147
143
  });
148
144
  break;
149
145
  }
150
- case core_1.PROJECT_TYPE_PRESET:
146
+ case core_1.ProjectType.PRESET:
151
147
  break;
152
148
  default:
153
149
  throw new Error("Invalid project type");
@@ -158,8 +154,7 @@ let ProjectController = class ProjectController {
158
154
  async destroy(name) {
159
155
  const project = this.projectService.get(name);
160
156
  await this.projectService.stop(project);
161
- this.appConfigService.removeProject(project.name);
162
- this.appConfigService.save();
157
+ this.appService.removeProject(project.name);
163
158
  this.fs.rm(`projects/${project.name}`, {
164
159
  recursive: true
165
160
  });
@@ -329,7 +324,7 @@ let ProjectController = class ProjectController {
329
324
  async clearPorts(name) {
330
325
  const project = this.projectService.get(name);
331
326
  if (project.ports) {
332
- delete project.ports;
327
+ project.ports = [];
333
328
  project.save();
334
329
  }
335
330
  }
@@ -338,10 +333,10 @@ let ProjectController = class ProjectController {
338
333
  head: ["KEY", "VALUE"]
339
334
  });
340
335
  if (global) {
341
- for (const i in this.appConfigService.config.env) {
336
+ for (const i in this.appService.config.env) {
342
337
  table.push([
343
338
  i,
344
- this.appConfigService.config.env[i]
339
+ this.appService.config.env[i]
345
340
  ]);
346
341
  }
347
342
  }
@@ -377,7 +372,7 @@ let ProjectController = class ProjectController {
377
372
  }
378
373
  async configGet(keys, name, global) {
379
374
  let config = global
380
- ? this.appConfigService.config
375
+ ? this.appService.config
381
376
  : this.projectService.get(name);
382
377
  const table = new cli_table3_1.default({
383
378
  head: ["KEY", "VALUE"]
@@ -399,9 +394,8 @@ let ProjectController = class ProjectController {
399
394
  console.info(yoctocolors_cjs_1.default.yellow(`No value for "${key}"`));
400
395
  continue;
401
396
  }
402
- this.appConfigService.setEnv(key.trim(), value.trim());
397
+ this.appService.setEnv(key.trim(), value.trim());
403
398
  }
404
- this.appConfigService.save();
405
399
  return;
406
400
  }
407
401
  const project = this.projectService.get(name);
@@ -423,9 +417,8 @@ let ProjectController = class ProjectController {
423
417
  }, {});
424
418
  if (global) {
425
419
  for (const i in env) {
426
- this.appConfigService.unsetEnv(i);
420
+ this.appService.unsetEnv(i);
427
421
  }
428
- this.appConfigService.save();
429
422
  return;
430
423
  }
431
424
  const project = this.projectService.get(name);
@@ -502,7 +495,7 @@ let ProjectController = class ProjectController {
502
495
  if (!copier.destination.exists(preset.dockerfile)) {
503
496
  copier.copy(preset.dockerfile);
504
497
  }
505
- project.type = "dockerfile";
498
+ project.type = core_1.ProjectType.DOCKERFILE;
506
499
  project.dockerfile = preset.dockerfile;
507
500
  }
508
501
  const files = copier.source.readdir("", {
@@ -977,7 +970,7 @@ __decorate([
977
970
  exports.ProjectController = ProjectController = __decorate([
978
971
  (0, core_1.Controller)(),
979
972
  (0, core_1.Description)("Project commands"),
980
- __metadata("design:paramtypes", [core_1.AppConfigService,
973
+ __metadata("design:paramtypes", [core_1.AppService,
981
974
  core_1.AppFileSystemService,
982
975
  core_1.ProcessService,
983
976
  ProjectService_1.ProjectService,
@@ -1,12 +1,5 @@
1
- import { AppConfigService, AppFileSystemService, Project, ProjectRepository as CoreProjectRepository } from "@wocker/core";
1
+ import { ProjectRepository as CoreProjectRepository } from "@wocker/core";
2
2
  export declare class ProjectRepository extends CoreProjectRepository {
3
- protected readonly appConfigService: AppConfigService;
4
- protected readonly fs: AppFileSystemService;
5
- constructor(appConfigService: AppConfigService, fs: AppFileSystemService);
6
- getByName(name: string): Project;
7
- save(project: Project): void;
8
- search(params?: ProjectRepository.SearchParams): Project[];
9
- searchOne(params?: ProjectRepository.SearchParams): Project | null;
10
3
  }
11
4
  export declare namespace ProjectRepository {
12
5
  type SearchParams = CoreProjectRepository.SearchParams;
@@ -5,67 +5,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
8
  Object.defineProperty(exports, "__esModule", { value: true });
12
9
  exports.ProjectRepository = void 0;
13
10
  const core_1 = require("@wocker/core");
14
11
  let ProjectRepository = class ProjectRepository extends core_1.ProjectRepository {
15
- constructor(appConfigService, fs) {
16
- super();
17
- this.appConfigService = appConfigService;
18
- this.fs = fs;
19
- }
20
- getByName(name) {
21
- const ref = this.appConfigService.config.getProject(name), config = this.fs.readJSON(`projects/${name}/config.json`);
22
- return new core_1.Project({
23
- ...config,
24
- path: ref.path
25
- });
26
- }
27
- save(project) {
28
- if (!project.name) {
29
- throw new Error("Project should has a name");
30
- }
31
- if (!project.path) {
32
- throw new Error("Project should has a path");
33
- }
34
- if (!project.id) {
35
- project.id = project.name;
36
- }
37
- if (!this.fs.exists(`projects/${project.name}`)) {
38
- this.fs.mkdir(`projects/${project.name}`, {
39
- recursive: true
40
- });
41
- }
42
- const { path, ...rest } = project.toObject();
43
- this.appConfigService.addProject(project.name, path);
44
- this.fs.writeJSON(`projects/${project.name}/config.json`, rest);
45
- this.appConfigService.save();
46
- }
47
- search(params = {}) {
48
- const { name, path } = params, projects = [];
49
- for (const ref of this.appConfigService.projects) {
50
- if (name && ref.name !== name) {
51
- continue;
52
- }
53
- if (path && ref.path !== path) {
54
- continue;
55
- }
56
- const project = this.getByName(ref.name);
57
- projects.push(project);
58
- }
59
- return projects;
60
- }
61
- searchOne(params = {}) {
62
- const [project] = this.search(params);
63
- return project || null;
64
- }
65
12
  };
66
13
  exports.ProjectRepository = ProjectRepository;
67
14
  exports.ProjectRepository = ProjectRepository = __decorate([
68
- (0, core_1.Injectable)(),
69
- __metadata("design:paramtypes", [core_1.AppConfigService,
70
- core_1.AppFileSystemService])
15
+ (0, core_1.Injectable)()
71
16
  ], ProjectRepository);
@@ -1,9 +1,9 @@
1
- import { AppConfigService, EventService, LogService, ProcessService, Project, ProjectService as CoreProjectService } from "@wocker/core";
1
+ import { AppService, EventService, LogService, ProcessService, Project, ProjectService as CoreProjectService } from "@wocker/core";
2
2
  import { ComposeService, DockerService } from "@wocker/docker-module";
3
3
  import { PresetRepository, PresetService } from "../../preset";
4
4
  import { ProjectRepository } from "../repositories/ProjectRepository";
5
5
  export declare class ProjectService extends CoreProjectService {
6
- protected readonly appConfigService: AppConfigService;
6
+ protected readonly appService: AppService;
7
7
  protected readonly processService: ProcessService;
8
8
  protected readonly eventService: EventService;
9
9
  protected readonly dockerService: DockerService;
@@ -12,7 +12,7 @@ export declare class ProjectService extends CoreProjectService {
12
12
  protected readonly presetService: PresetService;
13
13
  protected readonly presetRepository: PresetRepository;
14
14
  protected readonly logService: LogService;
15
- constructor(appConfigService: AppConfigService, processService: ProcessService, eventService: EventService, dockerService: DockerService, composeService: ComposeService, projectRepository: ProjectRepository, presetService: PresetService, presetRepository: PresetRepository, logService: LogService);
15
+ constructor(appService: AppService, processService: ProcessService, eventService: EventService, dockerService: DockerService, composeService: ComposeService, projectRepository: ProjectRepository, presetService: PresetService, presetRepository: PresetRepository, logService: LogService);
16
16
  get(name?: string): Project;
17
17
  search(params?: ProjectRepository.SearchParams): Project[];
18
18
  searchOne(params?: ProjectRepository.SearchParams): Project | null;
@@ -21,9 +21,9 @@ class PublicCli extends cli_1.Cli {
21
21
  }
22
22
  }
23
23
  let ProjectService = class ProjectService extends core_1.ProjectService {
24
- constructor(appConfigService, processService, eventService, dockerService, composeService, projectRepository, presetService, presetRepository, logService) {
24
+ constructor(appService, processService, eventService, dockerService, composeService, projectRepository, presetService, presetRepository, logService) {
25
25
  super();
26
- this.appConfigService = appConfigService;
26
+ this.appService = appService;
27
27
  this.processService = processService;
28
28
  this.eventService = eventService;
29
29
  this.dockerService = dockerService;
@@ -63,9 +63,9 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
63
63
  await this.build(project, rebuild);
64
64
  await this.eventService.emit("project:beforeStart", project);
65
65
  switch (project.type) {
66
- case core_1.PROJECT_TYPE_IMAGE:
67
- case core_1.PROJECT_TYPE_DOCKERFILE:
68
- case core_1.PROJECT_TYPE_PRESET: {
66
+ case core_1.ProjectType.IMAGE:
67
+ case core_1.ProjectType.DOCKERFILE:
68
+ case core_1.ProjectType.PRESET: {
69
69
  let container = await this.dockerService.getContainer(project.containerName);
70
70
  const fs = new core_1.FileSystem(project.path);
71
71
  if (!container) {
@@ -74,7 +74,7 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
74
74
  image: project.imageName,
75
75
  cmd: project.cmd,
76
76
  env: {
77
- ...this.appConfigService.config.env || {},
77
+ ...this.appService.config.env || {},
78
78
  ...project.env || {}
79
79
  },
80
80
  ports: project.ports || [],
@@ -97,7 +97,7 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
97
97
  }
98
98
  break;
99
99
  }
100
- case core_1.PROJECT_TYPE_COMPOSE: {
100
+ case core_1.ProjectType.COMPOSE: {
101
101
  await this.composeService.up({
102
102
  context: project.path,
103
103
  composefile: project.composefile
@@ -109,12 +109,12 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
109
109
  await this.eventService.emit("project:afterStart", project);
110
110
  if (attach) {
111
111
  switch (project.type) {
112
- case core_1.PROJECT_TYPE_IMAGE:
113
- case core_1.PROJECT_TYPE_DOCKERFILE:
114
- case core_1.PROJECT_TYPE_PRESET:
112
+ case core_1.ProjectType.IMAGE:
113
+ case core_1.ProjectType.DOCKERFILE:
114
+ case core_1.ProjectType.PRESET:
115
115
  await this.dockerService.attach(project.containerName);
116
116
  break;
117
- case core_1.PROJECT_TYPE_COMPOSE:
117
+ case core_1.ProjectType.COMPOSE:
118
118
  break;
119
119
  }
120
120
  }
@@ -122,12 +122,12 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
122
122
  async stop(project) {
123
123
  await this.eventService.emit("project:beforeStop", project);
124
124
  switch (project.type) {
125
- case core_1.PROJECT_TYPE_IMAGE:
126
- case core_1.PROJECT_TYPE_DOCKERFILE:
127
- case core_1.PROJECT_TYPE_PRESET:
125
+ case core_1.ProjectType.IMAGE:
126
+ case core_1.ProjectType.DOCKERFILE:
127
+ case core_1.ProjectType.PRESET:
128
128
  await this.dockerService.removeContainer(project.containerName);
129
129
  break;
130
- case core_1.PROJECT_TYPE_COMPOSE: {
130
+ case core_1.ProjectType.COMPOSE: {
131
131
  await this.composeService.down({
132
132
  context: project.path,
133
133
  composefile: project.composefile
@@ -139,10 +139,10 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
139
139
  }
140
140
  async build(project, rebuild) {
141
141
  switch (project.type) {
142
- case core_1.PROJECT_TYPE_IMAGE:
142
+ case core_1.ProjectType.IMAGE:
143
143
  await this.dockerService.pullImage(project.imageName);
144
144
  break;
145
- case core_1.PROJECT_TYPE_DOCKERFILE: {
145
+ case core_1.ProjectType.DOCKERFILE: {
146
146
  project.imageName = `project-${project.name}:develop`;
147
147
  project.save();
148
148
  if (rebuild) {
@@ -150,7 +150,7 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
150
150
  }
151
151
  if (!await this.dockerService.imageExists(project.imageName)) {
152
152
  await this.dockerService.buildImage({
153
- version: this.appConfigService.isExperimentalEnabled("buildKit") ? "2" : "1",
153
+ version: this.appService.isExperimentalEnabled("buildKit") ? "2" : "1",
154
154
  tag: project.imageName,
155
155
  buildArgs: project.buildArgs,
156
156
  context: project.path,
@@ -159,7 +159,7 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
159
159
  }
160
160
  break;
161
161
  }
162
- case core_1.PROJECT_TYPE_PRESET: {
162
+ case core_1.ProjectType.PRESET: {
163
163
  const preset = this.presetRepository.searchOne({
164
164
  name: project.preset
165
165
  });
@@ -176,7 +176,7 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
176
176
  }
177
177
  if (!await this.dockerService.imageExists(project.imageName)) {
178
178
  await this.dockerService.buildImage({
179
- version: this.appConfigService.isExperimentalEnabled("buildKit") ? "2" : "1",
179
+ version: this.appService.isExperimentalEnabled("buildKit") ? "2" : "1",
180
180
  tag: project.imageName,
181
181
  labels: {
182
182
  "org.wocker.preset": preset.name
@@ -191,7 +191,7 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
191
191
  }
192
192
  break;
193
193
  }
194
- case core_1.PROJECT_TYPE_COMPOSE: {
194
+ case core_1.ProjectType.COMPOSE: {
195
195
  await this.composeService.build({
196
196
  context: project.path,
197
197
  composefile: project.composefile
@@ -203,9 +203,9 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
203
203
  }
204
204
  async attach(project) {
205
205
  switch (project.type) {
206
- case core_1.PROJECT_TYPE_IMAGE:
207
- case core_1.PROJECT_TYPE_DOCKERFILE:
208
- case core_1.PROJECT_TYPE_PRESET: {
206
+ case core_1.ProjectType.IMAGE:
207
+ case core_1.ProjectType.DOCKERFILE:
208
+ case core_1.ProjectType.PRESET: {
209
209
  await this.dockerService.attach(project.containerName);
210
210
  break;
211
211
  }
@@ -216,9 +216,9 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
216
216
  throw new Error(`Script ${script} not found`);
217
217
  }
218
218
  switch (project.type) {
219
- case core_1.PROJECT_TYPE_IMAGE:
220
- case core_1.PROJECT_TYPE_DOCKERFILE:
221
- case core_1.PROJECT_TYPE_PRESET: {
219
+ case core_1.ProjectType.IMAGE:
220
+ case core_1.ProjectType.DOCKERFILE:
221
+ case core_1.ProjectType.PRESET: {
222
222
  const container = await this.dockerService.getContainer(project.containerName);
223
223
  if (!container) {
224
224
  throw new Error("The project is not started");
@@ -241,7 +241,7 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
241
241
  await this.dockerService.attachStream(stream);
242
242
  break;
243
243
  }
244
- case core_1.PROJECT_TYPE_COMPOSE: {
244
+ case core_1.ProjectType.COMPOSE: {
245
245
  console.log(service, script, args);
246
246
  break;
247
247
  }
@@ -249,12 +249,12 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
249
249
  }
250
250
  async exec(project, command) {
251
251
  switch (project.type) {
252
- case core_1.PROJECT_TYPE_IMAGE:
253
- case core_1.PROJECT_TYPE_DOCKERFILE:
254
- case core_1.PROJECT_TYPE_PRESET:
252
+ case core_1.ProjectType.IMAGE:
253
+ case core_1.ProjectType.DOCKERFILE:
254
+ case core_1.ProjectType.PRESET:
255
255
  await this.dockerService.exec(project.containerName, command, true);
256
256
  break;
257
- case core_1.PROJECT_TYPE_COMPOSE: {
257
+ case core_1.ProjectType.COMPOSE: {
258
258
  const [service, ...args] = command;
259
259
  await this.composeService.exec({
260
260
  service,
@@ -268,9 +268,9 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
268
268
  }
269
269
  async logs(project, detach) {
270
270
  switch (project.type) {
271
- case core_1.PROJECT_TYPE_IMAGE:
272
- case core_1.PROJECT_TYPE_DOCKERFILE:
273
- case core_1.PROJECT_TYPE_PRESET: {
271
+ case core_1.ProjectType.IMAGE:
272
+ case core_1.ProjectType.DOCKERFILE:
273
+ case core_1.ProjectType.PRESET: {
274
274
  const container = await this.dockerService.getContainer(project.containerName);
275
275
  if (!container) {
276
276
  throw new Error("Project not started");
@@ -288,7 +288,7 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
288
288
  }
289
289
  break;
290
290
  }
291
- case core_1.PROJECT_TYPE_COMPOSE:
291
+ case core_1.ProjectType.COMPOSE:
292
292
  break;
293
293
  }
294
294
  }
@@ -296,7 +296,7 @@ let ProjectService = class ProjectService extends core_1.ProjectService {
296
296
  exports.ProjectService = ProjectService;
297
297
  exports.ProjectService = ProjectService = __decorate([
298
298
  (0, core_1.Injectable)("PROJECT_SERVICE"),
299
- __metadata("design:paramtypes", [core_1.AppConfigService,
299
+ __metadata("design:paramtypes", [core_1.AppService,
300
300
  core_1.ProcessService,
301
301
  core_1.EventService,
302
302
  docker_module_1.DockerService,
@@ -8,8 +8,9 @@ export declare class HttpAuthController {
8
8
  protected readonly proxyService: ProxyService;
9
9
  constructor(projectService: ProjectService, httpAuthService: HttpAuthService, proxyService: ProxyService);
10
10
  onAddDomain(project: Project, ...domains: string[]): Promise<void>;
11
- enable(domain?: string): Promise<void>;
12
- disable(domain?: string): Promise<void>;
11
+ users(): Promise<void>;
12
+ enable(domain?: string, noRestart?: boolean): Promise<void>;
13
+ disable(domain?: string, noRestart?: boolean): Promise<void>;
13
14
  add(user?: string, password?: string, global?: boolean, algorithm?: HttpAuthService.Algorithm): Promise<void>;
14
15
  remove(user?: string): Promise<void>;
15
16
  clear(): Promise<void>;