@ram_28/kf-ai-sdk 2.0.1 → 2.0.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.
- package/README.md +36 -39
- package/dist/BaseField-B6da88U7.js +40 -0
- package/dist/BaseField-Drp0-OxL.cjs +1 -0
- package/dist/api/client.d.ts +7 -0
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/metadata.d.ts +26 -22
- package/dist/api/metadata.d.ts.map +1 -1
- package/dist/api.cjs +1 -1
- package/dist/api.mjs +3 -3
- package/dist/auth.cjs +1 -1
- package/dist/auth.mjs +2 -2
- package/dist/base-types.d.ts +1 -1
- package/dist/base-types.d.ts.map +1 -1
- package/dist/bdo/core/BaseBdo.d.ts +12 -20
- package/dist/bdo/core/BaseBdo.d.ts.map +1 -1
- package/dist/bdo/core/Item.d.ts +8 -44
- package/dist/bdo/core/Item.d.ts.map +1 -1
- package/dist/bdo/core/types.d.ts +124 -41
- package/dist/bdo/core/types.d.ts.map +1 -1
- package/dist/bdo/fields/ArrayField.d.ts +5 -4
- package/dist/bdo/fields/ArrayField.d.ts.map +1 -1
- package/dist/bdo/fields/BaseField.d.ts +14 -19
- package/dist/bdo/fields/BaseField.d.ts.map +1 -1
- package/dist/bdo/fields/BooleanField.d.ts +3 -4
- package/dist/bdo/fields/BooleanField.d.ts.map +1 -1
- package/dist/bdo/fields/DateField.d.ts +3 -4
- package/dist/bdo/fields/DateField.d.ts.map +1 -1
- package/dist/bdo/fields/DateTimeField.d.ts +5 -4
- package/dist/bdo/fields/DateTimeField.d.ts.map +1 -1
- package/dist/bdo/fields/FileField.d.ts +18 -0
- package/dist/bdo/fields/FileField.d.ts.map +1 -0
- package/dist/bdo/fields/NumberField.d.ts +6 -4
- package/dist/bdo/fields/NumberField.d.ts.map +1 -1
- package/dist/bdo/fields/ObjectField.d.ts +5 -4
- package/dist/bdo/fields/ObjectField.d.ts.map +1 -1
- package/dist/bdo/fields/ReferenceField.d.ts +13 -14
- package/dist/bdo/fields/ReferenceField.d.ts.map +1 -1
- package/dist/bdo/fields/SelectField.d.ts +9 -16
- package/dist/bdo/fields/SelectField.d.ts.map +1 -1
- package/dist/bdo/fields/StringField.d.ts +6 -4
- package/dist/bdo/fields/StringField.d.ts.map +1 -1
- package/dist/bdo/fields/TextAreaField.d.ts +1 -18
- package/dist/bdo/fields/TextAreaField.d.ts.map +1 -1
- package/dist/bdo/fields/TextField.d.ts +22 -0
- package/dist/bdo/fields/TextField.d.ts.map +1 -0
- package/dist/bdo/fields/UserField.d.ts +20 -0
- package/dist/bdo/fields/UserField.d.ts.map +1 -0
- package/dist/bdo/fields/index.d.ts +5 -2
- package/dist/bdo/fields/index.d.ts.map +1 -1
- package/dist/bdo/index.d.ts +2 -2
- package/dist/bdo/index.d.ts.map +1 -1
- package/dist/bdo.cjs +1 -1
- package/dist/bdo.d.ts +1 -5
- package/dist/bdo.d.ts.map +1 -1
- package/dist/bdo.mjs +286 -243
- package/dist/bdo.types.d.ts +2 -3
- package/dist/bdo.types.d.ts.map +1 -1
- package/dist/{client-BIkaIr2y.js → client-BULEEaCP.js} +84 -79
- package/dist/client-DtPpfJc1.cjs +1 -0
- package/dist/components/hooks/useFilter/useFilter.d.ts.map +1 -1
- package/dist/components/hooks/useForm/createItemProxy.d.ts.map +1 -1
- package/dist/components/hooks/useForm/createResolver.d.ts +12 -2
- package/dist/components/hooks/useForm/createResolver.d.ts.map +1 -1
- package/dist/components/hooks/useForm/index.d.ts +1 -1
- package/dist/components/hooks/useForm/index.d.ts.map +1 -1
- package/dist/components/hooks/useForm/types.d.ts +77 -8
- package/dist/components/hooks/useForm/types.d.ts.map +1 -1
- package/dist/components/hooks/useForm/useDraftInteraction.d.ts +26 -0
- package/dist/components/hooks/useForm/useDraftInteraction.d.ts.map +1 -0
- package/dist/components/hooks/useForm/useForm.d.ts +2 -27
- package/dist/components/hooks/useForm/useForm.d.ts.map +1 -1
- package/dist/components/hooks/useTable/useTable.d.ts.map +1 -1
- package/dist/{constants-DaX7GLgl.js → constants-BQrBcCON.js} +37 -13
- package/dist/constants-D0J69if5.cjs +1 -0
- package/dist/error-handling-CAoD0Kwb.cjs +1 -0
- package/dist/error-handling-CrhTtD88.js +14 -0
- package/dist/filter.cjs +1 -1
- package/dist/filter.mjs +2 -2
- package/dist/form.cjs +1 -1
- package/dist/form.d.ts +1 -1
- package/dist/form.d.ts.map +1 -1
- package/dist/form.mjs +333 -1142
- package/dist/form.types.d.ts +1 -1
- package/dist/form.types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm-Cj63v5ny.js +1014 -0
- package/dist/index.esm-DuwT11sx.cjs +1 -0
- package/dist/{metadata-Bz8zJqC1.cjs → metadata-BJWukIqS.cjs} +1 -1
- package/dist/{metadata-VbQzyD2C.js → metadata-CJuFxytC.js} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.mjs +116 -122
- package/dist/types/base-fields.d.ts +24 -59
- package/dist/types/base-fields.d.ts.map +1 -1
- package/dist/types/constants.d.ts +2 -2
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/useFilter-Bg0jvIL6.cjs +1 -0
- package/dist/useFilter-DPNLKY3H.js +118 -0
- package/dist/utils/formatting.d.ts +10 -1
- package/dist/utils/formatting.d.ts.map +1 -1
- package/dist/workflow/Activity.d.ts +85 -0
- package/dist/workflow/Activity.d.ts.map +1 -0
- package/dist/workflow/ActivityInstance.d.ts +96 -0
- package/dist/workflow/ActivityInstance.d.ts.map +1 -0
- package/dist/workflow/client.d.ts +39 -0
- package/dist/workflow/client.d.ts.map +1 -0
- package/dist/workflow/components/useActivityForm/createActivityItemProxy.d.ts +16 -0
- package/dist/workflow/components/useActivityForm/createActivityItemProxy.d.ts.map +1 -0
- package/dist/workflow/components/useActivityForm/createActivityResolver.d.ts +22 -0
- package/dist/workflow/components/useActivityForm/createActivityResolver.d.ts.map +1 -0
- package/dist/workflow/components/useActivityForm/index.d.ts +3 -0
- package/dist/workflow/components/useActivityForm/index.d.ts.map +1 -0
- package/dist/workflow/components/useActivityForm/types.d.ts +80 -0
- package/dist/workflow/components/useActivityForm/types.d.ts.map +1 -0
- package/dist/workflow/components/useActivityForm/useActivityForm.d.ts +4 -0
- package/dist/workflow/components/useActivityForm/useActivityForm.d.ts.map +1 -0
- package/dist/workflow/index.d.ts +8 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/types.d.ts +53 -0
- package/dist/workflow/types.d.ts.map +1 -0
- package/dist/workflow.cjs +1 -0
- package/dist/workflow.d.ts +8 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.mjs +565 -0
- package/dist/workflow.types.cjs +1 -0
- package/dist/workflow.types.d.ts +2 -0
- package/dist/workflow.types.d.ts.map +1 -0
- package/dist/workflow.types.mjs +1 -0
- package/docs/api.md +140 -572
- package/docs/bdo.md +742 -0
- package/docs/useAuth.md +10 -4
- package/docs/useFilter.md +40 -40
- package/docs/useForm.md +91 -62
- package/docs/useTable.md +38 -38
- package/docs/workflow.md +703 -0
- package/package.json +21 -1
- package/sdk/api/client.ts +77 -57
- package/sdk/api/index.ts +1 -0
- package/sdk/api/metadata.ts +22 -20
- package/sdk/base-types.ts +5 -9
- package/sdk/bdo/core/BaseBdo.ts +23 -38
- package/sdk/bdo/core/Item.ts +34 -56
- package/sdk/bdo/core/types.ts +147 -45
- package/sdk/bdo/fields/ArrayField.ts +9 -5
- package/sdk/bdo/fields/BaseField.ts +19 -29
- package/sdk/bdo/fields/BooleanField.ts +4 -5
- package/sdk/bdo/fields/DateField.ts +4 -5
- package/sdk/bdo/fields/DateTimeField.ts +9 -5
- package/sdk/bdo/fields/FileField.ts +39 -0
- package/sdk/bdo/fields/NumberField.ts +8 -5
- package/sdk/bdo/fields/ObjectField.ts +9 -5
- package/sdk/bdo/fields/ReferenceField.ts +22 -28
- package/sdk/bdo/fields/SelectField.ts +13 -26
- package/sdk/bdo/fields/StringField.ts +10 -5
- package/sdk/bdo/fields/TextAreaField.ts +3 -32
- package/sdk/bdo/fields/TextField.ts +42 -0
- package/sdk/bdo/fields/UserField.ts +52 -0
- package/sdk/bdo/fields/index.ts +5 -2
- package/sdk/bdo/index.ts +19 -4
- package/sdk/bdo.ts +4 -31
- package/sdk/bdo.types.ts +26 -21
- package/sdk/components/hooks/useFilter/useFilter.ts +13 -30
- package/sdk/components/hooks/useForm/createItemProxy.ts +47 -11
- package/sdk/components/hooks/useForm/createResolver.ts +65 -6
- package/sdk/components/hooks/useForm/index.ts +4 -0
- package/sdk/components/hooks/useForm/types.ts +92 -9
- package/sdk/components/hooks/useForm/useDraftInteraction.ts +251 -0
- package/sdk/components/hooks/useForm/useForm.ts +132 -60
- package/sdk/components/hooks/useTable/useTable.ts +10 -2
- package/sdk/form.ts +1 -12
- package/sdk/form.types.ts +1 -0
- package/sdk/index.ts +9 -3
- package/sdk/types/base-fields.ts +28 -72
- package/sdk/types/constants.ts +2 -2
- package/sdk/utils/formatting.ts +13 -1
- package/sdk/workflow/Activity.ts +181 -0
- package/sdk/workflow/ActivityInstance.ts +339 -0
- package/sdk/workflow/client.ts +208 -0
- package/sdk/workflow/components/useActivityForm/createActivityItemProxy.ts +126 -0
- package/sdk/workflow/components/useActivityForm/createActivityResolver.ts +61 -0
- package/sdk/workflow/components/useActivityForm/index.ts +5 -0
- package/sdk/workflow/components/useActivityForm/types.ts +166 -0
- package/sdk/workflow/components/useActivityForm/useActivityForm.ts +386 -0
- package/sdk/workflow/index.ts +20 -0
- package/sdk/workflow/types.ts +84 -0
- package/sdk/workflow.ts +25 -0
- package/sdk/workflow.types.ts +11 -0
- package/dist/client-DxjRcEtN.cjs +0 -1
- package/dist/constants-C49b9Exc.cjs +0 -1
- package/dist/useFilter-DzpP_ag0.cjs +0 -1
- package/dist/useFilter-H5bgAZQF.js +0 -120
package/README.md
CHANGED
|
@@ -47,7 +47,7 @@ npm install react @tanstack/react-query
|
|
|
47
47
|
- **useFilter** - Advanced filtering with logical operators and payload builders
|
|
48
48
|
- **BDO Module** - Type-safe, role-based data access layer with expression validation
|
|
49
49
|
- **API Client** - Type-safe CRUD operations with structured filtering and sorting
|
|
50
|
-
- **Type System** -
|
|
50
|
+
- **Type System** - 12 semantic field types (StringField, NumberField, TextField, etc.)
|
|
51
51
|
- **Utilities** - Formatting helpers for currency, dates, numbers, and more
|
|
52
52
|
|
|
53
53
|
## Quick Start
|
|
@@ -78,7 +78,7 @@ import type { ListResponseType, FilterType } from "@ram_28/kf-ai-sdk/api/types";
|
|
|
78
78
|
import { formatCurrency, formatDate } from "@ram_28/kf-ai-sdk/utils";
|
|
79
79
|
|
|
80
80
|
// Base Field Types
|
|
81
|
-
import type { StringFieldType,
|
|
81
|
+
import type { StringFieldType, NumberFieldType } from "@ram_28/kf-ai-sdk/types";
|
|
82
82
|
```
|
|
83
83
|
|
|
84
84
|
## Authentication
|
|
@@ -295,34 +295,32 @@ function ProductTable() {
|
|
|
295
295
|
Advanced filtering with logical operators.
|
|
296
296
|
|
|
297
297
|
```tsx
|
|
298
|
-
import {
|
|
298
|
+
import { ConditionOperator, RHSType } from "@ram_28/kf-ai-sdk/filter";
|
|
299
|
+
import { BuyerProduct } from "./bdo/buyer/Product";
|
|
299
300
|
|
|
300
301
|
function ProductFilter() {
|
|
301
|
-
const
|
|
302
|
-
|
|
303
|
-
name: { type: "string" },
|
|
304
|
-
price: { type: "number" },
|
|
305
|
-
category: {
|
|
306
|
-
type: "select",
|
|
307
|
-
options: ["electronics", "clothing", "books"],
|
|
308
|
-
},
|
|
309
|
-
},
|
|
310
|
-
});
|
|
311
|
-
|
|
312
|
-
const handleApply = () => {
|
|
313
|
-
const payload = buildFilterPayload(filter.conditions);
|
|
314
|
-
// Use payload with API
|
|
315
|
-
};
|
|
302
|
+
const product = new BuyerProduct();
|
|
303
|
+
const filter = useFilter();
|
|
316
304
|
|
|
317
305
|
return (
|
|
318
306
|
<div>
|
|
319
|
-
<button onClick={() => filter.addCondition(
|
|
307
|
+
<button onClick={() => filter.addCondition({
|
|
308
|
+
Operator: ConditionOperator.Contains,
|
|
309
|
+
LHSField: product.Title.id,
|
|
310
|
+
RHSValue: "",
|
|
311
|
+
RHSType: RHSType.Constant,
|
|
312
|
+
})}>
|
|
320
313
|
Add Name Filter
|
|
321
314
|
</button>
|
|
322
|
-
<button onClick={() => filter.addCondition(
|
|
315
|
+
<button onClick={() => filter.addCondition({
|
|
316
|
+
Operator: ConditionOperator.GTE,
|
|
317
|
+
LHSField: product.Price.id,
|
|
318
|
+
RHSValue: 0,
|
|
319
|
+
RHSType: RHSType.Constant,
|
|
320
|
+
})}>
|
|
323
321
|
Add Price Filter
|
|
324
322
|
</button>
|
|
325
|
-
<button onClick={
|
|
323
|
+
<button onClick={() => console.log(filter.payload)}>Apply Filters</button>
|
|
326
324
|
</div>
|
|
327
325
|
);
|
|
328
326
|
}
|
|
@@ -336,21 +334,17 @@ Type-safe, role-based data access layer:
|
|
|
336
334
|
import { BaseBdo, StringField, NumberField } from "@ram_28/kf-ai-sdk/bdo";
|
|
337
335
|
|
|
338
336
|
// Define your BDO class
|
|
339
|
-
class AdminProduct extends BaseBdo<ProductType> {
|
|
340
|
-
readonly
|
|
341
|
-
|
|
342
|
-
readonly Title = new StringField({ id: "Title", label: "Product Title" });
|
|
343
|
-
readonly Price = new NumberField({ id: "Price", label: "Price" });
|
|
337
|
+
class AdminProduct extends BaseBdo<ProductType, ProductEditableType, ProductReadonlyType> {
|
|
338
|
+
readonly meta = { _id: "BDO_Product", name: "Product" } as const;
|
|
344
339
|
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
}
|
|
340
|
+
readonly Title = new StringField({ _id: "Title", Name: "Product Title", Type: "String", Constraint: { Required: true } });
|
|
341
|
+
readonly Price = new NumberField({ _id: "Price", Name: "Price", Type: "Number" });
|
|
348
342
|
|
|
349
343
|
// Expose only the methods this role can use
|
|
350
344
|
public async get(id: string) { return super.get(id); }
|
|
351
|
-
public async list(options?:
|
|
352
|
-
public async create(data: Partial<
|
|
353
|
-
public async update(id: string, data: Partial<
|
|
345
|
+
public async list(options?: any) { return super.list(options); }
|
|
346
|
+
public async create(data: Partial<ProductEditableType>) { return super.create(data); }
|
|
347
|
+
public async update(id: string, data: Partial<ProductEditableType>) { return super.update(id, data); }
|
|
354
348
|
}
|
|
355
349
|
```
|
|
356
350
|
|
|
@@ -387,13 +381,13 @@ async function productOperations() {
|
|
|
387
381
|
// List with filtering and sorting
|
|
388
382
|
const products = await api("products").list({
|
|
389
383
|
Filter: {
|
|
390
|
-
Operator: "
|
|
384
|
+
Operator: "And",
|
|
391
385
|
Condition: [
|
|
392
386
|
{ Operator: "EQ", LHSField: "category", RHSValue: "electronics" },
|
|
393
387
|
{ Operator: "GTE", LHSField: "price", RHSValue: 50 },
|
|
394
388
|
],
|
|
395
389
|
},
|
|
396
|
-
Sort: [{
|
|
390
|
+
Sort: [{ "price": "DESC" }],
|
|
397
391
|
Page: 1,
|
|
398
392
|
PageSize: 25,
|
|
399
393
|
});
|
|
@@ -401,7 +395,7 @@ async function productOperations() {
|
|
|
401
395
|
// Count records
|
|
402
396
|
const count = await api("products").count({
|
|
403
397
|
Filter: {
|
|
404
|
-
Operator: "
|
|
398
|
+
Operator: "And",
|
|
405
399
|
Condition: [{ Operator: "EQ", LHSField: "inStock", RHSValue: true }],
|
|
406
400
|
},
|
|
407
401
|
});
|
|
@@ -415,21 +409,21 @@ The SDK provides semantic field types for type-safe data modeling:
|
|
|
415
409
|
```tsx
|
|
416
410
|
import type {
|
|
417
411
|
StringFieldType,
|
|
418
|
-
|
|
412
|
+
TextFieldType,
|
|
419
413
|
NumberFieldType,
|
|
420
414
|
BooleanFieldType,
|
|
421
415
|
DateFieldType,
|
|
422
416
|
DateTimeFieldType,
|
|
423
|
-
CurrencyFieldType,
|
|
424
417
|
SelectFieldType,
|
|
418
|
+
ReferenceFieldType,
|
|
425
419
|
} from "@ram_28/kf-ai-sdk/types";
|
|
426
420
|
|
|
427
421
|
// Define your data types
|
|
428
422
|
interface Product {
|
|
429
423
|
_id: StringFieldType;
|
|
430
424
|
name: StringFieldType;
|
|
431
|
-
description:
|
|
432
|
-
price:
|
|
425
|
+
description: TextFieldType;
|
|
426
|
+
price: NumberFieldType;
|
|
433
427
|
quantity: NumberFieldType;
|
|
434
428
|
inStock: BooleanFieldType;
|
|
435
429
|
category: SelectFieldType<"electronics" | "clothing" | "books">;
|
|
@@ -471,6 +465,9 @@ Detailed documentation for each feature:
|
|
|
471
465
|
|
|
472
466
|
- [useTable Documentation](./docs/useTable.md)
|
|
473
467
|
- [useFilter Documentation](./docs/useFilter.md)
|
|
468
|
+
- [useForm Documentation](./docs/useForm.md)
|
|
469
|
+
- [useAuth Documentation](./docs/useAuth.md)
|
|
470
|
+
- [API Documentation](./docs/api.md)
|
|
474
471
|
|
|
475
472
|
## Requirements
|
|
476
473
|
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var i = Object.defineProperty;
|
|
2
|
+
var s = (t, e, a) => e in t ? i(t, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : t[e] = a;
|
|
3
|
+
var r = (t, e, a) => s(t, typeof e != "symbol" ? e + "" : e, a);
|
|
4
|
+
class u {
|
|
5
|
+
constructor(e) {
|
|
6
|
+
/** Full raw backend meta */
|
|
7
|
+
r(this, "_meta");
|
|
8
|
+
r(this, "_parentBoId");
|
|
9
|
+
this._meta = e;
|
|
10
|
+
}
|
|
11
|
+
// === Convenience getters (transform backend naming → SDK naming) ===
|
|
12
|
+
get id() {
|
|
13
|
+
return this._meta._id;
|
|
14
|
+
}
|
|
15
|
+
get label() {
|
|
16
|
+
return this._meta.Name || this._meta._id;
|
|
17
|
+
}
|
|
18
|
+
get readOnly() {
|
|
19
|
+
return this._meta.ReadOnly ?? !1;
|
|
20
|
+
}
|
|
21
|
+
get required() {
|
|
22
|
+
var e;
|
|
23
|
+
return ((e = this._meta.Constraint) == null ? void 0 : e.Required) ?? this._meta.Required ?? !1;
|
|
24
|
+
}
|
|
25
|
+
get defaultValue() {
|
|
26
|
+
var e;
|
|
27
|
+
return this._meta.DefaultValue ?? ((e = this._meta.Constraint) == null ? void 0 : e.DefaultValue);
|
|
28
|
+
}
|
|
29
|
+
get primaryKey() {
|
|
30
|
+
var e;
|
|
31
|
+
return ((e = this._meta.Constraint) == null ? void 0 : e.PrimaryKey) ?? !1;
|
|
32
|
+
}
|
|
33
|
+
/** Full raw meta (the exact JSON passed to constructor) */
|
|
34
|
+
get meta() {
|
|
35
|
+
return this._meta;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
u as B
|
|
40
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var i=Object.defineProperty;var s=(t,e,a)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var r=(t,e,a)=>s(t,typeof e!="symbol"?e+"":e,a);class u{constructor(e){r(this,"_meta");r(this,"_parentBoId");this._meta=e}get id(){return this._meta._id}get label(){return this._meta.Name||this._meta._id}get readOnly(){return this._meta.ReadOnly??!1}get required(){var e;return((e=this._meta.Constraint)==null?void 0:e.Required)??this._meta.Required??!1}get defaultValue(){var e;return this._meta.DefaultValue??((e=this._meta.Constraint)==null?void 0:e.DefaultValue)}get primaryKey(){var e;return((e=this._meta.Constraint)==null?void 0:e.PrimaryKey)??!1}get meta(){return this._meta}}exports.BaseField=u;
|
package/dist/api/client.d.ts
CHANGED
|
@@ -83,6 +83,13 @@ export declare function getDefaultHeaders(): Record<string, string>;
|
|
|
83
83
|
* Get current base URL
|
|
84
84
|
*/
|
|
85
85
|
export declare function getApiBaseUrl(): string;
|
|
86
|
+
/**
|
|
87
|
+
* Create a resource client for a given base path.
|
|
88
|
+
* This is the shared implementation used by both `api()` and workflow owner methods.
|
|
89
|
+
* @param basePath - URL path segment (e.g., "/api/app/user" or "/api/app/process/leave_bp/vendor_ado")
|
|
90
|
+
* @returns Resource client with CRUD operations matching API spec
|
|
91
|
+
*/
|
|
92
|
+
export declare function createResourceClient<T = any>(basePath: string): ResourceClientType<T>;
|
|
86
93
|
/**
|
|
87
94
|
* Create a resource client for the specified Business Object
|
|
88
95
|
* @param bo_id - Business Object identifier (e.g., "user", "leave", "vendor")
|
package/dist/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../sdk/api/client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAEhB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,GAAG;IAKzC,8BAA8B;IAC9B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE5B,wBAAwB;IACxB,MAAM,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../sdk/api/client.ts"],"names":[],"mappings":"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"}
|
package/dist/api/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { api, setApiBaseUrl, setDefaultHeaders, getDefaultHeaders, getApiBaseUrl, } from "./client";
|
|
1
|
+
export { api, createResourceClient, setApiBaseUrl, setDefaultHeaders, getDefaultHeaders, getApiBaseUrl, } from "./client";
|
|
2
2
|
export type { ResourceClientType } from "./client";
|
|
3
3
|
export { DatetimeFormat, decodeDate, decodeDateTime, formatDate, formatDateTime, parseDate, parseDateTime, } from "./datetime";
|
|
4
4
|
export { getBdoSchema, listMetadata } from "./metadata";
|
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../sdk/api/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,GAAG,EACH,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,OAAO,EACL,cAAc,EACd,UAAU,EACV,cAAc,EACd,UAAU,EACV,cAAc,EACd,SAAS,EACT,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGzF,YAAY,EAEV,iBAAiB,EACjB,cAAc,EACd,QAAQ,EAER,aAAa,EACb,kBAAkB,EAClB,0BAA0B,EAC1B,UAAU,EACV,aAAa,EACb,qBAAqB,EAErB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EAEjB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAElB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EAEjB,iBAAiB,EAEjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,eAAe,EACf,mBAAmB,GACpB,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../sdk/api/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,GAAG,EACH,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,OAAO,EACL,cAAc,EACd,UAAU,EACV,cAAc,EACd,UAAU,EACV,cAAc,EACd,SAAS,EACT,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGzF,YAAY,EAEV,iBAAiB,EACjB,cAAc,EACd,QAAQ,EAER,aAAa,EACb,kBAAkB,EAClB,0BAA0B,EAC1B,UAAU,EACV,aAAa,EACb,qBAAqB,EAErB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EAEjB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAElB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EAEjB,iBAAiB,EAEjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,eAAe,EACf,mBAAmB,GACpB,MAAM,sBAAsB,CAAC"}
|
package/dist/api/metadata.d.ts
CHANGED
|
@@ -37,39 +37,43 @@ export interface MetadataItemType {
|
|
|
37
37
|
*
|
|
38
38
|
* @param options - Optional list options (filters, sorting, pagination)
|
|
39
39
|
* @returns Promise resolving to list of metadata items
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* ```typescript
|
|
43
|
-
* // List all metadata
|
|
44
|
-
* const all = await listMetadata();
|
|
45
|
-
*
|
|
46
|
-
* // List with filters
|
|
47
|
-
* const businessObjects = await listMetadata({
|
|
48
|
-
* Filter: {
|
|
49
|
-
* Operator: "AND",
|
|
50
|
-
* Condition: [{ LhsField: "Kind", Operator: "eq", RhsValue: "BusinessObject" }]
|
|
51
|
-
* }
|
|
52
|
-
* });
|
|
53
|
-
* ```
|
|
54
40
|
*/
|
|
55
41
|
export declare function listMetadata(options?: ListOptionsType): Promise<ListResponseType<MetadataItemType>>;
|
|
56
42
|
/**
|
|
57
|
-
* Field metadata structure
|
|
43
|
+
* Field metadata structure — matches new Constraint/View/Property backend shape
|
|
58
44
|
*/
|
|
59
45
|
export interface FieldMetadataType {
|
|
60
46
|
Id: string;
|
|
61
47
|
Name: string;
|
|
62
48
|
Type: string;
|
|
49
|
+
ReadOnly?: boolean;
|
|
63
50
|
Required?: boolean;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
51
|
+
Constraint?: {
|
|
52
|
+
Required?: boolean;
|
|
53
|
+
Enum?: string[];
|
|
54
|
+
Length?: number;
|
|
55
|
+
IntegerPart?: number;
|
|
56
|
+
FractionPart?: number;
|
|
57
|
+
PrimaryKey?: boolean;
|
|
58
|
+
DefaultValue?: unknown;
|
|
59
|
+
Precision?: "Second" | "Millisecond";
|
|
60
|
+
Format?: "Plain" | "Markdown";
|
|
61
|
+
};
|
|
62
|
+
View?: {
|
|
63
|
+
DataObject?: {
|
|
64
|
+
Type: string;
|
|
65
|
+
Id: string;
|
|
66
|
+
};
|
|
67
|
+
Fields?: Record<string, {
|
|
68
|
+
Type: string;
|
|
71
69
|
}>;
|
|
70
|
+
Search?: string[];
|
|
71
|
+
Filter?: Record<string, unknown>;
|
|
72
|
+
Sort?: unknown[];
|
|
73
|
+
BusinessEntity?: string;
|
|
72
74
|
};
|
|
75
|
+
Property?: FieldMetadataType | Record<string, FieldMetadataType>;
|
|
76
|
+
DefaultValue?: unknown;
|
|
73
77
|
[key: string]: any;
|
|
74
78
|
}
|
|
75
79
|
//# sourceMappingURL=metadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../sdk/api/metadata.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAOzE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA8B7E;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../sdk/api/metadata.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAOzE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA8B7E;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CA8B7C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE;QACX,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,SAAS,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;QACrC,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;KAC/B,CAAC;IACF,IAAI,CAAC,EAAE;QACL,UAAU,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACjE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
|
package/dist/api.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./client-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./client-DtPpfJc1.cjs"),u=require("./metadata-BJWukIqS.cjs"),o=require("./constants-D0J69if5.cjs"),p={DATE:"%Y-%m-%d",TIME:"%H:%M:%S",DATE_TIME:"%Y-%m-%d %H:%M:%S"};function D(t){const[e,a,r]=t.$__d__.split("-").map(Number);return new Date(e,a-1,r)}function g(t){return new Date(t.$__dt__*1e3)}function l(t){const e=t.getFullYear(),a=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0");return`${e}-${a}-${r}`}function S(t){const e=t.getFullYear(),a=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0"),c=String(t.getSeconds()).padStart(2,"0");return`${e}-${a}-${r} ${s}:${i}:${c}`}function y(t){const[e,a,r]=t.split("-").map(Number);return new Date(e,a-1,r)}function f(t){const[e,a]=t.split(" "),[r,s,i]=e.split("-").map(Number),[c,d,m]=a.split(":").map(Number);return new Date(r,s-1,i,c,d,m)}exports.api=n.api;exports.getApiBaseUrl=n.getApiBaseUrl;exports.getDefaultHeaders=n.getDefaultHeaders;exports.setApiBaseUrl=n.setApiBaseUrl;exports.setDefaultHeaders=n.setDefaultHeaders;exports.getBdoSchema=u.getBdoSchema;exports.listMetadata=u.listMetadata;exports.DateEncodingKey=o.DateEncodingKey;exports.DeleteStatus=o.DeleteStatus;exports.HttpMethod=o.HttpMethod;exports.MetricType=o.MetricType;exports.QueryType=o.QueryType;exports.DatetimeFormat=p;exports.decodeDate=D;exports.decodeDateTime=g;exports.formatDate=l;exports.formatDateTime=S;exports.parseDate=y;exports.parseDateTime=f;
|
package/dist/api.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as f, c as h, g as M, s as $, b as T } from "./client-
|
|
2
|
-
import { g as H, l as b } from "./metadata-
|
|
3
|
-
import {
|
|
1
|
+
import { a as f, c as h, g as M, s as $, b as T } from "./client-BULEEaCP.js";
|
|
2
|
+
import { g as H, l as b } from "./metadata-CJuFxytC.js";
|
|
3
|
+
import { a as w, b as x, H as A, M as N, Q as Y } from "./constants-BQrBcCON.js";
|
|
4
4
|
const m = {
|
|
5
5
|
/** Date format: "YYYY-MM-DD" */
|
|
6
6
|
DATE: "%Y-%m-%d",
|
package/dist/auth.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var J=Object.defineProperty;var X=(e,t,n)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var M=(e,t,n)=>X(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react/jsx-runtime"),r=require("react"),N=require("@tanstack/react-query"),L=require("./client-
|
|
1
|
+
"use strict";var J=Object.defineProperty;var X=(e,t,n)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var M=(e,t,n)=>X(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react/jsx-runtime"),r=require("react"),N=require("@tanstack/react-query"),L=require("./client-DtPpfJc1.cjs"),W=require("./constants-D0J69if5.cjs"),H={sessionEndpoint:"/api/id",providers:{google:{loginPath:"/api/auth/google/login",logoutPath:"/api/auth/logout"}},defaultProvider:"google",autoRedirect:!1,sessionCheckInterval:0,retry:{count:3,delay:1e3},staleTime:5*60*1e3,refetchOnWindowFocus:!1,refetchOnReconnect:!0};let h={...H};function Y(e){h={...h,...e,providers:{...h.providers,...e.providers},retry:{...h.retry,...e.retry}}}function Z(e,t){h.providers[e]=t}function b(){return{...h}}function k(){return h.baseUrl||L.getApiBaseUrl()||(typeof window<"u"?window.location.origin:"")}function G(e){return h.providers[e]}function D(){h={...H}}class E extends Error{constructor(n,o){super(n);M(this,"statusCode");this.name="AuthenticationError",this.statusCode=o}}async function ee(){const e=b(),t=k(),n=L.getDefaultHeaders(),o=await fetch(`${t}${e.sessionEndpoint}`,{method:"GET",headers:n,credentials:"include"});if(!o.ok)throw o.status===401||o.status===403?new E("Not authenticated",o.status):new E(`Session check failed: ${o.statusText}`,o.status);return await o.json()}function _(e,t){return new Promise(()=>{const n=b(),o=k();if(!o)throw new Error('Auth base URL is not configured. Call setApiBaseUrl("https://...") or configureAuth({ baseUrl: "https://..." }) first.');const u=e||n.defaultProvider,c=G(u);if(!c){const A=Object.keys(n.providers||{}).join(", ")||"none";throw new Error(`Auth provider "${u}" is not configured. Available providers: ${A}`)}if(!c.loginPath)throw new Error(`Login path not configured for provider "${u}". Configure it with: configureAuth({ providers: { ${u}: { loginPath: '/api/auth/...' } } })`);let f;try{f=new URL(`${o}${c.loginPath}`)}catch{throw new Error(`Failed to construct login URL. Base URL: "${o}", Login path: "${c.loginPath}". Ensure baseUrl is a valid URL (e.g., "https://example.com").`)}(t!=null&&t.callbackUrl||n.callbackUrl)&&f.searchParams.set("callbackUrl",(t==null?void 0:t.callbackUrl)||n.callbackUrl||window.location.href),t!=null&&t.params&&Object.entries(t.params).forEach(([A,v])=>{f.searchParams.set(A,v)}),window.open(f.toString(),"_blank")})}async function te(e){const t=b(),n=k(),o=L.getDefaultHeaders(),u=G(t.defaultProvider),c=u==null?void 0:u.logoutPath;if(c&&(e==null?void 0:e.callLogoutEndpoint)!==!1)try{await fetch(`${n}${c}`,{method:"POST",headers:o,credentials:"include"})}catch(f){console.warn("Logout endpoint call failed:",f)}e!=null&&e.redirectUrl?window.location.href=e.redirectUrl:t.loginRedirectUrl&&(window.location.href=t.loginRedirectUrl)}const V=r.createContext(null),K=["auth","session"];function re({children:e,config:t,onAuthChange:n,onError:o,loadingComponent:u,unauthenticatedComponent:c,skipInitialCheck:f=!1}){const A=r.useRef(!1);t&&!A.current&&(Y(t),A.current=!0);const v=N.useQueryClient(),l=b(),{data:a,isLoading:g,error:U,refetch:R,isFetching:P}=N.useQuery({queryKey:K,queryFn:ee,enabled:!f,retry:(s,w)=>w instanceof E&&(w.statusCode===401||w.statusCode===403)?!1:s<l.retry.count,retryDelay:l.retry.delay,staleTime:l.staleTime,gcTime:l.staleTime*2,refetchOnWindowFocus:l.refetchOnWindowFocus??!0,refetchOnReconnect:l.refetchOnReconnect??!0,refetchInterval:l.sessionCheckInterval||!1}),[x,S]=r.useState(null),d=r.useMemo(()=>g||P?"loading":Object.keys((a==null?void 0:a.userDetails)||{}).length>0?"authenticated":"unauthenticated",[g,P,a]),i=(a==null?void 0:a.userDetails)||null,$=(a==null?void 0:a.staticBaseUrl)||null,O=(a==null?void 0:a.buildId)||null,j=d==="authenticated",C=r.useRef(n);C.current=n;const m=r.useRef(o);m.current=o,r.useEffect(()=>{var s;g||(s=C.current)==null||s.call(C,d,i)},[d,i,g]),r.useEffect(()=>{var s;U&&(S(U),(s=m.current)==null||s.call(m,U))},[U]),r.useEffect(()=>{d==="unauthenticated"&&l.autoRedirect&&!g&&_()},[d,g,l.autoRedirect]);const p=r.useCallback((s,w)=>{_(s,w)},[]),q=r.useCallback(async s=>{v.removeQueries({queryKey:K}),await te(s)},[v]),B=r.useCallback(async()=>{if(P)return a||null;try{return(await R()).data||null}catch(s){return S(s),null}},[R,P,a]),I=r.useCallback(s=>(i==null?void 0:i.Role)===s,[i]),T=r.useCallback(s=>s.includes((i==null?void 0:i.Role)||""),[i]),F=r.useCallback(()=>{S(null)},[]),Q=r.useCallback(()=>{R()},[R]),z=r.useMemo(()=>({user:i,staticBaseUrl:$,buildId:O,status:d,isAuthenticated:j,isLoading:g,login:p,logout:q,refreshSession:B,hasRole:I,hasAnyRole:T,error:x,clearError:F,_forceCheck:Q}),[i,$,O,d,j,g,p,q,B,I,T,x,F,Q]);return d==="loading"&&u?y.jsx(y.Fragment,{children:u}):d==="unauthenticated"&&!l.autoRedirect&&c?y.jsx(y.Fragment,{children:c}):y.jsx(V.Provider,{value:z,children:e})}function ne(){const e=r.useContext(V);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e}function oe(){const e=ne();return r.useMemo(()=>({user:e.user,staticBaseUrl:e.staticBaseUrl,buildId:e.buildId,status:e.status,isAuthenticated:e.isAuthenticated,isLoading:e.isLoading,login:e.login,logout:e.logout,refreshSession:e.refreshSession,hasRole:e.hasRole,hasAnyRole:e.hasAnyRole,error:e.error,clearError:e.clearError}),[e.user,e.staticBaseUrl,e.buildId,e.status,e.isAuthenticated,e.isLoading,e.login,e.logout,e.refreshSession,e.hasRole,e.hasAnyRole,e.error,e.clearError])}exports.AuthProviderName=W.AuthProviderName;exports.AuthStatus=W.AuthStatus;exports.AuthProvider=re;exports.AuthenticationError=E;exports.configureAuth=Y;exports.getAuthBaseUrl=k;exports.getAuthConfig=b;exports.resetAuthConfig=D;exports.setAuthProvider=Z;exports.useAuth=oe;
|
package/dist/auth.mjs
CHANGED
|
@@ -4,8 +4,8 @@ var N = (e, t, r) => Z(e, typeof t != "symbol" ? t + "" : t, r);
|
|
|
4
4
|
import { jsx as C, Fragment as W } from "react/jsx-runtime";
|
|
5
5
|
import { useRef as p, useState as D, useMemo as k, useEffect as L, useCallback as g, createContext as ee, useContext as te } from "react";
|
|
6
6
|
import { useQueryClient as re, useQuery as ne } from "@tanstack/react-query";
|
|
7
|
-
import { c as oe, g as H } from "./client-
|
|
8
|
-
import { c as me, A as be } from "./constants-
|
|
7
|
+
import { c as oe, g as H } from "./client-BULEEaCP.js";
|
|
8
|
+
import { c as me, A as be } from "./constants-BQrBcCON.js";
|
|
9
9
|
const M = {
|
|
10
10
|
sessionEndpoint: "/api/id",
|
|
11
11
|
providers: {
|
package/dist/base-types.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { StringFieldType, TextAreaFieldType, NumberFieldType,
|
|
1
|
+
export type { StringFieldType, TextFieldType, TextAreaFieldType, NumberFieldType, BooleanFieldType, DateFieldType, DateTimeFieldType, ReferenceFieldType, ExtractReferenceType, ExtractFetchFieldType, SelectFieldType, UserFieldType, FileFieldType, ArrayFieldType, ObjectFieldType, OptionalFieldType, ExtractFieldType, SystemFieldsType, UserRefType, } from './types/base-fields';
|
|
2
2
|
//# sourceMappingURL=base-types.d.ts.map
|
package/dist/base-types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../sdk/base-types.ts"],"names":[],"mappings":"AAKA,YAAY,EAEV,eAAe,EACf,iBAAiB,EAGjB,eAAe,
|
|
1
|
+
{"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../sdk/base-types.ts"],"names":[],"mappings":"AAKA,YAAY,EAEV,eAAe,EACf,aAAa,EACb,iBAAiB,EAGjB,eAAe,EAGf,gBAAgB,EAGhB,aAAa,EACb,iBAAiB,EAGjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EAGrB,eAAe,EAGf,aAAa,EACb,aAAa,EAGb,cAAc,EACd,eAAe,EACf,iBAAiB,EAGjB,gBAAgB,EAGhB,gBAAgB,EAChB,WAAW,GACZ,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { ListOptionsType, CreateUpdateResponseType, DeleteResponseType, MetricOptionsType, MetricResponseType, PivotOptionsType, PivotResponseType, DraftResponseType } from "../../types/common";
|
|
2
|
-
import type {
|
|
2
|
+
import type { SystemFields } from "../../types/base-fields";
|
|
3
3
|
import { type ItemType } from "./Item";
|
|
4
4
|
import { BaseField } from "../fields/BaseField";
|
|
5
5
|
import { StringField } from "../fields/StringField";
|
|
6
6
|
import { DateTimeField } from "../fields/DateTimeField";
|
|
7
|
-
import {
|
|
7
|
+
import { UserField } from "../fields/UserField";
|
|
8
8
|
import type { ValidationResultType, BdoMetaType } from "./types";
|
|
9
9
|
import { type BDOMetadata } from "../expressions";
|
|
10
10
|
export type { SystemFields } from "../../types/base-fields";
|
|
@@ -17,18 +17,6 @@ export type { SystemFields } from "../../types/base-fields";
|
|
|
17
17
|
* @template TEntity - The full entity type with all fields
|
|
18
18
|
* @template TEditable - Fields that this role can create/update (defaults to TEntity without system fields)
|
|
19
19
|
* @template TReadonly - Fields that this role can only read (defaults to empty)
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* class AdminProduct extends BaseBdo<ProductType> {
|
|
24
|
-
* readonly meta = { _id: "BDO_Product", name: "Product" };
|
|
25
|
-
*
|
|
26
|
-
* // Re-expose only methods this role can use
|
|
27
|
-
* public async get(id: StringFieldType) { return super.get(id); }
|
|
28
|
-
* public async list(options?: ListOptionsType) { return super.list(options); }
|
|
29
|
-
* // create, update, delete NOT exposed - TypeScript error if called
|
|
30
|
-
* }
|
|
31
|
-
* ```
|
|
32
20
|
*/
|
|
33
21
|
export declare abstract class BaseBdo<TEntity extends Record<string, unknown>, TEditable extends Record<string, unknown> = Omit<TEntity, SystemFields>, TReadonly extends Record<string, unknown> = {}> {
|
|
34
22
|
/**
|
|
@@ -38,8 +26,8 @@ export declare abstract class BaseBdo<TEntity extends Record<string, unknown>, T
|
|
|
38
26
|
readonly _id: StringField;
|
|
39
27
|
readonly _created_at: DateTimeField;
|
|
40
28
|
readonly _modified_at: DateTimeField;
|
|
41
|
-
readonly _created_by:
|
|
42
|
-
readonly _modified_by:
|
|
29
|
+
readonly _created_by: UserField;
|
|
30
|
+
readonly _modified_by: UserField;
|
|
43
31
|
readonly _version: StringField;
|
|
44
32
|
readonly _m_version: StringField;
|
|
45
33
|
/**
|
|
@@ -92,7 +80,7 @@ export declare abstract class BaseBdo<TEntity extends Record<string, unknown>, T
|
|
|
92
80
|
/**
|
|
93
81
|
* Get a single record by ID
|
|
94
82
|
*/
|
|
95
|
-
protected get(id:
|
|
83
|
+
protected get(id: string): Promise<ItemType<TEditable, TReadonly>>;
|
|
96
84
|
/**
|
|
97
85
|
* List records with optional filtering, sorting, and pagination
|
|
98
86
|
*/
|
|
@@ -109,11 +97,11 @@ export declare abstract class BaseBdo<TEntity extends Record<string, unknown>, T
|
|
|
109
97
|
/**
|
|
110
98
|
* Update an existing record
|
|
111
99
|
*/
|
|
112
|
-
protected update(id:
|
|
100
|
+
protected update(id: string, data: Partial<TEditable>): Promise<CreateUpdateResponseType>;
|
|
113
101
|
/**
|
|
114
102
|
* Delete a record by ID
|
|
115
103
|
*/
|
|
116
|
-
protected delete(id:
|
|
104
|
+
protected delete(id: string): Promise<DeleteResponseType>;
|
|
117
105
|
/**
|
|
118
106
|
* Create a draft - compute fields without persisting
|
|
119
107
|
*/
|
|
@@ -130,10 +118,14 @@ export declare abstract class BaseBdo<TEntity extends Record<string, unknown>, T
|
|
|
130
118
|
* Use this when you need get/set/validate methods on fields
|
|
131
119
|
*/
|
|
132
120
|
protected createItem(data?: Partial<TEditable>): ItemType<TEditable, TReadonly>;
|
|
121
|
+
/**
|
|
122
|
+
* Commit an update draft - finalize changes on an existing record
|
|
123
|
+
*/
|
|
124
|
+
protected draftUpdate(id: string, data: Partial<TEditable>): Promise<CreateUpdateResponseType>;
|
|
133
125
|
/**
|
|
134
126
|
* Patch an existing draft - compute fields during editing
|
|
135
127
|
*/
|
|
136
|
-
protected draftPatch(id:
|
|
128
|
+
protected draftPatch(id: string, data: Partial<TEditable>): Promise<DraftResponseType>;
|
|
137
129
|
/**
|
|
138
130
|
* Get aggregated metrics grouped by dimensions
|
|
139
131
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseBdo.d.ts","sourceRoot":"","sources":["../../../sdk/bdo/core/BaseBdo.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"BaseBdo.d.ts","sourceRoot":"","sources":["../../../sdk/bdo/core/BaseBdo.ts"],"names":[],"mappings":"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"}
|
package/dist/bdo/core/Item.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ValidationResultType,
|
|
1
|
+
import type { ValidationResultType, BaseFieldMetaType, EditableFieldAccessorType, ReadonlyFieldAccessorType, FieldAccessorType } from "./types";
|
|
2
2
|
import type { BaseField } from "../fields/BaseField";
|
|
3
3
|
/**
|
|
4
4
|
* Interface for BDO that Item needs
|
|
@@ -8,28 +8,7 @@ interface BdoLike {
|
|
|
8
8
|
hasMetadata(): boolean;
|
|
9
9
|
validateFieldExpression(fieldId: string, value: unknown, allValues: Record<string, unknown>): ValidationResultType;
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
* Editable field accessor — has get(), set(), validate()
|
|
13
|
-
*/
|
|
14
|
-
export interface EditableFieldAccessorType<T> {
|
|
15
|
-
readonly meta: FieldMetaType;
|
|
16
|
-
get(): T | undefined;
|
|
17
|
-
set(value: T): void;
|
|
18
|
-
validate(): ValidationResultType;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Readonly field accessor — has get(), validate(), NO set()
|
|
22
|
-
*/
|
|
23
|
-
export interface ReadonlyFieldAccessorType<T> {
|
|
24
|
-
readonly meta: FieldMetaType;
|
|
25
|
-
get(): T | undefined;
|
|
26
|
-
validate(): ValidationResultType;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Field accessor with get/set/validate methods + meta object (union type)
|
|
30
|
-
*/
|
|
31
|
-
export type FieldAccessorType<T> = EditableFieldAccessorType<T> | ReadonlyFieldAccessorType<T>;
|
|
32
|
-
export type { FieldMetaType };
|
|
11
|
+
export type { EditableFieldAccessorType, ReadonlyFieldAccessorType, FieldAccessorType, BaseFieldMetaType };
|
|
33
12
|
/**
|
|
34
13
|
* Create editable accessor type for each field in TEditable
|
|
35
14
|
*/
|
|
@@ -55,31 +34,16 @@ export type ItemType<TEditable extends Record<string, unknown>, TReadonly extend
|
|
|
55
34
|
* Item class that wraps a record with field accessors
|
|
56
35
|
*
|
|
57
36
|
* Each field is accessible as a property returning an accessor with:
|
|
58
|
-
* -
|
|
59
|
-
* -
|
|
37
|
+
* - label: display name
|
|
38
|
+
* - required: whether field is required
|
|
39
|
+
* - readOnly: whether field is read-only
|
|
40
|
+
* - defaultValue: default value
|
|
41
|
+
* - meta: full raw backend meta
|
|
60
42
|
* - get(): get current value
|
|
61
|
-
* - set(value): set value
|
|
43
|
+
* - set(value): set value (editable fields only)
|
|
62
44
|
* - validate(): validate current value
|
|
63
45
|
*
|
|
64
46
|
* @template T - The type of the underlying data
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
* ```typescript
|
|
68
|
-
* const product = new AdminProduct();
|
|
69
|
-
* const item = await product.get("product_123");
|
|
70
|
-
*
|
|
71
|
-
* // Field accessor access
|
|
72
|
-
* item.Title.get() // get value
|
|
73
|
-
* item.Title.set("New Title") // set value (editable fields only)
|
|
74
|
-
* item.Title.meta.id // "Title"
|
|
75
|
-
* item.Title.meta.label // "Product Title"
|
|
76
|
-
* item.Title.meta.isEditable // true if field is editable
|
|
77
|
-
* item.Title.validate() // validate
|
|
78
|
-
*
|
|
79
|
-
* // Methods
|
|
80
|
-
* const result = item.validate(); // validate all fields
|
|
81
|
-
* const raw = item.toJSON(); // get raw data
|
|
82
|
-
* ```
|
|
83
47
|
*/
|
|
84
48
|
export declare class Item<T extends Record<string, unknown>> {
|
|
85
49
|
private _data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../sdk/bdo/core/Item.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../sdk/bdo/core/Item.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD;;GAEG;AACH,UAAU,OAAO;IACf,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,WAAW,IAAI,OAAO,CAAC;IACvB,uBAAuB,CACrB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,oBAAoB,CAAC;CACzB;AAGD,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAE3G;;GAEG;AACH,KAAK,iBAAiB,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/E,CAAC;AAEF;;GAEG;AACH,KAAK,iBAAiB,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/E,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,CAClB,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,IAC5C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,GAC7B,iBAAiB,CAAC,SAAS,CAAC,GAC5B,iBAAiB,CAAC,SAAS,CAAC,GAC5B;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3B;;;;;;;;;;;;;;GAcG;AACH,qBAAa,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjD,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsD;gBAEzE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IA+E1C;;;OAGG;IACH,OAAO,CAAC,YAAY;IAwEpB;;OAEG;IACH,QAAQ,IAAI,oBAAoB;IAqChC;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC;CAGrB"}
|