@ludeo/cloud-common 1.2.77 → 1.2.79-beta-yahil-1

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 (55) hide show
  1. package/dist/tsconfig.tsbuildinfo +1 -1
  2. package/dist/v4/events/build-artifacts-job-failed.d.ts +13 -0
  3. package/dist/v4/events/{build-distribution-failed-response.js → build-artifacts-job-failed.js} +14 -14
  4. package/dist/v4/events/build-artifacts-job-failed.js.map +1 -0
  5. package/dist/v4/events/build-artifacts-job-finished.d.ts +15 -0
  6. package/dist/v4/events/{build-distributed-successfully.js → build-artifacts-job-finished.js} +16 -16
  7. package/dist/v4/events/build-artifacts-job-finished.js.map +1 -0
  8. package/dist/v4/events/build-created.d.ts +11 -0
  9. package/dist/v4/events/build-created.js +41 -0
  10. package/dist/v4/events/build-created.js.map +1 -0
  11. package/dist/v4/events/build-distributed.d.ts +11 -0
  12. package/dist/v4/events/build-distributed.js +41 -0
  13. package/dist/v4/events/build-distributed.js.map +1 -0
  14. package/dist/v4/events/{build-distribution-failed-response.d.ts → build-distribution-job-failed.d.ts} +5 -5
  15. package/dist/v4/events/build-distribution-job-failed.js +46 -0
  16. package/dist/v4/events/build-distribution-job-failed.js.map +1 -0
  17. package/dist/v4/events/build-distribution-job-finished.d.ts +14 -0
  18. package/dist/v4/events/build-distribution-job-finished.js +50 -0
  19. package/dist/v4/events/build-distribution-job-finished.js.map +1 -0
  20. package/dist/v4/events/create-build-artifacts-job.d.ts +14 -0
  21. package/dist/v4/events/create-build-artifacts-job.js +47 -0
  22. package/dist/v4/events/create-build-artifacts-job.js.map +1 -0
  23. package/dist/v4/events/{distribute-build-request.d.ts → distribute-build-job.d.ts} +5 -5
  24. package/dist/v4/events/{distribute-build-request.js → distribute-build-job.js} +14 -14
  25. package/dist/v4/events/distribute-build-job.js.map +1 -0
  26. package/dist/v4/events/index.d.ts +9 -3
  27. package/dist/v4/events/index.js +9 -3
  28. package/dist/v4/events/index.js.map +1 -1
  29. package/dist/v4/events/post-game-creation-delay-task.d.ts +11 -0
  30. package/dist/v4/events/post-game-creation-delay-task.js +40 -0
  31. package/dist/v4/events/post-game-creation-delay-task.js.map +1 -0
  32. package/dist/v4/types/build.d.ts +41 -27
  33. package/dist/v4/types/build.js +36 -6
  34. package/dist/v4/types/build.js.map +1 -1
  35. package/dist/v4/types/pools/configuration/game.d.ts +1 -1
  36. package/dist/v4/types/pools/configuration/game.js +1 -1
  37. package/dist/v4/types/pools/configuration/game.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/v4/events/build-artifacts-job-failed.ts +29 -0
  40. package/src/v4/events/build-artifacts-job-finished.ts +36 -0
  41. package/src/v4/events/build-created.ts +25 -0
  42. package/src/v4/events/build-distributed.ts +25 -0
  43. package/src/v4/events/{build-distribution-failed-response.ts → build-distribution-job-failed.ts} +7 -8
  44. package/src/v4/events/build-distribution-job-finished.ts +35 -0
  45. package/src/v4/events/create-build-artifacts-job.ts +30 -0
  46. package/src/v4/events/{distribute-build-request.ts → distribute-build-job.ts} +7 -7
  47. package/src/v4/events/index.ts +9 -3
  48. package/src/v4/events/post-game-creation-delay-task.ts +27 -0
  49. package/src/v4/types/build.ts +43 -27
  50. package/src/v4/types/pools/configuration/game.ts +1 -1
  51. package/dist/v4/events/build-distributed-successfully.d.ts +0 -15
  52. package/dist/v4/events/build-distributed-successfully.js.map +0 -1
  53. package/dist/v4/events/build-distribution-failed-response.js.map +0 -1
  54. package/dist/v4/events/distribute-build-request.js.map +0 -1
  55. package/src/v4/events/build-distributed-successfully.ts +0 -36
