@rytass/bpm-core-client 0.1.2 → 0.1.3

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 (61) hide show
  1. package/README.md +113 -3
  2. package/eslint.config.mjs +19 -0
  3. package/jest.config.cts +10 -0
  4. package/package.json +4 -5
  5. package/project.json +66 -0
  6. package/src/lib/api-auth-client.ts +169 -0
  7. package/src/lib/form/form-api.spec.ts +81 -0
  8. package/src/lib/form/form-api.ts +388 -0
  9. package/src/lib/form/form-rendering.ts +580 -0
  10. package/src/lib/graphql-client.spec.ts +65 -0
  11. package/src/lib/graphql-client.ts +114 -0
  12. package/src/lib/member-api.ts +129 -0
  13. package/src/lib/organization/organization-api.spec.ts +90 -0
  14. package/src/lib/organization/organization-api.ts +710 -0
  15. package/src/lib/template/template-api.spec.ts +88 -0
  16. package/src/lib/template/template-api.ts +772 -0
  17. package/src/lib/workflow/workflow-api.spec.ts +132 -0
  18. package/src/lib/workflow/workflow-api.ts +1749 -0
  19. package/tsconfig.json +27 -0
  20. package/tsconfig.lib.json +16 -0
  21. package/tsconfig.spec.json +16 -0
  22. package/LICENSE +0 -21
  23. package/src/index.js +0 -7
  24. package/src/index.js.map +0 -1
  25. package/src/lib/api-auth-client.d.ts +0 -73
  26. package/src/lib/api-auth-client.js +0 -121
  27. package/src/lib/api-auth-client.js.map +0 -1
  28. package/src/lib/form/form-api.d.ts +0 -48
  29. package/src/lib/form/form-api.js +0 -228
  30. package/src/lib/form/form-api.js.map +0 -1
  31. package/src/lib/form/form-rendering.d.ts +0 -52
  32. package/src/lib/form/form-rendering.js +0 -341
  33. package/src/lib/form/form-rendering.js.map +0 -1
  34. package/src/lib/form/index.js +0 -6
  35. package/src/lib/form/index.js.map +0 -1
  36. package/src/lib/graphql-client.d.ts +0 -45
  37. package/src/lib/graphql-client.js +0 -92
  38. package/src/lib/graphql-client.js.map +0 -1
  39. package/src/lib/member-api.d.ts +0 -49
  40. package/src/lib/member-api.js +0 -72
  41. package/src/lib/member-api.js.map +0 -1
  42. package/src/lib/organization/index.js +0 -5
  43. package/src/lib/organization/index.js.map +0 -1
  44. package/src/lib/organization/organization-api.d.ts +0 -168
  45. package/src/lib/organization/organization-api.js +0 -394
  46. package/src/lib/organization/organization-api.js.map +0 -1
  47. package/src/lib/template/index.js +0 -5
  48. package/src/lib/template/index.js.map +0 -1
  49. package/src/lib/template/template-api.d.ts +0 -150
  50. package/src/lib/template/template-api.js +0 -407
  51. package/src/lib/template/template-api.js.map +0 -1
  52. package/src/lib/workflow/index.js +0 -5
  53. package/src/lib/workflow/index.js.map +0 -1
  54. package/src/lib/workflow/workflow-api.d.ts +0 -376
  55. package/src/lib/workflow/workflow-api.js +0 -867
  56. package/src/lib/workflow/workflow-api.js.map +0 -1
  57. /package/src/{index.d.ts → index.ts} +0 -0
  58. /package/src/lib/form/{index.d.ts → index.ts} +0 -0
  59. /package/src/lib/organization/{index.d.ts → index.ts} +0 -0
  60. /package/src/lib/template/{index.d.ts → index.ts} +0 -0
  61. /package/src/lib/workflow/{index.d.ts → index.ts} +0 -0
