@icanbwell/bwell-sdk-ts 1.36.3 → 1.36.4

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 (112) hide show
  1. package/README.md +2 -2
  2. package/dist/__version__.d.ts +1 -1
  3. package/dist/__version__.js +1 -1
  4. package/dist/api/api-provider-factory.d.ts +1 -1
  5. package/dist/api/api-provider-factory.js +1 -2
  6. package/dist/api/base/activity/activity-manager.d.ts +35 -0
  7. package/dist/api/base/activity/activity-manager.js +1 -0
  8. package/dist/api/base/activity/get-tasks-request.d.ts +49 -0
  9. package/dist/api/base/activity/get-tasks-request.js +35 -0
  10. package/dist/api/base/activity/index.d.ts +4 -0
  11. package/dist/api/base/activity/index.js +2 -0
  12. package/dist/api/base/activity/types.d.ts +3 -0
  13. package/dist/api/base/activity/types.js +5 -0
  14. package/dist/api/base/activity/update-task-status-request.d.ts +18 -0
  15. package/dist/api/base/activity/update-task-status-request.js +15 -0
  16. package/dist/api/base/api-provider.d.ts +14 -8
  17. package/dist/api/base/connection/connection-manager.d.ts +2 -0
  18. package/dist/api/base/device/device-manager.d.ts +22 -0
  19. package/dist/api/base/device/device-manager.js +5 -0
  20. package/dist/api/base/device/device-request.d.ts +62 -0
  21. package/dist/api/base/device/device-request.js +71 -0
  22. package/dist/api/base/device/index.d.ts +2 -0
  23. package/dist/api/base/device/index.js +2 -0
  24. package/dist/api/base/event/event-manager.d.ts +16 -0
  25. package/dist/api/base/event/event-manager.js +1 -0
  26. package/dist/api/base/event/event-request.d.ts +35 -0
  27. package/dist/api/base/event/event-request.js +64 -0
  28. package/dist/api/base/event/index.d.ts +2 -0
  29. package/dist/api/base/event/index.js +1 -0
  30. package/dist/api/base/health-data/health-manager.d.ts +227 -4
  31. package/dist/api/base/health-data/index.d.ts +1 -1
  32. package/dist/api/base/index.d.ts +4 -0
  33. package/dist/api/base/index.js +4 -4
  34. package/dist/api/base/search/index.d.ts +4 -0
  35. package/dist/api/base/search/index.js +3 -0
  36. package/dist/api/base/search/request-connection-request.d.ts +24 -0
  37. package/dist/api/base/search/request-connection-request.js +3 -0
  38. package/dist/api/base/search/search-health-resources-request.d.ts +87 -0
  39. package/dist/api/base/search/search-health-resources-request.js +20 -0
  40. package/dist/api/base/search/search-manager.d.ts +58 -0
  41. package/dist/api/base/search/search-manager.js +1 -0
  42. package/dist/api/base/search/search-request.d.ts +84 -0
  43. package/dist/api/base/search/search-request.js +78 -0
  44. package/dist/api/base/user/create-data-export-direct-download-url-request.d.ts +14 -0
  45. package/dist/api/base/user/create-data-export-direct-download-url-request.js +21 -0
  46. package/dist/api/base/user/index.d.ts +2 -1
  47. package/dist/api/base/user/index.js +1 -4
  48. package/dist/api/base/user/user-manager.d.ts +7 -1
  49. package/dist/api/graphql-api/activity/activity-request-factories.d.ts +13 -0
  50. package/dist/api/graphql-api/activity/activity-request-factories.js +66 -0
  51. package/dist/api/graphql-api/activity/graphql-activity-manager.d.ts +14 -0
  52. package/dist/api/graphql-api/activity/graphql-activity-manager.js +72 -0
  53. package/dist/api/graphql-api/activity/index.d.ts +1 -0
  54. package/dist/api/graphql-api/activity/index.js +1 -0
  55. package/dist/api/graphql-api/connection/graphql-connection-manager.d.ts +3 -1
  56. package/dist/api/graphql-api/connection/graphql-connection-manager.js +21 -23
  57. package/dist/api/graphql-api/connection/graphql-get-member-connections-bwell-response-factory.d.ts +18 -0
  58. package/dist/api/graphql-api/connection/graphql-get-member-connections-bwell-response-factory.js +40 -0
  59. package/dist/api/graphql-api/connection/index.d.ts +1 -0
  60. package/dist/api/graphql-api/connection/index.js +1 -1
  61. package/dist/api/graphql-api/device/device-request-factory.d.ts +9 -0
  62. package/dist/api/graphql-api/device/device-request-factory.js +15 -0
  63. package/dist/api/graphql-api/device/graphql-device-manager.d.ts +13 -0
  64. package/dist/api/graphql-api/device/graphql-device-manager.js +73 -0
  65. package/dist/api/graphql-api/device/index.d.ts +1 -0
  66. package/dist/api/graphql-api/device/index.js +1 -0
  67. package/dist/api/graphql-api/event/event-request-factory.d.ts +6 -0
  68. package/dist/api/graphql-api/event/event-request-factory.js +11 -0
  69. package/dist/api/graphql-api/event/graphql-event-manager.d.ts +15 -0
  70. package/dist/api/graphql-api/event/graphql-event-manager.js +65 -0
  71. package/dist/api/graphql-api/event/index.d.ts +1 -0
  72. package/dist/api/graphql-api/event/index.js +1 -0
  73. package/dist/api/graphql-api/graphql-api-provider.d.ts +13 -4
  74. package/dist/api/graphql-api/graphql-api-provider.js +9 -10
  75. package/dist/api/graphql-api/graphql-sdk/graphql-sdk.js +1 -1
  76. package/dist/api/graphql-api/healthdata/graphql-get-medication-dispense-bwell-response-factory.d.ts +10 -0
  77. package/dist/api/graphql-api/healthdata/graphql-get-medication-dispense-bwell-response-factory.js +35 -0
  78. package/dist/api/graphql-api/healthdata/graphql-get-medication-request-bwell-response-factory.d.ts +10 -0
  79. package/dist/api/graphql-api/healthdata/graphql-get-medication-request-bwell-response-factory.js +35 -0
  80. package/dist/api/graphql-api/healthdata/graphql-health-manager.d.ts +27 -3
  81. package/dist/api/graphql-api/healthdata/graphql-health-manager.js +328 -26
  82. package/dist/api/graphql-api/search/connection-search-request-factory.d.ts +7 -0
  83. package/dist/api/graphql-api/search/connection-search-request-factory.js +21 -0
  84. package/dist/api/graphql-api/search/graphql-search-manager.d.ts +17 -0
  85. package/dist/api/graphql-api/search/graphql-search-manager.js +133 -0
  86. package/dist/api/graphql-api/search/index.d.ts +1 -0
  87. package/dist/api/graphql-api/search/index.js +1 -0
  88. package/dist/api/graphql-api/search/provider-search-request-factory.d.ts +7 -0
  89. package/dist/api/graphql-api/search/provider-search-request-factory.js +21 -0
  90. package/dist/api/graphql-api/search/request-connection-request-factory.d.ts +6 -0
  91. package/dist/api/graphql-api/search/request-connection-request-factory.js +12 -0
  92. package/dist/api/graphql-api/search/search-health-resources-request-factory.d.ts +14 -0
  93. package/dist/api/graphql-api/search/search-health-resources-request-factory.js +28 -0
  94. package/dist/api/graphql-api/search/search-request-factory.d.ts +6 -0
  95. package/dist/api/graphql-api/search/search-request-factory.js +44 -0
  96. package/dist/api/graphql-api/user/create-data-export-direct-download-url-request-factory.d.ts +6 -0
  97. package/dist/api/graphql-api/user/create-data-export-direct-download-url-request-factory.js +9 -0
  98. package/dist/api/graphql-api/user/get-consent-request-factory.d.ts +6 -0
  99. package/dist/api/graphql-api/user/get-consent-request-factory.js +8 -0
  100. package/dist/api/graphql-api/user/graphql-user-manager.d.ts +6 -3
  101. package/dist/api/graphql-api/user/graphql-user-manager.js +46 -68
  102. package/dist/bwell-sdk/bwell-sdk.d.ts +13 -2
  103. package/dist/bwell-sdk/bwell-sdk.js +27 -27
  104. package/dist/config/sdk-config.js +3 -3
  105. package/dist/graphql/operations/index.d.ts +285 -14
  106. package/dist/graphql/operations/index.js +2423 -225
  107. package/dist/graphql/operations/types.d.ts +15240 -2305
  108. package/dist/graphql/schema.d.ts +4800 -68156
  109. package/dist/graphql/schema.js +63 -7
  110. package/package.json +2 -4
  111. package/dist/api/graphql-api/healthdata/health-data-request-factory.d.ts +0 -12
  112. package/dist/api/graphql-api/healthdata/health-data-request-factory.js +0 -12
