@t4h.framework/amber 0.0.0 → 0.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.
Files changed (85) hide show
  1. package/dist/activities/AbstractAmberHttpRequestActivity.d.ts +12 -0
  2. package/dist/activities/AbstractAmberHttpRequestActivity.d.ts.map +1 -0
  3. package/dist/activities/AbstractAmberHttpRequestActivity.js +21 -0
  4. package/dist/activities/AbstractAmberHttpRequestActivity.js.map +1 -0
  5. package/dist/activities/AmberCommentTicketActivity.d.ts +13 -0
  6. package/dist/activities/AmberCommentTicketActivity.d.ts.map +1 -0
  7. package/dist/activities/AmberCommentTicketActivity.js +22 -0
  8. package/dist/activities/AmberCommentTicketActivity.js.map +1 -0
  9. package/dist/activities/AmberCreateTicketActivity.d.ts +15 -0
  10. package/dist/activities/AmberCreateTicketActivity.d.ts.map +1 -0
  11. package/dist/activities/AmberCreateTicketActivity.js +68 -0
  12. package/dist/activities/AmberCreateTicketActivity.js.map +1 -0
  13. package/dist/activities/AmberGetTicketActivity.d.ts +12 -0
  14. package/dist/activities/AmberGetTicketActivity.d.ts.map +1 -0
  15. package/dist/activities/AmberGetTicketActivity.js +30 -0
  16. package/dist/activities/AmberGetTicketActivity.js.map +1 -0
  17. package/dist/activities/AmberInteractTicketActivity.d.ts +13 -0
  18. package/dist/activities/AmberInteractTicketActivity.d.ts.map +1 -0
  19. package/dist/activities/AmberInteractTicketActivity.js +23 -0
  20. package/dist/activities/AmberInteractTicketActivity.js.map +1 -0
  21. package/dist/activities/AmberLockTicketActivity.d.ts +14 -0
  22. package/dist/activities/AmberLockTicketActivity.d.ts.map +1 -0
  23. package/dist/activities/AmberLockTicketActivity.js +33 -0
  24. package/dist/activities/AmberLockTicketActivity.js.map +1 -0
  25. package/dist/activities/AmberReleaseTicketLockActivity.d.ts +12 -0
  26. package/dist/activities/AmberReleaseTicketLockActivity.d.ts.map +1 -0
  27. package/dist/activities/AmberReleaseTicketLockActivity.js +30 -0
  28. package/dist/activities/AmberReleaseTicketLockActivity.js.map +1 -0
  29. package/dist/activities/AmberTabulateTicketActivity.d.ts +13 -0
  30. package/dist/activities/AmberTabulateTicketActivity.d.ts.map +1 -0
  31. package/dist/activities/AmberTabulateTicketActivity.js +22 -0
  32. package/dist/activities/AmberTabulateTicketActivity.js.map +1 -0
  33. package/dist/activities/AmberTransferTicketActivity.d.ts +77 -0
  34. package/dist/activities/AmberTransferTicketActivity.d.ts.map +1 -0
  35. package/dist/activities/AmberTransferTicketActivity.js +121 -0
  36. package/dist/activities/AmberTransferTicketActivity.js.map +1 -0
  37. package/dist/activities/AmberUpdateTicketActivity.d.ts +13 -0
  38. package/dist/activities/AmberUpdateTicketActivity.d.ts.map +1 -0
  39. package/dist/activities/AmberUpdateTicketActivity.js +22 -0
  40. package/dist/activities/AmberUpdateTicketActivity.js.map +1 -0
  41. package/dist/index.d.ts +11 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +11 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/models/Amber.d.ts +16 -0
  46. package/dist/models/Amber.d.ts.map +1 -0
  47. package/dist/models/Amber.js +42 -0
  48. package/dist/models/Amber.js.map +1 -0
  49. package/dist/models/AmberConnection.d.ts +7 -0
  50. package/dist/models/AmberConnection.d.ts.map +1 -0
  51. package/dist/models/AmberConnection.js +11 -0
  52. package/dist/models/AmberConnection.js.map +1 -0
  53. package/dist/models/Ticket.d.ts +28 -0
  54. package/dist/models/Ticket.d.ts.map +1 -0
  55. package/dist/models/Ticket.js +116 -0
  56. package/dist/models/Ticket.js.map +1 -0
  57. package/dist/types/ServiceTabulate.d.ts +13 -0
  58. package/dist/types/ServiceTabulate.d.ts.map +1 -0
  59. package/dist/types/ServiceTabulate.js +2 -0
  60. package/dist/types/ServiceTabulate.js.map +1 -0
  61. package/dist/types/ServiceTicket.d.ts +46 -0
  62. package/dist/types/ServiceTicket.d.ts.map +1 -0
  63. package/dist/types/ServiceTicket.js +2 -0
  64. package/dist/types/ServiceTicket.js.map +1 -0
  65. package/dist/types/ServiceTicketComment.d.ts +6 -0
  66. package/dist/types/ServiceTicketComment.d.ts.map +1 -0
  67. package/dist/types/ServiceTicketComment.js +2 -0
  68. package/dist/types/ServiceTicketComment.js.map +1 -0
  69. package/dist/types/ServiceTicketInteraction.d.ts +24 -0
  70. package/dist/types/ServiceTicketInteraction.d.ts.map +1 -0
  71. package/dist/types/ServiceTicketInteraction.js +2 -0
  72. package/dist/types/ServiceTicketInteraction.js.map +1 -0
  73. package/dist/types/ServiceTicketLock.d.ts +7 -0
  74. package/dist/types/ServiceTicketLock.d.ts.map +1 -0
  75. package/dist/types/ServiceTicketLock.js +2 -0
  76. package/dist/types/ServiceTicketLock.js.map +1 -0
  77. package/dist/types/ServiceTransfer.d.ts +14 -0
  78. package/dist/types/ServiceTransfer.d.ts.map +1 -0
  79. package/dist/types/ServiceTransfer.js +2 -0
  80. package/dist/types/ServiceTransfer.js.map +1 -0
  81. package/dist/types/ServiceUpdate.d.ts +6 -0
  82. package/dist/types/ServiceUpdate.d.ts.map +1 -0
  83. package/dist/types/ServiceUpdate.js +2 -0
  84. package/dist/types/ServiceUpdate.js.map +1 -0
  85. package/package.json +2 -2