@@ -0,0 +1,11 @@
1
+ import { LudeoEvent } from "../../infra/ludeo-event";
2
+ export declare class PostGameCreationDelayTaskPayload {
3
+ gamePoolId: string;
4
+ gameResourceId: string;
5
+ }
6
+ export declare class PostGameCreationDelayTask extends LudeoEvent {
7
+ static readonly EVENT_NAME = "cloud-pools.post-game-creation-delay-task";
8
+ constructor(payload: PostGameCreationDelayTaskPayload, context: never);
9
+ context: never;
10
+ payload: PostGameCreationDelayTaskPayload;
11
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PostGameCreationDelayTask = exports.PostGameCreationDelayTaskPayload = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const ludeo_event_1 = require("../../infra/ludeo-event");
15
+ const decorators_1 = require("../../decorators");
16
+ class PostGameCreationDelayTaskPayload {
17
+ }
18
+ exports.PostGameCreationDelayTaskPayload = PostGameCreationDelayTaskPayload;
19
+ __decorate([
20
+ (0, class_validator_1.IsUUID)(),
21
+ __metadata("design:type", String)
22
+ ], PostGameCreationDelayTaskPayload.prototype, "gamePoolId", void 0);
23
+ __decorate([
24
+ (0, class_validator_1.IsUUID)(),
25
+ __metadata("design:type", String)
26
+ ], PostGameCreationDelayTaskPayload.prototype, "gameResourceId", void 0);
27
+ class PostGameCreationDelayTask extends ludeo_event_1.LudeoEvent {
28
+ constructor(payload, context) {
29
+ super(PostGameCreationDelayTask.EVENT_NAME);
30
+ this.payload = payload;
31
+ this.context = context;
32
+ }
33
+ }
34
+ exports.PostGameCreationDelayTask = PostGameCreationDelayTask;
35
+ PostGameCreationDelayTask.EVENT_NAME = "cloud-pools.post-game-creation-delay-task";
36
+ __decorate([
37
+ (0, decorators_1.ValidateNestedType)(() => PostGameCreationDelayTaskPayload),
38
+ __metadata("design:type", PostGameCreationDelayTaskPayload)
39
+ ], PostGameCreationDelayTask.prototype, "payload", void 0);
40
+ //# sourceMappingURL=post-game-creation-delay-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-game-creation-delay-task.js","sourceRoot":"","sources":["../../../src/v4/events/post-game-creation-delay-task.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAyC;AACzC,yDAAqD;AACrD,iDAAsD;AAEtD,MAAa,gCAAgC;CAM5C;AAND,4EAMC;AAJC;IADC,IAAA,wBAAM,GAAE;;oEACU;AAGnB;IADC,IAAA,wBAAM,GAAE;;wEACc;AAGzB,MAAa,yBAA0B,SAAQ,wBAAU;IAIvD,YAAY,OAAyC,EAAE,OAAc;QACnE,KAAK,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AARH,8DAcC;AAbwB,oCAAU,GAC/B,2CAA2C,CAAC;AAWvC;IADN,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,gCAAgC,CAAC;8BAC3C,gCAAgC;0DAAC"}
@@ -5,54 +5,55 @@ export declare enum BuildStatus {
5
5
  DISTRIBUTING = "distributing",
6
6
  DISTRIBUTED = "distributed",
7
7
  FAILED = "failed",
8
- CREATING = "creating",
9
- CREATED = "created"
8
+ CREATING_ARTIFACTS = "creating-artifacts",
9
+ ARTIFACTS_CREATED = "artifacts-created",
10
+ ASSIGNED = "assigned"
10
11
  }
11
12
  export declare enum DistributionStatus {
12
13
  DISTRIBUTING = "distributing",
13
14
  DISTRIBUTED = "distributed"
14
15
  }
15
16
  export declare enum ArtifactStatus {
16
- CREATING = "creating",
17
- CREATED = "created"
17
+ READY = "ready",
18
+ CREATED = "created",
19
+ FAILED = "failed"
18
20
  }
19
- export type BuildMetadata = {
21
+ export declare class BuildMetadata {
20
22
  studioId: string;
21
23
  gameId: string;
22
24
  versionId: string;
23
25
  friendlyName?: string;
24
- };
25
- export type AwsArtifactData = {
26
+ }
27
+ export declare class AwsArtifactData {
26
28
  basePath: string;
27
29
  executeableLaunchPath: string;
28
- runtimeEnvironment: string;
30
+ runtimeEnvironmentConfigurationMap: RuntimeEnvironmentConfigurationMap;
29
31
  applicationName: string;
30
32
  applicationIdentifier?: string;
31
33
  status?: ArtifactStatus;
32
- };
33
- export type AwsDistributionData = {
34
+ }
35
+ export declare class GamecastRuntimeEnvironment {
36
+ Type: string;
37
+ Version: string;
38
+ }
39
+ export declare class AwsDistributionData {
34
40
  path: string;
35
- status?: DistributionStatus;
36
- };
37
- export type AwsDistributions = {
41
+ }
42
+ export declare class AwsDistributions {
38
43
  [region: string]: AwsDistributionData;
39
- };
40
- export type AwsArtifacts = {
44
+ }
45
+ export type Distributions = AwsDistributions;
46
+ export declare class AwsArtifacts {
41
47
  [region: string]: AwsArtifactData;
42
- };
43
- export type Artifacts = {
44
- [CloudProvider.AWS]: AwsArtifacts;
45
- };
46
- export type Distributions = {
47
- [CloudProvider.AWS]: AwsDistributions;
48
- };
49
- export type BuildProviderSettings = {
48
+ }
49
+ export type Artifacts = AwsArtifacts;
50
+ export declare class BuildProviderSettings {
50
51
  [CloudProvider.AWS]: {
51
52
  status?: BuildStatus;
52
53
  artifacts?: AwsArtifacts;
53
54
  distributions?: AwsDistributions;
54
55
  };
55
- };
56
+ }
56
57
  export declare class CloudBuild {
57
58
  id: string;
58
59
  createdAt: number;
@@ -60,9 +61,22 @@ export declare class CloudBuild {
60
61
  status: BuildStatus;
61
62
  centralizedPath?: string;
62
63
  meta?: BuildMetadata;
64
+ creationInput?: BuildCreationInput;
63
65
  providers?: Partial<BuildProviderSettings>;
64
66
  }
65
- export declare class AwsDistributorResponse {
66
- distributions: AwsDistributions;
67
+ export declare class BuildCreationInput {
68
+ applicationName: string;
69
+ basePath: string;
70
+ executeableLaunchPath: string;
71
+ runtimeEnvironment: RuntimeEnvironment;
72
+ logPath?: string;
73
+ }
74
+ export declare enum RuntimeEnvironment {
75
+ WINDOWS = "windows",
76
+ NVIDIA_ULTRA = "nvidiaUltra",
77
+ NVIDIA_HIGH = "nvidiaHigh"
78
+ }
79
+ export interface RuntimeEnvironmentConfigurationMap {
80
+ streamClass: string;
81
+ runtimeEnvironment: GamecastRuntimeEnvironment;
67
82
  }
68
- export type DistributorResponse = AwsDistributorResponse;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AwsDistributorResponse = exports.CloudBuild = exports.ArtifactStatus = exports.DistributionStatus = exports.BuildStatus = void 0;
3
+ exports.RuntimeEnvironment = exports.BuildCreationInput = exports.CloudBuild = exports.BuildProviderSettings = exports.AwsArtifacts = exports.AwsDistributions = exports.AwsDistributionData = exports.GamecastRuntimeEnvironment = exports.AwsArtifactData = exports.BuildMetadata = exports.ArtifactStatus = exports.DistributionStatus = exports.BuildStatus = void 0;
4
4
  const cloud_1 = require("./cloud");
5
5
  var BuildStatus;
6
6
  (function (BuildStatus) {
@@ -9,8 +9,9 @@ var BuildStatus;
9
9
  BuildStatus["DISTRIBUTING"] = "distributing";
10
10
  BuildStatus["DISTRIBUTED"] = "distributed";
11
11
  BuildStatus["FAILED"] = "failed";
12
- BuildStatus["CREATING"] = "creating";
13
- BuildStatus["CREATED"] = "created";
12
+ BuildStatus["CREATING_ARTIFACTS"] = "creating-artifacts";
13
+ BuildStatus["ARTIFACTS_CREATED"] = "artifacts-created";
14
+ BuildStatus["ASSIGNED"] = "assigned";
14
15
  })(BuildStatus || (exports.BuildStatus = BuildStatus = {}));
15
16
  var DistributionStatus;
16
17
  (function (DistributionStatus) {
@@ -19,13 +20,42 @@ var DistributionStatus;
19
20
  })(DistributionStatus || (exports.DistributionStatus = DistributionStatus = {}));
20
21
  var ArtifactStatus;
21
22
  (function (ArtifactStatus) {
22
- ArtifactStatus["CREATING"] = "creating";
23
+ ArtifactStatus["READY"] = "ready";
23
24
  ArtifactStatus["CREATED"] = "created";
25
+ ArtifactStatus["FAILED"] = "failed";
24
26
  })(ArtifactStatus || (exports.ArtifactStatus = ArtifactStatus = {}));
27
+ class BuildMetadata {
28
+ }
29
+ exports.BuildMetadata = BuildMetadata;
30
+ class AwsArtifactData {
31
+ }
32
+ exports.AwsArtifactData = AwsArtifactData;
33
+ class GamecastRuntimeEnvironment {
34
+ }
35
+ exports.GamecastRuntimeEnvironment = GamecastRuntimeEnvironment;
36
+ class AwsDistributionData {
37
+ }
38
+ exports.AwsDistributionData = AwsDistributionData;
39
+ class AwsDistributions {
40
+ }
41
+ exports.AwsDistributions = AwsDistributions;
42
+ class AwsArtifacts {
43
+ }
44
+ exports.AwsArtifacts = AwsArtifacts;
45
+ class BuildProviderSettings {
46
+ }
47
+ exports.BuildProviderSettings = BuildProviderSettings;
48
+ cloud_1.CloudProvider.AWS;
25
49
  class CloudBuild {
26
50
  }
27
51
  exports.CloudBuild = CloudBuild;
28
- class AwsDistributorResponse {
52
+ class BuildCreationInput {
29
53
  }
30
- exports.AwsDistributorResponse = AwsDistributorResponse;
54
+ exports.BuildCreationInput = BuildCreationInput;
55
+ var RuntimeEnvironment;
56
+ (function (RuntimeEnvironment) {
57
+ RuntimeEnvironment["WINDOWS"] = "windows";
58
+ RuntimeEnvironment["NVIDIA_ULTRA"] = "nvidiaUltra";
59
+ RuntimeEnvironment["NVIDIA_HIGH"] = "nvidiaHigh";
60
+ })(RuntimeEnvironment || (exports.RuntimeEnvironment = RuntimeEnvironment = {}));
31
61
  //# sourceMappingURL=build.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/v4/types/build.ts"],"names":[],"mappings":";;;AAAA,mCAAwC;AAExC,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,oCAAqB,CAAA;IACrB,4CAA6B,CAAA;IAC7B,0CAA2B,CAAA;IAC3B,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,kCAAmB,CAAA;AACrB,CAAC,EARW,WAAW,2BAAX,WAAW,QAQtB;AAED,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,mDAA6B,CAAA;IAC7B,iDAA2B,CAAA;AAC7B,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,qCAAmB,CAAA;AACrB,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AA+CD,MAAa,UAAU;CAQtB;AARD,gCAQC;AAED,MAAa,sBAAsB;CAElC;AAFD,wDAEC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/v4/types/build.ts"],"names":[],"mappings":";;;AAAA,mCAAwC;AAExC,IAAY,WASX;AATD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,oCAAqB,CAAA;IACrB,4CAA6B,CAAA;IAC7B,0CAA2B,CAAA;IAC3B,gCAAiB,CAAA;IACjB,wDAAyC,CAAA;IACzC,sDAAuC,CAAA;IACvC,oCAAqB,CAAA;AACvB,CAAC,EATW,WAAW,2BAAX,WAAW,QAStB;AAED,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,mDAA6B,CAAA;IAC7B,iDAA2B,CAAA;AAC7B,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;AACnB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,MAAa,aAAa;CAKzB;AALD,sCAKC;AAED,MAAa,eAAe;CAO3B;AAPD,0CAOC;AAED,MAAa,0BAA0B;CAGtC;AAHD,gEAGC;AAED,MAAa,mBAAmB;CAE/B;AAFD,kDAEC;AAED,MAAa,gBAAgB;CAE5B;AAFD,4CAEC;AAID,MAAa,YAAY;CAExB;AAFD,oCAEC;AAID,MAAa,qBAAqB;CAMjC;AAND,sDAMC;AALE,qBAAa,CAAC,GAAG;AAOpB,MAAa,UAAU;CAStB;AATD,gCASC;AAED,MAAa,kBAAkB;CAM9B;AAND,gDAMC;AAED,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,kDAA4B,CAAA;IAC5B,gDAA0B,CAAA;AAC5B,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B"}
@@ -6,5 +6,5 @@ export declare class GamePoolConfiguration extends BaseCloudPoolConfiguration {
6
6
  gameId: string;
7
7
  machinePoolId: string;
8
8
  attributes: GamePoolAttributes;
9
- markAvailableDelay?: number;
9
+ postCreationDelay?: number;
10
10
  }
@@ -38,5 +38,5 @@ __decorate([
38
38
  (0, class_validator_1.IsOptional)(),
39
39
  (0, class_validator_1.IsNumber)(),
40
40
  __metadata("design:type", Number)
41
- ], GamePoolConfiguration.prototype, "markAvailableDelay", void 0);
41
+ ], GamePoolConfiguration.prototype, "postCreationDelay", void 0);
42
42
  //# sourceMappingURL=game.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"game.js","sourceRoot":"","sources":["../../../../../src/v4/types/pools/configuration/game.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuE;AAEvE,kCAAwC;AACxC,6CAAkD;AAClD,iCAAoD;AACpD,uDAA4D;AAE5D,MAAa,qBAAsB,SAAQ,iCAA0B;CAoBpE;AApBD,sDAoBC;AAlBC;IADC,IAAA,wBAAM,EAAC,oBAAa,CAAC;;mDACG;AAGzB;IADC,IAAA,wBAAM,GAAE;;qDACM;AAGf;IADC,IAAA,wBAAM,GAAE;;4DACa;AAGtB;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,+BAAkB,CAAC;8BACjC,+BAAkB;yDAAC;AAQ/B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iEACiB"}
1
+ {"version":3,"file":"game.js","sourceRoot":"","sources":["../../../../../src/v4/types/pools/configuration/game.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuE;AAEvE,kCAAwC;AACxC,6CAAkD;AAClD,iCAAoD;AACpD,uDAA4D;AAE5D,MAAa,qBAAsB,SAAQ,iCAA0B;CAoBpE;AApBD,sDAoBC;AAlBC;IADC,IAAA,wBAAM,EAAC,oBAAa,CAAC;;mDACG;AAGzB;IADC,IAAA,wBAAM,GAAE;;qDACM;AAGf;IADC,IAAA,wBAAM,GAAE;;4DACa;AAGtB;IADC,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,+BAAkB,CAAC;8BACjC,+BAAkB;yDAAC;AAQ/B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;gEACgB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ludeo/cloud-common",
3
- "version": "1.2.77",
3
+ "version": "1.2.79-beta-yahil-1",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "author": "Yahil Didi",
@@ -0,0 +1,29 @@
1
+ import { IsEnum, IsUUID } from "class-validator";
2
+ import { CloudProvider } from "../types";
3
+ import { BuildContext } from "../contexts/build-context";
4
+ import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
5
+ import { LudeoEvent } from "../../infra/ludeo-event";
6
+
7
+ export class BuildArtifactsJobFailedPayload {
8
+ @IsEnum(CloudProvider)
9
+ cloudProvider: CloudProvider;
10
+
11
+ @IsUUID()
12
+ buildId: string;
13
+ }
14
+
15
+ export class BuildArtifactsJobFailed extends LudeoEvent {
16
+ static readonly EVENT_NAME = "cloud-builds.build-artifacts-job-failed";
17
+
18
+ constructor(payload: BuildArtifactsJobFailedPayload, context: BuildContext) {
19
+ super(BuildArtifactsJobFailed.EVENT_NAME);
20
+ this.payload = payload;
21
+ this.context = context;
22
+ }
23
+
24
+ @ValidateNestedType(() => BuildContext)
25
+ context: BuildContext;
26
+
27
+ @ValidateNestedType(() => BuildArtifactsJobFailedPayload)
28
+ payload: BuildArtifactsJobFailedPayload;
29
+ }
@@ -0,0 +1,36 @@
1
+ import { IsEnum, IsUUID } from "class-validator";
2
+ import { BuildContext } from "../contexts/build-context";
3
+ import { CloudProvider } from "../types";
4
+ import { Artifacts, AwsArtifacts } from "../types/build";
5
+ import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
6
+ import { LudeoEvent } from "../../infra/ludeo-event";
7
+
8
+ export class BuildArtifactsJobFinishedPayload {
9
+ @IsEnum(CloudProvider)
10
+ cloudProvider: CloudProvider;
11
+
12
+ @ValidateNestedType(() => AwsArtifacts)
13
+ artifacts: Artifacts;
14
+
15
+ @IsUUID()
16
+ buildId: string;
17
+ }
18
+
19
+ export class BuildArtifactsJobFinished extends LudeoEvent {
20
+ static readonly EVENT_NAME = "cloud-builds.build-artifacts-job-finished";
21
+
22
+ constructor(
23
+ payload: BuildArtifactsJobFinishedPayload,
24
+ context: BuildContext
25
+ ) {
26
+ super(BuildArtifactsJobFinished.EVENT_NAME);
27
+ this.payload = payload;
28
+ this.context = context;
29
+ }
30
+
31
+ @ValidateNestedType(() => BuildContext)
32
+ context: BuildContext;
33
+
34
+ @ValidateNestedType(() => BuildArtifactsJobFinishedPayload)
35
+ payload: BuildArtifactsJobFinishedPayload;
36
+ }
@@ -0,0 +1,25 @@
1
+ import { IsUUID } from "class-validator";
2
+ import { BuildContext } from "../contexts/build-context";
3
+ import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
4
+ import { LudeoEvent } from "../../infra/ludeo-event";
5
+
6
+ export class BuildCreatedPayload {
7
+ @IsUUID()
8
+ buildId: string;
9
+ }
10
+
11
+ export class BuildCreated extends LudeoEvent {
12
+ static readonly EVENT_NAME = "cloud-builds.build-created";
13
+
14
+ constructor(payload: BuildCreatedPayload, context: BuildContext) {
15
+ super(BuildCreated.EVENT_NAME);
16
+ this.payload = payload;
17
+ this.context = context;
18
+ }
19
+
20
+ @ValidateNestedType(() => BuildContext)
21
+ context: BuildContext;
22
+
23
+ @ValidateNestedType(() => BuildCreatedPayload)
24
+ payload: BuildCreatedPayload;
25
+ }
@@ -0,0 +1,25 @@
1
+ import { IsUUID } from "class-validator";
2
+ import { BuildContext } from "../contexts/build-context";
3
+ import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
4
+ import { LudeoEvent } from "../../infra/ludeo-event";
5
+
6
+ export class BuildDistributedPayload {
7
+ @IsUUID()
8
+ buildId: string;
9
+ }
10
+
11
+ export class BuildDistributed extends LudeoEvent {
12
+ static readonly EVENT_NAME = "cloud-builds.build-distributed";
13
+
14
+ constructor(payload: BuildDistributedPayload, context: BuildContext) {
15
+ super(BuildDistributed.EVENT_NAME);
16
+ this.payload = payload;
17
+ this.context = context;
18
+ }
19
+
20
+ @ValidateNestedType(() => BuildContext)
21
+ context: BuildContext;
22
+
23
+ @ValidateNestedType(() => BuildDistributedPayload)
24
+ payload: BuildDistributedPayload;
25
+ }
@@ -4,7 +4,7 @@ import { BuildContext } from "../contexts/build-context";
4
4
  import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
5
5
  import { LudeoEvent } from "../../infra/ludeo-event";
6
6
 
7
- export class BuildDistributionFailedResponsePayload {
7
+ export class BuildDistributionJobFailedPayload {
8
8
  @IsEnum(CloudProvider)
9
9
  cloudProvider: CloudProvider;
10
10
 
@@ -12,15 +12,14 @@ export class BuildDistributionFailedResponsePayload {
12
12
  buildId: string;
13
13
  }
14
14
 
15
- export class BuildDistributionFailedResponse extends LudeoEvent {
16
- static readonly EVENT_NAME =
17
- "cloud-builds.build-distribution-failed-response";
15
+ export class BuildDistributionJobFailed extends LudeoEvent {
16
+ static readonly EVENT_NAME = "cloud-builds.build-distribution-job-failed";
18
17
 
19
18
  constructor(
20
- payload: BuildDistributionFailedResponsePayload,
19
+ payload: BuildDistributionJobFailedPayload,
21
20
  context: BuildContext
22
21
  ) {
23
- super(BuildDistributionFailedResponse.EVENT_NAME);
22
+ super(BuildDistributionJobFailed.EVENT_NAME);
24
23
  this.payload = payload;
25
24
  this.context = context;
26
25
  }
@@ -28,6 +27,6 @@ export class BuildDistributionFailedResponse extends LudeoEvent {
28
27
  @ValidateNestedType(() => BuildContext)
29
28
  context: BuildContext;
30
29
 
31
- @ValidateNestedType(() => BuildDistributionFailedResponsePayload)
32
- payload: BuildDistributionFailedResponsePayload;
30
+ @ValidateNestedType(() => BuildDistributionJobFailedPayload)
31
+ payload: BuildDistributionJobFailedPayload;
33
32
  }
@@ -0,0 +1,35 @@
1
+ import { IsEnum, IsUUID } from "class-validator";
2
+ import { BuildContext } from "../contexts/build-context";
3
+ import { AwsDistributions, CloudProvider, Distributions } from "../types";
4
+ import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
5
+ import { LudeoEvent } from "../../infra/ludeo-event";
6
+
7
+ export class BuildDistributionJobFinishedPayload {
8
+ @IsEnum(CloudProvider)
9
+ cloudProvider: CloudProvider;
10
+
11
+ @ValidateNestedType(() => AwsDistributions)
12
+ distributions: Distributions;
13
+
14
+ @IsUUID()
15
+ buildId: string;
16
+ }
17
+
18
+ export class BuildDistributionJobFinished extends LudeoEvent {
19
+ static readonly EVENT_NAME = "cloud-builds.build-distribution-job-finished";
20
+
21
+ constructor(
22
+ payload: BuildDistributionJobFinishedPayload,
23
+ context: BuildContext
24
+ ) {
25
+ super(BuildDistributionJobFinished.EVENT_NAME);
26
+ this.payload = payload;
27
+ this.context = context;
28
+ }
29
+
30
+ @ValidateNestedType(() => BuildContext)
31
+ context: BuildContext;
32
+
33
+ @ValidateNestedType(() => BuildDistributionJobFinishedPayload)
34
+ payload: BuildDistributionJobFinishedPayload;
35
+ }
@@ -0,0 +1,30 @@
1
+ import { IsEnum } from "class-validator";
2
+ import { CloudProvider } from "../types";
3
+ import { BuildContext } from "../contexts/build-context";
4
+ import { CloudBuild } from "../types/build";
5
+ import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
6
+ import { LudeoEvent } from "../../infra/ludeo-event";
7
+
8
+ export class CreateBuildArtifactsJobPayload {
9
+ @ValidateNestedType(() => CloudBuild)
10
+ build: CloudBuild;
11
+
12
+ @IsEnum(CloudProvider)
13
+ cloudProvider: CloudProvider;
14
+ }
15
+
16
+ export class CreateBuildArtifactsJob extends LudeoEvent {
17
+ static readonly EVENT_NAME = "cloud-builds.create-build-artifacts-job";
18
+
19
+ constructor(payload: CreateBuildArtifactsJobPayload, context: BuildContext) {
20
+ super(CreateBuildArtifactsJob.EVENT_NAME);
21
+ this.payload = payload;
22
+ this.context = context;
23
+ }
24
+
25
+ @ValidateNestedType(() => BuildContext)
26
+ context: BuildContext;
27
+
28
+ @ValidateNestedType(() => CreateBuildArtifactsJobPayload)
29
+ payload: CreateBuildArtifactsJobPayload;
30
+ }
@@ -5,7 +5,7 @@ import { CloudBuild } from "../types/build";
5
5
  import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
6
6
  import { LudeoEvent } from "../../infra/ludeo-event";
7
7
 
8
- export class DistributeBuildRequestPayload {
8
+ export class DistributeBuildJobPayload {
9
9
  @ValidateNestedType(() => CloudBuild)
10
10
  build: CloudBuild;
11
11
 
@@ -13,11 +13,11 @@ export class DistributeBuildRequestPayload {
13
13
  cloudProvider: CloudProvider;
14
14
  }
15
15
 
16
- export class DistributeBuildRequest extends LudeoEvent {
17
- static readonly EVENT_NAME = "cloud-builds.distribute-build-request";
16
+ export class DistributeBuildJob extends LudeoEvent {
17
+ static readonly EVENT_NAME = "cloud-builds.distribute-build-job";
18
18
 
19
- constructor(payload: DistributeBuildRequestPayload, context: BuildContext) {
20
- super(DistributeBuildRequest.EVENT_NAME);
19
+ constructor(payload: DistributeBuildJobPayload, context: BuildContext) {
20
+ super(DistributeBuildJob.EVENT_NAME);
21
21
  this.payload = payload;
22
22
  this.context = context;
23
23
  }
@@ -25,6 +25,6 @@ export class DistributeBuildRequest extends LudeoEvent {
25
25
  @ValidateNestedType(() => BuildContext)
26
26
  context: BuildContext;
27
27
 
28
- @ValidateNestedType(() => DistributeBuildRequestPayload)
29
- payload: DistributeBuildRequestPayload;
28
+ @ValidateNestedType(() => DistributeBuildJobPayload)
29
+ payload: DistributeBuildJobPayload;
30
30
  }
@@ -103,6 +103,12 @@ export * from "./terminate-stale-ludeos";
103
103
  export * from "./terminate-ludeo-request";
104
104
  export * from "./ludeo-allocation-timeout-task";
105
105
  export * from "./monitor-stream-groups-task";
106
- export * from "./build-distributed-successfully";
107
- export * from "./build-distribution-failed-response";
108
- export * from "./distribute-build-request";
106
+ export * from "./build-distribution-job-finished";
107
+ export * from "./build-distribution-job-failed";
108
+ export * from "./distribute-build-job";
109
+ export * from "./create-build-artifacts-job";
110
+ export * from "./build-artifacts-job-finished";
111
+ export * from "./build-artifacts-job-failed";
112
+ export * from "./build-distributed";
113
+ export * from "./build-created";
114
+ export * from "./post-game-creation-delay-task";
@@ -0,0 +1,27 @@
1
+ import { IsUUID } from "class-validator";
2
+ import { LudeoEvent } from "../../infra/ludeo-event";
3
+ import { ValidateNestedType } from "../../decorators";
4
+
5
+ export class PostGameCreationDelayTaskPayload {
6
+ @IsUUID()
7
+ gamePoolId: string;
8
+
9
+ @IsUUID()
10
+ gameResourceId: string;
11
+ }
12
+
13
+ export class PostGameCreationDelayTask extends LudeoEvent {
14
+ public static readonly EVENT_NAME =
15
+ "cloud-pools.post-game-creation-delay-task";
16
+
17
+ constructor(payload: PostGameCreationDelayTaskPayload, context: never) {
18
+ super(PostGameCreationDelayTask.EVENT_NAME);
19
+ this.payload = payload;
20
+ this.context = context;
21
+ }
22
+
23
+ public context: never;
24
+
25
+ @ValidateNestedType(() => PostGameCreationDelayTaskPayload)
26
+ public payload: PostGameCreationDelayTaskPayload;
27
+ }