@icanbwell/bwell-sdk-ts 1.52.0 → 1.53.0-rc.1766074701

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 (53) hide show
  1. package/dist/__version__.d.ts +1 -1
  2. package/dist/__version__.js +1 -1
  3. package/dist/api/base/health-space/add-care-team-member-request.d.ts +33 -0
  4. package/dist/api/base/health-space/add-care-team-member-request.js +36 -0
  5. package/dist/api/base/health-space/add-care-team-members-request.d.ts +35 -0
  6. package/dist/api/base/health-space/add-care-team-members-request.js +61 -0
  7. package/dist/api/base/health-space/health-space-manager.d.ts +86 -1
  8. package/dist/api/base/health-space/index.d.ts +4 -0
  9. package/dist/api/base/health-space/index.js +4 -0
  10. package/dist/api/base/health-space/remove-care-team-member-request.d.ts +34 -0
  11. package/dist/api/base/health-space/remove-care-team-member-request.js +36 -0
  12. package/dist/api/base/health-space/update-care-team-member-request.d.ts +55 -0
  13. package/dist/api/base/health-space/update-care-team-member-request.js +71 -0
  14. package/dist/api/base/support/create-support-request-request.d.ts +22 -0
  15. package/dist/api/base/support/create-support-request-request.js +20 -0
  16. package/dist/api/base/support/delete-support-attachment-request.d.ts +11 -0
  17. package/dist/api/base/support/delete-support-attachment-request.js +14 -0
  18. package/dist/api/base/support/index.d.ts +3 -0
  19. package/dist/api/base/support/index.js +3 -0
  20. package/dist/api/base/support/support-manager.d.ts +32 -2
  21. package/dist/api/base/support/upload-support-attachment-request.d.ts +25 -0
  22. package/dist/api/base/support/upload-support-attachment-request.js +27 -0
  23. package/dist/api/graphql-api/health-space/add-care-team-member-request-factory.d.ts +20 -0
  24. package/dist/api/graphql-api/health-space/add-care-team-member-request-factory.js +29 -0
  25. package/dist/api/graphql-api/health-space/add-care-team-members-request-factory.d.ts +16 -0
  26. package/dist/api/graphql-api/health-space/add-care-team-members-request-factory.js +23 -0
  27. package/dist/api/graphql-api/health-space/care-team-factory-utils.d.ts +23 -0
  28. package/dist/api/graphql-api/health-space/care-team-factory-utils.js +30 -0
  29. package/dist/api/graphql-api/health-space/graphql-health-space-manager.d.ts +58 -1
  30. package/dist/api/graphql-api/health-space/graphql-health-space-manager.js +131 -2
  31. package/dist/api/graphql-api/health-space/index.d.ts +4 -0
  32. package/dist/api/graphql-api/health-space/index.js +4 -0
  33. package/dist/api/graphql-api/health-space/remove-care-team-member-request-factory.d.ts +16 -0
  34. package/dist/api/graphql-api/health-space/remove-care-team-member-request-factory.js +24 -0
  35. package/dist/api/graphql-api/health-space/update-care-team-member-request-factory.d.ts +16 -0
  36. package/dist/api/graphql-api/health-space/update-care-team-member-request-factory.js +20 -0
  37. package/dist/api/graphql-api/support/create-support-request-request-factory.d.ts +6 -0
  38. package/dist/api/graphql-api/support/create-support-request-request-factory.js +19 -0
  39. package/dist/api/graphql-api/support/delete-support-attachment-request-factory.d.ts +6 -0
  40. package/dist/api/graphql-api/support/delete-support-attachment-request-factory.js +10 -0
  41. package/dist/api/graphql-api/support/graphql-support-manager.d.ts +11 -4
  42. package/dist/api/graphql-api/support/graphql-support-manager.js +79 -4
  43. package/dist/api/graphql-api/support/upload-support-attachment-request-factory.d.ts +6 -0
  44. package/dist/api/graphql-api/support/upload-support-attachment-request-factory.js +11 -0
  45. package/dist/graphql/operations/index.d.ts +64 -0
  46. package/dist/graphql/operations/index.js +94 -0
  47. package/dist/graphql/operations/types.d.ts +80 -2
  48. package/dist/graphql/schema.d.ts +105 -3
  49. package/dist/utils/date-utils.d.ts +6 -0
  50. package/dist/utils/date-utils.js +8 -0
  51. package/dist/utils/index.d.ts +1 -0
  52. package/dist/utils/index.js +1 -0
  53. package/package.json +1 -1
