@lilaquadrat/studio 2.4.33 → 2.4.34

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.
@@ -4,7 +4,7 @@ export interface HostingCommand extends BasicDataInterface {
4
4
  target: 'nginx' | 'docker';
5
5
  command: Command<HostingCommand['target']>;
6
6
  date: Date;
7
- state: 'new' | 'success' | 'error';
7
+ state: 'new' | 'inProgress' | 'success' | 'error';
8
8
  data: {
9
9
  [key: string]: any;
10
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"hostingCommand.model.d.ts","sourceRoot":"","sources":["../../../src/models/hostingCommand.model.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAC/C,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AAEnE,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;IACnC,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC5C,CAAC;CACH;AAED,oBAAY,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,GACtC,SAAS,GAAG,OAAO,GAAG,MAAM,GAC5B,CAAC,SAAS,QAAQ,GAChB,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAC5E,KAAK,CAAC;AAEZ,QAAA,MAAM,KAAK,yBAAmE,CAAC;AAiB/E,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"hostingCommand.model.d.ts","sourceRoot":"","sources":["../../../src/models/hostingCommand.model.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAC/C,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AAEnE,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;IAClD,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC5C,CAAC;CACH;AAED,oBAAY,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,GACtC,SAAS,GAAG,OAAO,GAAG,MAAM,GAC5B,CAAC,SAAS,QAAQ,GAChB,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAC5E,KAAK,CAAC;AAEZ,QAAA,MAAM,KAAK,yBAAmE,CAAC;AA2B/E,eAAe,KAAK,CAAC"}
@@ -18,5 +18,13 @@ model.setSchema({
18
18
  },
19
19
  additionalProperties: false,
20
20
  }, 'create');
21
+ model.setSchema({
22
+ type: 'object',
23
+ properties: {
24
+ state: { type: 'string' },
25
+ data: { type: 'object' },
26
+ },
27
+ additionalProperties: false,
28
+ }, 'change');
21
29
  exports.default = model;
22
30
  //# sourceMappingURL=hostingCommand.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hostingCommand.model.js","sourceRoot":"","sources":["../../../src/models/hostingCommand.model.ts"],"names":[],"mappings":";;;;;AAAA,6EAA+C;AAwB/C,MAAM,KAAK,GAAG,IAAI,uBAAO,CAAiB,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;AAE/E,KAAK,CAAC,SAAS,CAAC;IACd,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACzB;IACD,oBAAoB,EAAE,KAAK;CAC5B,EACD,QAAQ,CAAC,CAAC;AAEV,kBAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"hostingCommand.model.js","sourceRoot":"","sources":["../../../src/models/hostingCommand.model.ts"],"names":[],"mappings":";;;;;AAAA,6EAA+C;AAwB/C,MAAM,KAAK,GAAG,IAAI,uBAAO,CAAiB,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;AAE/E,KAAK,CAAC,SAAS,CAAC;IACd,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACzB;IACD,oBAAoB,EAAE,KAAK;CAC5B,EACD,QAAQ,CAAC,CAAC;AAEV,KAAK,CAAC,SAAS,CAAC;IACd,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACzB;IACD,oBAAoB,EAAE,KAAK;CAC5B,EACD,QAAQ,CAAC,CAAC;AAEV,kBAAe,KAAK,CAAC"}
@@ -1,9 +1,16 @@
1
+ import { ObjectId } from 'mongodb';
1
2
  import Immutable from '../Immutable.class';
2
3
  import { HostingCommand, Command } from '../models/hostingCommand.model';
3
4
  declare class HostingCommandsService extends Immutable<HostingCommand> {
4
5
  model: import("../classes/modelv2.class").default<HostingCommand>;
5
- nginx(command: Command<'nginx'>, user: string, app: string): Promise<import("../interfaces/CreateResult.interface").default<HostingCommand>>;
6
- docker(command: Command<'docker'>, company: string | undefined, project: string | undefined, user: string, app: string): Promise<import("../interfaces/CreateResult.interface").default<HostingCommand>>;
6
+ nginx(command: Command<'nginx'>, user: string, app: string): Promise<void | import("../interfaces/CreateResult.interface").default<HostingCommand>>;
7
+ docker(command: Command<'docker'>, company: string | undefined, project: string | undefined, user: string, app: string): Promise<void | import("../interfaces/CreateResult.interface").default<HostingCommand>>;
8
+ checkIfExists(command: HostingCommand): Promise<boolean>;
9
+ list(after?: ObjectId, state?: HostingCommand['state']): Promise<import("mongodb").WithId<HostingCommand>[]>;
10
+ listNew(limit?: number): Promise<{
11
+ data: import("mongodb").WithId<HostingCommand>[];
12
+ more: boolean;
13
+ }>;
7
14
  }
8
15
  declare const _default: HostingCommandsService;
9
16
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"hostingCommands.service.d.ts","sourceRoot":"","sources":["../../../src/services/hostingCommands.service.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAA4B,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9F,cAAM,sBAAuB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAE5D,KAAK,6DAAuB;IAE5B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAc1D,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAqBvH;;AACD,wBAA4C"}
1
+ {"version":3,"file":"hostingCommands.service.d.ts","sourceRoot":"","sources":["../../../src/services/hostingCommands.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAA4B,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9F,cAAM,sBAAuB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAE5D,KAAK,6DAAuB;IAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAoB1D,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAuBtH,aAAa,CAAC,OAAO,EAAE,cAAc;IAqB3C,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC;IAoBhD,OAAO,CAAC,KAAK,SAAK;;;;CAqBzB;;AACD,wBAA4C"}
@@ -10,16 +10,19 @@ class HostingCommandsService extends Immutable_class_1.default {
10
10
  super(...arguments);
11
11
  this.model = hostingCommand_model_1.default;
12
12
  }
13
- nginx(command, user, app) {
14
- return this.create({
13
+ async nginx(command, user, app) {
14
+ const commandObject = {
15
15
  target: 'nginx',
16
16
  command,
17
17
  date: new Date(),
18
18
  state: 'new',
19
19
  data: {},
20
- }, user, app);
20
+ };
21
+ if (await this.checkIfExists(commandObject))
22
+ return Promise.resolve();
23
+ return this.create(commandObject, user, app);
21
24
  }
22
- docker(command, company, project, user, app) {
25
+ async docker(command, company, project, user, app) {
23
26
  const commandObject = {
24
27
  target: 'docker',
25
28
  command,
@@ -31,8 +34,44 @@ class HostingCommandsService extends Immutable_class_1.default {
31
34
  commandObject.company = company;
32
35
  commandObject.project = project;
33
36
  }
37
+ if (await this.checkIfExists(commandObject))
38
+ return Promise.resolve();
34
39
  return this.create(commandObject, user, app);
35
40
  }
41
+ async checkIfExists(command) {
42
+ const countObject = {
43
+ target: command.target,
44
+ state: 'new',
45
+ command: command.command,
46
+ };
47
+ if (command.company && command.project) {
48
+ countObject.company = command.company;
49
+ countObject.project = command.project;
50
+ }
51
+ const commands = await this.model.db.countDocuments(countObject);
52
+ return commands > 0;
53
+ }
54
+ list(after, state) {
55
+ const filter = {};
56
+ if (after) {
57
+ filter._id = { $gt: after };
58
+ }
59
+ if (state) {
60
+ filter.state = state;
61
+ }
62
+ return this.model.db.find(filter).sort({ _id: 1 }).limit(10).toArray();
63
+ }
64
+ async listNew(limit = 30) {
65
+ const count = await this.model.db.countDocuments({ state: 'new' });
66
+ const commandsList = await this.model.db.find({ state: 'new' }, { projection: { history: 0, data: 0 } })
67
+ .sort({ _id: 1 })
68
+ .limit(limit)
69
+ .toArray();
70
+ commandsList.forEach(async (single) => {
71
+ await this.immutable({ _id: single._id }, { state: 'inProgress' }, 'system', 'change', 'system');
72
+ });
73
+ return { data: commandsList, more: count > limit };
74
+ }
36
75
  }
37
76
  exports.default = new HostingCommandsService();
38
77
  //# sourceMappingURL=hostingCommands.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hostingCommands.service.js","sourceRoot":"","sources":["../../../src/services/hostingCommands.service.ts"],"names":[],"mappings":";;;;;AAAA,yEAA2C;AAC3C,0FAA8F;AAE9F,MAAM,sBAAuB,SAAQ,yBAAyB;IAA9D;;QAEE,UAAK,GAAG,8BAAmB,CAAC;IAqC9B,CAAC;IAnCC,KAAK,CAAC,OAAyB,EAAE,IAAY,EAAE,GAAW;QAExD,OAAO,IAAI,CAAC,MAAM,CAAC;YACjB,MAAM,EAAE,OAAO;YACf,OAAO;YACP,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;SACT,EACD,IAAI,EACJ,GAAG,CAAC,CAAC;IAEP,CAAC;IAED,MAAM,CAAC,OAA0B,EAAE,OAA2B,EAAE,OAA2B,EAAE,IAAY,EAAE,GAAW;QAEpH,MAAM,aAAa,GAAmB;YACpC,MAAM,EAAE,QAAQ;YAChB,OAAO;YACP,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;SACT,CAAC;QAEF,IAAI,OAAO,IAAI,OAAO,EAAE;YAEtB,aAAa,CAAC,OAAO,GAAG,OAAO,CAAC;YAChC,aAAa,CAAC,OAAO,GAAG,OAAO,CAAC;SAEjC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAE/C,CAAC;CAEF;AACD,kBAAe,IAAI,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"hostingCommands.service.js","sourceRoot":"","sources":["../../../src/services/hostingCommands.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lilaquadrat/studio",
3
- "version": "2.4.33",
3
+ "version": "2.4.34",
4
4
  "description": "classes and tools for STUDIO",
5
5
  "license": "MIT",
6
6
  "homepage": "https://lilaquadrat.de",