@antelopejs/interface-data-api 0.5.0 → 0.6.1
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 +26 -22
- package/dist/antelope.test.js +1 -5
- package/dist/antelope.test.js.map +1 -1
- package/dist/components.d.ts +57 -37
- package/dist/components.js +36 -68
- package/dist/components.js.map +1 -1
- package/dist/index.d.ts +44 -60
- package/dist/index.js +22 -10
- package/dist/index.js.map +1 -1
- package/dist/internal/computed.js +12 -4
- package/dist/internal/computed.js.map +1 -1
- package/dist/internal/controller-types.d.ts +19 -4
- package/dist/internal/default-filter.js +11 -1
- package/dist/internal/default-filter.js.map +1 -1
- package/dist/internal/deferred-joined-stream.js +40 -27
- package/dist/internal/deferred-joined-stream.js.map +1 -1
- package/dist/internal/extractors.d.ts +25 -0
- package/dist/internal/extractors.js +31 -0
- package/dist/internal/extractors.js.map +1 -0
- package/dist/internal/field-types.d.ts +22 -6
- package/dist/internal/filters.d.ts +3 -1
- package/dist/internal/filters.js +9 -2
- package/dist/internal/filters.js.map +1 -1
- package/dist/internal/foreign.js +1 -1
- package/dist/internal/foreign.js.map +1 -1
- package/dist/internal/guards.d.ts +20 -1
- package/dist/internal/guards.js +42 -0
- package/dist/internal/guards.js.map +1 -1
- package/dist/internal/joined.js +1 -1
- package/dist/internal/joined.js.map +1 -1
- package/dist/internal/list.d.ts +2 -2
- package/dist/internal/list.js +10 -6
- package/dist/internal/list.js.map +1 -1
- package/dist/internal/meta-records.d.ts +2 -0
- package/dist/internal/meta-records.js +10 -5
- package/dist/internal/meta-records.js.map +1 -1
- package/dist/internal/properties.d.ts +2 -2
- package/dist/internal/properties.js +6 -4
- package/dist/internal/properties.js.map +1 -1
- package/dist/internal/prototypes.d.ts +14 -0
- package/dist/internal/prototypes.js +38 -0
- package/dist/internal/prototypes.js.map +1 -0
- package/dist/internal/read-properties.d.ts +3 -0
- package/dist/internal/read-properties.js +29 -0
- package/dist/internal/read-properties.js.map +1 -0
- package/dist/internal/tables.d.ts +12 -2
- package/dist/internal/tables.js +11 -0
- package/dist/internal/tables.js.map +1 -1
- package/dist/internal/validation.d.ts +4 -3
- package/dist/internal/validation.js +18 -6
- package/dist/internal/validation.js.map +1 -1
- package/dist/metadata.d.ts +13 -13
- package/dist/metadata.js +29 -31
- package/dist/metadata.js.map +1 -1
- package/dist/tests/components/access_control.test.js +11 -3
- package/dist/tests/components/access_control.test.js.map +1 -1
- package/dist/tests/components/computed.test.js +14 -3
- package/dist/tests/components/computed.test.js.map +1 -1
- package/dist/tests/components/cross_instance.test.js +2 -2
- package/dist/tests/components/cross_instance.test.js.map +1 -1
- package/dist/tests/components/deferred_joined.test.js +1 -1
- package/dist/tests/components/deferred_joined.test.js.map +1 -1
- package/dist/tests/components/extract_generic.test.d.ts +1 -0
- package/dist/tests/components/extract_generic.test.js +64 -0
- package/dist/tests/components/extract_generic.test.js.map +1 -0
- package/dist/tests/components/filter_comparisons.test.d.ts +1 -0
- package/dist/tests/components/filter_comparisons.test.js +34 -0
- package/dist/tests/components/filter_comparisons.test.js.map +1 -0
- package/dist/tests/components/filter_list_route.test.d.ts +1 -0
- package/dist/tests/components/filter_list_route.test.js +182 -0
- package/dist/tests/components/filter_list_route.test.js.map +1 -0
- package/dist/tests/components/filter_options.test.js +3 -3
- package/dist/tests/components/filter_options.test.js.map +1 -1
- package/dist/tests/components/foreign_computed.test.js +15 -4
- package/dist/tests/components/foreign_computed.test.js.map +1 -1
- package/dist/tests/components/foreign_joined.test.js +16 -4
- package/dist/tests/components/foreign_joined.test.js.map +1 -1
- package/dist/tests/components/joined.test.js +26 -8
- package/dist/tests/components/joined.test.js.map +1 -1
- package/dist/tests/components/listable.test.js +31 -12
- package/dist/tests/components/listable.test.js.map +1 -1
- package/dist/tests/components/localized_sort.test.js +5 -1
- package/dist/tests/components/localized_sort.test.js.map +1 -1
- package/dist/tests/components/mandatory.test.js +1 -1
- package/dist/tests/components/mandatory.test.js.map +1 -1
- package/dist/tests/components/modifier_key.test.js +12 -4
- package/dist/tests/components/modifier_key.test.js.map +1 -1
- package/dist/tests/components/parse_body.test.js +17 -16
- package/dist/tests/components/parse_body.test.js.map +1 -1
- package/dist/tests/components/parsed_value.test.js +2 -2
- package/dist/tests/components/parsed_value.test.js.map +1 -1
- package/dist/tests/components/partial_edit.test.js +8 -3
- package/dist/tests/components/partial_edit.test.js.map +1 -1
- package/dist/tests/components/per_action_access.test.js +11 -3
- package/dist/tests/components/per_action_access.test.js.map +1 -1
- package/dist/tests/components/prototype_named_filter.test.d.ts +1 -0
- package/dist/tests/components/prototype_named_filter.test.js +87 -0
- package/dist/tests/components/prototype_named_filter.test.js.map +1 -0
- package/dist/tests/components/validator.test.js +1 -1
- package/dist/tests/components/validator.test.js.map +1 -1
- package/dist/tests/components/written_row.test.d.ts +1 -0
- package/dist/tests/components/written_row.test.js +99 -0
- package/dist/tests/components/written_row.test.js.map +1 -0
- package/dist/tests/helpers/other-instance.js +8 -4
- package/dist/tests/helpers/other-instance.js.map +1 -1
- package/dist/tests/index/field_decorator_target.test.d.ts +1 -0
- package/dist/tests/index/field_decorator_target.test.js +20 -0
- package/dist/tests/index/field_decorator_target.test.js.map +1 -0
- package/dist/tests/index/inheritance.test.js +6 -2
- package/dist/tests/index/inheritance.test.js.map +1 -1
- package/dist/tests/index/metadata_names.test.d.ts +1 -0
- package/dist/tests/index/metadata_names.test.js +91 -0
- package/dist/tests/index/metadata_names.test.js.map +1 -0
- package/dist/tests/index/routes.test.js +14 -5
- package/dist/tests/index/routes.test.js.map +1 -1
- package/dist/tests/integration.test.js +24 -11
- package/dist/tests/integration.test.js.map +1 -1
- package/dist/tests/internal/controller-fields.test.d.ts +1 -0
- package/dist/tests/internal/controller-fields.test.js +25 -0
- package/dist/tests/internal/controller-fields.test.js.map +1 -0
- package/dist/tests/internal/http.d.ts +21 -9
- package/dist/tests/internal/http.js +24 -3
- package/dist/tests/internal/http.js.map +1 -1
- package/dist/tests/internal/shop-schema.d.ts +28 -20
- package/dist/tests/utils.d.ts +5 -7
- package/dist/tests/utils.js.map +1 -1
- package/docs/1.introduction.md +38 -35
- package/docs/10.joined.md +51 -40
- package/docs/11.computed.md +91 -47
- package/docs/2.data-controllers.md +50 -42
- package/docs/3.routes.md +150 -133
- package/docs/4.access-rights.md +48 -44
- package/docs/5.validators.md +54 -45
- package/docs/6.listable.md +53 -49
- package/docs/7.foreign-keys.md +55 -48
- package/docs/8.filters.md +64 -57
- package/docs/9.modifiers.md +29 -25
- package/package.json +17 -14
- package/skills/data-api-interface/SKILL.md +9 -3
package/README.md
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
#
|
|
1
|
+
# `@antelopejs/interface-data-api`
|
|
2
2
|
|
|
3
3
|
<div align="center">
|
|
4
|
-
<a href="https://www.npmjs.com/package/@antelopejs/interface-data-api"><img alt="npm" src="https://img.shields.io/npm/v/@antelopejs/interface-data-api?style=for-the-badge&labelColor=000000&color=000000"></a>
|
|
5
|
-
<a href="./LICENSE"><img alt="License" src="https://img.shields.io/npm/l/@antelopejs/interface-data-api?style=for-the-badge&labelColor=000000&color=000000"></a>
|
|
6
|
-
<a href="https://discord.gg/
|
|
7
|
-
<a href="https://interfaces.antelopejs.com/docs/data-api"><img alt="Docs" src="https://img.shields.io/badge/Docs-18181B?style=for-the-badge&color=000000"></a>
|
|
4
|
+
<a href="https://www.npmjs.com/package/@antelopejs/interface-data-api"><img data-illustration alt="npm" src="https://img.shields.io/npm/v/@antelopejs/interface-data-api?style=for-the-badge&labelColor=000000&color=000000"></a>
|
|
5
|
+
<a href="./LICENSE"><img data-illustration alt="License" src="https://img.shields.io/npm/l/@antelopejs/interface-data-api?style=for-the-badge&labelColor=000000&color=000000"></a>
|
|
6
|
+
<a href="https://discord.gg/g4pFt6eXqu"><img data-illustration alt="Discord" src="https://img.shields.io/badge/Discord-18181B?logo=discord&style=for-the-badge&color=000000"></a>
|
|
7
|
+
<a href="https://interfaces.antelopejs.com/docs/data-api"><img data-illustration alt="Docs" src="https://img.shields.io/badge/Docs-18181B?style=for-the-badge&color=000000"></a>
|
|
8
8
|
</div>
|
|
9
9
|
|
|
10
|
-
CRUD REST endpoints
|
|
10
|
+
The AntelopeJS interface that generates CRUD REST endpoints from a database table. Declare a data controller and its fields, and it serves the `get`, `list`, `new`, `edit` and `delete` routes with access rules, validation and pagination.
|
|
11
|
+
|
|
12
|
+
Part of [AntelopeJS](https://github.com/AntelopeJS/antelopejs). Used by [AntelopeJS DMS](https://github.com/AntelopeJS/dms), the open-source back office for your PostgreSQL, MongoDB or RethinkDB database.
|
|
11
13
|
|
|
12
14
|
## What it offers
|
|
13
15
|
|
|
14
16
|
- `DataController` and `@RegisterDataController()` turn a table class into a controller with the default routes you pick from `DefaultRoutes`.
|
|
15
|
-
- `@Access
|
|
17
|
+
- `@Access` decides which fields each route reads and writes. `@Mandatory` and `@Validator` check the written values.
|
|
16
18
|
- `@Listable`, `@Sortable` and `@Filter` shape the paginated `list` route.
|
|
17
19
|
- `@Foreign`, `@Joined` and `@Computed` resolve references, flatten remote fields and add values computed in the database.
|
|
18
20
|
|
|
19
21
|
## Implementations
|
|
20
22
|
|
|
21
|
-
The package runs in your module and has no implementing module of its own. The project needs modules that implement the interfaces it builds on
|
|
23
|
+
The package runs in your module and has no implementing module of its own. The project needs modules that implement the interfaces it builds on.
|
|
22
24
|
|
|
23
25
|
| Interface | Module |
|
|
24
26
|
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
|
|
@@ -27,13 +29,13 @@ The package runs in your module and has no implementing module of its own. The p
|
|
|
27
29
|
|
|
28
30
|
## Install
|
|
29
31
|
|
|
30
|
-
Add the package and
|
|
32
|
+
Add the package and its peer interfaces to your module.
|
|
31
33
|
|
|
32
34
|
```bash
|
|
33
|
-
pnpm add @antelopejs/interface-data-api @antelopejs/interface-api @antelopejs/interface-database-decorators
|
|
35
|
+
pnpm add @antelopejs/interface-data-api @antelopejs/interface-api @antelopejs/interface-api-util @antelopejs/interface-core @antelopejs/interface-database @antelopejs/interface-database-decorators
|
|
34
36
|
```
|
|
35
37
|
|
|
36
|
-
Then add the implementations to the project
|
|
38
|
+
Then add the implementations to the project.
|
|
37
39
|
|
|
38
40
|
```bash
|
|
39
41
|
ajs project modules add @antelopejs/api @antelopejs/mongodb
|
|
@@ -101,7 +103,7 @@ export async function construct() {
|
|
|
101
103
|
}
|
|
102
104
|
```
|
|
103
105
|
|
|
104
|
-
The controller serves `GET /tasks/get?id=`, `GET /tasks/list`, `POST /tasks/new`, `PUT /tasks/edit?id=` and `DELETE /tasks/delete?id=`.
|
|
106
|
+
The controller serves `GET /tasks/get?id=`, `GET /tasks/list`, `POST /tasks/new`, `PUT /tasks/edit?id=` and `DELETE /tasks/delete?id=`. A field without `@Access` stays out of every response and every write, unless `@Joined` or `@Computed` makes it read-only.
|
|
105
107
|
|
|
106
108
|
## Documentation
|
|
107
109
|
|
|
@@ -119,21 +121,23 @@ The controller serves `GET /tasks/get?id=`, `GET /tasks/list`, `POST /tasks/new`
|
|
|
119
121
|
|
|
120
122
|
## Compatibility
|
|
121
123
|
|
|
122
|
-
|
|
124
|
+
The package declares these `@antelopejs/*` peer dependencies.
|
|
125
|
+
|
|
126
|
+
<!-- antelopejs-docs-compat:start -->
|
|
123
127
|
|
|
124
|
-
|
|
128
|
+
| Package | Supported | Tested with |
|
|
129
|
+
| ------------------------------------------- | ----------------- | ----------- |
|
|
130
|
+
| `@antelopejs/interface-api` | `>=0.3.0 <1.0.0` | `0.2.0` |
|
|
131
|
+
| `@antelopejs/interface-api-util` | `>=0.1.3 <1.0.0` | `0.3.0` |
|
|
132
|
+
| `@antelopejs/interface-core` | `>=0.2.4 <1.0.0` | `0.4.0` |
|
|
133
|
+
| `@antelopejs/interface-database` | `>=0.1.10 <1.0.0` | `0.3.0` |
|
|
134
|
+
| `@antelopejs/interface-database-decorators` | `>=0.1.10 <1.0.0` | `0.2.0` |
|
|
125
135
|
|
|
126
|
-
|
|
127
|
-
| ------------------------------------------- | ----------------- |
|
|
128
|
-
| `@antelopejs/interface-api` | `>=0.0.15 <1.0.0` |
|
|
129
|
-
| `@antelopejs/interface-api-util` | `>=0.1.3 <1.0.0` |
|
|
130
|
-
| `@antelopejs/interface-core` | `>=0.2.4 <1.0.0` |
|
|
131
|
-
| `@antelopejs/interface-database` | `>=0.1.10 <1.0.0` |
|
|
132
|
-
| `@antelopejs/interface-database-decorators` | `>=0.1.10 <1.0.0` |
|
|
136
|
+
<!-- antelopejs-docs-compat:end -->
|
|
133
137
|
|
|
134
138
|
## Contributing
|
|
135
139
|
|
|
136
|
-
Read [CONTRIBUTING.md](./CONTRIBUTING.md) before you open a pull request.
|
|
140
|
+
Read [CONTRIBUTING.md](./CONTRIBUTING.md) before you open a pull request. Run the local checks with these commands.
|
|
137
141
|
|
|
138
142
|
```bash
|
|
139
143
|
pnpm install
|
package/dist/antelope.test.js
CHANGED
|
@@ -22,11 +22,7 @@ exports.default = (0, config_1.defineConfig)({
|
|
|
22
22
|
},
|
|
23
23
|
},
|
|
24
24
|
api: {
|
|
25
|
-
source: {
|
|
26
|
-
type: "package",
|
|
27
|
-
package: "@antelopejs/api",
|
|
28
|
-
version: "1.3.0",
|
|
29
|
-
},
|
|
25
|
+
source: { type: "local", path: "node_modules/@antelopejs/api" },
|
|
30
26
|
config: {
|
|
31
27
|
publicBaseUrl: "http://127.0.0.1:5010",
|
|
32
28
|
servers: [{ protocol: "http", host: "127.0.0.1", port: 5010 }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antelope.test.js","sourceRoot":"","sources":["../src/antelope.test.ts"],"names":[],"mappings":";;AAAA,2EAA+D;AAC/D,8DAAiE;AAEjE,IAAI,MAAyB,CAAC;AAE9B,kBAAe,IAAA,qBAAY,EAAC;IAC1B,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE;QACP,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE;YACpC,eAAe,EAAE;gBACf,2BAA2B,EAAE,KAAK;gBAClC,gCAAgC,EAAE,SAAS;aAC5C;SACF;QACD,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,OAAO;aACjB;SACF;QACD,GAAG,EAAE;YACH,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"antelope.test.js","sourceRoot":"","sources":["../src/antelope.test.ts"],"names":[],"mappings":";;AAAA,2EAA+D;AAC/D,8DAAiE;AAEjE,IAAI,MAAyB,CAAC;AAE9B,kBAAe,IAAA,qBAAY,EAAC;IAC1B,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE;QACP,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE;YACpC,eAAe,EAAE;gBACf,2BAA2B,EAAE,KAAK;gBAClC,gCAAgC,EAAE,SAAS;aAC5C;SACF;QACD,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,OAAO;aACjB;SACF;QACD,GAAG,EAAE;YACH,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,8BAA8B,EAAE;YAC/D,MAAM,EAAE;gBACN,aAAa,EAAE,uBAAuB;gBACtC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;aAC/D;SACF;KACF;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,YAAY;QACpB,KAAK,CAAC,KAAK;YACT,MAAM,GAAG,MAAM,8CAAiB,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO;gBACL,OAAO,EAAE;oBACP,OAAO,EAAE;wBACP,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE;qBAC9D;iBACF;aACF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,OAAO;YACX,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;KACF;CACF,CAAC,CAAC"}
|
package/dist/components.d.ts
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
import type { DataModel } from "@antelopejs/interface-database-decorators/model";
|
|
2
1
|
import { type RequestContext } from "@antelopejs/interface-api";
|
|
3
2
|
import type { Datum, SchemaInstance, Stream, Table, ValueProxy } from "@antelopejs/interface-database";
|
|
4
3
|
import "@antelopejs/interface-database";
|
|
5
|
-
import { type DataAPIMeta, type FieldFilter, type FieldValues } from "./metadata";
|
|
4
|
+
import { type DataAPIMeta, type DataControllerCallbackWithOptions, type DataControllerInstance, type FieldFilter, type FieldValues, type RowFields } from "./metadata";
|
|
5
|
+
import * as extractors from "./internal/extractors";
|
|
6
|
+
import * as tables from "./internal/tables";
|
|
6
7
|
export declare namespace Parameters {
|
|
7
|
-
|
|
8
|
+
/**
|
|
9
|
+
* A request context as a data route holds it: {@link RegisterDataController}
|
|
10
|
+
* sets the route's entry on it. `Options` is what the route's parameter
|
|
11
|
+
* reads, which `WithOptions` wrote.
|
|
12
|
+
*/
|
|
13
|
+
interface DataRequestContext<Options = any> extends RequestContext {
|
|
14
|
+
dataAPIEntry?: DataControllerCallbackWithOptions<Options>;
|
|
15
|
+
}
|
|
16
|
+
/** The options the route's `WithOptions` set, none when it set none. */
|
|
17
|
+
function GetOptionOverrides<Options>(reqCtx: DataRequestContext<Options>): Partial<Options>;
|
|
8
18
|
/**
|
|
9
19
|
* Extracts request filters and mandatory route filters, with route field
|
|
10
20
|
* keys winning. A field the request filters once (`?filter_status=open`)
|
|
@@ -12,19 +22,27 @@ export declare namespace Parameters {
|
|
|
12
22
|
* (`?filter_age=ge:18&filter_age=lt:65`) gets them all, which a row must
|
|
13
23
|
* all pass. Returns fresh tuples.
|
|
14
24
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
25
|
+
function ExtractFilters(reqCtx: DataRequestContext<ListParameters>, meta: DataAPIMeta): Record<string, FieldFilter>;
|
|
26
|
+
type ParameterExtractor<Value> = extractors.ParameterExtractor<Value>;
|
|
27
|
+
type ParameterExtractors<T> = extractors.ParameterExtractors<T>;
|
|
28
|
+
const FromSearch: {
|
|
29
|
+
number: extractors.ParameterExtractor<number>;
|
|
30
|
+
int: extractors.ParameterExtractor<number>;
|
|
31
|
+
bool: extractors.ParameterExtractor<boolean>;
|
|
32
|
+
string: extractors.ParameterExtractor<string>;
|
|
33
|
+
numbers: extractors.ParameterExtractor<number[]>;
|
|
34
|
+
ints: extractors.ParameterExtractor<number[]>;
|
|
35
|
+
bools: extractors.ParameterExtractor<boolean[]>;
|
|
36
|
+
strings: extractors.ParameterExtractor<string[]>;
|
|
21
37
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Builds a route's parameters: the options its `WithOptions` set, then each
|
|
40
|
+
* extracted field those options leave out. An extractor of `undefined` is
|
|
41
|
+
* skipped like an absent key. {@link ExtractFilters} also runs for a route
|
|
42
|
+
* that sets `filters`, since it combines them with the request's.
|
|
43
|
+
*/
|
|
44
|
+
function ExtractGeneric<T extends Record<string, any>>(reqCtx: DataRequestContext<T>, meta: DataAPIMeta, dynamic: ParameterExtractors<T>): Partial<T>;
|
|
45
|
+
interface ListParameters {
|
|
28
46
|
/**
|
|
29
47
|
* The filters of the request, by field; a row passes every filter of
|
|
30
48
|
* every field. Mandatory route filters when supplied through
|
|
@@ -40,40 +58,42 @@ export declare namespace Parameters {
|
|
|
40
58
|
noPluck?: boolean;
|
|
41
59
|
pluckMode?: string;
|
|
42
60
|
}
|
|
43
|
-
|
|
44
|
-
|
|
61
|
+
const List: () => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator;
|
|
62
|
+
interface GetParameters {
|
|
45
63
|
id: string;
|
|
46
64
|
index?: string;
|
|
47
65
|
noForeign?: string;
|
|
48
66
|
}
|
|
49
|
-
|
|
50
|
-
|
|
67
|
+
const Get: () => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator;
|
|
68
|
+
interface NewParameters {
|
|
51
69
|
noMandatory?: string;
|
|
52
70
|
}
|
|
53
|
-
|
|
54
|
-
|
|
71
|
+
const New: () => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator;
|
|
72
|
+
interface EditParameters {
|
|
55
73
|
id: string;
|
|
56
74
|
index?: string;
|
|
57
75
|
noMandatory?: string;
|
|
58
76
|
}
|
|
59
|
-
|
|
60
|
-
|
|
77
|
+
const Edit: () => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator;
|
|
78
|
+
interface DeleteParameters {
|
|
61
79
|
id: string[];
|
|
62
80
|
}
|
|
63
|
-
|
|
64
|
-
export {};
|
|
81
|
+
const Delete: () => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator;
|
|
65
82
|
}
|
|
66
83
|
export declare namespace Query {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
84
|
+
/**
|
|
85
|
+
* The database model a controller holds under its `@ModelReference` field,
|
|
86
|
+
* typed by the table rows it reads.
|
|
87
|
+
*/
|
|
88
|
+
type ModelInstance = tables.ModelInstance;
|
|
89
|
+
function GetModel(obj: DataControllerInstance, meta: DataAPIMeta): ModelInstance;
|
|
70
90
|
function Foreign(db: SchemaInstance<any>, meta: DataAPIMeta, query: Stream<any>, pluck?: Set<string>): Stream<any>;
|
|
71
91
|
function Foreign(db: SchemaInstance<any>, meta: DataAPIMeta, query: Datum<any>, pluck?: Set<string>): Datum<any>;
|
|
72
92
|
function Joined(db: SchemaInstance<any>, meta: DataAPIMeta, query: Stream<any>, only?: Set<string>): Stream<any>;
|
|
73
93
|
function Joined(db: SchemaInstance<any>, meta: DataAPIMeta, query: Datum<any>, only?: Set<string>): Datum<any>;
|
|
74
94
|
function Computed(db: SchemaInstance<any>, meta: DataAPIMeta, query: Stream<any>, only?: Set<string>): Stream<any>;
|
|
75
95
|
function Computed(db: SchemaInstance<any>, meta: DataAPIMeta, query: Datum<any>, only?: Set<string>): Datum<any>;
|
|
76
|
-
function ReadProperties(obj:
|
|
96
|
+
function ReadProperties(obj: DataControllerInstance, meta: DataAPIMeta, dbData: RowFields, action?: string, onlyList?: boolean): Promise<RowFields>;
|
|
77
97
|
/**
|
|
78
98
|
* Writes the writable fields of `bodyData` into a database row.
|
|
79
99
|
*
|
|
@@ -84,8 +104,8 @@ export declare namespace Query {
|
|
|
84
104
|
* row and only their setters run: an absent field keeps its stored value,
|
|
85
105
|
* `null` clears it.
|
|
86
106
|
*/
|
|
87
|
-
function WriteProperties(obj:
|
|
88
|
-
function Get(table: Table<
|
|
107
|
+
function WriteProperties(obj: DataControllerInstance, meta: DataAPIMeta, bodyData: FieldValues, action?: string, existingDBData?: RowFields): Promise<RowFields>;
|
|
108
|
+
function Get<T extends object>(table: Table<T>, id: string | ValueProxy<string>, index?: string): import("@antelopejs/interface-database").SingleSelection<T> | Datum<T | null>;
|
|
89
109
|
interface ListOptions {
|
|
90
110
|
/**
|
|
91
111
|
* Return the joined field names {@link List} did not materialize as the
|
|
@@ -112,7 +132,7 @@ export declare namespace Query {
|
|
|
112
132
|
* since no lookup can be built without one — the raw stream is returned
|
|
113
133
|
* and the third element names the joined fields left for the caller.
|
|
114
134
|
*/
|
|
115
|
-
function List<T extends Record<string, any>>(obj:
|
|
135
|
+
function List<T extends Record<string, any>>(obj: DataControllerInstance, meta: DataAPIMeta, request: Table<T>, reqCtx: RequestContext, ...[sorting, filters, db, options]: ListTail): [sorted: Stream<T>, total: Datum<number>, deferredJoined: Set<string>];
|
|
116
136
|
/** How {@link ListPage} reads one page of a {@link List} stream. */
|
|
117
137
|
interface ListPageOptions {
|
|
118
138
|
offset: number;
|
|
@@ -168,7 +188,7 @@ export declare namespace Validation {
|
|
|
168
188
|
* other action, it is missing when absent from the body. The body of the
|
|
169
189
|
* 400 is a {@link FieldsErrorBody} with {@link MISSING_MANDATORY_FIELDS}.
|
|
170
190
|
*/
|
|
171
|
-
function MandatoryFields(meta: DataAPIMeta, obj:
|
|
191
|
+
function MandatoryFields(meta: DataAPIMeta, obj: RequestBody, type: string): void;
|
|
172
192
|
/**
|
|
173
193
|
* Runs the validator of each field present in `obj` and rejects with 400
|
|
174
194
|
* when one fails, with a {@link FieldsErrorBody} of
|
|
@@ -193,8 +213,8 @@ export declare namespace Validation {
|
|
|
193
213
|
* untouched keeps its stored locked value: read while locked it would be
|
|
194
214
|
* `undefined`, and locking it again would store that over it.
|
|
195
215
|
*/
|
|
196
|
-
function Lock(obj:
|
|
197
|
-
function Unlock(obj:
|
|
198
|
-
function UnlockRequest<T extends {}, K extends keyof T>(obj:
|
|
199
|
-
function ClearInternal(meta: DataAPIMeta, obj:
|
|
216
|
+
function Lock(obj: DataControllerInstance, meta: DataAPIMeta, data: RowFields): void;
|
|
217
|
+
function Unlock(obj: DataControllerInstance, meta: DataAPIMeta, dbData: RowFields): void;
|
|
218
|
+
function UnlockRequest<T extends {}, K extends keyof T>(obj: DataControllerInstance, meta: DataAPIMeta, row: ValueProxy<T>, field: K): ValueProxy<T[K]>;
|
|
219
|
+
function ClearInternal(meta: DataAPIMeta, obj: RowFields | RowFields[]): void;
|
|
200
220
|
}
|
package/dist/components.js
CHANGED
|
@@ -44,14 +44,18 @@ const metadata_1 = require("./metadata");
|
|
|
44
44
|
const computed = __importStar(require("./internal/computed"));
|
|
45
45
|
const filters_1 = require("./internal/filters");
|
|
46
46
|
const foreign = __importStar(require("./internal/foreign"));
|
|
47
|
+
const extractors = __importStar(require("./internal/extractors"));
|
|
47
48
|
const guards_1 = require("./internal/guards");
|
|
48
49
|
const joined = __importStar(require("./internal/joined"));
|
|
49
50
|
const list = __importStar(require("./internal/list"));
|
|
50
51
|
const properties = __importStar(require("./internal/properties"));
|
|
52
|
+
const prototypes_1 = require("./internal/prototypes");
|
|
53
|
+
const read_properties_1 = require("./internal/read-properties");
|
|
51
54
|
const tables = __importStar(require("./internal/tables"));
|
|
52
55
|
const validation = __importStar(require("./internal/validation"));
|
|
53
56
|
var Parameters;
|
|
54
57
|
(function (Parameters) {
|
|
58
|
+
/** The options the route's `WithOptions` set, none when it set none. */
|
|
55
59
|
function GetOptionOverrides(reqCtx) {
|
|
56
60
|
return reqCtx.dataAPIEntry?.options ?? {};
|
|
57
61
|
}
|
|
@@ -80,59 +84,43 @@ var Parameters;
|
|
|
80
84
|
return result;
|
|
81
85
|
}
|
|
82
86
|
Parameters.ExtractFilters = ExtractFilters;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
bool: (val) => val !== "0",
|
|
87
|
-
string: (val) => val,
|
|
88
|
-
};
|
|
89
|
-
function isConverterKey(name) {
|
|
90
|
-
return Object.hasOwn(converters, name);
|
|
91
|
-
}
|
|
92
|
-
function converterOf(name) {
|
|
93
|
-
if (!isConverterKey(name)) {
|
|
94
|
-
throw new TypeError(`Unknown parameter converter "${name}"`);
|
|
95
|
-
}
|
|
96
|
-
return converters[name];
|
|
97
|
-
}
|
|
98
|
-
function extractFromSearchParams(reqCtx, key, extractor) {
|
|
99
|
-
if (extractor.startsWith("multi:")) {
|
|
100
|
-
const name = extractor.substring(6);
|
|
101
|
-
return reqCtx.url.searchParams
|
|
102
|
-
.getAll(key)
|
|
103
|
-
.map((searchVal) => converterOf(name)(searchVal));
|
|
104
|
-
}
|
|
105
|
-
const searchVal = reqCtx.url.searchParams.get(key);
|
|
106
|
-
return searchVal === null ? undefined : converterOf(extractor)(searchVal);
|
|
87
|
+
Parameters.FromSearch = extractors.FromSearch;
|
|
88
|
+
function combinesWithOptions(extractor) {
|
|
89
|
+
return extractor === ExtractFilters;
|
|
107
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Builds a route's parameters: the options its `WithOptions` set, then each
|
|
93
|
+
* extracted field those options leave out. An extractor of `undefined` is
|
|
94
|
+
* skipped like an absent key. {@link ExtractFilters} also runs for a route
|
|
95
|
+
* that sets `filters`, since it combines them with the request's.
|
|
96
|
+
*/
|
|
108
97
|
function ExtractGeneric(reqCtx, meta, dynamic) {
|
|
109
|
-
const
|
|
110
|
-
const
|
|
111
|
-
for (const key of Object.keys(dynamic)) {
|
|
98
|
+
const result = { ...GetOptionOverrides(reqCtx) };
|
|
99
|
+
for (const key in dynamic) {
|
|
112
100
|
const extractor = dynamic[key];
|
|
113
|
-
if (key in result && extractor
|
|
101
|
+
if (!extractor || (key in result && !combinesWithOptions(extractor))) {
|
|
114
102
|
continue;
|
|
115
|
-
if ((0, guards_1.isString)(extractor)) {
|
|
116
|
-
const value = extractFromSearchParams(reqCtx, key, extractor);
|
|
117
|
-
if (value !== undefined)
|
|
118
|
-
result[key] = value;
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
// SAFETY: key comes from Object.keys(dynamic), typed GenericParams<Partial<T>> (a mapped type over keyof T), so for a type-checked argument it is a keyof T; false only for a stray key on a non-literal argument, which is harmless as the key is only written on result.
|
|
122
|
-
result[key] = extractor(reqCtx, meta);
|
|
123
103
|
}
|
|
104
|
+
const value = extractor(reqCtx, meta, key);
|
|
105
|
+
if (value !== undefined)
|
|
106
|
+
result[key] = value;
|
|
124
107
|
}
|
|
125
108
|
return result;
|
|
126
109
|
}
|
|
127
110
|
Parameters.ExtractGeneric = ExtractGeneric;
|
|
111
|
+
/**
|
|
112
|
+
* The sort direction a request sends. Any other text sorts ascending, as an
|
|
113
|
+
* absent direction does.
|
|
114
|
+
*/
|
|
115
|
+
const sortDirectionOf = extractors.fromSearch((text) => text === "asc" || text === "desc" ? text : undefined);
|
|
128
116
|
Parameters.List = (0, decorators_1.MakeParameterAndPropertyDecorator)((target, key, param) => (0, interface_api_1.SetParameterProvider)(target, key, param, function (context) {
|
|
129
117
|
const meta = (0, metadata_1.GetDataControllerMeta)(this);
|
|
130
118
|
const params = ExtractGeneric(context, meta, {
|
|
131
119
|
filters: ExtractFilters,
|
|
132
|
-
offset:
|
|
133
|
-
limit:
|
|
134
|
-
sortKey:
|
|
135
|
-
sortDirection:
|
|
120
|
+
offset: Parameters.FromSearch.int,
|
|
121
|
+
limit: Parameters.FromSearch.int,
|
|
122
|
+
sortKey: Parameters.FromSearch.string,
|
|
123
|
+
sortDirection: sortDirectionOf,
|
|
136
124
|
});
|
|
137
125
|
(0, interface_api_util_1.assert)(!params.sortKey || meta.fields[params.sortKey]?.sortable, 400, "Field is not sortable.");
|
|
138
126
|
params.limit = params.limit
|
|
@@ -142,7 +130,7 @@ var Parameters;
|
|
|
142
130
|
}));
|
|
143
131
|
Parameters.Get = (0, decorators_1.MakeParameterAndPropertyDecorator)((target, key, param) => (0, interface_api_1.SetParameterProvider)(target, key, param, function (context) {
|
|
144
132
|
const params = ExtractGeneric(context, (0, metadata_1.GetDataControllerMeta)(this), {
|
|
145
|
-
id:
|
|
133
|
+
id: Parameters.FromSearch.string,
|
|
146
134
|
});
|
|
147
135
|
(0, interface_api_util_1.assert)(params.id && (0, guards_1.isString)(params.id), 400, "Missing id.");
|
|
148
136
|
return params;
|
|
@@ -153,14 +141,14 @@ var Parameters;
|
|
|
153
141
|
}));
|
|
154
142
|
Parameters.Edit = (0, decorators_1.MakeParameterAndPropertyDecorator)((target, key, param) => (0, interface_api_1.SetParameterProvider)(target, key, param, function (context) {
|
|
155
143
|
const params = ExtractGeneric(context, (0, metadata_1.GetDataControllerMeta)(this), {
|
|
156
|
-
id:
|
|
144
|
+
id: Parameters.FromSearch.string,
|
|
157
145
|
});
|
|
158
146
|
(0, interface_api_util_1.assert)(params.id && (0, guards_1.isString)(params.id), 400, "Missing id.");
|
|
159
147
|
return params;
|
|
160
148
|
}));
|
|
161
149
|
Parameters.Delete = (0, decorators_1.MakeParameterAndPropertyDecorator)((target, key, param) => (0, interface_api_1.SetParameterProvider)(target, key, param, function (context) {
|
|
162
150
|
const params = ExtractGeneric(context, (0, metadata_1.GetDataControllerMeta)(this), {
|
|
163
|
-
id:
|
|
151
|
+
id: Parameters.FromSearch.strings,
|
|
164
152
|
});
|
|
165
153
|
(0, interface_api_util_1.assert)(params.id && Array.isArray(params.id) && params.id.length > 0, 400, "Missing id.");
|
|
166
154
|
return params;
|
|
@@ -170,7 +158,9 @@ var Query;
|
|
|
170
158
|
(function (Query) {
|
|
171
159
|
function GetModel(obj, meta) {
|
|
172
160
|
(0, interface_api_util_1.assert)(meta.modelKey, 500, "Missing model key.");
|
|
173
|
-
|
|
161
|
+
const model = (0, prototypes_1.fieldsOf)(obj)[meta.modelKey];
|
|
162
|
+
(0, interface_api_util_1.assert)(tables.isModelInstance(model), 500, "The controller holds no model.");
|
|
163
|
+
return model;
|
|
174
164
|
}
|
|
175
165
|
Query.GetModel = GetModel;
|
|
176
166
|
function Foreign(db, meta, query, pluck) {
|
|
@@ -186,26 +176,7 @@ var Query;
|
|
|
186
176
|
}
|
|
187
177
|
Query.Computed = Computed;
|
|
188
178
|
async function ReadProperties(obj, meta, dbData, action, onlyList) {
|
|
189
|
-
|
|
190
|
-
const instance = { ...obj };
|
|
191
|
-
const res = {};
|
|
192
|
-
for (const [key, field] of readable.props) {
|
|
193
|
-
if (onlyList && !field.listable) {
|
|
194
|
-
continue;
|
|
195
|
-
}
|
|
196
|
-
instance[key] = dbData[field.dbName || key];
|
|
197
|
-
res[key] = dbData[field.dbName || key];
|
|
198
|
-
}
|
|
199
|
-
instance.table = dbData;
|
|
200
|
-
Object.setPrototypeOf(instance, meta.target.prototype);
|
|
201
|
-
for (const [key, field] of readable.getters) {
|
|
202
|
-
if (onlyList && !field.listable) {
|
|
203
|
-
continue;
|
|
204
|
-
}
|
|
205
|
-
const val = field.desc?.get?.apply(instance);
|
|
206
|
-
res[key] = await ((0, guards_1.isFunction)(val) ? val() : val);
|
|
207
|
-
}
|
|
208
|
-
return res;
|
|
179
|
+
return (0, read_properties_1.ReadProperties)(obj, meta, dbData, action, onlyList);
|
|
209
180
|
}
|
|
210
181
|
Query.ReadProperties = ReadProperties;
|
|
211
182
|
/**
|
|
@@ -347,10 +318,7 @@ var Validation;
|
|
|
347
318
|
*/
|
|
348
319
|
function Lock(obj, meta, data) {
|
|
349
320
|
const written = Object.keys((0, common_1.getMetadata)(data, common_2.ModifiersDynamicMetadata).floating);
|
|
350
|
-
|
|
351
|
-
const key = obj[field];
|
|
352
|
-
(0, common_2.lock)(data, modifier, written, key);
|
|
353
|
-
}
|
|
321
|
+
validation.Lock(obj, meta, data, written);
|
|
354
322
|
}
|
|
355
323
|
Validation.Lock = Lock;
|
|
356
324
|
function Unlock(obj, meta, dbData) {
|
package/dist/components.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
|