@@ -0,0 +1,25 @@
1
+ import { ErrorsCollector, ValidationRequest, Validator } from "../../../requests/index.js";
2
+ /**
3
+ * Input for uploading a support attachment.
4
+ */
5
+ export type UploadSupportAttachmentRequestInput = {
6
+ /**
7
+ * The file content as a data URI with base64 encoding and MIME type.
8
+ * Format: data:<MIME-type>;base64,<base64-encoded-data>
9
+ * Example: "data:application/pdf;base64,JVBERi0xLjQKJeLjz9MK..."
10
+ */
11
+ file: string;
12
+ fileName: string;
13
+ };
14
+ declare class UploadSupportAttachmentRequestValidator implements Validator<UploadSupportAttachmentRequestInput> {
15
+ private readonly dataURIRegex;
16
+ validate(data: UploadSupportAttachmentRequestInput, errors: ErrorsCollector): void;
17
+ }
18
+ /**
19
+ * Request class for uploading support attachments.
20
+ * Validates that the file is provided as a data URI with base64 encoding and a MIME type.
21
+ */
22
+ export declare class UploadSupportAttachmentRequest extends ValidationRequest<UploadSupportAttachmentRequestInput> {
23
+ protected validator: UploadSupportAttachmentRequestValidator;
24
+ }
25
+ export {};
@@ -0,0 +1,27 @@
1
+ import { ValidationRequest, } from "../../../requests/index.js";
2
+ class UploadSupportAttachmentRequestValidator {
3
+ constructor() {
4
+ this.dataURIRegex = /^data:[a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+;base64,([A-Za-z0-9+/]*={0,2})$/;
5
+ }
6
+ validate(data, errors) {
7
+ if (!data.file.trim()) {
8
+ errors.add("File content is required");
9
+ }
10
+ if (data.file.trim() && !this.dataURIRegex.test(data.file)) {
11
+ errors.add("File must be a valid data URI with base64 encoding (e.g., data:image/png;base64,...)");
12
+ }
13
+ if (!data.fileName.trim()) {
14
+ errors.add("File name is required");
15
+ }
16
+ }
17
+ }
18
+ /**
19
+ * Request class for uploading support attachments.
20
+ * Validates that the file is provided as a data URI with base64 encoding and a MIME type.
21
+ */
22
+ export class UploadSupportAttachmentRequest extends ValidationRequest {
23
+ constructor() {
24
+ super(...arguments);
25
+ this.validator = new UploadSupportAttachmentRequestValidator();
26
+ }
27
+ }
@@ -0,0 +1,20 @@
1
+ import { AddCareTeamMemberMutationVariables } from "../../../graphql/operations/types.js";
2
+ import { RequestFactory } from "../../../requests/index.js";
3
+ import { AddCareTeamMemberRequest } from "../../base/health-space/add-care-team-member-request.js";
4
+ /**
5
+ * Factory class for transforming AddCareTeamMemberRequest objects into GraphQL mutation variables.
6
+ * Handles the conversion between the SDK's domain model and the GraphQL API format.
7
+ * Automatically sets the start date to the current time for active membership.
8
+ *
9
+ * @implements RequestFactory<AddCareTeamMemberRequest, AddCareTeamMemberMutationVariables>
10
+ */
11
+ export declare class AddCareTeamMemberRequestFactory implements RequestFactory<AddCareTeamMemberRequest, AddCareTeamMemberMutationVariables> {
12
+ /**
13
+ * Creates GraphQL mutation variables from an AddCareTeamMemberRequest.
14
+ * Sets the start date to the current time for active membership.
15
+ *
16
+ * @param request - The AddCareTeamMemberRequest to transform
17
+ * @returns AddCareTeamMemberMutationVariables suitable for the GraphQL mutation
18
+ */
19
+ create(request: AddCareTeamMemberRequest): AddCareTeamMemberMutationVariables;
20
+ }
@@ -0,0 +1,29 @@
1
+ import { getCurrentDateTime } from "../../../utils/index.js";
2
+ import { buildCareTeamParticipant } from "./care-team-factory-utils.js";
3
+ /**
4
+ * Factory class for transforming AddCareTeamMemberRequest objects into GraphQL mutation variables.
5
+ * Handles the conversion between the SDK's domain model and the GraphQL API format.
6
+ * Automatically sets the start date to the current time for active membership.
7
+ *
8
+ * @implements RequestFactory<AddCareTeamMemberRequest, AddCareTeamMemberMutationVariables>
9
+ */
10
+ export class AddCareTeamMemberRequestFactory {
11
+ /**
12
+ * Creates GraphQL mutation variables from an AddCareTeamMemberRequest.
13
+ * Sets the start date to the current time for active membership.
14
+ *
15
+ * @param request - The AddCareTeamMemberRequest to transform
16
+ * @returns AddCareTeamMemberMutationVariables suitable for the GraphQL mutation
17
+ */
18
+ create(request) {
19
+ const input = request.data();
20
+ // Use shared participant builder with period for add operation
21
+ const participant = buildCareTeamParticipant(input, {
22
+ start: getCurrentDateTime(),
23
+ end: null,
24
+ });
25
+ return {
26
+ participant,
27
+ };
28
+ }
29
+ }
@@ -0,0 +1,16 @@
1
+ import { AddCareTeamMembersMutationVariables } from "../../../graphql/operations/types.js";
2
+ import { RequestFactory } from "../../../requests/index.js";
3
+ import { AddCareTeamMembersRequest } from "../../base/health-space/add-care-team-members-request.js";
4
+ /**
5
+ * Factory class for transforming AddCareTeamMembersRequest objects into GraphQL mutation variables.
6
+ */
7
+ export declare class AddCareTeamMembersRequestFactory implements RequestFactory<AddCareTeamMembersRequest, AddCareTeamMembersMutationVariables> {
8
+ /**
9
+ * Creates GraphQL mutation variables from an AddCareTeamMembersRequest.
10
+ * Sets the start date to the current time for all members being added.
11
+ *
12
+ * @param request - The AddCareTeamMembersRequest to transform
13
+ * @returns AddCareTeamMembersMutationVariables suitable for the GraphQL mutation
14
+ */
15
+ create(request: AddCareTeamMembersRequest): AddCareTeamMembersMutationVariables;
16
+ }
@@ -0,0 +1,23 @@
1
+ import { getCurrentDateTime } from "../../../utils/index.js";
2
+ import { buildCareTeamParticipant } from "./care-team-factory-utils.js";
3
+ /**
4
+ * Factory class for transforming AddCareTeamMembersRequest objects into GraphQL mutation variables.
5
+ */
6
+ export class AddCareTeamMembersRequestFactory {
7
+ /**
8
+ * Creates GraphQL mutation variables from an AddCareTeamMembersRequest.
9
+ * Sets the start date to the current time for all members being added.
10
+ *
11
+ * @param request - The AddCareTeamMembersRequest to transform
12
+ * @returns AddCareTeamMembersMutationVariables suitable for the GraphQL mutation
13
+ */
14
+ create(request) {
15
+ const input = request.data();
16
+ const currentDateTime = getCurrentDateTime();
17
+ const participants = input.members.map((member) => buildCareTeamParticipant(member, { start: currentDateTime, end: null }));
18
+ // Return with participant array structure expected by GraphQL
19
+ return {
20
+ participant: participants,
21
+ };
22
+ }
23
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Shared utility functions for CareTeam request factories.
3
+ * Provides common participant-building logic used across add/update/remove operations.
4
+ */
5
+ import { CareTeamParticipantInput } from "../../../graphql/schema.js";
6
+ /**
7
+ * Builds a participant object for CareTeam mutations.
8
+ * Used by add, update, and remove care team member factories.
9
+ *
10
+ * @param input - Member input containing id, type, and optional role
11
+ * @param period - Optional period object. If undefined, period is omitted (for update operations).
12
+ * For add: { start: currentDateTime, end: null }
13
+ * For remove: { end: currentDateTime }
14
+ * @returns Participant object formatted for GraphQL mutation
15
+ */
16
+ export declare function buildCareTeamParticipant(input: {
17
+ id: string;
18
+ type: string;
19
+ role?: string[];
20
+ }, period?: {
21
+ start?: string | null;
22
+ end?: string | null;
23
+ } | null): CareTeamParticipantInput;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Shared utility functions for CareTeam request factories.
3
+ * Provides common participant-building logic used across add/update/remove operations.
4
+ */
5
+ /**
6
+ * Builds a participant object for CareTeam mutations.
7
+ * Used by add, update, and remove care team member factories.
8
+ *
9
+ * @param input - Member input containing id, type, and optional role
10
+ * @param period - Optional period object. If undefined, period is omitted (for update operations).
11
+ * For add: { start: currentDateTime, end: null }
12
+ * For remove: { end: currentDateTime }
13
+ * @returns Participant object formatted for GraphQL mutation
14
+ */
15
+ export function buildCareTeamParticipant(input, period) {
16
+ const roleCodeableConcepts = (input.role || []).map((r) => ({
17
+ text: r,
18
+ }));
19
+ const participant = {
20
+ id: input.id,
21
+ member: {
22
+ reference: `${input.type}/${input.id}`,
23
+ },
24
+ role: roleCodeableConcepts,
25
+ };
26
+ if (period !== undefined) {
27
+ participant.period = period;
28
+ }
29
+ return participant;
30
+ }
@@ -1,8 +1,9 @@
1
1
  import { ValidationError } from "../../../errors/index.js";
2
+ import type { AddCareTeamMemberMutationResults, AddCareTeamMembersMutationResults, RemoveCareTeamMemberMutationResults, UpdateCareTeamMemberMutationResults } from "../../../graphql/operations/types.js";
2
3
  import { type LoggerProvider } from "../../../logger/index.js";
3
4
  import { BWellQueryResult, BWellTransactionResult } from "../../../results/index.js";
4
5
  import type { BaseManagerError } from "../../base/errors.js";
5
- import { AppointmentsRequest, AppointmentsResults, CancelAppointmentRequest, CancelAppointmentResults, CancelationReasonsRequest, CancelationReasonsResults, HealthSpaceManager } from "../../base/index.js";
6
+ import { AddCareTeamMemberRequest, AddCareTeamMembersRequest, AppointmentsRequest, AppointmentsResults, CancelAppointmentRequest, CancelAppointmentResults, CancelationReasonsRequest, CancelationReasonsResults, HealthSpaceManager, RemoveCareTeamMemberRequest, UpdateCareTeamMemberRequest } from "../../base/index.js";
6
7
  import { GraphQLManager } from "../graphql-manager/index.js";
7
8
  import type { GraphQLSdk } from "../graphql-sdk/index.js";
8
9
  export declare class GraphQLHealthSpaceManager extends GraphQLManager implements HealthSpaceManager {
@@ -24,4 +25,60 @@ export declare class GraphQLHealthSpaceManager extends GraphQLManager implements
24
25
  */
25
26
  cancelAppointment(request: CancelAppointmentRequest): Promise<BWellTransactionResult<CancelAppointmentResults, BaseManagerError>>;
26
27
  getCancelationReasons(request: CancelationReasonsRequest): Promise<BWellQueryResult<CancelationReasonsResults, ValidationError | BaseManagerError>>;
28
+ /**
29
+ * Removes a care team member by validating the request and calling the GraphQL mutation.
30
+ *
31
+ * @param request - The RemoveCareTeamMemberRequest containing participant details with member reference and period.
32
+ * @returns A BWellTransactionResult containing the updated CareTeam resource or an error.
33
+ *
34
+ * The method performs the following steps:
35
+ * 1. Validates the request. If validation fails, returns a failure result with validation errors.
36
+ * 2. Calls the remove care team member mutation using the GraphQL SDK.
37
+ * 3. Handles the transaction result:
38
+ * - If the mutation fails, logs the error and returns a failure result.
39
+ * - If successful, returns a success result with the updated CareTeam resource.
40
+ */
41
+ removeCareTeamMember(request: RemoveCareTeamMemberRequest): Promise<BWellTransactionResult<RemoveCareTeamMemberMutationResults, ValidationError | BaseManagerError>>;
42
+ /**
43
+ * Adds a care team member by validating the request and calling the GraphQL mutation.
44
+ *
45
+ * @param request - The AddCareTeamMemberRequest containing participant details with member reference and roles.
46
+ * @returns A BWellTransactionResult containing the updated CareTeam resource or an error.
47
+ *
48
+ * The method performs the following steps:
49
+ * 1. Validates the request. If validation fails, returns a failure result with validation errors.
50
+ * 2. Calls the add care team member mutation using the GraphQL SDK.
51
+ * 3. Handles the transaction result:
52
+ * - If the mutation fails, logs the error and returns a failure result.
53
+ * - If successful, returns a success result with the updated CareTeam resource.
54
+ */
55
+ addCareTeamMember(request: AddCareTeamMemberRequest): Promise<BWellTransactionResult<AddCareTeamMemberMutationResults, ValidationError | BaseManagerError>>;
56
+ /**
57
+ * Adds multiple care team members by validating the request and calling the GraphQL mutation.
58
+ *
59
+ * @param request - The AddCareTeamMembersRequest containing multiple participant details.
60
+ * @returns A BWellTransactionResult containing an array with the updated CareTeam resource or an error.
61
+ *
62
+ * The method performs the following steps:
63
+ * 1. Validates the request. If validation fails, returns a failure result with validation errors.
64
+ * 2. Calls the add care team members mutation using the GraphQL SDK.
65
+ * 3. Handles the transaction result:
66
+ * - If the mutation fails, logs the error and returns a failure result.
67
+ * - If successful, returns a success result with the updated CareTeam resource in an array.
68
+ */
69
+ addCareTeamMembers(request: AddCareTeamMembersRequest): Promise<BWellTransactionResult<AddCareTeamMembersMutationResults, ValidationError | BaseManagerError>>;
70
+ /**
71
+ * Updates a care team member by validating the request and calling the GraphQL mutation.
72
+ *
73
+ * @param request - The UpdateCareTeamMemberRequest containing participant details to update.
74
+ * @returns A BWellTransactionResult containing the updated CareTeam resource or an error.
75
+ *
76
+ * The method performs the following steps:
77
+ * 1. Validates the request. If validation fails, returns a failure result with validation errors.
78
+ * 2. Calls the update care team member mutation using the GraphQL SDK.
79
+ * 3. Handles the transaction result:
80
+ * - If the mutation fails, logs the error and returns a failure result.
81
+ * - If successful, returns a success result with the updated CareTeam resource.
82
+ */
83
+ updateCareTeamMember(request: UpdateCareTeamMemberRequest): Promise<BWellTransactionResult<UpdateCareTeamMemberMutationResults, ValidationError | BaseManagerError>>;
27
84
  }
@@ -18,12 +18,16 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
18
18
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
19
19
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
20
20
  };
21
- var _GraphQLHealthSpaceManager_logger, _GraphQLHealthSpaceManager_sdk, _GraphQLHealthSpaceManager_appointments, _GraphQLHealthSpaceManager_cancelAppointment;
21
+ var _GraphQLHealthSpaceManager_logger, _GraphQLHealthSpaceManager_sdk, _GraphQLHealthSpaceManager_appointments, _GraphQLHealthSpaceManager_cancelAppointment, _GraphQLHealthSpaceManager_removeCareTeamMember, _GraphQLHealthSpaceManager_addCareTeamMember, _GraphQLHealthSpaceManager_addCareTeamMembers, _GraphQLHealthSpaceManager_updateCareTeamMember;
22
22
  import { ConsoleLoggerProvider, } from "../../../logger/index.js";
23
23
  import { BWellQueryResult, BWellTransactionResult, } from "../../../results/index.js";
24
24
  import { GraphQLManager } from "../graphql-manager/index.js";
25
+ import { AddCareTeamMemberRequestFactory } from "./add-care-team-member-request-factory.js";
26
+ import { AddCareTeamMembersRequestFactory } from "./add-care-team-members-request-factory.js";
25
27
  import { AppointmentsRequestFactory } from "./appointments-request-factory.js";
26
28
  import { CancelAppointmentRequestFactory } from "./cancel-appointment-request-factory.js";
29
+ import { RemoveCareTeamMemberRequestFactory } from "./remove-care-team-member-request-factory.js";
30
+ import { UpdateCareTeamMemberRequestFactory } from "./update-care-team-member-request-factory.js";
27
31
  export class GraphQLHealthSpaceManager extends GraphQLManager {
28
32
  constructor(sdk, loggerProvider = new ConsoleLoggerProvider()) {
29
33
  super();
@@ -31,6 +35,10 @@ export class GraphQLHealthSpaceManager extends GraphQLManager {
31
35
  _GraphQLHealthSpaceManager_sdk.set(this, void 0);
32
36
  _GraphQLHealthSpaceManager_appointments.set(this, new AppointmentsRequestFactory());
33
37
  _GraphQLHealthSpaceManager_cancelAppointment.set(this, new CancelAppointmentRequestFactory());
38
+ _GraphQLHealthSpaceManager_removeCareTeamMember.set(this, new RemoveCareTeamMemberRequestFactory());
39
+ _GraphQLHealthSpaceManager_addCareTeamMember.set(this, new AddCareTeamMemberRequestFactory());
40
+ _GraphQLHealthSpaceManager_addCareTeamMembers.set(this, new AddCareTeamMembersRequestFactory());
41
+ _GraphQLHealthSpaceManager_updateCareTeamMember.set(this, new UpdateCareTeamMemberRequestFactory());
34
42
  __classPrivateFieldSet(this, _GraphQLHealthSpaceManager_sdk, sdk, "f");
35
43
  __classPrivateFieldSet(this, _GraphQLHealthSpaceManager_logger, loggerProvider.getLogger("GraphQLHealthSpaceManager"), "f");
36
44
  }
@@ -102,5 +110,126 @@ export class GraphQLHealthSpaceManager extends GraphQLManager {
102
110
  return new BWellQueryResult((_a = result.data) === null || _a === void 0 ? void 0 : _a.cancelationReasons, result.error);
103
111
  });
104
112
  }
113
+ /**
114
+ * Removes a care team member by validating the request and calling the GraphQL mutation.
115
+ *
116
+ * @param request - The RemoveCareTeamMemberRequest containing participant details with member reference and period.
117
+ * @returns A BWellTransactionResult containing the updated CareTeam resource or an error.
118
+ *
119
+ * The method performs the following steps:
120
+ * 1. Validates the request. If validation fails, returns a failure result with validation errors.
121
+ * 2. Calls the remove care team member mutation using the GraphQL SDK.
122
+ * 3. Handles the transaction result:
123
+ * - If the mutation fails, logs the error and returns a failure result.
124
+ * - If successful, returns a success result with the updated CareTeam resource.
125
+ */
126
+ removeCareTeamMember(request) {
127
+ return __awaiter(this, void 0, void 0, function* () {
128
+ const validationResult = this.validateRequest(request);
129
+ if (validationResult.failure()) {
130
+ return validationResult.intoFailure();
131
+ }
132
+ __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("calling removeCareTeamMember mutation...");
133
+ // For now, prepare the mutation variables and simulate the transaction pattern
134
+ const result = yield this.handleTransaction(__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_sdk, "f").removeCareTeamMember(__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_removeCareTeamMember, "f").create(request)));
135
+ __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("removeCareTeamMember mutation completed");
136
+ if (result.failure()) {
137
+ __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").error("removeCareTeamMember mutation error", result);
138
+ return result.intoFailure();
139
+ }
140
+ __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").info("successfully called removeCareTeamMember mutation");
141
+ return BWellTransactionResult.success(result.data());
142
+ });
143
+ }
144
+ /**
145
+ * Adds a care team member by validating the request and calling the GraphQL mutation.
146
+ *
147
+ * @param request - The AddCareTeamMemberRequest containing participant details with member reference and roles.
148
+ * @returns A BWellTransactionResult containing the updated CareTeam resource or an error.
149
+ *
150
+ * The method performs the following steps:
151
+ * 1. Validates the request. If validation fails, returns a failure result with validation errors.
152
+ * 2. Calls the add care team member mutation using the GraphQL SDK.
153
+ * 3. Handles the transaction result:
154
+ * - If the mutation fails, logs the error and returns a failure result.
155
+ * - If successful, returns a success result with the updated CareTeam resource.
156
+ */
157
+ addCareTeamMember(request) {
158
+ return __awaiter(this, void 0, void 0, function* () {
159
+ const validationResult = this.validateRequest(request);
160
+ if (validationResult.failure()) {
161
+ return validationResult.intoFailure();
162
+ }
163
+ __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("calling addCareTeamMember mutation...");
164
+ const result = yield this.handleTransaction(__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_sdk, "f").addCareTeamMember(__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_addCareTeamMember, "f").create(request)));
165
+ __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("addCareTeamMember mutation completed");
166
+ if (result.failure()) {
167
+ __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").error("addCareTeamMember mutation error", result);
168
+ return result.intoFailure();
169
+ }
170
+ __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").info("successfully called addCareTeamMember mutation");
171
+ return BWellTransactionResult.success(result.data());
172
+ });
173
+ }
174
+ /**
175
+ * Adds multiple care team members by validating the request and calling the GraphQL mutation.
176
+ *
177
+ * @param request - The AddCareTeamMembersRequest containing multiple participant details.
178
+ * @returns A BWellTransactionResult containing an array with the updated CareTeam resource or an error.
179
+ *
180
+ * The method performs the following steps:
181
+ * 1. Validates the request. If validation fails, returns a failure result with validation errors.
182
+ * 2. Calls the add care team members mutation using the GraphQL SDK.
183
+ * 3. Handles the transaction result:
184
+ * - If the mutation fails, logs the error and returns a failure result.
185
+ * - If successful, returns a success result with the updated CareTeam resource in an array.
186
+ */
187
+ addCareTeamMembers(request) {
188
+ return __awaiter(this, void 0, void 0, function* () {
189
+ const validationResult = this.validateRequest(request);
190
+ if (validationResult.failure()) {
191
+ return validationResult.intoFailure();
192
+ }
193
+ __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("calling addCareTeamMembers mutation...");
194
+ const mutationVariables = __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_addCareTeamMembers, "f").create(request);
195
+ const result = yield this.handleTransaction(__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_sdk, "f").addCareTeamMembers(mutationVariables));
196
+ __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("addCareTeamMembers mutation completed");
197
+ if (result.failure()) {
198
+ __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").error("addCareTeamMembers mutation error", result);
199
+ return result.intoFailure();
200
+ }
201
+ __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").info("successfully called addCareTeamMembers mutation");
202
+ return BWellTransactionResult.success(result.data());
203
+ });
204
+ }
205
+ /**
206
+ * Updates a care team member by validating the request and calling the GraphQL mutation.
207
+ *
208
+ * @param request - The UpdateCareTeamMemberRequest containing participant details to update.
209
+ * @returns A BWellTransactionResult containing the updated CareTeam resource or an error.
210
+ *
211
+ * The method performs the following steps:
212
+ * 1. Validates the request. If validation fails, returns a failure result with validation errors.
213
+ * 2. Calls the update care team member mutation using the GraphQL SDK.
214
+ * 3. Handles the transaction result:
215
+ * - If the mutation fails, logs the error and returns a failure result.
216
+ * - If successful, returns a success result with the updated CareTeam resource.
217
+ */
218
+ updateCareTeamMember(request) {
219
+ return __awaiter(this, void 0, void 0, function* () {
220
+ const validationResult = this.validateRequest(request);
221
+ if (validationResult.failure()) {
222
+ return validationResult.intoFailure();
223
+ }
224
+ __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("calling updateCareTeamMember mutation...");
225
+ const mutationVariables = __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_updateCareTeamMember, "f").create(request);
226
+ const result = yield this.handleTransaction(__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_sdk, "f").updateCareTeamMember(mutationVariables));
227
+ __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("updateCareTeamMember mutation completed");
228
+ if (result.failure()) {
229
+ return result.intoFailure();
230
+ }
231
+ return BWellTransactionResult.success(result.data());
232
+ });
233
+ }
105
234
  }