@@ -0,0 +1,84 @@
1
+ import { FilterField as GraphQLFilterField, OrganizationType as GraphQLOrganizationType, SortField as GraphQLSortField, SortOrder as GraphQLSortOrder } from "../../../graphql/schema.js";
2
+ import { Coding } from "../../../models/index.js";
3
+ import { PagedRequest, PagedRequestInput, PagedRequestValidator } from "../../../requests/index.js";
4
+ import { PersonGender } from "../user/index.js";
5
+ export type FilterField = `${GraphQLFilterField}`;
6
+ export type OrganizationType = `${GraphQLOrganizationType}`;
7
+ export type SortField = `${GraphQLSortField}`;
8
+ export type SortOrder = `${GraphQLSortOrder}`;
9
+ /**
10
+ * The provider location to search by
11
+ */
12
+ export type SearchPosition = {
13
+ /**
14
+ * Latitude
15
+ */
16
+ lat: number;
17
+ /**
18
+ * Longitude
19
+ */
20
+ lon: number;
21
+ /**
22
+ * Search radius (miles) from the specified lat/lon
23
+ */
24
+ distance?: number;
25
+ };
26
+ /**
27
+ * Type representing a provider search result sorting
28
+ */
29
+ export type OrderBy = {
30
+ /**
31
+ * The provider search field to sort by
32
+ */
33
+ field?: SortField;
34
+ /**
35
+ * The direction to sort by
36
+ */
37
+ order?: SortOrder;
38
+ };
39
+ /**
40
+ * Prepresents the parameters for a search request.
41
+ */
42
+ export type SearchRequestInput = PagedRequestInput & {
43
+ /**
44
+ * Provides the main ability to filter searches by a given term. This can be something like an organization name, location, address, or phone number.
45
+ */
46
+ searchTerm?: string;
47
+ /**
48
+ * Array of strings that can be used to filter results by specialty. specialtyFilters are not useful for searching generally, since it would limit results to providers..
49
+ */
50
+ specialtyFilters?: Coding | Coding[];
51
+ /**
52
+ * Array of strings that can be used to filter results by organization type..
53
+ */
54
+ organizationTypeFilters?: OrganizationType[];
55
+ /**
56
+ * Only return Providers that have PROA connections. Defaults to false
57
+ */
58
+ includePopulatedPROAonly?: boolean;
59
+ /**
60
+ * Filter providers to the specified gender
61
+ */
62
+ gender?: PersonGender;
63
+ /**
64
+ * Location object that can be used to filter results by location
65
+ */
66
+ location?: SearchPosition;
67
+ /**
68
+ * Specifies sort options for the search.
69
+ */
70
+ sortBy?: OrderBy;
71
+ /**
72
+ * Specifies which fields should be used for aggregations. For example, you can
73
+ * search for ‘smith’ and request ‘gender’ as a FilterField and along with the search
74
+ * result, you will also get ‘X of males, Y of females’.
75
+ */
76
+ filterFields?: FilterField[];
77
+ };
78
+ export declare class SearchRequest extends PagedRequest<SearchRequestInput> {
79
+ protected validator: PagedRequestValidator<SearchRequestInput>;
80
+ }
81
+ export declare function isValidOrganizationType(orgType: string): orgType is GraphQLOrganizationType;
82
+ export declare function isValidSortField(sortField: string): sortField is GraphQLSortField;
83
+ export declare function isValidSortOrder(sortOrder: string): sortOrder is GraphQLSortOrder;
84
+ export declare function isValidFilterField(filterField: string): filterField is GraphQLFilterField;
@@ -0,0 +1,78 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ 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");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _SearchRequestValidator_instances, _SearchRequestValidator_validateOrganizationTypeFilters, _SearchRequestValidator_validateSortBy, _SearchRequestValidator_validateFilterFields, _SearchRequestValidator_validateGender;
7
+ import { FilterField as GraphQLFilterField, OrganizationType as GraphQLOrganizationType, SortField as GraphQLSortField, SortOrder as GraphQLSortOrder, } from "../../../graphql/schema.js";
8
+ import { PagedRequest, PagedRequestValidator, } from "../../../requests/index.js";
9
+ import { isNotUndefined } from "../../../utils/index.js";
10
+ import { isValidPersonGender } from "../user/types.js";
11
+ export class SearchRequest extends PagedRequest {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.validator = new SearchRequestValidator();
15
+ }
16
+ }
17
+ class SearchRequestValidator extends PagedRequestValidator {
18
+ constructor() {
19
+ super(...arguments);
20
+ _SearchRequestValidator_instances.add(this);
21
+ }
22
+ validate(data, errors) {
23
+ super.validate(data, errors);
24
+ if (isNotUndefined(data.organizationTypeFilters)) {
25
+ __classPrivateFieldGet(this, _SearchRequestValidator_instances, "m", _SearchRequestValidator_validateOrganizationTypeFilters).call(this, data.organizationTypeFilters, errors);
26
+ }
27
+ if (isNotUndefined(data.sortBy)) {
28
+ __classPrivateFieldGet(this, _SearchRequestValidator_instances, "m", _SearchRequestValidator_validateSortBy).call(this, data.sortBy, errors);
29
+ }
30
+ if (isNotUndefined(data.filterFields)) {
31
+ __classPrivateFieldGet(this, _SearchRequestValidator_instances, "m", _SearchRequestValidator_validateFilterFields).call(this, data.filterFields, errors);
32
+ }
33
+ if (isNotUndefined(data.gender)) {
34
+ __classPrivateFieldGet(this, _SearchRequestValidator_instances, "m", _SearchRequestValidator_validateGender).call(this, data.gender, errors);
35
+ }
36
+ }
37
+ }
38
+ _SearchRequestValidator_instances = new WeakSet(), _SearchRequestValidator_validateOrganizationTypeFilters = function _SearchRequestValidator_validateOrganizationTypeFilters(organizationTypeFilters, errors) {
39
+ for (const orgType of organizationTypeFilters) {
40
+ if (isValidOrganizationType(orgType)) {
41
+ continue;
42
+ }
43
+ errors.add(`Invalid organizationTypeFilters value: "${orgType}"`);
44
+ }
45
+ }, _SearchRequestValidator_validateSortBy = function _SearchRequestValidator_validateSortBy(orderBy, errors) {
46
+ if (isNotUndefined(orderBy.field) && !isValidSortField(orderBy.field)) {
47
+ errors.add(`Invalid sortBy.field value: "${orderBy.field}"`);
48
+ }
49
+ if (isNotUndefined(orderBy.order) && !isValidSortOrder(orderBy.order)) {
50
+ errors.add(`Invalid sortBy.order value: "${orderBy.order}"`);
51
+ }
52
+ }, _SearchRequestValidator_validateFilterFields = function _SearchRequestValidator_validateFilterFields(filterFields, errors) {
53
+ for (const filterField of filterFields) {
54
+ if (!isValidFilterField(filterField)) {
55
+ errors.add(`Invalid filterField value: "${filterField}"`);
56
+ }
57
+ }
58
+ }, _SearchRequestValidator_validateGender = function _SearchRequestValidator_validateGender(gender, errors) {
59
+ if (!isValidPersonGender(gender)) {
60
+ errors.add(`Invalid gender value: "${gender}"`);
61
+ }
62
+ };
63
+ const organizationValueCache = new Set(Object.values(GraphQLOrganizationType));
64
+ export function isValidOrganizationType(orgType) {
65
+ return organizationValueCache.has(orgType);
66
+ }
67
+ const sortFieldValueCache = new Set(Object.values(GraphQLSortField));
68
+ export function isValidSortField(sortField) {
69
+ return sortFieldValueCache.has(sortField);
70
+ }
71
+ const sortOrderValueCache = new Set(Object.values(GraphQLSortOrder));
72
+ export function isValidSortOrder(sortOrder) {
73
+ return sortOrderValueCache.has(sortOrder);
74
+ }
75
+ const filterFieldValueCache = new Set(Object.values(GraphQLFilterField));
76
+ export function isValidFilterField(filterField) {
77
+ return filterFieldValueCache.has(filterField);
78
+ }
@@ -0,0 +1,14 @@
1
+ import { ErrorsCollector, ValidationRequest, Validator } from "../../../requests/index.js";
2
+ export type CreateDataExportDirectDownloadUrlRequestInput = {
3
+ exportId: string;
4
+ password: string;
5
+ };
6
+ export declare class CreateDataExportDirectDownloadUrlRequestValidator implements Validator<CreateDataExportDirectDownloadUrlRequestInput> {
7
+ validate(data: CreateDataExportDirectDownloadUrlRequestInput, errors: ErrorsCollector): void;
8
+ }
9
+ /**
10
+ * Request object for creating a direct download URL for a data export.
11
+ */
12
+ export declare class CreateDataExportDirectDownloadUrlRequest extends ValidationRequest<CreateDataExportDirectDownloadUrlRequestInput> {
13
+ protected validator: Validator<CreateDataExportDirectDownloadUrlRequestInput>;
14
+ }
@@ -0,0 +1,21 @@
1
+ import { ValidationRequest, } from "../../../requests/index.js";
2
+ import { isNullOrUndefinedOrEmptyString } from "../../../utils/type-utils.js";
3
+ export class CreateDataExportDirectDownloadUrlRequestValidator {
4
+ validate(data, errors) {
5
+ if (isNullOrUndefinedOrEmptyString(data.exportId)) {
6
+ errors.add("exportId is required");
7
+ }
8
+ if (isNullOrUndefinedOrEmptyString(data.password)) {
9
+ errors.add("password is required");
10
+ }
11
+ }
12
+ }
13
+ /**
14
+ * Request object for creating a direct download URL for a data export.
15
+ */
16
+ export class CreateDataExportDirectDownloadUrlRequest extends ValidationRequest {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.validator = new CreateDataExportDirectDownloadUrlRequestValidator();
20
+ }
21
+ }
@@ -2,5 +2,6 @@ export { UpdateProfileRequest, UpdateProfileRequestInput, } from "./update-profi
2
2
  export { GetConsentsRequestInput, GetConsentsRequest, } from "./get-consents-request.js";
