@antelopejs/interface-data-api 0.1.8 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/antelope.test.js +11 -10
- package/dist/antelope.test.js.map +1 -1
- package/dist/components.d.ts +4 -2
- package/dist/components.js +13 -8
- package/dist/components.js.map +1 -1
- package/dist/index.d.ts +25 -33
- package/dist/index.js +30 -15
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +20 -3
- package/dist/metadata.js +5 -1
- package/dist/metadata.js.map +1 -1
- package/dist/tests/components/access_control.test.js +2 -2
- package/dist/tests/components/access_control.test.js.map +1 -1
- package/dist/tests/components/computed.test.js +2 -2
- package/dist/tests/components/computed.test.js.map +1 -1
- package/dist/tests/components/deferred_joined.test.js +3 -3
- package/dist/tests/components/deferred_joined.test.js.map +1 -1
- package/dist/tests/components/filter_options.test.d.ts +1 -0
- package/dist/tests/components/filter_options.test.js +78 -0
- package/dist/tests/components/filter_options.test.js.map +1 -0
- package/dist/tests/components/foreign_joined.test.js +2 -2
- package/dist/tests/components/foreign_joined.test.js.map +1 -1
- package/dist/tests/components/joined.test.js +3 -3
- package/dist/tests/components/joined.test.js.map +1 -1
- package/dist/tests/components/listable.test.js +2 -2
- package/dist/tests/components/listable.test.js.map +1 -1
- package/dist/tests/components/mandatory.test.js +2 -2
- package/dist/tests/components/mandatory.test.js.map +1 -1
- package/dist/tests/components/modifier_key.test.js +2 -2
- package/dist/tests/components/modifier_key.test.js.map +1 -1
- package/dist/tests/components/per_action_access.test.js +1 -1
- package/dist/tests/components/per_action_access.test.js.map +1 -1
- package/dist/tests/components/validator.test.js +1 -1
- package/dist/tests/components/validator.test.js.map +1 -1
- package/dist/tests/index/get_guard.test.d.ts +1 -0
- package/dist/tests/index/get_guard.test.js +112 -0
- package/dist/tests/index/get_guard.test.js.map +1 -0
- package/dist/tests/index/routes.test.js +2 -2
- package/dist/tests/index/routes.test.js.map +1 -1
- package/dist/tests/integration.test.js +1 -1
- package/dist/tests/integration.test.js.map +1 -1
- package/dist/tests/utils.d.ts +7 -0
- package/dist/tests/utils.js +48 -6
- package/dist/tests/utils.js.map +1 -1
- package/dist/tests/utils.test.d.ts +1 -0
- package/dist/tests/utils.test.js +28 -0
- package/dist/tests/utils.test.js.map +1 -0
- package/docs/1.introduction.md +7 -7
- package/docs/10.joined.md +13 -13
- package/docs/11.computed.md +11 -15
- package/docs/2.data-controllers.md +4 -4
- package/docs/3.routes.md +48 -48
- package/docs/4.access-rights.md +5 -5
- package/docs/6.listable.md +7 -7
- package/docs/7.foreign-keys.md +7 -7
- package/docs/8.filters.md +16 -16
- package/docs/9.modifiers.md +2 -2
- package/package.json +44 -35
- package/skills/data-api-interface/SKILL.md +51 -7
package/package.json
CHANGED
|
@@ -1,26 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antelopejs/interface-data-api",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "AntelopeJS interface for data API with CRUD controllers and route generation",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"antelopejs",
|
|
7
|
-
"
|
|
7
|
+
"crud",
|
|
8
8
|
"data-api",
|
|
9
|
-
"
|
|
9
|
+
"interface"
|
|
10
10
|
],
|
|
11
|
+
"license": "Apache-2.0",
|
|
11
12
|
"repository": {
|
|
12
13
|
"type": "git",
|
|
13
14
|
"url": "git+https://github.com/AntelopeJS/interface-data-api.git"
|
|
14
15
|
},
|
|
15
|
-
"license": "Apache-2.0",
|
|
16
|
-
"packageManager": "pnpm@10.6.5",
|
|
17
|
-
"main": "dist/index.js",
|
|
18
|
-
"types": "dist/index.d.ts",
|
|
19
16
|
"files": [
|
|
20
17
|
"dist",
|
|
21
18
|
"docs",
|
|
22
19
|
"skills"
|
|
23
20
|
],
|
|
21
|
+
"main": "dist/index.js",
|
|
22
|
+
"types": "dist/index.d.ts",
|
|
23
|
+
"typesVersions": {
|
|
24
|
+
"*": {
|
|
25
|
+
"components": [
|
|
26
|
+
"dist/components.d.ts"
|
|
27
|
+
],
|
|
28
|
+
"metadata": [
|
|
29
|
+
"dist/metadata.d.ts"
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
},
|
|
24
33
|
"exports": {
|
|
25
34
|
".": {
|
|
26
35
|
"types": "./dist/index.d.ts",
|
|
@@ -32,53 +41,53 @@
|
|
|
32
41
|
},
|
|
33
42
|
"./package.json": "./package.json"
|
|
34
43
|
},
|
|
44
|
+
"publishConfig": {
|
|
45
|
+
"access": "public",
|
|
46
|
+
"provenance": true
|
|
47
|
+
},
|
|
35
48
|
"scripts": {
|
|
36
49
|
"build": "rimraf dist && tsc",
|
|
37
|
-
"format": "
|
|
38
|
-
"lint:fix": "
|
|
39
|
-
"lint": "
|
|
50
|
+
"format": "oxfmt .",
|
|
51
|
+
"lint:fix": "oxlint --fix",
|
|
52
|
+
"lint": "oxlint",
|
|
40
53
|
"prepack": "pnpm run build",
|
|
41
54
|
"release": "pnpm run lint && pnpm run prepack && release-it",
|
|
42
|
-
"test": "pnpm run build && ajs module test ."
|
|
55
|
+
"test": "pnpm run build && ajs module test .",
|
|
56
|
+
"format:check": "oxfmt --check .",
|
|
57
|
+
"knip": "knip"
|
|
43
58
|
},
|
|
44
59
|
"devDependencies": {
|
|
45
|
-
"@antelopejs/
|
|
46
|
-
"@antelopejs/interface-api
|
|
47
|
-
"@antelopejs/interface-
|
|
48
|
-
"@antelopejs/interface-
|
|
49
|
-
"@antelopejs/interface-database
|
|
50
|
-
"@
|
|
60
|
+
"@antelopejs/core": "^1.13.4",
|
|
61
|
+
"@antelopejs/interface-api": "^0.0.13",
|
|
62
|
+
"@antelopejs/interface-api-util": "^0.1.2",
|
|
63
|
+
"@antelopejs/interface-core": "^0.1.1",
|
|
64
|
+
"@antelopejs/interface-database": "^0.1.7",
|
|
65
|
+
"@antelopejs/interface-database-decorators": "^0.1.6",
|
|
66
|
+
"@antelopejs/tooling-configs": "^0.0.6",
|
|
51
67
|
"@types/chai": "^4.3.20",
|
|
52
68
|
"@types/mocha": "^10.0.10",
|
|
53
69
|
"@types/node": "^22.19.15",
|
|
54
70
|
"@types/semver": "^7.7.1",
|
|
55
71
|
"chai": "^4.5.0",
|
|
72
|
+
"eslint-plugin-perfectionist": "^5.11.0",
|
|
73
|
+
"knip": "^6.34.0",
|
|
56
74
|
"mongodb-memory-server-core": "^10.4.3",
|
|
75
|
+
"oxfmt": "^0.66.0",
|
|
76
|
+
"oxlint": "1.81.0",
|
|
77
|
+
"oxlint-tsgolint": "^7.0.2001",
|
|
57
78
|
"release-it": "^19.2.4",
|
|
58
79
|
"release-it-changelogen": "^0.1.0",
|
|
59
80
|
"rimraf": "^6.1.3",
|
|
60
81
|
"typescript": "^5.9.3"
|
|
61
82
|
},
|
|
62
83
|
"peerDependencies": {
|
|
63
|
-
"@antelopejs/interface-api": ">=0.0.
|
|
64
|
-
"@antelopejs/interface-api-util": ">=0.
|
|
65
|
-
"@antelopejs/interface-core": ">=0.
|
|
66
|
-
"@antelopejs/interface-database": ">=0.1.
|
|
67
|
-
"@antelopejs/interface-database-decorators": ">=0.1.
|
|
68
|
-
},
|
|
69
|
-
"publishConfig": {
|
|
70
|
-
"access": "public"
|
|
71
|
-
},
|
|
72
|
-
"typesVersions": {
|
|
73
|
-
"*": {
|
|
74
|
-
"components": [
|
|
75
|
-
"dist/components.d.ts"
|
|
76
|
-
],
|
|
77
|
-
"metadata": [
|
|
78
|
-
"dist/metadata.d.ts"
|
|
79
|
-
]
|
|
80
|
-
}
|
|
84
|
+
"@antelopejs/interface-api": ">=0.0.13 <1.0.0",
|
|
85
|
+
"@antelopejs/interface-api-util": ">=0.1.2 <1.0.0",
|
|
86
|
+
"@antelopejs/interface-core": ">=0.1.1 <1.0.0",
|
|
87
|
+
"@antelopejs/interface-database": ">=0.1.7 <1.0.0",
|
|
88
|
+
"@antelopejs/interface-database-decorators": ">=0.1.6 <1.0.0"
|
|
81
89
|
},
|
|
90
|
+
"packageManager": "pnpm@10.6.5",
|
|
82
91
|
"antelopeJs": {
|
|
83
92
|
"standalone": true,
|
|
84
93
|
"test": "src/antelope.test.ts",
|
|
@@ -17,9 +17,32 @@ your module must also import those peer interfaces.
|
|
|
17
17
|
## Imports
|
|
18
18
|
|
|
19
19
|
```typescript
|
|
20
|
-
import {
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
import {
|
|
21
|
+
DataController,
|
|
22
|
+
DefaultRoutes,
|
|
23
|
+
RegisterDataController,
|
|
24
|
+
GetDataControllerMeta,
|
|
25
|
+
} from "@antelopejs/interface-data-api";
|
|
26
|
+
import {
|
|
27
|
+
Access,
|
|
28
|
+
AccessMode,
|
|
29
|
+
Listable,
|
|
30
|
+
Mandatory,
|
|
31
|
+
Optional,
|
|
32
|
+
Sortable,
|
|
33
|
+
Filter,
|
|
34
|
+
Foreign,
|
|
35
|
+
Joined,
|
|
36
|
+
Computed,
|
|
37
|
+
Validator,
|
|
38
|
+
ModelReference,
|
|
39
|
+
ModifierKey,
|
|
40
|
+
} from "@antelopejs/interface-data-api/metadata";
|
|
41
|
+
import {
|
|
42
|
+
Parameters,
|
|
43
|
+
Query,
|
|
44
|
+
Validation,
|
|
45
|
+
} from "@antelopejs/interface-data-api/components";
|
|
23
46
|
```
|
|
24
47
|
|
|
25
48
|
`/components` is only needed for custom route callbacks (query building, validation helpers).
|
|
@@ -28,9 +51,26 @@ import { Parameters, Query, Validation } from "@antelopejs/interface-data-api/co
|
|
|
28
51
|
|
|
29
52
|
```typescript
|
|
30
53
|
import { Controller } from "@antelopejs/interface-api";
|
|
31
|
-
import {
|
|
32
|
-
|
|
33
|
-
|
|
54
|
+
import {
|
|
55
|
+
DataController,
|
|
56
|
+
DefaultRoutes,
|
|
57
|
+
RegisterDataController,
|
|
58
|
+
} from "@antelopejs/interface-data-api";
|
|
59
|
+
import {
|
|
60
|
+
Access,
|
|
61
|
+
AccessMode,
|
|
62
|
+
Listable,
|
|
63
|
+
Mandatory,
|
|
64
|
+
ModelReference,
|
|
65
|
+
Sortable,
|
|
66
|
+
} from "@antelopejs/interface-data-api/metadata";
|
|
67
|
+
import {
|
|
68
|
+
BasicDataModel,
|
|
69
|
+
Field,
|
|
70
|
+
Model,
|
|
71
|
+
RegisterTable,
|
|
72
|
+
Table,
|
|
73
|
+
} from "@antelopejs/interface-database-decorators";
|
|
34
74
|
|
|
35
75
|
@RegisterTable("tasks", "default")
|
|
36
76
|
class Task extends Table {
|
|
@@ -43,7 +83,11 @@ class Task extends Table {
|
|
|
43
83
|
class TaskModel extends BasicDataModel(Task, "tasks") {}
|
|
44
84
|
|
|
45
85
|
@RegisterDataController()
|
|
46
|
-
class TaskAPI extends DataController(
|
|
86
|
+
class TaskAPI extends DataController(
|
|
87
|
+
Task,
|
|
88
|
+
DefaultRoutes.All,
|
|
89
|
+
Controller("/tasks"),
|
|
90
|
+
) {
|
|
47
91
|
@ModelReference()
|
|
48
92
|
@Model(TaskModel, "my-database")
|
|
49
93
|
declare taskModel: TaskModel;
|