106
- _GraphQLHealthSpaceManager_logger = new WeakMap(), _GraphQLHealthSpaceManager_sdk = new WeakMap(), _GraphQLHealthSpaceManager_appointments = new WeakMap(), _GraphQLHealthSpaceManager_cancelAppointment = new WeakMap();
235
+ _GraphQLHealthSpaceManager_logger = new WeakMap(), _GraphQLHealthSpaceManager_sdk = new WeakMap(), _GraphQLHealthSpaceManager_appointments = new WeakMap(), _GraphQLHealthSpaceManager_cancelAppointment = new WeakMap(), _GraphQLHealthSpaceManager_removeCareTeamMember = new WeakMap(), _GraphQLHealthSpaceManager_addCareTeamMember = new WeakMap(), _GraphQLHealthSpaceManager_addCareTeamMembers = new WeakMap(), _GraphQLHealthSpaceManager_updateCareTeamMember = new WeakMap();
@@ -1,3 +1,7 @@
1
1
  export * from "./graphql-health-space-manager.js";
2
2
  export * from "./appointments-request-factory.js";
3
3
  export * from "./cancel-appointment-request-factory.js";
4
+ export * from "./remove-care-team-member-request-factory.js";
5
+ export * from "./add-care-team-member-request-factory.js";
6
+ export * from "./add-care-team-members-request-factory.js";
7
+ export * from "./update-care-team-member-request-factory.js";
@@ -1,3 +1,7 @@
1
1
  export * from "./graphql-health-space-manager.js";