3
3
  export { CreateConsentRequest, CreateConsentRequestInput, } from "./create-consent-request.js";
4
4
  export type { CategoryCode, ConsentProvisionType, ConsentStatus, PersonGender, } from "./types.js";
5
- export { ProfileResults, DeleteUserResults, UpdateProfileResults, CreateConsentResults, UserManager, } from "./user-manager.js";
5
+ export { ProfileResults, DeleteUserResults, UpdateProfileResults, GetConsentsResults, CreateConsentResults, UserManager, } from "./user-manager.js";
6
+ export { CreateDataExportDirectDownloadUrlRequest, CreateDataExportDirectDownloadUrlRequestInput, } from "./create-data-export-direct-download-url-request.js";
6
7
  export { CreateVerificationUrlRequest, CreateVerificationUrlRequestInput, } from "./create-verification-url-request.js";
@@ -1,8 +1,5 @@
1
1
  export { UpdateProfileRequest, } from "./update-profile-request.js";
2
2
  export { GetConsentsRequest, } from "./get-consents-request.js";
3
3
  export { CreateConsentRequest, } from "./create-consent-request.js";
4
- // export {
5
- // CreateDataExportDirectDownloadUrlRequest,
6
- // CreateDataExportDirectDownloadUrlRequestInput,
7
- // } from "./create-data-export-direct-download-url-request.js";
4
+ export { CreateDataExportDirectDownloadUrlRequest, } from "./create-data-export-direct-download-url-request.js";
8
5
  export { CreateVerificationUrlRequest, } from "./create-verification-url-request.js";