@@ -1,341 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildFormRendererValues = buildFormRendererValues;
4
- exports.readVisibleFormRendererFields = readVisibleFormRendererFields;
5
- exports.validateFormRendererValues = validateFormRendererValues;
6
- exports.focusFormRendererField = focusFormRendererField;
7
- exports.isFormRendererFieldVisible = isFormRendererFieldVisible;
8
- exports.isFormRendererFieldRequired = isFormRendererFieldRequired;
9
- exports.isFormRendererFieldReadonly = isFormRendererFieldReadonly;
10
- exports.evaluateConditionExpression = evaluateConditionExpression;
11
- exports.parseConditionRule = parseConditionRule;
12
- exports.buildConditionExpression = buildConditionExpression;
13
- exports.readDefaultConditionOperator = readDefaultConditionOperator;
14
- exports.readDefaultConditionValue = readDefaultConditionValue;
15
- exports.readConditionOperatorOptions = readConditionOperatorOptions;
16
- exports.readConditionOperatorOption = readConditionOperatorOption;
17
- exports.readDatePickerValue = readDatePickerValue;
18
- exports.formatDatePickerValue = formatDatePickerValue;
19
- exports.formatDateTimePickerValue = formatDateTimePickerValue;
20
- exports.isNumberFieldDefinition = isNumberFieldDefinition;
21
- exports.isDateFieldDefinition = isDateFieldDefinition;
22
- exports.isSelectFieldDefinition = isSelectFieldDefinition;
23
- exports.readSelectOption = readSelectOption;
24
- exports.readFieldOptionAsSelectOption = readFieldOptionAsSelectOption;
25
- exports.parseOptionalNumberInput = parseOptionalNumberInput;
26
- exports.clampOptionalNumber = clampOptionalNumber;
27
- function buildFormRendererValues(fields, currentValues) {
28
- return fields.reduce((values, field) => ({
29
- ...values,
30
- [field.fieldKey]: typeof currentValues[field.fieldKey] === 'undefined'
31
- ? readInitialFormRendererValue(field)
32
- : currentValues[field.fieldKey],
33
- }), {});
34
- }
35
- function readVisibleFormRendererFields(schema, uiSchema, values) {
36
- const fieldsByKey = new Map(schema.fields.map((field) => [field.fieldKey, field]));
37
- const orderedFields = [
38
- ...uiSchema.layout
39
- .map((item) => fieldsByKey.get(item.fieldKey))
40
- .filter((field) => Boolean(field)),
41
- ...schema.fields.filter((field) => !uiSchema.layout.some((item) => item.fieldKey === field.fieldKey)),
42
- ];
43
- return orderedFields.filter((field) => isFormRendererFieldVisible(field, schema.fields, values));
44
- }
45
- function validateFormRendererValues({ schema, uiSchema, values, }) {
46
- const visibleFields = readVisibleFormRendererFields(schema, uiSchema, values);
47
- const errors = visibleFields.reduce((currentErrors, field) => isFormRendererFieldRequired(field, schema.fields, values) &&
48
- !isFormRendererFieldValuePresent(values[field.fieldKey])
49
- ? {
50
- ...currentErrors,
51
- [field.fieldKey]: `${field.label || field.fieldKey}為必填欄位。`,
52
- }
53
- : currentErrors, {});
54
- const firstInvalidFieldKey = visibleFields.find((field) => errors[field.fieldKey])?.fieldKey;
55
- return {
56
- errors,
57
- firstInvalidFieldKey: firstInvalidFieldKey ?? null,
58
- valid: Object.keys(errors).length === 0,
59
- };
60
- }
61
- function focusFormRendererField(fieldKey) {
62
- const fieldElement = document.querySelector(`[data-form-field-key="${CSS.escape(fieldKey)}"]`);
63
- const focusableElement = fieldElement?.querySelector('input, textarea, button, [tabindex]:not([tabindex="-1"])');
64
- focusableElement?.focus();
65
- fieldElement?.scrollIntoView({ behavior: 'smooth', block: 'center' });
66
- }
67
- function isFormRendererFieldVisible(field, fields, values) {
68
- return field.visibleWhen
69
- ? evaluateConditionExpression(field.visibleWhen, fields, values, true)
70
- : true;
71
- }
72
- function isFormRendererFieldRequired(field, fields, values) {
73
- return (field.required ||
74
- Boolean(field.requiredWhen
75
- ? evaluateConditionExpression(field.requiredWhen, fields, values, false)
76
- : false));
77
- }
78
- function isFormRendererFieldReadonly(field, fields, values) {
79
- return field.readonlyWhen
80
- ? evaluateConditionExpression(field.readonlyWhen, fields, values, false)
81
- : false;
82
- }
83
- function evaluateConditionExpression(expression, fields, values, fallback) {
84
- const rule = parseConditionRule(expression);
85
- if (!rule) {
86
- return fallback;
87
- }
88
- const field = fields.find((candidate) => candidate.fieldKey === rule.fieldKey);
89
- if (!field) {
90
- return fallback;
91
- }
92
- return evaluateConditionRule(rule, field, values[field.fieldKey]);
93
- }
94
- function parseConditionRule(expression) {
95
- const match = expression
96
- .trim()
97
- .match(/^form\.([A-Za-z][A-Za-z0-9_]*)\s*(==|!=|>=|<=|>|<)\s*(.+)$/u);
98
- if (!match) {
99
- return null;
100
- }
101
- const operator = readConditionOperatorFromSymbol(match[2]);
102
- if (!operator) {
103
- return null;
104
- }
105
- return {
106
- fieldKey: match[1],
107
- operator,
108
- value: parseConditionLiteral(match[3]),
109
- };
110
- }
111
- function buildConditionExpression(field, operator, value) {
112
- return `form.${field.fieldKey} ${readConditionOperatorSymbol(operator)} ${formatConditionLiteral(field, value)}`;
113
- }
114
- function readDefaultConditionOperator(field) {
115
- return isComparableConditionField(field) ? 'greaterThan' : 'equals';
116
- }
117
- function readDefaultConditionValue(field) {
118
- if (field.type === 'boolean') {
119
- return 'true';
120
- }
121
- if (isSelectFieldDefinition(field)) {
122
- return field.options[0]?.value ?? '';
123
- }
124
- return '';
125
- }
126
- function readConditionOperatorOptions(field) {
127
- const operatorIds = isComparableConditionField(field)
128
- ? [
129
- 'equals',
130
- 'notEquals',
131
- 'greaterThan',
132
- 'greaterThanOrEqual',
133
- 'lessThan',
134
- 'lessThanOrEqual',
135
- ]
136
- : ['equals', 'notEquals'];
137
- return CONDITION_OPERATOR_OPTIONS.filter((option) => operatorIds.includes(option.id));
138
- }
139
- function readConditionOperatorOption(value) {
140
- return CONDITION_OPERATOR_OPTIONS.some((option) => option.id === value)
141
- ? value
142
- : null;
143
- }
144
- function readDatePickerValue(value) {
145
- return typeof value === 'string' && value.trim() ? value : undefined;
146
- }
147
- function formatDatePickerValue(value) {
148
- const date = value ? parseDatePickerValue(value) : null;
149
- return date ? formatDateParts(date) : undefined;
150
- }
151
- function formatDateTimePickerValue(value) {
152
- const date = value ? parseDatePickerValue(value) : null;
153
- return date ? date.toISOString() : undefined;
154
- }
155
- function isNumberFieldDefinition(field) {
156
- return field.type === 'number' || field.type === 'money';
157
- }
158
- function isDateFieldDefinition(field) {
159
- return field.type === 'date' || field.type === 'datetime';
160
- }
161
- function isSelectFieldDefinition(field) {
162
- return (field.type === 'select' ||
163
- field.type === 'radio' ||
164
- field.type === 'checkbox');
165
- }
166
- function readSelectOption(options, id) {
167
- return options.find((option) => option.id === id) ?? null;
168
- }
169
- function readFieldOptionAsSelectOption(option) {
170
- return {
171
- id: option.value,
172
- name: option.label,
173
- };
174
- }
175
- function parseOptionalNumberInput(value) {
176
- const trimmedValue = value.trim();
177
- if (!trimmedValue) {
178
- return undefined;
179
- }
180
- const nextValue = Number(trimmedValue);
181
- return Number.isFinite(nextValue) ? nextValue : undefined;
182
- }
183
- function clampOptionalNumber(value, range) {
184
- if (typeof value === 'undefined') {
185
- return undefined;
186
- }
187
- if (typeof range.min === 'number' && value < range.min) {
188
- return range.min;
189
- }
190
- if (typeof range.max === 'number' && value > range.max) {
191
- return range.max;
192
- }
193
- return value;
194
- }
195
- const CONDITION_OPERATOR_OPTIONS = [
196
- { id: 'equals', name: '等於' },
197
- { id: 'notEquals', name: '不等於' },
198
- { id: 'greaterThan', name: '大於' },
199
- { id: 'greaterThanOrEqual', name: '大於等於' },
200
- { id: 'lessThan', name: '小於' },
201
- { id: 'lessThanOrEqual', name: '小於等於' },
202
- ];
203
- function readInitialFormRendererValue(field) {
204
- if (typeof field.defaultValue !== 'undefined') {
205
- return field.defaultValue;
206
- }
207
- if (field.type === 'boolean') {
208
- return false;
209
- }
210
- if (field.type === 'checkbox' || field.type === 'file_upload') {
211
- return [];
212
- }
213
- return undefined;
214
- }
215
- function isFormRendererFieldValuePresent(value) {
216
- if (typeof value === 'undefined' || value === null) {
217
- return false;
218
- }
219
- if (typeof value === 'string') {
220
- return value.trim().length > 0;
221
- }
222
- if (Array.isArray(value)) {
223
- return value.length > 0;
224
- }
225
- return true;
226
- }
227
- function evaluateConditionRule(rule, field, value) {
228
- if (Array.isArray(value)) {
229
- return evaluateArrayCondition(value, rule);
230
- }
231
- if (field.type === 'boolean') {
232
- return compareConditionValues(value === true ? 'true' : 'false', rule.value, rule.operator);
233
- }
234
- if (isNumberFieldDefinition(field)) {
235
- return compareNumericCondition(value, rule);
236
- }
237
- return compareConditionValues(typeof value === 'undefined' || value === null ? '' : String(value), rule.value, rule.operator);
238
- }
239
- function evaluateArrayCondition(value, rule) {
240
- if (rule.operator === 'equals') {
241
- return value.includes(rule.value);
242
- }
243
- if (rule.operator === 'notEquals') {
244
- return !value.includes(rule.value);
245
- }
246
- return false;
247
- }
248
- function compareNumericCondition(value, rule) {
249
- const actualValue = typeof value === 'number' ? value : Number(value);
250
- const expectedValue = Number(rule.value);
251
- if (!Number.isFinite(actualValue) || !Number.isFinite(expectedValue)) {
252
- return false;
253
- }
254
- return compareConditionValues(actualValue, expectedValue, rule.operator);
255
- }
256
- function compareConditionValues(actualValue, expectedValue, operator) {
257
- if (operator === 'equals') {
258
- return actualValue === expectedValue;
259
- }
260
- if (operator === 'notEquals') {
261
- return actualValue !== expectedValue;
262
- }
263
- if (operator === 'greaterThan') {
264
- return actualValue > expectedValue;
265
- }
266
- if (operator === 'greaterThanOrEqual') {
267
- return actualValue >= expectedValue;
268
- }
269
- if (operator === 'lessThan') {
270
- return actualValue < expectedValue;
271
- }
272
- return actualValue <= expectedValue;
273
- }
274
- function readConditionOperatorFromSymbol(symbol) {
275
- const operators = {
276
- '!=': 'notEquals',
277
- '<': 'lessThan',
278
- '<=': 'lessThanOrEqual',
279
- '==': 'equals',
280
- '>': 'greaterThan',
281
- '>=': 'greaterThanOrEqual',
282
- };
283
- return symbol ? (operators[symbol] ?? null) : null;
284
- }
285
- function readConditionOperatorSymbol(operator) {
286
- const symbols = {
287
- equals: '==',
288
- greaterThan: '>',
289
- greaterThanOrEqual: '>=',
290
- lessThan: '<',
291
- lessThanOrEqual: '<=',
292
- notEquals: '!=',
293
- };
294
- return symbols[operator];
295
- }
296
- function parseConditionLiteral(value) {
297
- const trimmedValue = value.trim();
298
- if ((trimmedValue.startsWith('"') && trimmedValue.endsWith('"')) ||
299
- (trimmedValue.startsWith("'") && trimmedValue.endsWith("'"))) {
300
- return trimmedValue.slice(1, -1);
301
- }
302
- return trimmedValue;
303
- }
304
- function formatConditionLiteral(field, value) {
305
- if (field.type === 'boolean') {
306
- return value === 'false' ? 'false' : 'true';
307
- }
308
- if (isNumberFieldDefinition(field)) {
309
- return String(parseOptionalNumberInput(value) ?? 0);
310
- }
311
- return JSON.stringify(value);
312
- }
313
- function isComparableConditionField(field) {
314
- return (field.type === 'date' ||
315
- field.type === 'datetime' ||
316
- field.type === 'money' ||
317
- field.type === 'number');
318
- }
319
- const DATE_VALUE_PATTERN = /^\d{4}-\d{2}-\d{2}$/u;
320
- const DATE_TIME_VALUE_PATTERN = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/u;
321
- function parseDatePickerValue(value) {
322
- if (DATE_TIME_VALUE_PATTERN.test(value)) {
323
- const [datePart = '', timePart = '00:00'] = value.split('T');
324
- const [year = 0, month = 1, day = 1] = datePart.split('-').map(Number);
325
- const [hour = 0, minute = 0] = timePart.split(':').map(Number);
326
- return new Date(year, month - 1, day, hour, minute);
327
- }
328
- if (DATE_VALUE_PATTERN.test(value)) {
329
- const [year = 0, month = 1, day = 1] = value.split('-').map(Number);
330
- return new Date(year, month - 1, day);
331
- }
332
- const date = new Date(value);
333
- return Number.isNaN(date.getTime()) ? null : date;
334
- }
335
- function formatDateParts(date) {
336
- return `${date.getFullYear()}-${padDatePart(date.getMonth() + 1)}-${padDatePart(date.getDate())}`;
337
- }
338
- function padDatePart(value) {
339
- return String(value).padStart(2, '0');
340
- }
341
- //# sourceMappingURL=form-rendering.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-rendering.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core-client/src/lib/form/form-rendering.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./form-api"), exports);
5
- tslib_1.__exportStar(require("./form-rendering"), exports);
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core-client/src/lib/form/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,2DAAiC"}
@@ -1,45 +0,0 @@
1
- /**
2
- * Sends a single GraphQL operation to the BPM host and returns the typed data.
3
- *
4
- * Uses the standard Fetch API with `credentials: 'include'`, so any
5
- * HTTP-only session cookie issued by the host's `POST /auth/login` endpoint
6
- * flows back automatically on subsequent calls.
7
- *
8
- * The endpoint URL is resolved by {@link readGraphQlEndpoint} — set
9
- * `NEXT_PUBLIC_API_URL` to override the default localhost / same-origin
10
- * resolution.
11
- *
12
- * Throws an `Error` when the HTTP response is non-2xx, when the GraphQL
13
- * payload carries an `errors` array, or when the response has no `data`
14
- * field.
15
- *
16
- * @typeParam TData - Shape of the `data` field for the operation.
17
- * @param query - GraphQL operation document (query or mutation source).
18
- * @param variables - Variables passed to the GraphQL operation.
19
- *
20
- * @example
21
- * ```ts
22
- * interface PingData { readonly memberCount: number; }
23
- * const data = await requestGraphQl<PingData>('query Ping { memberCount }');
24
- * console.log(data.memberCount);
25
- * ```
26
- */
27
- export declare function requestGraphQl<TData>(query: string, variables?: Readonly<Record<string, unknown>>): Promise<TData>;
28
- /**
29
- * Resolves the GraphQL endpoint URL used by {@link requestGraphQl}.
30
- *
31
- * Resolution order:
32
- * 1. `process.env.NEXT_PUBLIC_API_URL` if non-empty.
33
- * 2. `http://localhost:17603/graphql` when the browser is on
34
- * `localhost` / `127.0.0.1`.
35
- * 3. Same-origin `/graphql` for any other hostname (and for non-browser
36
- * runtimes such as Node SSR).
37
- */
38
- export declare function readGraphQlEndpoint(): string;
39
- /**
40
- * Pure helper used by {@link readGraphQlEndpoint}.
41
- *
42
- * Exposed mainly for tests and for hosts that want to derive their own
43
- * endpoint URLs without coupling to environment variables.
44
- */
45
- export declare function resolveDefaultGraphQlEndpoint(hostname: string | null): string;
@@ -1,92 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.requestGraphQl = requestGraphQl;
4
- exports.readGraphQlEndpoint = readGraphQlEndpoint;
5
- exports.resolveDefaultGraphQlEndpoint = resolveDefaultGraphQlEndpoint;
6
- const LOCAL_GRAPHQL_ENDPOINT = 'http://localhost:17603/graphql';
7
- const SAME_ORIGIN_GRAPHQL_ENDPOINT = '/graphql';
8
- /**
9
- * Sends a single GraphQL operation to the BPM host and returns the typed data.
10
- *
11
- * Uses the standard Fetch API with `credentials: 'include'`, so any
12
- * HTTP-only session cookie issued by the host's `POST /auth/login` endpoint
13
- * flows back automatically on subsequent calls.
14
- *
15
- * The endpoint URL is resolved by {@link readGraphQlEndpoint} — set
16
- * `NEXT_PUBLIC_API_URL` to override the default localhost / same-origin
17
- * resolution.
18
- *
19
- * Throws an `Error` when the HTTP response is non-2xx, when the GraphQL
20
- * payload carries an `errors` array, or when the response has no `data`
21
- * field.
22
- *
23
- * @typeParam TData - Shape of the `data` field for the operation.
24
- * @param query - GraphQL operation document (query or mutation source).
25
- * @param variables - Variables passed to the GraphQL operation.
26
- *
27
- * @example
28
- * ```ts
29
- * interface PingData { readonly memberCount: number; }
30
- * const data = await requestGraphQl<PingData>('query Ping { memberCount }');
31
- * console.log(data.memberCount);
32
- * ```
33
- */
34
- async function requestGraphQl(query, variables) {
35
- const response = await fetch(readGraphQlEndpoint(), {
36
- body: JSON.stringify({ query, variables }),
37
- credentials: 'include',
38
- headers: buildGraphQlHeaders(),
39
- method: 'POST',
40
- });
41
- if (!response.ok) {
42
- throw new Error(`GraphQL request failed with HTTP ${response.status}`);
43
- }
44
- const payload = (await response.json());
45
- if (payload.errors?.length) {
46
- throw new Error(payload.errors.map((error) => error.message).join('; '));
47
- }
48
- if (!payload.data) {
49
- throw new Error('GraphQL response did not include data');
50
- }
51
- return payload.data;
52
- }
53
- /**
54
- * Resolves the GraphQL endpoint URL used by {@link requestGraphQl}.
55
- *
56
- * Resolution order:
57
- * 1. `process.env.NEXT_PUBLIC_API_URL` if non-empty.
58
- * 2. `http://localhost:17603/graphql` when the browser is on
59
- * `localhost` / `127.0.0.1`.
60
- * 3. Same-origin `/graphql` for any other hostname (and for non-browser
61
- * runtimes such as Node SSR).
62
- */
63
- function readGraphQlEndpoint() {
64
- return (readOptionalPublicEnvValue(process.env.NEXT_PUBLIC_API_URL) ??
65
- resolveDefaultGraphQlEndpoint(readBrowserHostname()));
66
- }
67
- /**
68
- * Pure helper used by {@link readGraphQlEndpoint}.
69
- *
70
- * Exposed mainly for tests and for hosts that want to derive their own
71
- * endpoint URLs without coupling to environment variables.
72
- */
73
- function resolveDefaultGraphQlEndpoint(hostname) {
74
- return isLocalHost(hostname)
75
- ? LOCAL_GRAPHQL_ENDPOINT
76
- : SAME_ORIGIN_GRAPHQL_ENDPOINT;
77
- }
78
- function buildGraphQlHeaders() {
79
- return {
80
- 'Content-Type': 'application/json',
81
- };
82
- }
83
- function readOptionalPublicEnvValue(value) {
84
- return value?.trim() || null;
85
- }
86
- function readBrowserHostname() {
87
- return typeof window === 'undefined' ? null : window.location.hostname;
88
- }
89
- function isLocalHost(hostname) {
90
- return hostname === 'localhost' || hostname === '127.0.0.1';
91
- }
92
- //# sourceMappingURL=graphql-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphql-client.js","sourceRoot":"","sources":["../../../../../libs/bpm-core-client/src/lib/graphql-client.ts"],"names":[],"mappings":";;AAsCA,wCA0BC;AAYD,kDAKC;AAQD,sEAMC;AA/FD,MAAM,sBAAsB,GAAG,gCAAgC,CAAC;AAChE,MAAM,4BAA4B,GAAG,UAAU,CAAC;AAWhD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,KAAK,UAAU,cAAc,CAClC,KAAa,EACb,SAA6C;IAE7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,mBAAmB,EAAE,EAAE;QAClD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC1C,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,mBAAmB,EAAE;QAC9B,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA2B,CAAC;IAElE,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,mBAAmB;IACjC,OAAO,CACL,0BAA0B,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAC3D,6BAA6B,CAAC,mBAAmB,EAAE,CAAC,CACrD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,6BAA6B,CAC3C,QAAuB;IAEvB,OAAO,WAAW,CAAC,QAAQ,CAAC;QAC1B,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,4BAA4B,CAAC;AACnC,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO;QACL,cAAc,EAAE,kBAAkB;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAyB;IAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;AAC/B,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACzE,CAAC;AAED,SAAS,WAAW,CAAC,QAAuB;IAC1C,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW,CAAC;AAC9D,CAAC"}
@@ -1,49 +0,0 @@
1
- /**
2
- * Member profile record exposed by the BPM identity GraphQL surface.
3
- *
4
- * `customFieldsJson` is a stringified JSON blob — BPM does not impose a
5
- * schema on host-side member metadata. Consumers parse it according to
6
- * their own host conventions.
7
- */
8
- export interface MemberProfileRecord {
9
- readonly customFieldsJson: string;
10
- readonly email: string;
11
- readonly memberId: string;
12
- readonly name: string;
13
- }
14
- /**
15
- * A paginated slice of the host member directory, returned by
16
- * {@link listMemberDirectoryPage}.
17
- */
18
- export interface MemberDirectoryPage {
19
- readonly members: readonly MemberProfileRecord[];
20
- readonly totalCount: number;
21
- }
22
- /**
23
- * Resolves a set of `memberId`s into full member profile records by hitting
24
- * BPM's `members(memberIds: [String!]!)` GraphQL query, which in turn calls
25
- * the host-provided `BPMMemberResolver.resolveMany`.
26
- *
27
- * Returns an empty array when given an empty input — does not make a
28
- * network call in that case.
29
- */
30
- export declare function resolveMembers(memberIds: readonly string[]): Promise<readonly MemberProfileRecord[]>;
31
- /**
32
- * Free-text search over the host's member directory through BPM's
33
- * `searchMembers(searchText: String!)` query. The matching strategy is
34
- * defined by the host's `BPMMemberResolver.search` implementation.
35
- */
36
- export declare function searchMembers(searchText: string): Promise<readonly MemberProfileRecord[]>;
37
- /**
38
- * Reads a single page of the member directory (search + total count in a
39
- * single GraphQL roundtrip).
40
- *
41
- * @param page - 1-based page index.
42
- * @param pageSize - Items per page.
43
- * @param searchText - Optional free-text filter; empty string returns all.
44
- */
45
- export declare function listMemberDirectoryPage({ page, pageSize, searchText, }: {
46
- readonly page: number;
47
- readonly pageSize: number;
48
- readonly searchText?: string;
49
- }): Promise<MemberDirectoryPage>;
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveMembers = resolveMembers;
4
- exports.searchMembers = searchMembers;
5
- exports.listMemberDirectoryPage = listMemberDirectoryPage;
6
- const graphql_client_1 = require("./graphql-client");
7
- /**
8
- * Resolves a set of `memberId`s into full member profile records by hitting
9
- * BPM's `members(memberIds: [String!]!)` GraphQL query, which in turn calls
10
- * the host-provided `BPMMemberResolver.resolveMany`.
11
- *
12
- * Returns an empty array when given an empty input — does not make a
13
- * network call in that case.
14
- */
15
- async function resolveMembers(memberIds) {
16
- if (!memberIds.length) {
17
- return [];
18
- }
19
- const data = await (0, graphql_client_1.requestGraphQl)(`query AdminMembers($memberIds: [String!]!) {
20
- members(memberIds: $memberIds) {
21
- customFieldsJson
22
- email
23
- memberId
24
- name
25
- }
26
- }`, { memberIds });
27
- return data.members;
28
- }
29
- /**
30
- * Free-text search over the host's member directory through BPM's
31
- * `searchMembers(searchText: String!)` query. The matching strategy is
32
- * defined by the host's `BPMMemberResolver.search` implementation.
33
- */
34
- async function searchMembers(searchText) {
35
- const data = await (0, graphql_client_1.requestGraphQl)(`query AdminSearchMembers($searchText: String!) {
36
- searchMembers(searchText: $searchText) {
37
- customFieldsJson
38
- email
39
- memberId
40
- name
41
- }
42
- }`, { searchText });
43
- return data.searchMembers;
44
- }
45
- /**
46
- * Reads a single page of the member directory (search + total count in a
47
- * single GraphQL roundtrip).
48
- *
49
- * @param page - 1-based page index.
50
- * @param pageSize - Items per page.
51
- * @param searchText - Optional free-text filter; empty string returns all.
52
- */
53
- async function listMemberDirectoryPage({ page, pageSize, searchText = '', }) {
54
- const data = await (0, graphql_client_1.requestGraphQl)(`query AdminMemberDirectoryPage(
55
- $page: Int
56
- $pageSize: Int
57
- $searchText: String!
58
- ) {
59
- searchMembers(page: $page, pageSize: $pageSize, searchText: $searchText) {
60
- customFieldsJson
61
- email
62
- memberId
63
- name
64
- }
65
- memberCount(searchText: $searchText)
66
- }`, { page, pageSize, searchText });
67
- return {
68
- members: data.searchMembers,
69
- totalCount: data.memberCount,
70
- };
71
- }
72
- //# sourceMappingURL=member-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"member-api.js","sourceRoot":"","sources":["../../../../../libs/bpm-core-client/src/lib/member-api.ts"],"names":[],"mappings":";;AA6CA,wCAoBC;AAOD,sCAgBC;AAUD,0DA8BC;AAhID,qDAAkD;AAqClD;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAClC,SAA4B;IAE5B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,+BAAc,EAC/B;;;;;;;MAOE,EACF,EAAE,SAAS,EAAE,CACd,CAAC;IAEF,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,aAAa,CACjC,UAAkB;IAElB,MAAM,IAAI,GAAG,MAAM,IAAA,+BAAc,EAC/B;;;;;;;MAOE,EACF,EAAE,UAAU,EAAE,CACf,CAAC;IAEF,OAAO,IAAI,CAAC,aAAa,CAAC;AAC5B,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,uBAAuB,CAAC,EAC5C,IAAI,EACJ,QAAQ,EACR,UAAU,GAAG,EAAE,GAKhB;IACC,MAAM,IAAI,GAAG,MAAM,IAAA,+BAAc,EAC/B;;;;;;;;;;;;MAYE,EACF,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAC/B,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,aAAa;QAC3B,UAAU,EAAE,IAAI,CAAC,WAAW;KAC7B,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./organization-api"), exports);
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core-client/src/lib/organization/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC"}