2
2
  export * from "./appointments-request-factory.js";
3
3
  export * from "./cancel-appointment-request-factory.js";
4
+ export * from "./remove-care-team-member-request-factory.js";
5
+ export * from "./add-care-team-member-request-factory.js";
6
+ export * from "./add-care-team-members-request-factory.js";
7
+ export * from "./update-care-team-member-request-factory.js";
@@ -0,0 +1,16 @@
1
+ import { RemoveCareTeamMemberMutationVariables } from "../../../graphql/operations/types.js";
2
+ import { RequestFactory } from "../../../requests/index.js";
3
+ import { RemoveCareTeamMemberRequest } from "../../base/health-space/remove-care-team-member-request.js";
4
+ /**
5
+ * Factory class for transforming RemoveCareTeamMemberRequest objects into GraphQL mutation variables.
6
+ */
7
+ export declare class RemoveCareTeamMemberRequestFactory implements RequestFactory<RemoveCareTeamMemberRequest, RemoveCareTeamMemberMutationVariables> {
8
+ /**
9
+ * Creates GraphQL mutation variables from a RemoveCareTeamMemberRequest.
10
+ * Sets the end date to the current time to mark membership termination.
11
+ *
12
+ * @param request - The RemoveCareTeamMemberRequest to transform
13
+ * @returns RemoveCareTeamMemberMutationVariables suitable for the GraphQL mutation
14
+ */
15
+ create(request: RemoveCareTeamMemberRequest): RemoveCareTeamMemberMutationVariables;
16
+ }
@@ -0,0 +1,24 @@
1
+ import { getCurrentDateTime } from "../../../utils/index.js";
2
+ import { buildCareTeamParticipant } from "./care-team-factory-utils.js";
3
+ /**
4
+ * Factory class for transforming RemoveCareTeamMemberRequest objects into GraphQL mutation variables.
5
+ */
6
+ export class RemoveCareTeamMemberRequestFactory {
7
+ /**
8
+ * Creates GraphQL mutation variables from a RemoveCareTeamMemberRequest.
9
+ * Sets the end date to the current time to mark membership termination.
10
+ *
11
+ * @param request - The RemoveCareTeamMemberRequest to transform
12
+ * @returns RemoveCareTeamMemberMutationVariables suitable for the GraphQL mutation
13
+ */
14
+ create(request) {
15
+ const input = request.data();
16
+ // Use shared participant builder with period.end for remove operation
17
+ const participant = buildCareTeamParticipant(input, {
18
+ end: getCurrentDateTime(),
19
+ });
20
+ return {
21
+ participant,
22
+ };
23
+ }
24
+ }
@@ -0,0 +1,16 @@
1
+ import { UpdateCareTeamMemberMutationVariables } from "../../../graphql/operations/types.js";
2
+ import { RequestFactory } from "../../../requests/index.js";
3
+ import { UpdateCareTeamMemberRequest } from "../../base/health-space/update-care-team-member-request.js";
4
+ /**
5
+ * Factory class for transforming UpdateCareTeamMemberRequest objects into GraphQL mutation variables.
6
+ */
7
+ export declare class UpdateCareTeamMemberRequestFactory implements RequestFactory<UpdateCareTeamMemberRequest, UpdateCareTeamMemberMutationVariables> {
8
+ /**
9
+ * Creates GraphQL mutation variables from an UpdateCareTeamMemberRequest.
10
+ * Preserves existing period information while updating participant details.
11
+ *
12
+ * @param request - The UpdateCareTeamMemberRequest to transform
13
+ * @returns UpdateCareTeamMemberMutationVariables suitable for the GraphQL mutation
14
+ */
15
+ create(request: UpdateCareTeamMemberRequest): UpdateCareTeamMemberMutationVariables;
16
+ }
@@ -0,0 +1,20 @@
1
+ import { buildCareTeamParticipant } from "./care-team-factory-utils.js";
2
+ /**
3
+ * Factory class for transforming UpdateCareTeamMemberRequest objects into GraphQL mutation variables.
4
+ */
5
+ export class UpdateCareTeamMemberRequestFactory {
6
+ /**
7
+ * Creates GraphQL mutation variables from an UpdateCareTeamMemberRequest.
8
+ * Preserves existing period information while updating participant details.
9
+ *
10
+ * @param request - The UpdateCareTeamMemberRequest to transform
11
+ * @returns UpdateCareTeamMemberMutationVariables suitable for the GraphQL mutation
12
+ */
13
+ create(request) {
14
+ const input = request.data();
15
+ const participant = buildCareTeamParticipant(input);
16
+ return {
17
+ participant,
18
+ };
19
+ }
20
+ }
@@ -0,0 +1,6 @@
1
+ import { CreateSupportRequestMutationVariables } from "../../../graphql/operations/types.js";
2
+ import { RequestFactory } from "../../../requests/index.js";
3
+ import { CreateSupportRequestRequest } from "../../base/support/create-support-request-request.js";
4
+ export declare class GraphQLCreateSupportRequestRequestFactory implements RequestFactory<CreateSupportRequestRequest, CreateSupportRequestMutationVariables> {
5
+ create(request: CreateSupportRequestRequest): CreateSupportRequestMutationVariables;
6
+ }
@@ -0,0 +1,19 @@
1
+ export class GraphQLCreateSupportRequestRequestFactory {
2
+ create(request) {
3
+ const data = request.data();
4
+ return {
5
+ input: {
6
+ subject: data.subject,
7
+ comment: {
8
+ body: data.comment.body,
9
+ uploads: data.comment.uploads,
10
+ },
11
+ fields: {
12
+ category: data.fields.category,
13
+ },
14
+ email: data.email,
15
+ name: data.name,
16
+ },
17
+ };
18
+ }
19
+ }
@@ -0,0 +1,6 @@
1
+ import { DeleteSupportAttachmentMutationVariables } from "../../../graphql/operations/types.js";
2
+ import { RequestFactory } from "../../../requests/index.js";
3
+ import { DeleteSupportAttachmentRequest } from "../../base/support/delete-support-attachment-request.js";
4
+ export declare class GraphQLDeleteSupportAttachmentRequestFactory implements RequestFactory<DeleteSupportAttachmentRequest, DeleteSupportAttachmentMutationVariables> {
5
+ create(request: DeleteSupportAttachmentRequest): DeleteSupportAttachmentMutationVariables;
6
+ }
@@ -0,0 +1,10 @@
1
+ export class GraphQLDeleteSupportAttachmentRequestFactory {
2
+ create(request) {
3
+ const data = request.data();
4
+ return {
5
+ input: {
6
+ attachmentId: data.attachmentId,
7
+ },
8
+ };
9
+ }
10
+ }
@@ -1,15 +1,22 @@
1
- import { GetSupportRequestsQueryVariables } from "../../../graphql/operations/types.js";
1
+ import { CreateSupportRequestMutationVariables, DeleteSupportAttachmentMutationVariables, GetSupportRequestsQueryVariables, UploadSupportAttachmentMutationVariables } from "../../../graphql/operations/types.js";
2
2
  import { LoggerProvider } from "../../../logger/index.js";