@@ -1,16 +1,20 @@
1
1
  import { ValidationError } from "../../../errors/validation-error.js";
2
- import { CreateConsentMutationResults, CreateVerificationUrlMutationResults, DeleteMutationResults, GetProfileQueryResults, UpdateUserProfileMutationResults, VerificationStatusQueryResults } from "../../../graphql/operations/types.js";
2
+ import { CreateConsentMutationResults, CreateDataExportDirectDownloadUrlMutationResults, CreateVerificationUrlMutationResults, DeleteMutationResults, GetProfileQueryResults, SearchConsentQueryResults, UpdateUserProfileMutationResults, VerificationStatusQueryResults } from "../../../graphql/operations/types.js";
3
3
  import type { BWellQueryResult, BWellTransactionResult } from "../../../results/index.js";
4
4
  import { BaseManagerError } from "../errors.js";
5
5
  import { CreateConsentRequest } from "./create-consent-request.js";
6
+ import { CreateDataExportDirectDownloadUrlRequest } from "./create-data-export-direct-download-url-request.js";
6
7
  import { CreateVerificationUrlRequest } from "./create-verification-url-request.js";
8
+ import { GetConsentsRequest } from "./get-consents-request.js";
7
9
  import { UpdateProfileRequest } from "./update-profile-request.js";
8
10
  export type ProfileResults = GetProfileQueryResults["userProfile"];
9
11
  export type DeleteUserResultsType = DeleteMutationResults["updateUserAccountStatus"];
10
12
  export interface DeleteUserResults extends DeleteUserResultsType {
11
13
  }
12
14
  export type UpdateProfileResults = UpdateUserProfileMutationResults["updateUserProfile"];
15
+ export type GetConsentsResults = SearchConsentQueryResults["search"];
13
16
  export type CreateConsentResults = CreateConsentMutationResults["createConsent"];
17
+ export type CreateDataExportDirectDownloadUrlResults = CreateDataExportDirectDownloadUrlMutationResults["createDataExportDirectDownloadUrl"];
14
18
  export type CreateVerificationUrlResults = CreateVerificationUrlMutationResults["createVerificationUrl"];
15
19
  export type GetVerificationStatusResults = VerificationStatusQueryResults["verificationStatus"];
16
20
  /**
@@ -41,6 +45,7 @@ export interface UserManager {
41
45
  * @param {GetConsentsRequest} request - Request object containing the consent category to search by
42
46
  * @return {Promise<BWellQueryResult<GetConsentsResults, BaseManagerError>>} An object representing the consent data from the user
43
47
  */
