@mapomodule/core 2.0.0-beta.6 → 2.0.0-beta.8
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/module.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../../src/runtime/api/crud.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../../src/runtime/api/crud.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAGV,UAAU,EAEV,cAAc,EACf,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACvB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,UAAU,GACtB,cAAc,CAAC,CAAC,CAAC,CAsGnB"}
|
package/dist/runtime/api/crud.js
CHANGED
|
@@ -56,6 +56,12 @@ export function useCrud(endpoint, higherConf) {
|
|
|
56
56
|
...merged(config)
|
|
57
57
|
});
|
|
58
58
|
},
|
|
59
|
+
options(config) {
|
|
60
|
+
return fetch(base, {
|
|
61
|
+
method: "OPTIONS",
|
|
62
|
+
...merged(config)
|
|
63
|
+
});
|
|
64
|
+
},
|
|
59
65
|
updateOrCreate(data, config, opts) {
|
|
60
66
|
if (data.id) {
|
|
61
67
|
const { id, ...rest } = data;
|
package/dist/runtime/types.d.ts
CHANGED
|
@@ -29,6 +29,18 @@ export interface CrudConfig {
|
|
|
29
29
|
export interface CrudOptions {
|
|
30
30
|
multipart?: MultipartPolicy;
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* What an endpoint returns from OPTIONS. Deliberately loose: backends extend it
|
|
34
|
+
* (Camomilla adds `lang_info`), and clients read only the keys they know.
|
|
35
|
+
*/
|
|
36
|
+
export interface ResourceMetadata {
|
|
37
|
+
name?: string;
|
|
38
|
+
description?: string;
|
|
39
|
+
renders?: string[];
|
|
40
|
+
parses?: string[];
|
|
41
|
+
actions?: Record<string, unknown>;
|
|
42
|
+
[key: string]: unknown;
|
|
43
|
+
}
|
|
32
44
|
export interface CrudRepository<T> {
|
|
33
45
|
list(params?: ListParams, config?: CrudConfig): Promise<PaginatedResponse<T>>;
|
|
34
46
|
detail(id: string | number, config?: CrudConfig): Promise<T>;
|
|
@@ -36,6 +48,7 @@ export interface CrudRepository<T> {
|
|
|
36
48
|
update(id: string | number, data: Partial<T>, config?: CrudConfig, opts?: CrudOptions): Promise<T>;
|
|
37
49
|
partialUpdate(id: string | number, diff: Partial<T>, config?: CrudConfig, opts?: CrudOptions): Promise<T>;
|
|
38
50
|
delete(id: string | number, config?: CrudConfig): Promise<void>;
|
|
51
|
+
options(config?: CrudConfig): Promise<ResourceMetadata>;
|
|
39
52
|
updateOrCreate(data: Partial<T> & {
|
|
40
53
|
id?: string | number;
|
|
41
54
|
}, config?: CrudConfig, opts?: CrudOptions): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC7B,IAAI,SAAS;IACb,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,GAAG,mBAAmB,EAAE,CAAC;AAEvD,oBAAY,cAAc;IACxB,OAAO,mBAAmB;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AAE/B,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,CACJ,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,MAAM,CAAC,EAAE,UAAU,EACnB,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,aAAa,CACX,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,MAAM,CAAC,EAAE,UAAU,EACnB,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACxD,cAAc,CACZ,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAC3C,MAAM,CAAC,EAAE,UAAU,EACnB,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,WAAW,CACT,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mapomodule/core",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.8",
|
|
4
4
|
"description": "Mapo core: API layer, auth, composables, middleware",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -40,14 +40,13 @@
|
|
|
40
40
|
"scripts": {
|
|
41
41
|
"dev": "nuxt-module-build build --stub --watch",
|
|
42
42
|
"build": "nuxt-module-build build && tsc -p tsconfig.build-types.json",
|
|
43
|
-
"prepack": "pnpm build",
|
|
44
43
|
"dev:prepare": "nuxt-module-build build --stub",
|
|
45
44
|
"typecheck": "tsc --noEmit",
|
|
46
45
|
"lint": "eslint src"
|
|
47
46
|
},
|
|
48
47
|
"dependencies": {
|
|
49
|
-
"@mapomodule/store": "2.0.0-beta.
|
|
50
|
-
"@mapomodule/utils": "2.0.0-beta.
|
|
48
|
+
"@mapomodule/store": "2.0.0-beta.5",
|
|
49
|
+
"@mapomodule/utils": "2.0.0-beta.4"
|
|
51
50
|
},
|
|
52
51
|
"peerDependencies": {
|
|
53
52
|
"nuxt": ">=4.0.0",
|
package/src/runtime/api/crud.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { useMapoFetch } from "../utils/useMapoFetch";
|
|
|
4
4
|
import { MultipartPolicyEnum } from "../types";
|
|
5
5
|
import type {
|
|
6
6
|
PaginatedResponse,
|
|
7
|
+
ResourceMetadata,
|
|
7
8
|
CrudConfig,
|
|
8
9
|
CrudOptions,
|
|
9
10
|
CrudRepository,
|
|
@@ -111,6 +112,13 @@ export function useCrud<T>(
|
|
|
111
112
|
});
|
|
112
113
|
},
|
|
113
114
|
|
|
115
|
+
options(config) {
|
|
116
|
+
return fetch<ResourceMetadata>(base, {
|
|
117
|
+
method: "OPTIONS",
|
|
118
|
+
...merged(config),
|
|
119
|
+
});
|
|
120
|
+
},
|
|
121
|
+
|
|
114
122
|
updateOrCreate(data, config, opts) {
|
|
115
123
|
if (data.id) {
|
|
116
124
|
const { id, ...rest } = data;
|
package/src/runtime/types.ts
CHANGED
|
@@ -37,6 +37,19 @@ export interface CrudOptions {
|
|
|
37
37
|
multipart?: MultipartPolicy;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
/**
|
|
41
|
+
* What an endpoint returns from OPTIONS. Deliberately loose: backends extend it
|
|
42
|
+
* (Camomilla adds `lang_info`), and clients read only the keys they know.
|
|
43
|
+
*/
|
|
44
|
+
export interface ResourceMetadata {
|
|
45
|
+
name?: string;
|
|
46
|
+
description?: string;
|
|
47
|
+
renders?: string[];
|
|
48
|
+
parses?: string[];
|
|
49
|
+
actions?: Record<string, unknown>;
|
|
50
|
+
[key: string]: unknown;
|
|
51
|
+
}
|
|
52
|
+
|
|
40
53
|
export interface CrudRepository<T> {
|
|
41
54
|
list(params?: ListParams, config?: CrudConfig): Promise<PaginatedResponse<T>>;
|
|
42
55
|
detail(id: string | number, config?: CrudConfig): Promise<T>;
|
|
@@ -54,6 +67,7 @@ export interface CrudRepository<T> {
|
|
|
54
67
|
opts?: CrudOptions,
|
|
55
68
|
): Promise<T>;
|
|
56
69
|
delete(id: string | number, config?: CrudConfig): Promise<void>;
|
|
70
|
+
options(config?: CrudConfig): Promise<ResourceMetadata>;
|
|
57
71
|
updateOrCreate(
|
|
58
72
|
data: Partial<T> & { id?: string | number },
|
|
59
73
|
config?: CrudConfig,
|