3
3
  import { RequestFactory } from "../../../requests/index.js";
4
- import { BWellQueryResult } from "../../../results/index.js";
4
+ import { BWellQueryResult, BWellTransactionResult } from "../../../results/index.js";
5
5
  import { BaseManagerError } from "../../base/errors.js";
6
+ import { CreateSupportRequestRequest } from "../../base/support/create-support-request-request.js";
7
+ import { DeleteSupportAttachmentRequest } from "../../base/support/delete-support-attachment-request.js";
6
8
  import { GetSupportRequestsRequest } from "../../base/support/get-support-requests-request.js";
7
9
  import type { SupportManager } from "../../base/support/support-manager.js";
8
- import { GetSupportRequestsResults } from "../../base/support/support-manager.js";
10
+ import { CreateSupportRequestResults, DeleteSupportAttachmentResults, GetSupportCategoriesResults, GetSupportRequestsResults, UploadSupportAttachmentResults } from "../../base/support/support-manager.js";
11
+ import { UploadSupportAttachmentRequest } from "../../base/support/upload-support-attachment-request.js";
9
12
  import { GraphQLManager } from "../graphql-manager/index.js";
10
13
  import type { GraphQLSdk } from "../graphql-sdk/index.js";
11
14
  export declare class GraphQLSupportManager extends GraphQLManager implements SupportManager {
12
15
  #private;
13
- constructor(sdk: GraphQLSdk, loggerProvider?: LoggerProvider, getSupportRequestsRequestFactory?: RequestFactory<GetSupportRequestsRequest, GetSupportRequestsQueryVariables>);
16
+ constructor(sdk: GraphQLSdk, loggerProvider?: LoggerProvider, getSupportRequestsRequestFactory?: RequestFactory<GetSupportRequestsRequest, GetSupportRequestsQueryVariables>, uploadSupportAttachmentRequestFactory?: RequestFactory<UploadSupportAttachmentRequest, UploadSupportAttachmentMutationVariables>, deleteSupportAttachmentRequestFactory?: RequestFactory<DeleteSupportAttachmentRequest, DeleteSupportAttachmentMutationVariables>, createSupportRequestRequestFactory?: RequestFactory<CreateSupportRequestRequest, CreateSupportRequestMutationVariables>);
14
17
  getSupportRequests(request: GetSupportRequestsRequest): Promise<BWellQueryResult<GetSupportRequestsResults, BaseManagerError>>;
18
+ uploadSupportAttachment(request: UploadSupportAttachmentRequest): Promise<BWellTransactionResult<UploadSupportAttachmentResults, BaseManagerError>>;
19
+ deleteSupportAttachment(request: DeleteSupportAttachmentRequest): Promise<BWellTransactionResult<DeleteSupportAttachmentResults, BaseManagerError>>;
20
+ createSupportRequest(request: CreateSupportRequestRequest): Promise<BWellTransactionResult<CreateSupportRequestResults, BaseManagerError>>;
21
+ getSupportCategories(): Promise<BWellQueryResult<GetSupportCategoriesResults, BaseManagerError>>;
15
22
  }