48
+ getConsents(request?: GetConsentsRequest): Promise<BWellQueryResult<GetConsentsResults, BaseManagerError | ValidationError>>;
44
49
  /**
45
50
  * Creates a user's Consent
46
51
  *
@@ -54,6 +59,7 @@ export interface UserManager {
54
59
  * @param {CreateDataExportDirectDownloadUrlRequest} request - Request object containing the data export ID and password
55
60
  * @returns {Promise<BWellTransactionResult<CreateDataExportDirectDownloadUrlResults, BaseManagerError>>} A promise resolving to an object representing the direct download URL for the user's data export.
56
61
  */
62
+ createDataExportDirectDownloadUrl(request: CreateDataExportDirectDownloadUrlRequest): Promise<BWellTransactionResult<CreateDataExportDirectDownloadUrlResults, BaseManagerError>>;
57
63
  /**
58
64
  * Creates a verification URL which can be used to initiate the IAL2 verification flow.
59
65
  *
@@ -0,0 +1,13 @@
1
+ import { GetTasksQueryVariables } from "../../../graphql/operations/types.js";
2
+ import { RequestFactory } from "../../../requests/index.js";
3
+ import { GetTasksRequest } from "../../base/index.js";
4
+ export declare enum ActivitySystem {
5
+ ACTIVITY_CONTENT = "https://www.icanbwell.com/contentDescription",
6
+ ACTIVITY_ID = "https://www.icanbwell.com/activityId",
7
+ ACTIVITY_TOPIC = "https://www.icanbwell.com/activityTopic",
8
+ ACTIVITY_TYPE = "https://www.icanbwell.com/activityType"
9
+ }
10
+ export declare class GetTasksRequestFactory implements RequestFactory<GetTasksRequest, GetTasksQueryVariables> {
11
+ #private;
12
+ create(request: GetTasksRequest): GetTasksQueryVariables;
13
+ }
@@ -0,0 +1,66 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ 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");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _GetTasksRequestFactory_instances, _GetTasksRequestFactory_toSearchToken;
7
+ import { isNotUndefined } from "../../../utils/index.js";
8
+ export var ActivitySystem;
9
+ (function (ActivitySystem) {
10
+ ActivitySystem["ACTIVITY_CONTENT"] = "https://www.icanbwell.com/contentDescription";
11
+ ActivitySystem["ACTIVITY_ID"] = "https://www.icanbwell.com/activityId";
12
+ ActivitySystem["ACTIVITY_TOPIC"] = "https://www.icanbwell.com/activityTopic";
13
+ ActivitySystem["ACTIVITY_TYPE"] = "https://www.icanbwell.com/activityType";
14
+ })(ActivitySystem || (ActivitySystem = {}));
15
+ export class GetTasksRequestFactory {
16
+ constructor() {
17
+ _GetTasksRequestFactory_instances.add(this);
18
+ }
19
+ create(request) {
20
+ var _a;
21
+ const input = request.data();
22
+ const data = {
23
+ page: input.page,
24
+ pageSize: input.pageSize,
25
+ };
26
+ if (isNotUndefined(input.id)) {
27
+ data.id = __classPrivateFieldGet(this, _GetTasksRequestFactory_instances, "m", _GetTasksRequestFactory_toSearchToken).call(this, input.id);
28
+ }
29
+ if (isNotUndefined(input.activityId)) {
30
+ data.identifier = __classPrivateFieldGet(this, _GetTasksRequestFactory_instances, "m", _GetTasksRequestFactory_toSearchToken).call(this, input.activityId, ActivitySystem.ACTIVITY_ID);
31
+ }
32
+ if (isNotUndefined(input.activityType)) {
33
+ data.code = __classPrivateFieldGet(this, _GetTasksRequestFactory_instances, "m", _GetTasksRequestFactory_toSearchToken).call(this, input.activityType, ActivitySystem.ACTIVITY_TYPE);
34
+ }
35
+ if (isNotUndefined(input.activityTopic)) {
36
+ data.tag = __classPrivateFieldGet(this, _GetTasksRequestFactory_instances, "m", _GetTasksRequestFactory_toSearchToken).call(this, input.activityTopic, ActivitySystem.ACTIVITY_TOPIC);
37
+ }
38
+ if (isNotUndefined(input.status)) {
39
+ data.status = __classPrivateFieldGet(this, _GetTasksRequestFactory_instances, "m", _GetTasksRequestFactory_toSearchToken).call(this, input.status);
40
+ }
41
+ if (isNotUndefined(input.subject)) {
42
+ data.subject = __classPrivateFieldGet(this, _GetTasksRequestFactory_instances, "m", _GetTasksRequestFactory_toSearchToken).call(this, input.subject);
43
+ }
44
+ data.sortMethod = input.smartSort === true ? "smartSort" : "";
45
+ if (isNotUndefined(input.enrichContent)) {
46
+ data.enrichContent = input.enrichContent;
47
+ }
48
+ // default to english
49
+ data.contentLanguage = (_a = input.contentLanguage) !== null && _a !== void 0 ? _a : "en";
50
+ return {
51
+ request: data,
52
+ };
53
+ }
54
+ }
55
+ _GetTasksRequestFactory_instances = new WeakSet(), _GetTasksRequestFactory_toSearchToken = function _GetTasksRequestFactory_toSearchToken(value, system) {
56
+ const valueArr = Array.isArray(value) ? value : [value];
57
+ const searchTokenValues = {
58
+ value: valueArr.join(","),
59
+ };
60
+ if (isNotUndefined(system)) {
61
+ searchTokenValues.system = system;
62
+ }
63
+ return {
64
+ values: [searchTokenValues],
65
+ };
66
+ };
@@ -0,0 +1,14 @@
1
+ import type { ValidationError } from "../../../errors/validation-error.js";
2
+ import { type LoggerProvider } from "../../../logger/index.js";
3
+ import { BWellQueryResult, BWellTransactionResult } from "../../../results/index.js";
4
+ import type { ActivityManager } from "../../base/activity/activity-manager.js";
5
+ import type { GetTasksRequest, GetTasksResults, UpdateTaskStatusRequest, UpdateTaskStatusResults } from "../../base/activity/index.js";
6
+ import type { BaseManagerError } from "../../base/errors.js";
7
+ import { GraphQLManager } from "../graphql-manager/index.js";
8
+ import type { GraphQLSdk } from "../graphql-sdk/index.js";
9
+ export declare class GraphQLActivityManager extends GraphQLManager implements ActivityManager {
10
+ #private;
11
+ constructor(sdk: GraphQLSdk, loggerProvider?: LoggerProvider);
12
+ getTasks(request: GetTasksRequest): Promise<BWellQueryResult<GetTasksResults, BaseManagerError | ValidationError>>;
13
+ updateTaskStatus(request: UpdateTaskStatusRequest): Promise<BWellTransactionResult<UpdateTaskStatusResults, BaseManagerError | ValidationError>>;
14
+ }
@@ -0,0 +1,72 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
11
+ if (kind === "m") throw new TypeError("Private method is not writable");
12
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
13
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
14
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
15
+ };
16
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
17
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
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
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
20
+ };
21
+ var _GraphQLActivityManager_logger, _GraphQLActivityManager_sdk, _GraphQLActivityManager_getTaskRequestFactory;
22
+ import { ConsoleLoggerProvider, } from "../../../logger/index.js";
23
+ import { BWellQueryResult, BWellTransactionResult, } from "../../../results/index.js";
24
+ import { GraphQLManager } from "../graphql-manager/index.js";
25
+ import { GetTasksRequestFactory } from "./activity-request-factories.js";
26
+ export class GraphQLActivityManager extends GraphQLManager {
27
+ constructor(sdk, loggerProvider = new ConsoleLoggerProvider()) {
28
+ super();
29
+ _GraphQLActivityManager_logger.set(this, void 0);
30
+ _GraphQLActivityManager_sdk.set(this, void 0);
31
+ _GraphQLActivityManager_getTaskRequestFactory.set(this, new GetTasksRequestFactory());
32
+ __classPrivateFieldSet(this, _GraphQLActivityManager_sdk, sdk, "f");
33
+ __classPrivateFieldSet(this, _GraphQLActivityManager_logger, loggerProvider.getLogger("GraphQLActivityManager"), "f");
34
+ }
35
+ getTasks(request) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ var _a;
38
+ const validationResult = request.validate();
39
+ if (validationResult.failure()) {
40
+ return validationResult.toQueryResult();
41
+ }
42
+ __classPrivateFieldGet(this, _GraphQLActivityManager_logger, "f").verbose("calling getTask query...");
43
+ const result = yield this.handleQuery(__classPrivateFieldGet(this, _GraphQLActivityManager_sdk, "f").getTasks(__classPrivateFieldGet(this, _GraphQLActivityManager_getTaskRequestFactory, "f").create(request)));
44
+ __classPrivateFieldGet(this, _GraphQLActivityManager_logger, "f").verbose("getTask query complete");
45
+ if (result.hasError()) {
46
+ __classPrivateFieldGet(this, _GraphQLActivityManager_logger, "f").error("getTask query error", result.error);
47
+ }
48
+ else {
49
+ __classPrivateFieldGet(this, _GraphQLActivityManager_logger, "f").info("successfully called getTask query");
50
+ }
51
+ return new BWellQueryResult((_a = result.data) === null || _a === void 0 ? void 0 : _a.getTasks, result.error);
52
+ });
53
+ }
54
+ updateTaskStatus(request) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const validationResult = request.validate();
57
+ if (validationResult.failure()) {
58
+ return validationResult;
59
+ }
60
+ __classPrivateFieldGet(this, _GraphQLActivityManager_logger, "f").verbose("calling taskUpdateStatus mutation");
61
+ const result = yield this.handleTransaction(__classPrivateFieldGet(this, _GraphQLActivityManager_sdk, "f").taskUpdateStatus(request.data()));
62
+ __classPrivateFieldGet(this, _GraphQLActivityManager_logger, "f").verbose("taskUpdateStatus mutation complete");
63
+ if (result.failure()) {
64
+ __classPrivateFieldGet(this, _GraphQLActivityManager_logger, "f").error("taskUpdateStatus error", result);
65
+ return result.intoFailure();
66
+ }
67
+ __classPrivateFieldGet(this, _GraphQLActivityManager_logger, "f").info("taskUpdateStatus mutation success");
68
+ return BWellTransactionResult.success(result.data().taskUpdateStatus);
69
+ });
70
+ }
71
+ }
72
+ _GraphQLActivityManager_logger = new WeakMap(), _GraphQLActivityManager_sdk = new WeakMap(), _GraphQLActivityManager_getTaskRequestFactory = new WeakMap();
@@ -0,0 +1 @@
1
+ export * from "./graphql-activity-manager.js";
@@ -0,0 +1 @@
1
+ export * from "./graphql-activity-manager.js";
@@ -5,9 +5,11 @@ import { ConnectionRequest, CreateConnectionResults, DataSourceRequest, DataSour
5
5
  import { BaseManagerError } from "../../base/errors.js";
6
6
  import { GraphQLManager } from "../graphql-manager/index.js";
7
7
  import type { GraphQLSdk } from "../graphql-sdk/index.js";
8
+ import { GraphQLGetMemberConnectionsBWellResponseFactory, MemberConnectionResults } from "./index.js";
8
9
  export declare class GraphQLConnectionManager extends GraphQLManager implements ConnectionManager {
9
10
  #private;
10
- constructor(sdk: GraphQLSdk, loggerProvider?: LoggerProvider);
11
+ constructor(sdk: GraphQLSdk, loggerProvider?: LoggerProvider, memberConnectionsResponseFactory?: GraphQLGetMemberConnectionsBWellResponseFactory);
12
+ getMemberConnections(): Promise<BWellQueryResult<MemberConnectionResults, BaseManagerError>>;
11
13
  getDataSource(request: DataSourceRequest): Promise<BWellQueryResult<DataSourceResults, BaseManagerError>>;
12
14
  createConnection(request: ConnectionRequest): Promise<BWellTransactionResult<CreateConnectionResults, BaseManagerError>>;
13
15
  disconnectConnection(request: DataSourceRequest): Promise<BWellTransactionResult<DisconnectConnectionResults, BaseManagerError>>;
@@ -18,38 +18,36 @@ 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 _GraphQLConnectionManager_sdk, _GraphQLConnectionManager_logger;
21
+ var _GraphQLConnectionManager_sdk, _GraphQLConnectionManager_logger, _GraphQLConnectionManager_memberConnectionsResponseFactory;
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 { GraphQLGetMemberConnectionsBWellResponseFactory, } from "./index.js";
25
26
  export class GraphQLConnectionManager extends GraphQLManager {
26
- // #memberConnectionsResponseFactory: BWellQueryResultFactory<
27
- // BWellQueryResult<GetMemberConnectionsQueryResults>,
28
- // BWellQueryResult<MemberConnectionResults>
29
- // >;
30
- constructor(sdk, loggerProvider = new ConsoleLoggerProvider()) {
27
+ constructor(sdk, loggerProvider = new ConsoleLoggerProvider(), memberConnectionsResponseFactory = new GraphQLGetMemberConnectionsBWellResponseFactory()) {
31
28
  super();
32
29
  _GraphQLConnectionManager_sdk.set(this, void 0);
33
30
  _GraphQLConnectionManager_logger.set(this, void 0);
31
+ _GraphQLConnectionManager_memberConnectionsResponseFactory.set(this, void 0);
34
32
  __classPrivateFieldSet(this, _GraphQLConnectionManager_sdk, sdk, "f");
35
33
  __classPrivateFieldSet(this, _GraphQLConnectionManager_logger, loggerProvider.getLogger("GraphQLConnectionManager"), "f");
36
- // this.#memberConnectionsResponseFactory = memberConnectionsResponseFactory;
34
+ __classPrivateFieldSet(this, _GraphQLConnectionManager_memberConnectionsResponseFactory, memberConnectionsResponseFactory, "f");
35
+ }
36
+ getMemberConnections() {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ __classPrivateFieldGet(this, _GraphQLConnectionManager_logger, "f").verbose("calling getMemberConnections...");
39
+ const result = yield this.handleQuery(__classPrivateFieldGet(this, _GraphQLConnectionManager_sdk, "f").getMemberConnections());
40
+ __classPrivateFieldGet(this, _GraphQLConnectionManager_logger, "f").verbose("getMemberConnections complete");
41
+ if (result.hasError()) {
42
+ __classPrivateFieldGet(this, _GraphQLConnectionManager_logger, "f").error("getMemberConnections failed", result.error);
43
+ }
44
+ else {
45
+ __classPrivateFieldGet(this, _GraphQLConnectionManager_logger, "f").info("successfully called getMemberConnections");
46
+ }
47
+ // map the objects returned by graphql to the shape we want to return
48
+ return __classPrivateFieldGet(this, _GraphQLConnectionManager_memberConnectionsResponseFactory, "f").create(result);
49
+ });
37
50
  }
38
- // TODO: Sort out subscription_subscription
39
- // public async getMemberConnections(): Promise<
40
- // BWellQueryResult<MemberConnectionResults, BaseManagerError>
41
- // > {
42
- // this.#logger.verbose("calling getMemberConnections...");
43
- // const result = await this.handleQuery(this.#sdk.getMemberConnections());
44
- // this.#logger.verbose("getMemberConnections complete");
45
- // if (result.hasError()) {
46
- // this.#logger.error("getMemberConnections failed", result.error);
47
- // } else {
48
- // this.#logger.info("successfully called getMemberConnections");
49
- // }
50
- // // map the objects returned by graphql to the shape we want to return
51
- // return this.#memberConnectionsResponseFactory.create(result);
52
- // }
53
51
  getDataSource(request) {
54
52
  return __awaiter(this, void 0, void 0, function* () {
55
53
  var _a;
@@ -140,4 +138,4 @@ export class GraphQLConnectionManager extends GraphQLManager {
140
138
  });
141
139
  }
142
140
  }
143
- _GraphQLConnectionManager_sdk = new WeakMap(), _GraphQLConnectionManager_logger = new WeakMap();
141
+ _GraphQLConnectionManager_sdk = new WeakMap(), _GraphQLConnectionManager_logger = new WeakMap(), _GraphQLConnectionManager_memberConnectionsResponseFactory = new WeakMap();
@@ -0,0 +1,18 @@
1
+ import { CodeableConceptFieldsFragment, GetMemberConnectionsQueryResults } from "../../../graphql/operations/types.js";
2
+ import { BWellQueryResult, BWellQueryResultFactory } from "../../../results/index.js";
3
+ /**
4
+ * Custom type representing a member's data connection
5
+ */
6
+ export type MemberConnection = GetMemberConnectionsQueryResults["getMemberConnections"][number] & {
7
+ syncErrors: Array<CodeableConceptFieldsFragment | null> | null;
8
+ };
9
+ /**
10
+ * Custom type representing a member's data connections
11
+ */
12
+ export type MemberConnectionResults = Array<MemberConnection>;
13
+ /**
14
+ * Factory to map the GraphQL GetMemberConnectionResults object to a BWellQueryResult using the expected shape
15
+ */
16
+ export declare class GraphQLGetMemberConnectionsBWellResponseFactory implements BWellQueryResultFactory<BWellQueryResult<GetMemberConnectionsQueryResults>, BWellQueryResult<MemberConnectionResults>> {
17
+ create(result: BWellQueryResult<GetMemberConnectionsQueryResults>): BWellQueryResult<MemberConnectionResults>;
18
+ }
@@ -0,0 +1,40 @@
1
+ import { BWellQueryResult, } from "../../../results/index.js";
2
+ import { isNotNullOrUndefined, isNullOrUndefined, } from "../../../utils/type-utils.js";
3
+ import { MEMBER_CONNECTION_SUBSCRIPTION_STATUS_EXTENSION_ID } from "../../base/connection/index.js";
4
+ /**
5
+ * Factory to map the GraphQL GetMemberConnectionResults object to a BWellQueryResult using the expected shape
6
+ */
7
+ export class GraphQLGetMemberConnectionsBWellResponseFactory {
8
+ create(result) {
9
+ var _a, _b, _c, _d, _e, _f;
10
+ // map subscription status to service slug, which corresponds to connection.id
11
+ const subscriptionStatusMap = new Map();
12
+ const subscriptionStatuseEntries = (_c = (_b = (_a = result.data) === null || _a === void 0 ? void 0 : _a.subscription_subscription) === null || _b === void 0 ? void 0 : _b.entry) !== null && _c !== void 0 ? _c : [];
13
+ for (const entry of subscriptionStatuseEntries) {
14
+ if (isNotNullOrUndefined((_d = entry === null || entry === void 0 ? void 0 : entry.resource) === null || _d === void 0 ? void 0 : _d.service_slug) &&
15
+ isNotNullOrUndefined(entry === null || entry === void 0 ? void 0 : entry.resource.subscriptionStatus)) {
16
+ for (const subStatus of entry.resource.subscriptionStatus) {
17
+ subscriptionStatusMap.set(entry.resource.service_slug, {
18
+ error: subStatus === null || subStatus === void 0 ? void 0 : subStatus.error,
19
+ extension: subStatus === null || subStatus === void 0 ? void 0 : subStatus.extension,
20
+ });
21
+ }
22
+ }
23
+ }
24
+ // Make sure getMemberConnections is an array and not undefined
25
+ const getMemberConnections = (_f = (_e = result.data) === null || _e === void 0 ? void 0 : _e.getMemberConnections) !== null && _f !== void 0 ? _f : [];
26
+ return new BWellQueryResult(
27
+ // map subscription status info on to member connections
28
+ getMemberConnections.map((connection) => {
29
+ var _a;
30
+ const subscriptionStatus = subscriptionStatusMap.get(connection.id);
31
+ if (isNullOrUndefined(subscriptionStatus)) {
32
+ return Object.assign(Object.assign({}, connection), { syncErrors: [] });
33
+ }
34
+ const extension = (_a = subscriptionStatus.extension) === null || _a === void 0 ? void 0 : _a.find((e) => (e === null || e === void 0 ? void 0 : e.id) === MEMBER_CONNECTION_SUBSCRIPTION_STATUS_EXTENSION_ID);
35
+ return Object.assign(Object.assign({}, connection), { syncErrors: subscriptionStatus.error, syncStatus: (extension
36
+ ? extension.valueString
37
+ : connection.syncStatus) });
38
+ }), result.error);
39
+ }
40
+ }
@@ -1 +1,2 @@
1
1
  export * from "./graphql-connection-manager.js";