@@ -0,0 +1,12 @@
1
+ import { AbstractHttpRequestActivity, type HttpRequestActivityInput, type HttpRequestActivityOutput } from '@t4h.framework/http';
2
+ export type AmberHttpRequestActivityInput = HttpRequestActivityInput & {
3
+ auth: {
4
+ username: string;
5
+ password: string;
6
+ };
7
+ };
8
+ export declare abstract class AbstractAmberHttpRequestActivity<TArgs extends readonly any[], TInput extends AmberHttpRequestActivityInput, TOutput = any> extends AbstractHttpRequestActivity<TArgs, TInput, HttpRequestActivityOutput, TOutput> {
9
+ protected toHttpInput(input: AmberHttpRequestActivityInput): HttpRequestActivityInput;
10
+ protected toHttpOutput(output: HttpRequestActivityOutput): HttpRequestActivityOutput;
11
+ }
12
+ //# sourceMappingURL=AbstractAmberHttpRequestActivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractAmberHttpRequestActivity.d.ts","sourceRoot":"","sources":["../../src/activities/AbstractAmberHttpRequestActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC/B,MAAM,qBAAqB,CAAA;AAE5B,MAAM,MAAM,6BAA6B,GAAG,wBAAwB,GAAG;IACrE,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7C,CAAA;AAED,8BAAsB,gCAAgC,CACpD,KAAK,SAAS,SAAS,GAAG,EAAE,EAC5B,MAAM,SAAS,6BAA6B,EAC5C,OAAO,GAAG,GAAG,CACb,SAAQ,2BAA2B,CACnC,KAAK,EACL,MAAM,EACN,yBAAyB,EACzB,OAAO,CACR;IACC,SAAS,CAAC,WAAW,CACnB,KAAK,EAAE,6BAA6B,GACnC,wBAAwB;IAgB3B,SAAS,CAAC,YAAY,CACpB,MAAM,EAAE,yBAAyB,GAChC,yBAAyB;CAG7B"}
@@ -0,0 +1,21 @@
1
+ import { AbstractHttpRequestActivity, } from '@t4h.framework/http';
2
+ export class AbstractAmberHttpRequestActivity extends AbstractHttpRequestActivity {
3
+ toHttpInput(input) {
4
+ const httpInput = {
5
+ url: input.url,
6
+ headers: input.headers || {},
7
+ auth: input.auth,
8
+ };
9
+ if (input.method)
10
+ httpInput.method = input.method;
11
+ if (input.body)
12
+ httpInput.body = input.body;
13
+ if (input.retry)
14
+ httpInput.retry = input.retry;
15
+ return httpInput;
16
+ }
17
+ toHttpOutput(output) {
18
+ return output;
19
+ }
20
+ }
21
+ //# sourceMappingURL=AbstractAmberHttpRequestActivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractAmberHttpRequestActivity.js","sourceRoot":"","sources":["../../src/activities/AbstractAmberHttpRequestActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,GAG5B,MAAM,qBAAqB,CAAA;AAM5B,MAAM,OAAgB,gCAIpB,SAAQ,2BAKT;IACW,WAAW,CACnB,KAAoC;QAEpC,MAAM,SAAS,GAA6B;YAC1C,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAA;QAED,IAAI,KAAK,CAAC,MAAM;YAAE,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAEjD,IAAI,KAAK,CAAC,IAAI;YAAE,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QAE3C,IAAI,KAAK,CAAC,KAAK;YAAE,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QAE9C,OAAO,SAAS,CAAA;IAClB,CAAC;IAES,YAAY,CACpB,MAAiC;QAEjC,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import { AbstractAmberHttpRequestActivity, type AmberHttpRequestActivityInput } from './AbstractAmberHttpRequestActivity.js';
2
+ import type { ServiceTicketCommentInput } from '../types/ServiceTicketComment.js';
3
+ export type AmberCommentTicketActivityInput = Omit<AmberHttpRequestActivityInput, 'method' | 'body'> & {
4
+ input: ServiceTicketCommentInput;
5
+ id: string;
6
+ };
7
+ export declare class AmberCommentTicketActivity extends AbstractAmberHttpRequestActivity<[
8
+ AmberCommentTicketActivityInput
9
+ ], AmberHttpRequestActivityInput> {
10
+ toInput(input: AmberCommentTicketActivityInput): AmberHttpRequestActivityInput;
11
+ toOutput(output: any, input: AmberCommentTicketActivityInput): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=AmberCommentTicketActivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberCommentTicketActivity.d.ts","sourceRoot":"","sources":["../../src/activities/AmberCommentTicketActivity.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gCAAgC,EAChC,KAAK,6BAA6B,EACnC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAEjF,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAChD,6BAA6B,EAC7B,QAAQ,GAAG,MAAM,CAClB,GAAG;IACF,KAAK,EAAE,yBAAyB,CAAA;IAChC,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,qBAAa,0BAA2B,SAAQ,gCAAgC,CAC9E;IAAC,+BAA+B;CAAC,EACjC,6BAA6B,CAC9B;IACQ,OAAO,CACZ,KAAK,EAAE,+BAA+B,GACrC,6BAA6B;IASnB,QAAQ,CACnB,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,IAAI,CAAC;CAUjB"}
@@ -0,0 +1,22 @@
1
+ import { Response } from '@t4h.framework/http';
2
+ import { AbstractAmberHttpRequestActivity, } from './AbstractAmberHttpRequestActivity.js';
3
+ export class AmberCommentTicketActivity extends AbstractAmberHttpRequestActivity {
4
+ toInput(input) {
5
+ return {
6
+ ...input,
7
+ url: `${input.url}/services/${input.id}/comments`,
8
+ method: 'POST',
9
+ body: { json: input.input },
10
+ };
11
+ }
12
+ async toOutput(output, input) {
13
+ const response = new Response(output);
14
+ if (response.status !== 200)
15
+ throw new Error(`Failed to comment on ticket ${input.id}`, {
16
+ cause: {
17
+ httpStatusCode: response.status,
18
+ },
19
+ });
20
+ }
21
+ }
22
+ //# sourceMappingURL=AmberCommentTicketActivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberCommentTicketActivity.js","sourceRoot":"","sources":["../../src/activities/AmberCommentTicketActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EACL,gCAAgC,GAEjC,MAAM,uCAAuC,CAAA;AAW9C,MAAM,OAAO,0BAA2B,SAAQ,gCAG/C;IACQ,OAAO,CACZ,KAAsC;QAEtC,OAAO;YACL,GAAG,KAAK;YACR,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,aAAa,KAAK,CAAC,EAAE,WAAW;YACjD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE;SAC5B,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,MAAW,EACX,KAAsC;QAEtC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;QAErC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,EAAE,EAAE,EAAE;gBACzD,KAAK,EAAE;oBACL,cAAc,EAAE,QAAQ,CAAC,MAAM;iBAChC;aACF,CAAC,CAAA;IACN,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ import { AbstractAmberHttpRequestActivity, type AmberHttpRequestActivityInput } from './AbstractAmberHttpRequestActivity.js';
2
+ import { Ticket } from '../models/Ticket.js';
3
+ import type { ServiceTicketInput } from '../types/ServiceTicket.js';
4
+ export type AmberCreateTicketActivityInput = Omit<AmberHttpRequestActivityInput, 'method' | 'body'> & {
5
+ input: Omit<ServiceTicketInput, 'type' | 'channel'>;
6
+ channel: string;
7
+ };
8
+ export declare class AmberCreateTicketActivity extends AbstractAmberHttpRequestActivity<[
9
+ AmberCreateTicketActivityInput
10
+ ], AmberHttpRequestActivityInput> {
11
+ private readonly claims;
12
+ toInput(httpInput: AmberCreateTicketActivityInput): AmberHttpRequestActivityInput;
13
+ toOutput(output: any, input: AmberCreateTicketActivityInput): Promise<Ticket>;
14
+ }
15
+ //# sourceMappingURL=AmberCreateTicketActivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberCreateTicketActivity.d.ts","sourceRoot":"","sources":["../../src/activities/AmberCreateTicketActivity.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,gCAAgC,EAChC,KAAK,6BAA6B,EACnC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,6BAA6B,EAC7B,QAAQ,GAAG,MAAM,CAClB,GAAG;IACF,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACnD,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,qBAAa,yBAA0B,SAAQ,gCAAgC,CAC7E;IAAC,8BAA8B;CAAC,EAChC,6BAA6B,CAC9B;IACC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAKrB;IAEK,OAAO,CACZ,SAAS,EAAE,8BAA8B,GACxC,6BAA6B;IAqDnB,QAAQ,CACnB,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,MAAM,CAAC;CAoBnB"}
@@ -0,0 +1,68 @@
1
+ import { Claim, GetWorkflowUniqueIdentifierClaim } from '@t4h.framework/core';
2
+ import { Response } from '@t4h.framework/http';
3
+ import { GetProjectUniqueIdentifierClaim, GetProjectVersionUniqueIdentifierClaim, GetProjectVersionWorkflowUniqueIdentifierClaim, } from '@t4h.framework/runtime-claims';
4
+ import { AbstractAmberHttpRequestActivity, } from './AbstractAmberHttpRequestActivity.js';
5
+ import { Ticket } from '../models/Ticket.js';
6
+ export class AmberCreateTicketActivity extends AbstractAmberHttpRequestActivity {
7
+ claims = new Claim({
8
+ getProjectId: GetProjectUniqueIdentifierClaim,
9
+ getProjectVersionId: GetProjectVersionUniqueIdentifierClaim,
10
+ getProjectVersionWorkflowId: GetProjectVersionWorkflowUniqueIdentifierClaim,
11
+ getProjectVersionWorkflowRunId: GetWorkflowUniqueIdentifierClaim,
12
+ });
13
+ toInput(httpInput) {
14
+ const input = httpInput.input;
15
+ const project = this.claims.getProjectId.getProjectUniqueIdentifier();
16
+ const projectVersion = this.claims.getProjectVersionId.getProjectVersionUniqueIdentifier();
17
+ const projectVersionWorkflow = this.claims.getProjectVersionWorkflowId.getProjectVersionWorkflowUniqueIdentifier();
18
+ const projectVersionWorkflowRun = this.claims.getProjectVersionWorkflowRunId.getWorkflowUniqueIdentifier();
19
+ input.metadata = input.metadata || {};
20
+ input.type = 'ticket';
21
+ input.channel = httpInput.channel;
22
+ Object.assign(input.metadata, {
23
+ project,
24
+ projectVersion,
25
+ projectVersionWorkflow,
26
+ projectVersionWorkflowRun,
27
+ });
28
+ if (input.fields) {
29
+ const fields = input.fields.flatMap(item => Object.entries(item).map(([label, field]) => ({
30
+ label,
31
+ field: {
32
+ name: field.name,
33
+ value: field.value,
34
+ contentType: field.contentType,
35
+ },
36
+ })));
37
+ Object.assign(input, { fields });
38
+ }
39
+ if (input.lock)
40
+ Object.assign(input, {
41
+ lock: { ref: projectVersionWorkflowRun },
42
+ });
43
+ return {
44
+ ...httpInput,
45
+ url: `${httpInput.url}/services`,
46
+ method: 'POST',
47
+ body: { form: input },
48
+ };
49
+ }
50
+ async toOutput(output, input) {
51
+ const response = new Response(output);
52
+ if (response.status !== 200)
53
+ throw new Error('Failed to create ticket', {
54
+ cause: {
55
+ httpStatusCode: response.status,
56
+ },
57
+ });
58
+ const data = (await response.body.json());
59
+ if (!data.id)
60
+ throw new Error('Cannot retrieve ticket id');
61
+ return new Ticket(data.id, {
62
+ clientId: input.auth.username,
63
+ clientSecret: input.auth.password,
64
+ url: input.url,
65
+ });
66
+ }
67
+ }
68
+ //# sourceMappingURL=AmberCreateTicketActivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberCreateTicketActivity.js","sourceRoot":"","sources":["../../src/activities/AmberCreateTicketActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EACL,+BAA+B,EAC/B,sCAAsC,EACtC,8CAA8C,GAC/C,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,gCAAgC,GAEjC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAW5C,MAAM,OAAO,yBAA0B,SAAQ,gCAG9C;IACkB,MAAM,GAAG,IAAI,KAAK,CAAC;QAClC,YAAY,EAAE,+BAA+B;QAC7C,mBAAmB,EAAE,sCAAsC;QAC3D,2BAA2B,EAAE,8CAA8C;QAC3E,8BAA8B,EAAE,gCAAgC;KACjE,CAAC,CAAA;IAEK,OAAO,CACZ,SAAyC;QAEzC,MAAM,KAAK,GAAG,SAAS,CAAC,KAA2B,CAAA;QAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,0BAA0B,EAAE,CAAA;QAErE,MAAM,cAAc,GAClB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,iCAAiC,EAAE,CAAA;QAErE,MAAM,sBAAsB,GAC1B,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,yCAAyC,EAAE,CAAA;QAErF,MAAM,yBAAyB,GAC7B,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAAC,2BAA2B,EAAE,CAAA;QAE1E,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAA;QACrC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAA;QACrB,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;QAEjC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC5B,OAAO;YACP,cAAc;YACd,sBAAsB;YACtB,yBAAyB;SAC1B,CAAC,CAAA;QAEF,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CACzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,KAAK;gBACL,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;iBAC/B;aACF,CAAC,CAAC,CACJ,CAAA;YAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAClC,CAAC;QAED,IAAI,KAAK,CAAC,IAAI;YACZ,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;gBACnB,IAAI,EAAE,EAAE,GAAG,EAAE,yBAAyB,EAAE;aACzC,CAAC,CAAA;QAEJ,OAAO;YACL,GAAG,SAAS;YACZ,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,WAAW;YAChC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACtB,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,MAAW,EACX,KAAqC;QAErC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;QAErC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,EAAE;gBACzC,KAAK,EAAE;oBACL,cAAc,EAAE,QAAQ,CAAC,MAAM;iBAChC;aACF,CAAC,CAAA;QAEJ,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAoB,CAAA;QAE5D,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAE1D,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE;YACzB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;YAC7B,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;YACjC,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import { AbstractAmberHttpRequestActivity, type AmberHttpRequestActivityInput } from './AbstractAmberHttpRequestActivity.js';
2
+ import { Ticket } from '../models/Ticket.js';
3
+ export type AmberGetTicketActivityInput = Omit<AmberHttpRequestActivityInput, 'method' | 'body'> & {
4
+ id: string;
5
+ };
6
+ export declare class AmberGetTicketActivity extends AbstractAmberHttpRequestActivity<[
7
+ AmberGetTicketActivityInput
8
+ ], AmberHttpRequestActivityInput> {
9
+ toInput(input: AmberGetTicketActivityInput): AmberHttpRequestActivityInput;
10
+ toOutput(output: any, input: AmberGetTicketActivityInput): Promise<Ticket>;
11
+ }
12
+ //# sourceMappingURL=AmberGetTicketActivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberGetTicketActivity.d.ts","sourceRoot":"","sources":["../../src/activities/AmberGetTicketActivity.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gCAAgC,EAChC,KAAK,6BAA6B,EACnC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,6BAA6B,EAC7B,QAAQ,GAAG,MAAM,CAClB,GAAG;IACF,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,qBAAa,sBAAuB,SAAQ,gCAAgC,CAC1E;IAAC,2BAA2B;CAAC,EAC7B,6BAA6B,CAC9B;IACQ,OAAO,CACZ,KAAK,EAAE,2BAA2B,GACjC,6BAA6B;IAQnB,QAAQ,CACnB,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,MAAM,CAAC;CAoBnB"}
@@ -0,0 +1,30 @@
1
+ import { Response } from '@t4h.framework/http';
2
+ import { AbstractAmberHttpRequestActivity, } from './AbstractAmberHttpRequestActivity.js';
3
+ import { Ticket } from '../models/Ticket.js';
4
+ export class AmberGetTicketActivity extends AbstractAmberHttpRequestActivity {
5
+ toInput(input) {
6
+ return {
7
+ ...input,
8
+ url: `${input.url}/services/${input.id}`,
9
+ method: 'GET',
10
+ };
11
+ }
12
+ async toOutput(output, input) {
13
+ const response = new Response(output);
14
+ if (response.status !== 200)
15
+ throw new Error(`Failed to get ticket ${input.id}`, {
16
+ cause: {
17
+ httpStatusCode: response.status,
18
+ },
19
+ });
20
+ const data = (await response.body.json());
21
+ if (!data.id)
22
+ throw new Error('Cannot retrieve ticket id');
23
+ return new Ticket(data.id, {
24
+ clientId: input.auth.username,
25
+ clientSecret: input.auth.password,
26
+ url: input.url,
27
+ });
28
+ }
29
+ }
30
+ //# sourceMappingURL=AmberGetTicketActivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberGetTicketActivity.js","sourceRoot":"","sources":["../../src/activities/AmberGetTicketActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EACL,gCAAgC,GAEjC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAS5C,MAAM,OAAO,sBAAuB,SAAQ,gCAG3C;IACQ,OAAO,CACZ,KAAkC;QAElC,OAAO;YACL,GAAG,KAAK;YACR,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,aAAa,KAAK,CAAC,EAAE,EAAE;YACxC,MAAM,EAAE,KAAK;SACd,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,MAAW,EACX,KAAkC;QAElC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;QAErC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YACzB,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,CAAC,EAAE,EAAE,EAAE;gBAClD,KAAK,EAAE;oBACL,cAAc,EAAE,QAAQ,CAAC,MAAM;iBAChC;aACF,CAAC,CAAA;QAEJ,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAoB,CAAA;QAE5D,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAE1D,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE;YACzB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;YAC7B,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;YACjC,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import { AbstractAmberHttpRequestActivity, type AmberHttpRequestActivityInput } from './AbstractAmberHttpRequestActivity.js';
2
+ import type { ServiceTicketInteractionInput } from '../types/ServiceTicketInteraction.js';
3
+ export type AmberInteractTicketActivityInput = Omit<AmberHttpRequestActivityInput, 'method' | 'body'> & {
4
+ input: ServiceTicketInteractionInput;
5
+ id: string;
6
+ };
7
+ export declare class AmberInteractTicketActivity extends AbstractAmberHttpRequestActivity<[
8
+ AmberInteractTicketActivityInput
9
+ ], AmberHttpRequestActivityInput> {
10
+ toInput(input: AmberInteractTicketActivityInput): AmberHttpRequestActivityInput;
11
+ toOutput(output: any, input: AmberInteractTicketActivityInput): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=AmberInteractTicketActivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberInteractTicketActivity.d.ts","sourceRoot":"","sources":["../../src/activities/AmberInteractTicketActivity.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gCAAgC,EAChC,KAAK,6BAA6B,EACnC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAA;AAEzF,MAAM,MAAM,gCAAgC,GAAG,IAAI,CACjD,6BAA6B,EAC7B,QAAQ,GAAG,MAAM,CAClB,GAAG;IACF,KAAK,EAAE,6BAA6B,CAAA;IACpC,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,qBAAa,2BAA4B,SAAQ,gCAAgC,CAC/E;IAAC,gCAAgC;CAAC,EAClC,6BAA6B,CAC9B;IACQ,OAAO,CACZ,KAAK,EAAE,gCAAgC,GACtC,6BAA6B;IAUnB,QAAQ,CACnB,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,IAAI,CAAC;CAUjB"}
@@ -0,0 +1,23 @@
1
+ import { Response } from '@t4h.framework/http';
2
+ import { AbstractAmberHttpRequestActivity, } from './AbstractAmberHttpRequestActivity.js';
3
+ export class AmberInteractTicketActivity extends AbstractAmberHttpRequestActivity {
4
+ toInput(input) {
5
+ return {
6
+ ...input,
7
+ auth: input.auth,
8
+ url: `${input.url}/services/${input.id}/interactions`,
9
+ method: 'POST',
10
+ body: { form: input.input },
11
+ };
12
+ }
13
+ async toOutput(output, input) {
14
+ const response = new Response(output);
15
+ if (response.status !== 200)
16
+ throw new Error(`Failed to interact with ticket ${input.id}`, {
17
+ cause: {
18
+ httpStatusCode: response.status,
19
+ },
20
+ });
21
+ }
22
+ }
23
+ //# sourceMappingURL=AmberInteractTicketActivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberInteractTicketActivity.js","sourceRoot":"","sources":["../../src/activities/AmberInteractTicketActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EACL,gCAAgC,GAEjC,MAAM,uCAAuC,CAAA;AAW9C,MAAM,OAAO,2BAA4B,SAAQ,gCAGhD;IACQ,OAAO,CACZ,KAAuC;QAEvC,OAAO;YACL,GAAG,KAAK;YACR,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,aAAa,KAAK,CAAC,EAAE,eAAe;YACrD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE;SAC5B,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,MAAW,EACX,KAAuC;QAEvC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;QAErC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,EAAE,EAAE,EAAE;gBAC5D,KAAK,EAAE;oBACL,cAAc,EAAE,QAAQ,CAAC,MAAM;iBAChC;aACF,CAAC,CAAA;IACN,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import { AbstractAmberHttpRequestActivity, type AmberHttpRequestActivityInput } from './AbstractAmberHttpRequestActivity.js';
2
+ import type { ServiceTicketLockInput } from '../types/ServiceTicketLock.js';
3
+ export type AmberLockTicketActivityInput = Omit<AmberHttpRequestActivityInput, 'method' | 'body'> & {
4
+ input: Omit<ServiceTicketLockInput, 'ref'>;
5
+ id: string;
6
+ };
7
+ export declare class AmberLockTicketActivity extends AbstractAmberHttpRequestActivity<[
8
+ AmberLockTicketActivityInput
9
+ ], AmberHttpRequestActivityInput> {
10
+ private readonly claims;
11
+ toInput(input: AmberLockTicketActivityInput): AmberHttpRequestActivityInput;
12
+ toOutput(output: any, input: AmberLockTicketActivityInput): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=AmberLockTicketActivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberLockTicketActivity.d.ts","sourceRoot":"","sources":["../../src/activities/AmberLockTicketActivity.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gCAAgC,EAChC,KAAK,6BAA6B,EACnC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAE3E,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,6BAA6B,EAC7B,QAAQ,GAAG,MAAM,CAClB,GAAG;IACF,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAA;IAC1C,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,qBAAa,uBAAwB,SAAQ,gCAAgC,CAC3E;IAAC,4BAA4B;CAAC,EAC9B,6BAA6B,CAC9B;IACC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEK,OAAO,CACZ,KAAK,EAAE,4BAA4B,GAClC,6BAA6B;IAgBnB,QAAQ,CACnB,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,IAAI,CAAC;CAUjB"}
@@ -0,0 +1,33 @@
1
+ import { Claim, GetWorkflowUniqueIdentifierClaim } from '@t4h.framework/core';
2
+ import { Response } from '@t4h.framework/http';
3
+ import { AbstractAmberHttpRequestActivity, } from './AbstractAmberHttpRequestActivity.js';
4
+ export class AmberLockTicketActivity extends AbstractAmberHttpRequestActivity {
5
+ claims = new Claim({
6
+ getProjectVersionWorkflowRunId: GetWorkflowUniqueIdentifierClaim,
7
+ });
8
+ toInput(input) {
9
+ return {
10
+ ...input,
11
+ url: `${input.url}/services/${input.id}/locks`,
12
+ method: 'POST',
13
+ body: {
14
+ json: {
15
+ ref: this.claims.getProjectVersionWorkflowRunId.getWorkflowUniqueIdentifier(),
16
+ expiresAt: input.input.expiresAt?.toISOString(),
17
+ title: input.input.title,
18
+ metadata: input.input.metadata,
19
+ },
20
+ },
21
+ };
22
+ }
23
+ async toOutput(output, input) {
24
+ const response = new Response(output);
25
+ if (response.status !== 200)
26
+ throw new Error(`Failed to lock ticket ${input.id}`, {
27
+ cause: {
28
+ httpStatusCode: response.status,
29
+ },
30
+ });
31
+ }
32
+ }
33
+ //# sourceMappingURL=AmberLockTicketActivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberLockTicketActivity.js","sourceRoot":"","sources":["../../src/activities/AmberLockTicketActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EACL,gCAAgC,GAEjC,MAAM,uCAAuC,CAAA;AAW9C,MAAM,OAAO,uBAAwB,SAAQ,gCAG5C;IACkB,MAAM,GAAG,IAAI,KAAK,CAAC;QAClC,8BAA8B,EAAE,gCAAgC;KACjE,CAAC,CAAA;IAEK,OAAO,CACZ,KAAmC;QAEnC,OAAO;YACL,GAAG,KAAK;YACR,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,aAAa,KAAK,CAAC,EAAE,QAAQ;YAC9C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAAC,2BAA2B,EAAE;oBAC7E,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE;oBAC/C,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;oBACxB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;iBAC/B;aACF;SACF,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,MAAW,EACX,KAAmC;QAEnC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;QAErC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,EAAE,EAAE,EAAE;gBACnD,KAAK,EAAE;oBACL,cAAc,EAAE,QAAQ,CAAC,MAAM;iBAChC;aACF,CAAC,CAAA;IACN,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import { AbstractAmberHttpRequestActivity, type AmberHttpRequestActivityInput } from './AbstractAmberHttpRequestActivity.js';
2
+ export type AmberReleaseTicketLockActivityInput = Omit<AmberHttpRequestActivityInput, 'method' | 'body'> & {
3
+ id: string;
4
+ };
5
+ export declare class AmberReleaseTicketLockActivity extends AbstractAmberHttpRequestActivity<[
6
+ AmberReleaseTicketLockActivityInput
7
+ ], AmberHttpRequestActivityInput> {
8
+ private readonly claims;
9
+ toInput(input: AmberReleaseTicketLockActivityInput): AmberHttpRequestActivityInput;
10
+ toOutput(output: any, input: AmberReleaseTicketLockActivityInput): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=AmberReleaseTicketLockActivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberReleaseTicketLockActivity.d.ts","sourceRoot":"","sources":["../../src/activities/AmberReleaseTicketLockActivity.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gCAAgC,EAChC,KAAK,6BAA6B,EACnC,MAAM,uCAAuC,CAAA;AAE9C,MAAM,MAAM,mCAAmC,GAAG,IAAI,CACpD,6BAA6B,EAC7B,QAAQ,GAAG,MAAM,CAClB,GAAG;IACF,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,qBAAa,8BAA+B,SAAQ,gCAAgC,CAClF;IAAC,mCAAmC;CAAC,EACrC,6BAA6B,CAC9B;IACC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEK,OAAO,CACZ,KAAK,EAAE,mCAAmC,GACzC,6BAA6B;IAanB,QAAQ,CACnB,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,mCAAmC,GACzC,OAAO,CAAC,IAAI,CAAC;CAUjB"}
@@ -0,0 +1,30 @@
1
+ import { Claim, GetWorkflowUniqueIdentifierClaim } from '@t4h.framework/core';
2
+ import { Response } from '@t4h.framework/http';
3
+ import { AbstractAmberHttpRequestActivity, } from './AbstractAmberHttpRequestActivity.js';
4
+ export class AmberReleaseTicketLockActivity extends AbstractAmberHttpRequestActivity {
5
+ claims = new Claim({
6
+ getProjectVersionWorkflowRunId: GetWorkflowUniqueIdentifierClaim,
7
+ });
8
+ toInput(input) {
9
+ return {
10
+ ...input,
11
+ url: `${input.url}/services/${input.id}/locks/current/release`,
12
+ method: 'POST',
13
+ body: {
14
+ json: {
15
+ ref: this.claims.getProjectVersionWorkflowRunId.getWorkflowUniqueIdentifier(),
16
+ },
17
+ },
18
+ };
19
+ }
20
+ async toOutput(output, input) {
21
+ const response = new Response(output);
22
+ if (response.status !== 200)
23
+ throw new Error(`Failed to lock ticket ${input.id}`, {
24
+ cause: {
25
+ httpStatusCode: response.status,
26
+ },
27
+ });
28
+ }
29
+ }
30
+ //# sourceMappingURL=AmberReleaseTicketLockActivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberReleaseTicketLockActivity.js","sourceRoot":"","sources":["../../src/activities/AmberReleaseTicketLockActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EACL,gCAAgC,GAEjC,MAAM,uCAAuC,CAAA;AAS9C,MAAM,OAAO,8BAA+B,SAAQ,gCAGnD;IACkB,MAAM,GAAG,IAAI,KAAK,CAAC;QAClC,8BAA8B,EAAE,gCAAgC;KACjE,CAAC,CAAA;IAEK,OAAO,CACZ,KAA0C;QAE1C,OAAO;YACL,GAAG,KAAK;YACR,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,aAAa,KAAK,CAAC,EAAE,wBAAwB;YAC9D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAAC,2BAA2B,EAAE;iBAC9E;aACF;SACF,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,MAAW,EACX,KAA0C;QAE1C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;QAErC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,EAAE,EAAE,EAAE;gBACnD,KAAK,EAAE;oBACL,cAAc,EAAE,QAAQ,CAAC,MAAM;iBAChC;aACF,CAAC,CAAA;IACN,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import { AbstractAmberHttpRequestActivity, type AmberHttpRequestActivityInput } from './AbstractAmberHttpRequestActivity.js';
2
+ import type { ServiceTabulationInput } from '../types/ServiceTabulate.js';
3
+ export type AmberTabulateTicketActivityInput = Omit<AmberHttpRequestActivityInput, 'method' | 'body'> & {
4
+ input: ServiceTabulationInput;
5
+ id: string;
6
+ };
7
+ export declare class AmberTabulateTicketActivity extends AbstractAmberHttpRequestActivity<[
8
+ AmberTabulateTicketActivityInput
9
+ ], AmberHttpRequestActivityInput> {
10
+ toInput(input: AmberTabulateTicketActivityInput): AmberHttpRequestActivityInput;
11
+ toOutput(output: any, input: AmberTabulateTicketActivityInput): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=AmberTabulateTicketActivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberTabulateTicketActivity.d.ts","sourceRoot":"","sources":["../../src/activities/AmberTabulateTicketActivity.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gCAAgC,EAChC,KAAK,6BAA6B,EACnC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEzE,MAAM,MAAM,gCAAgC,GAAG,IAAI,CACjD,6BAA6B,EAC7B,QAAQ,GAAG,MAAM,CAClB,GAAG;IACF,KAAK,EAAE,sBAAsB,CAAA;IAC7B,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,qBAAa,2BAA4B,SAAQ,gCAAgC,CAC/E;IAAC,gCAAgC;CAAC,EAClC,6BAA6B,CAC9B;IACQ,OAAO,CACZ,KAAK,EAAE,gCAAgC,GACtC,6BAA6B;IASnB,QAAQ,CACnB,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,IAAI,CAAC;CAUjB"}
@@ -0,0 +1,22 @@
1
+ import { Response } from '@t4h.framework/http';
2
+ import { AbstractAmberHttpRequestActivity, } from './AbstractAmberHttpRequestActivity.js';
3
+ export class AmberTabulateTicketActivity extends AbstractAmberHttpRequestActivity {
4
+ toInput(input) {
5
+ return {
6
+ ...input,
7
+ url: `${input.url}/services/${input.id}/tabulations`,
8
+ method: 'POST',
9
+ body: { json: input.input },
10
+ };
11
+ }
12
+ async toOutput(output, input) {
13
+ const response = new Response(output);
14
+ if (response.status !== 200)
15
+ throw new Error(`Failed to tabulate ticket ${input.id}`, {
16
+ cause: {
17
+ httpStatusCode: response.status,
18
+ },
19
+ });
20
+ }
21
+ }
22
+ //# sourceMappingURL=AmberTabulateTicketActivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberTabulateTicketActivity.js","sourceRoot":"","sources":["../../src/activities/AmberTabulateTicketActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EACL,gCAAgC,GAEjC,MAAM,uCAAuC,CAAA;AAW9C,MAAM,OAAO,2BAA4B,SAAQ,gCAGhD;IACQ,OAAO,CACZ,KAAuC;QAEvC,OAAO;YACL,GAAG,KAAK;YACR,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,aAAa,KAAK,CAAC,EAAE,cAAc;YACpD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE;SAC5B,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,MAAW,EACX,KAAuC;QAEvC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;QAErC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,EAAE,EAAE,EAAE;gBACvD,KAAK,EAAE;oBACL,cAAc,EAAE,QAAQ,CAAC,MAAM;iBAChC;aACF,CAAC,CAAA;IACN,CAAC;CACF"}
@@ -0,0 +1,77 @@
1
+ import { AsyncActivity } from '@t4h.framework/core';
2
+ import { Type } from 'typebox';
3
+ import { type AmberHttpRequestActivityInput } from './AbstractAmberHttpRequestActivity.js';
4
+ import type { ServiceTransferInput } from '../types/ServiceTransfer.js';
5
+ declare const schema: Type.TObject<{
6
+ service: Type.TObject<{
7
+ id: Type.TString;
8
+ }>;
9
+ tabulation: Type.TObject<{
10
+ name: Type.TString;
11
+ tabulationOption: Type.TObject<{
12
+ id: Type.TString;
13
+ name: Type.TString;
14
+ }>;
15
+ notes: Type.TArray<Type.TObject<{
16
+ content: Type.TString;
17
+ createdAt: Type.TString;
18
+ type: Type.TEnum<["public", "private"]>;
19
+ id: Type.TString;
20
+ }>>;
21
+ }>;
22
+ serviceTransfer: Type.TObject<{
23
+ id: Type.TString;
24
+ skill: Type.TObject<{
25
+ id: Type.TString;
26
+ name: Type.TString;
27
+ }>;
28
+ }>;
29
+ }>;
30
+ type AmberTransferTicketActivityBootstrapOutput = {
31
+ serviceTransfer: string;
32
+ service: string;
33
+ };
34
+ type AmberTransferTicketActivityOutput = {
35
+ serviceTransfer: string;
36
+ service: string;
37
+ tabulationOption: string;
38
+ };
39
+ export type AmberTransferTicketActivityInput = Omit<AmberHttpRequestActivityInput, 'method' | 'body'> & {
40
+ input: ServiceTransferInput;
41
+ id: string;
42
+ };
43
+ export declare class AmberTransferTicketActivity extends AsyncActivity<[
44
+ AmberTransferTicketActivityInput
45
+ ], AmberTransferTicketActivityInput, any, AmberTransferTicketActivityOutput, AmberTransferTicketActivityBootstrapOutput, typeof schema> {
46
+ private readonly claims;
47
+ bootstrap(input: AmberTransferTicketActivityInput): Promise<import("@t4h.framework/core").AsyncActivityResultPending<AmberTransferTicketActivityBootstrapOutput, Type.TObject<{
48
+ service: Type.TObject<{
49
+ id: Type.TString;
50
+ }>;
51
+ tabulation: Type.TObject<{
52
+ name: Type.TString;
53
+ tabulationOption: Type.TObject<{
54
+ id: Type.TString;
55
+ name: Type.TString;
56
+ }>;
57
+ notes: Type.TArray<Type.TObject<{
58
+ content: Type.TString;
59
+ createdAt: Type.TString;
60
+ type: Type.TEnum<["public", "private"]>;
61
+ id: Type.TString;
62
+ }>>;
63
+ }>;
64
+ serviceTransfer: Type.TObject<{
65
+ id: Type.TString;
66
+ skill: Type.TObject<{
67
+ id: Type.TString;
68
+ name: Type.TString;
69
+ }>;
70
+ }>;
71
+ }>> | import("@t4h.framework/core").AsyncActivityResultFulfilled<any> | import("@t4h.framework/core").AsyncActivityResultRejected<void | import("@t4h.framework/core").Serializable>>;
72
+ advance(payload: Type.Static<typeof schema>): import("@t4h.framework/core").AsyncActivityResultFulfilled<any>;
73
+ toInput(input: AmberTransferTicketActivityInput): AmberTransferTicketActivityInput;
74
+ toOutput(output: AmberTransferTicketActivityOutput): AmberTransferTicketActivityOutput;
75
+ }
76
+ export {};
77
+ //# sourceMappingURL=AmberTransferTicketActivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberTransferTicketActivity.d.ts","sourceRoot":"","sources":["../../src/activities/AmberTransferTicketActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAGd,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,uCAAuC,CAAA;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;EAsCV,CAAA;AAEF,KAAK,0CAA0C,GAAG;IAChD,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,iCAAiC,GAAG;IACvC,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG,IAAI,CACjD,6BAA6B,EAC7B,QAAQ,GAAG,MAAM,CAClB,GAAG;IACF,KAAK,EAAE,oBAAoB,CAAA;IAC3B,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,qBAAa,2BAA4B,SAAQ,aAAa,CAC5D;IAAC,gCAAgC;CAAC,EAClC,gCAAgC,EAChC,GAAG,EACH,iCAAiC,EACjC,0CAA0C,EAC1C,OAAO,MAAM,CACd;IACC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAIrB;IAEW,SAAS,CAAC,KAAK,EAAE,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;IAuFvD,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC;IAQ3C,OAAO,CACZ,KAAK,EAAE,gCAAgC,GACtC,gCAAgC;IAI5B,QAAQ,CACb,MAAM,EAAE,iCAAiC,GACxC,iCAAiC;CAGrC"}