@icanbwell/bwell-sdk-ts 1.52.0 → 1.53.0-rc.1766130813
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.
- package/dist/__version__.d.ts +1 -1
- package/dist/__version__.js +1 -1
- package/dist/api/base/health-space/add-care-team-member-request.d.ts +33 -0
- package/dist/api/base/health-space/add-care-team-member-request.js +36 -0
- package/dist/api/base/health-space/add-care-team-members-request.d.ts +35 -0
- package/dist/api/base/health-space/add-care-team-members-request.js +61 -0
- package/dist/api/base/health-space/care-team-members-request.d.ts +31 -0
- package/dist/api/base/health-space/care-team-members-request.js +33 -0
- package/dist/api/base/health-space/health-space-manager.d.ts +108 -1
- package/dist/api/base/health-space/index.d.ts +6 -1
- package/dist/api/base/health-space/index.js +5 -0
- package/dist/api/base/health-space/remove-care-team-member-request.d.ts +34 -0
- package/dist/api/base/health-space/remove-care-team-member-request.js +36 -0
- package/dist/api/base/health-space/update-care-team-member-request.d.ts +55 -0
- package/dist/api/base/health-space/update-care-team-member-request.js +71 -0
- package/dist/api/base/support/create-support-request-request.d.ts +22 -0
- package/dist/api/base/support/create-support-request-request.js +20 -0
- package/dist/api/base/support/delete-support-attachment-request.d.ts +11 -0
- package/dist/api/base/support/delete-support-attachment-request.js +14 -0
- package/dist/api/base/support/index.d.ts +3 -0
- package/dist/api/base/support/index.js +3 -0
- package/dist/api/base/support/support-manager.d.ts +32 -2
- package/dist/api/base/support/upload-support-attachment-request.d.ts +25 -0
- package/dist/api/base/support/upload-support-attachment-request.js +27 -0
- package/dist/api/graphql-api/health-space/add-care-team-member-request-factory.d.ts +20 -0
- package/dist/api/graphql-api/health-space/add-care-team-member-request-factory.js +29 -0
- package/dist/api/graphql-api/health-space/add-care-team-members-request-factory.d.ts +16 -0
- package/dist/api/graphql-api/health-space/add-care-team-members-request-factory.js +23 -0
- package/dist/api/graphql-api/health-space/care-team-factory-utils.d.ts +23 -0
- package/dist/api/graphql-api/health-space/care-team-factory-utils.js +30 -0
- package/dist/api/graphql-api/health-space/care-team-members-request-factory.d.ts +12 -0
- package/dist/api/graphql-api/health-space/care-team-members-request-factory.js +17 -0
- package/dist/api/graphql-api/health-space/graphql-health-space-manager.d.ts +59 -1
- package/dist/api/graphql-api/health-space/graphql-health-space-manager.js +157 -2
- package/dist/api/graphql-api/health-space/index.d.ts +4 -0
- package/dist/api/graphql-api/health-space/index.js +4 -0
- package/dist/api/graphql-api/health-space/remove-care-team-member-request-factory.d.ts +16 -0
- package/dist/api/graphql-api/health-space/remove-care-team-member-request-factory.js +24 -0
- package/dist/api/graphql-api/health-space/update-care-team-member-request-factory.d.ts +16 -0
- package/dist/api/graphql-api/health-space/update-care-team-member-request-factory.js +20 -0
- package/dist/api/graphql-api/support/create-support-request-request-factory.d.ts +6 -0
- package/dist/api/graphql-api/support/create-support-request-request-factory.js +19 -0
- package/dist/api/graphql-api/support/delete-support-attachment-request-factory.d.ts +6 -0
- package/dist/api/graphql-api/support/delete-support-attachment-request-factory.js +10 -0
- package/dist/api/graphql-api/support/graphql-support-manager.d.ts +11 -4
- package/dist/api/graphql-api/support/graphql-support-manager.js +79 -4
- package/dist/api/graphql-api/support/upload-support-attachment-request-factory.d.ts +6 -0
- package/dist/api/graphql-api/support/upload-support-attachment-request-factory.js +11 -0
- package/dist/graphql/operations/index.d.ts +72 -0
- package/dist/graphql/operations/index.js +126 -0
- package/dist/graphql/operations/types.d.ts +111 -4
- package/dist/graphql/schema.d.ts +105 -3
- package/dist/utils/date-utils.d.ts +6 -0
- package/dist/utils/date-utils.js +8 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ValidationRequest, } from "../../../requests/index.js";
|
|
2
|
+
class DeleteSupportAttachmentRequestValidator {
|
|
3
|
+
validate(data, errors) {
|
|
4
|
+
if (!data.attachmentId.trim()) {
|
|
5
|
+
errors.add("Attachment ID is required");
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class DeleteSupportAttachmentRequest extends ValidationRequest {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.validator = new DeleteSupportAttachmentRequestValidator();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
import type { GetSupportRequestsQueryResults } from "../../../graphql/operations/types.js";
|
|
2
|
-
import type { BWellQueryResult } from "../../../results/index.js";
|
|
1
|
+
import type { CreateSupportRequestMutationResults, DeleteSupportAttachmentMutationResults, GetSupportCategoriesQueryResults, GetSupportRequestsQueryResults, UploadSupportAttachmentMutationResults } from "../../../graphql/operations/types.js";
|
|
2
|
+
import type { BWellQueryResult, BWellTransactionResult } from "../../../results/index.js";
|
|
3
3
|
import type { BaseManagerError } from "../errors.js";
|
|
4
|
+
import { CreateSupportRequestRequest } from "./create-support-request-request.js";
|
|
5
|
+
import { DeleteSupportAttachmentRequest } from "./delete-support-attachment-request.js";
|
|
4
6
|
import { GetSupportRequestsRequest } from "./get-support-requests-request.js";
|
|
7
|
+
import { UploadSupportAttachmentRequest } from "./upload-support-attachment-request.js";
|
|
5
8
|
export type GetSupportRequestsResults = GetSupportRequestsQueryResults["getSupportRequests"];
|
|
9
|
+
export type UploadSupportAttachmentResults = UploadSupportAttachmentMutationResults["uploadSupportAttachment"];
|
|
10
|
+
export type DeleteSupportAttachmentResults = DeleteSupportAttachmentMutationResults["deleteSupportAttachment"];
|
|
11
|
+
export type CreateSupportRequestResults = CreateSupportRequestMutationResults["createSupportRequest"];
|
|
12
|
+
export type GetSupportCategoriesResults = GetSupportCategoriesQueryResults["getSupportCategories"];
|
|
6
13
|
/**
|
|
7
14
|
* The SupportManager interface provides methods for managing support requests.
|
|
8
15
|
*/
|
|
@@ -13,4 +20,27 @@ export interface SupportManager {
|
|
|
13
20
|
* @returns A promise that resolves to a query result with the support requests data.
|
|
14
21
|
*/
|
|
15
22
|
getSupportRequests(request: GetSupportRequestsRequest): Promise<BWellQueryResult<GetSupportRequestsResults, BaseManagerError>>;
|
|
23
|
+
/**
|
|
24
|
+
* Uploads an attachment for a support request.
|
|
25
|
+
* @param request The request containing the file content as a data URI (data:<MIME-type>;base64,<base64-data>) and file name.
|
|
26
|
+
* @returns A promise that resolves to a transaction result with the uploaded attachment data.
|
|
27
|
+
*/
|
|
28
|
+
uploadSupportAttachment(request: UploadSupportAttachmentRequest): Promise<BWellTransactionResult<UploadSupportAttachmentResults, BaseManagerError>>;
|
|
29
|
+
/**
|
|
30
|
+
* Deletes an attachment from a support request.
|
|
31
|
+
* @param request The request containing the attachment ID to delete.
|
|
32
|
+
* @returns A promise that resolves to a transaction result with the deletion status.
|
|
33
|
+
*/
|
|
34
|
+
deleteSupportAttachment(request: DeleteSupportAttachmentRequest): Promise<BWellTransactionResult<DeleteSupportAttachmentResults, BaseManagerError>>;
|
|
35
|
+
/**
|
|
36
|
+
* Creates a new support request.
|
|
37
|
+
* @param request The request containing the support request details (subject, comment, category, etc.).
|
|
38
|
+
* @returns A promise that resolves to a transaction result with the created support request data.
|
|
39
|
+
*/
|
|
40
|
+
createSupportRequest(request: CreateSupportRequestRequest): Promise<BWellTransactionResult<CreateSupportRequestResults, BaseManagerError>>;
|
|
41
|
+
/**
|
|
42
|
+
* Retrieves available support request categories.
|
|
43
|
+
* @returns A promise that resolves to a query result with the list of support categories.
|
|
44
|
+
*/
|
|
45
|
+
getSupportCategories(): Promise<BWellQueryResult<GetSupportCategoriesResults, BaseManagerError>>;
|
|
16
46
|
}
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CareTeamMembersQueryVariables } from "../../../graphql/operations/types.js";
|
|
2
|
+
import { RequestFactory } from "../../../requests/index.js";
|
|
3
|
+
import { CareTeamMembersRequest } from "../../base/health-space/index.js";
|
|
4
|
+
/**
|
|
5
|
+
* A factory class for creating `CareTeamMembersQueryVariables` objects from `CareTeamMembersRequest` objects.
|
|
6
|
+
* Implements the `RequestFactory` interface.
|
|
7
|
+
*
|
|
8
|
+
* @implements RequestFactory<CareTeamMembersRequest, CareTeamMembersQueryVariables>
|
|
9
|
+
*/
|
|
10
|
+
export declare class CareTeamMembersRequestFactory implements RequestFactory<CareTeamMembersRequest, CareTeamMembersQueryVariables> {
|
|
11
|
+
create(request: CareTeamMembersRequest): CareTeamMembersQueryVariables;
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DEFAULT_PAGE_SIZE } from "../../../requests/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* A factory class for creating `CareTeamMembersQueryVariables` objects from `CareTeamMembersRequest` objects.
|
|
4
|
+
* Implements the `RequestFactory` interface.
|
|
5
|
+
*
|
|
6
|
+
* @implements RequestFactory<CareTeamMembersRequest, CareTeamMembersQueryVariables>
|
|
7
|
+
*/
|
|
8
|
+
export class CareTeamMembersRequestFactory {
|
|
9
|
+
create(request) {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
const input = request.data();
|
|
12
|
+
return {
|
|
13
|
+
pageNumber: (_a = input.page) !== null && _a !== void 0 ? _a : 0,
|
|
14
|
+
pageSize: (_b = input.pageSize) !== null && _b !== void 0 ? _b : DEFAULT_PAGE_SIZE,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -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, CareTeamMembersRequest, CareTeamMembersResults, 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,61 @@ 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>>;
|
|
84
|
+
getCareTeamMembers(request?: CareTeamMembersRequest): Promise<BWellQueryResult<CareTeamMembersResults, ValidationError | BaseManagerError>>;
|
|
27
85
|
}
|
|
@@ -18,12 +18,18 @@ 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, _GraphQLHealthSpaceManager_careTeamMembers;
|
|
22
22
|
import { ConsoleLoggerProvider, } from "../../../logger/index.js";
|
|
23
23
|
import { BWellQueryResult, BWellTransactionResult, } from "../../../results/index.js";
|
|
24
|
+
import { CareTeamMembersRequest, } from "../../base/index.js";
|
|
24
25
|
import { GraphQLManager } from "../graphql-manager/index.js";
|
|
26
|
+
import { AddCareTeamMemberRequestFactory } from "./add-care-team-member-request-factory.js";
|
|
27
|
+
import { AddCareTeamMembersRequestFactory } from "./add-care-team-members-request-factory.js";
|
|
25
28
|
import { AppointmentsRequestFactory } from "./appointments-request-factory.js";
|
|
26
29
|
import { CancelAppointmentRequestFactory } from "./cancel-appointment-request-factory.js";
|
|
30
|
+
import { CareTeamMembersRequestFactory } from "./care-team-members-request-factory.js";
|
|
31
|
+
import { RemoveCareTeamMemberRequestFactory } from "./remove-care-team-member-request-factory.js";
|
|
32
|
+
import { UpdateCareTeamMemberRequestFactory } from "./update-care-team-member-request-factory.js";
|
|
27
33
|
export class GraphQLHealthSpaceManager extends GraphQLManager {
|
|
28
34
|
constructor(sdk, loggerProvider = new ConsoleLoggerProvider()) {
|
|
29
35
|
super();
|
|
@@ -31,6 +37,11 @@ export class GraphQLHealthSpaceManager extends GraphQLManager {
|
|
|
31
37
|
_GraphQLHealthSpaceManager_sdk.set(this, void 0);
|
|
32
38
|
_GraphQLHealthSpaceManager_appointments.set(this, new AppointmentsRequestFactory());
|
|
33
39
|
_GraphQLHealthSpaceManager_cancelAppointment.set(this, new CancelAppointmentRequestFactory());
|
|
40
|
+
_GraphQLHealthSpaceManager_removeCareTeamMember.set(this, new RemoveCareTeamMemberRequestFactory());
|
|
41
|
+
_GraphQLHealthSpaceManager_addCareTeamMember.set(this, new AddCareTeamMemberRequestFactory());
|
|
42
|
+
_GraphQLHealthSpaceManager_addCareTeamMembers.set(this, new AddCareTeamMembersRequestFactory());
|
|
43
|
+
_GraphQLHealthSpaceManager_updateCareTeamMember.set(this, new UpdateCareTeamMemberRequestFactory());
|
|
44
|
+
_GraphQLHealthSpaceManager_careTeamMembers.set(this, new CareTeamMembersRequestFactory());
|
|
34
45
|
__classPrivateFieldSet(this, _GraphQLHealthSpaceManager_sdk, sdk, "f");
|
|
35
46
|
__classPrivateFieldSet(this, _GraphQLHealthSpaceManager_logger, loggerProvider.getLogger("GraphQLHealthSpaceManager"), "f");
|
|
36
47
|
}
|
|
@@ -102,5 +113,149 @@ export class GraphQLHealthSpaceManager extends GraphQLManager {
|
|
|
102
113
|
return new BWellQueryResult((_a = result.data) === null || _a === void 0 ? void 0 : _a.cancelationReasons, result.error);
|
|
103
114
|
});
|
|
104
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Removes a care team member by validating the request and calling the GraphQL mutation.
|
|
118
|
+
*
|
|
119
|
+
* @param request - The RemoveCareTeamMemberRequest containing participant details with member reference and period.
|
|
120
|
+
* @returns A BWellTransactionResult containing the updated CareTeam resource or an error.
|
|
121
|
+
*
|
|
122
|
+
* The method performs the following steps:
|
|
123
|
+
* 1. Validates the request. If validation fails, returns a failure result with validation errors.
|
|
124
|
+
* 2. Calls the remove care team member mutation using the GraphQL SDK.
|
|
125
|
+
* 3. Handles the transaction result:
|
|
126
|
+
* - If the mutation fails, logs the error and returns a failure result.
|
|
127
|
+
* - If successful, returns a success result with the updated CareTeam resource.
|
|
128
|
+
*/
|
|
129
|
+
removeCareTeamMember(request) {
|
|
130
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
+
const validationResult = this.validateRequest(request);
|
|
132
|
+
if (validationResult.failure()) {
|
|
133
|
+
return validationResult.intoFailure();
|
|
134
|
+
}
|
|
135
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("calling removeCareTeamMember mutation...");
|
|
136
|
+
// For now, prepare the mutation variables and simulate the transaction pattern
|
|
137
|
+
const result = yield this.handleTransaction(__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_sdk, "f").removeCareTeamMember(__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_removeCareTeamMember, "f").create(request)));
|
|
138
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("removeCareTeamMember mutation completed");
|
|
139
|
+
if (result.failure()) {
|
|
140
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").error("removeCareTeamMember mutation error", result);
|
|
141
|
+
return result.intoFailure();
|
|
142
|
+
}
|
|
143
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").info("successfully called removeCareTeamMember mutation");
|
|
144
|
+
return BWellTransactionResult.success(result.data());
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Adds a care team member by validating the request and calling the GraphQL mutation.
|
|
149
|
+
*
|
|
150
|
+
* @param request - The AddCareTeamMemberRequest containing participant details with member reference and roles.
|
|
151
|
+
* @returns A BWellTransactionResult containing the updated CareTeam resource or an error.
|
|
152
|
+
*
|
|
153
|
+
* The method performs the following steps:
|
|
154
|
+
* 1. Validates the request. If validation fails, returns a failure result with validation errors.
|
|
155
|
+
* 2. Calls the add care team member mutation using the GraphQL SDK.
|
|
156
|
+
* 3. Handles the transaction result:
|
|
157
|
+
* - If the mutation fails, logs the error and returns a failure result.
|
|
158
|
+
* - If successful, returns a success result with the updated CareTeam resource.
|
|
159
|
+
*/
|
|
160
|
+
addCareTeamMember(request) {
|
|
161
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
162
|
+
const validationResult = this.validateRequest(request);
|
|
163
|
+
if (validationResult.failure()) {
|
|
164
|
+
return validationResult.intoFailure();
|
|
165
|
+
}
|
|
166
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("calling addCareTeamMember mutation...");
|
|
167
|
+
const result = yield this.handleTransaction(__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_sdk, "f").addCareTeamMember(__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_addCareTeamMember, "f").create(request)));
|
|
168
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("addCareTeamMember mutation completed");
|
|
169
|
+
if (result.failure()) {
|
|
170
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").error("addCareTeamMember mutation error", result);
|
|
171
|
+
return result.intoFailure();
|
|
172
|
+
}
|
|
173
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").info("successfully called addCareTeamMember mutation");
|
|
174
|
+
return BWellTransactionResult.success(result.data());
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Adds multiple care team members by validating the request and calling the GraphQL mutation.
|
|
179
|
+
*
|
|
180
|
+
* @param request - The AddCareTeamMembersRequest containing multiple participant details.
|
|
181
|
+
* @returns A BWellTransactionResult containing an array with the updated CareTeam resource or an error.
|
|
182
|
+
*
|
|
183
|
+
* The method performs the following steps:
|
|
184
|
+
* 1. Validates the request. If validation fails, returns a failure result with validation errors.
|
|
185
|
+
* 2. Calls the add care team members mutation using the GraphQL SDK.
|
|
186
|
+
* 3. Handles the transaction result:
|
|
187
|
+
* - If the mutation fails, logs the error and returns a failure result.
|
|
188
|
+
* - If successful, returns a success result with the updated CareTeam resource in an array.
|
|
189
|
+
*/
|
|
190
|
+
addCareTeamMembers(request) {
|
|
191
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
192
|
+
const validationResult = this.validateRequest(request);
|
|
193
|
+
if (validationResult.failure()) {
|
|
194
|
+
return validationResult.intoFailure();
|
|
195
|
+
}
|
|
196
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("calling addCareTeamMembers mutation...");
|
|
197
|
+
const mutationVariables = __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_addCareTeamMembers, "f").create(request);
|
|
198
|
+
const result = yield this.handleTransaction(__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_sdk, "f").addCareTeamMembers(mutationVariables));
|
|
199
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("addCareTeamMembers mutation completed");
|
|
200
|
+
if (result.failure()) {
|
|
201
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").error("addCareTeamMembers mutation error", result);
|
|
202
|
+
return result.intoFailure();
|
|
203
|
+
}
|
|
204
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").info("successfully called addCareTeamMembers mutation");
|
|
205
|
+
return BWellTransactionResult.success(result.data());
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Updates a care team member by validating the request and calling the GraphQL mutation.
|
|
210
|
+
*
|
|
211
|
+
* @param request - The UpdateCareTeamMemberRequest containing participant details to update.
|
|
212
|
+
* @returns A BWellTransactionResult containing the updated CareTeam resource or an error.
|
|
213
|
+
*
|
|
214
|
+
* The method performs the following steps:
|
|
215
|
+
* 1. Validates the request. If validation fails, returns a failure result with validation errors.
|
|
216
|
+
* 2. Calls the update care team member mutation using the GraphQL SDK.
|
|
217
|
+
* 3. Handles the transaction result:
|
|
218
|
+
* - If the mutation fails, logs the error and returns a failure result.
|
|
219
|
+
* - If successful, returns a success result with the updated CareTeam resource.
|
|
220
|
+
*/
|
|
221
|
+
updateCareTeamMember(request) {
|
|
222
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
223
|
+
const validationResult = this.validateRequest(request);
|
|
224
|
+
if (validationResult.failure()) {
|
|
225
|
+
return validationResult.intoFailure();
|
|
226
|
+
}
|
|
227
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("calling updateCareTeamMember mutation...");
|
|
228
|
+
const mutationVariables = __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_updateCareTeamMember, "f").create(request);
|
|
229
|
+
const result = yield this.handleTransaction(__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_sdk, "f").updateCareTeamMember(mutationVariables));
|
|
230
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("updateCareTeamMember mutation completed");
|
|
231
|
+
if (result.failure()) {
|
|
232
|
+
return result.intoFailure();
|
|
233
|
+
}
|
|
234
|
+
return BWellTransactionResult.success(result.data());
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
getCareTeamMembers(request) {
|
|
238
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
239
|
+
var _a;
|
|
240
|
+
// Create default request if none provided
|
|
241
|
+
const careTeamMembersRequest = request !== null && request !== void 0 ? request : new CareTeamMembersRequest({ page: 0 });
|
|
242
|
+
// Validate the request
|
|
243
|
+
const validationResult = this.validateRequest(careTeamMembersRequest);
|
|
244
|
+
if (validationResult.failure()) {
|
|
245
|
+
return validationResult.toQueryResult();
|
|
246
|
+
}
|
|
247
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("calling getCareTeamMembers query...");
|
|
248
|
+
const variables = __classPrivateFieldGet(this, _GraphQLHealthSpaceManager_careTeamMembers, "f").create(careTeamMembersRequest);
|
|
249
|
+
const result = yield this.handleQuery(__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_sdk, "f").CareTeamMembers(variables));
|
|
250
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").verbose("getCareTeamMembers query complete");
|
|
251
|
+
if (result.hasError()) {
|
|
252
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").error("getCareTeamMembers query error", result.error);
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
__classPrivateFieldGet(this, _GraphQLHealthSpaceManager_logger, "f").info("successfully called getCareTeamMembers query");
|
|
256
|
+
}
|
|
257
|
+
return new BWellQueryResult((_a = result.data) === null || _a === void 0 ? void 0 : _a.careTeamMembers, result.error);
|
|
258
|
+
});
|
|
259
|
+
}
|
|
105
260
|
}
|
|
106
|
-
_GraphQLHealthSpaceManager_logger = new WeakMap(), _GraphQLHealthSpaceManager_sdk = new WeakMap(), _GraphQLHealthSpaceManager_appointments = new WeakMap(), _GraphQLHealthSpaceManager_cancelAppointment = new WeakMap();
|
|
261
|
+
_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(), _GraphQLHealthSpaceManager_careTeamMembers = 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
|
+
}
|