2
+ export * from "./graphql-get-member-connections-bwell-response-factory.js";
@@ -1,2 +1,2 @@
1
1
  export * from "./graphql-connection-manager.js";
2
- // export * from "./graphql-get-member-connections-bwell-response-factory.js";
2
+ export * from "./graphql-get-member-connections-bwell-response-factory.js";
@@ -0,0 +1,9 @@
1
+ import { UpdateDeviceRegistrationMutationVariables } from "../../../graphql/operations/types.js";
2
+ import { RequestFactory } from "../../../requests/index.js";
3
+ import { DeregisterDeviceRequest, RegisterDeviceRequest } from "../../base/device/index.js";
4
+ export declare class DeregisterDeviceRequestFactory implements RequestFactory<DeregisterDeviceRequest, UpdateDeviceRegistrationMutationVariables> {
5
+ create(request: DeregisterDeviceRequest): UpdateDeviceRegistrationMutationVariables;
6
+ }
7
+ export declare class RegisterDeviceRequestFactory implements RequestFactory<RegisterDeviceRequest, UpdateDeviceRegistrationMutationVariables> {
8
+ create(request: RegisterDeviceRequest): UpdateDeviceRegistrationMutationVariables;
9
+ }
@@ -0,0 +1,15 @@
1
+ export class DeregisterDeviceRequestFactory {
2
+ create(request) {
3
+ return {
4
+ deviceToken: request.data().deviceToken,
5
+ platformName: "", //left empty because not needed to deregister
6
+ applicationName: "", //left empty because not needed to deregister
7
+ notificationPreference: false,
8
+ };
9
+ }
10
+ }
11
+ export class RegisterDeviceRequestFactory {
12
+ create(request) {
13
+ return Object.assign(Object.assign({}, request.data()), { notificationPreference: true });
14
+ }
15
+ }
@@ -0,0 +1,13 @@
1
+ import { LoggerProvider } from "../../../logger/index.js";
2
+ import { BWellTransactionResult } from "../../../results/index.js";
3
+ import type { DeviceManager } from "../../base/device/device-manager.js";
4
+ import { DeregisterDeviceRequest, DeviceRegistrationResults, RegisterDeviceRequest } from "../../base/device/index.js";
5
+ import { BaseManagerError } from "../../base/errors.js";
6
+ import { GraphQLManager } from "../graphql-manager/index.js";
7
+ import type { GraphQLSdk } from "../graphql-sdk/index.js";
8
+ export declare class GraphQLDeviceManager extends GraphQLManager implements DeviceManager {
9
+ #private;
10
+ constructor(sdk: GraphQLSdk, loggerProvider?: LoggerProvider);
11
+ registerDevice(request: RegisterDeviceRequest): Promise<BWellTransactionResult<DeviceRegistrationResults, BaseManagerError>>;
12
+ deregisterDevice(request: DeregisterDeviceRequest): Promise<BWellTransactionResult<DeviceRegistrationResults, BaseManagerError>>;
13
+ }