@bg-dev/nuxt-zenstack 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/module.d.mts +2 -0
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +61 -12
  4. package/dist/runtime/composables/common.d.ts +3 -13
  5. package/dist/runtime/composables/useZenstackCreate/index.d.ts +3 -3
  6. package/dist/runtime/composables/useZenstackDelete/index.d.ts +3 -3
  7. package/dist/runtime/composables/useZenstackRead/index.d.ts +4 -4
  8. package/dist/runtime/composables/useZenstackRead/index.js +8 -7
  9. package/dist/runtime/composables/useZenstackReadMany/index.d.ts +4 -3
  10. package/dist/runtime/composables/useZenstackReadMany/index.js +21 -8
  11. package/dist/runtime/composables/useZenstackReadMany/orderBy.d.ts +5 -0
  12. package/dist/runtime/composables/useZenstackReadMany/orderBy.js +25 -0
  13. package/dist/runtime/composables/useZenstackReadMany/where.d.ts +2 -0
  14. package/dist/runtime/composables/useZenstackReadMany/where.js +235 -0
  15. package/dist/runtime/composables/useZenstackRealtime/index.d.ts +6 -0
  16. package/dist/runtime/composables/useZenstackRealtime/index.js +53 -0
  17. package/dist/runtime/composables/useZenstackStore/index.d.ts +6 -2
  18. package/dist/runtime/composables/useZenstackStore/index.js +3 -4
  19. package/dist/runtime/composables/useZenstackStore/normalization.d.ts +16 -3
  20. package/dist/runtime/composables/useZenstackStore/normalization.js +16 -3
  21. package/dist/runtime/composables/useZenstackUpdate/index.d.ts +2 -2
  22. package/dist/runtime/server/api/models/[model]/[id].delete.d.ts +1 -1
  23. package/dist/runtime/server/api/models/[model]/[id].delete.js +5 -9
  24. package/dist/runtime/server/api/models/[model]/[id].get.d.ts +1 -1
  25. package/dist/runtime/server/api/models/[model]/[id].get.js +5 -10
  26. package/dist/runtime/server/api/models/[model]/[id].patch.d.ts +1 -1
  27. package/dist/runtime/server/api/models/[model]/[id].patch.js +6 -13
  28. package/dist/runtime/server/api/models/[model]/index.get.d.ts +2 -2
  29. package/dist/runtime/server/api/models/[model]/index.get.js +9 -7
  30. package/dist/runtime/server/api/models/[model]/index.post.d.ts +1 -1
  31. package/dist/runtime/server/api/models/[model]/index.post.js +6 -10
  32. package/dist/runtime/server/routes/realtime.d.ts +2 -0
  33. package/dist/runtime/server/routes/realtime.js +18 -0
  34. package/dist/runtime/server/utils/helpers.d.ts +7 -0
  35. package/dist/runtime/server/utils/helpers.js +34 -0
  36. package/dist/runtime/server/utils/index.d.ts +15 -12
  37. package/dist/runtime/server/utils/index.js +12 -46
  38. package/dist/runtime/server/utils/operations/common.d.ts +10 -0
  39. package/dist/runtime/server/utils/operations/common.js +52 -0
  40. package/dist/runtime/server/utils/operations/create.d.ts +10 -0
  41. package/dist/runtime/server/utils/operations/create.js +15 -0
  42. package/dist/runtime/server/utils/operations/delete.d.ts +10 -0
  43. package/dist/runtime/server/utils/operations/delete.js +16 -0
  44. package/dist/runtime/server/utils/operations/findMany.d.ts +14 -0
  45. package/dist/runtime/server/utils/operations/findMany.js +14 -0
  46. package/dist/runtime/server/utils/operations/findUnique.d.ts +11 -0
  47. package/dist/runtime/server/utils/operations/findUnique.js +14 -0
  48. package/dist/runtime/server/utils/operations/update.d.ts +11 -0
  49. package/dist/runtime/server/utils/operations/update.js +19 -0
  50. package/dist/runtime/server/utils/parsers.d.ts +3 -2
  51. package/dist/runtime/server/utils/parsers.js +9 -3
  52. package/package.json +3 -1
@@ -0,0 +1,11 @@
1
+ import type { $Zclient, $Zmodel, $Zinclude, $Zid, $Zitem } from '#build/types/nuxt-zenstack';
2
+ type FindUniqueArgs<Zmodel extends $Zmodel> = {
3
+ client: $Zclient;
4
+ model: Zmodel;
5
+ id: $Zid<Zmodel>;
6
+ include?: $Zinclude<Zmodel>;
7
+ };
8
+ export declare function findUnique<Zmodel extends $Zmodel>(args: FindUniqueArgs<Zmodel>): Promise<{
9
+ data: $Zitem<Zmodel, $Zinclude<Zmodel>>;
10
+ }>;
11
+ export {};
@@ -0,0 +1,14 @@
1
+ import { getModelOperations, createError } from "./common.js";
2
+ export async function findUnique(args) {
3
+ const operations = getModelOperations(args.client, args.model);
4
+ const data = await operations.findUnique({
5
+ include: args.include,
6
+ // @ts-expect-error id not known here
7
+ where: {
8
+ id: args.id
9
+ }
10
+ }).catch((err) => {
11
+ throw createError(err);
12
+ });
13
+ return { data };
14
+ }
@@ -0,0 +1,11 @@
1
+ import type { $Zclient, $Zmodel, $Zid, $ZupdateData, $Zitem } from '#build/types/nuxt-zenstack';
2
+ type UpdateArgs<Zmodel extends $Zmodel> = {
3
+ client: $Zclient;
4
+ model: Zmodel;
5
+ id: $Zid<Zmodel>;
6
+ data: $ZupdateData<Zmodel>;
7
+ };
8
+ export declare function update<Zmodel extends $Zmodel>(args: UpdateArgs<Zmodel>): Promise<{
9
+ data: $Zitem<Zmodel>;
10
+ }>;
11
+ export {};
@@ -0,0 +1,19 @@
1
+ import { getModelOperations, createError } from "./common.js";
2
+ import { sanitizeUpdateData } from "../helpers.js";
3
+ import { useNitroApp } from "nitropack/runtime";
4
+ export async function update(args) {
5
+ const operations = getModelOperations(args.client, args.model);
6
+ const sanitizedData = sanitizeUpdateData(args.model, args.data);
7
+ const data = await operations.update({
8
+ data: sanitizedData,
9
+ // @ts-expect-error id not known here
10
+ where: {
11
+ id: args.id
12
+ }
13
+ }).catch((err) => {
14
+ throw createError(err);
15
+ });
16
+ const nitroApp = useNitroApp();
17
+ await nitroApp.hooks.callHook("zenstack:after_mutation", "update", args.model, [data]);
18
+ return { data };
19
+ }
@@ -7,13 +7,14 @@ type ReadArgs<Zmodel extends $Zmodel> = {
7
7
  skip?: number;
8
8
  take?: number;
9
9
  };
10
+ export declare function parseClient(event: H3Event): import("@zenstackhq/orm").ClientContract<SchemaType>;
10
11
  export declare function parseModel(event: H3Event): string | number | symbol;
11
12
  export declare function parseId(event: H3Event, model: $Zmodel): string | number;
12
13
  export declare function parseReadArgs<Zmodel extends $Zmodel>(event: H3Event, _model: Zmodel): ReadArgs<Zmodel>;
13
- export declare function parseCreateData<Zmodel extends $Zmodel>(event: H3Event, _model: Zmodel): Promise<{
14
+ export declare function parseCreateArgs<Zmodel extends $Zmodel>(event: H3Event, _model: Zmodel): Promise<{
14
15
  data: $ZcreateData<Zmodel>;
15
16
  }>;
16
- export declare function parseUpdateData<Zmodel extends $Zmodel>(event: H3Event, _model: Zmodel): Promise<{
17
+ export declare function parseUpdateArgs<Zmodel extends $Zmodel>(event: H3Event, _model: Zmodel): Promise<{
17
18
  data: $ZupdateData<Zmodel>;
18
19
  }>;
19
20
  export {};
@@ -1,6 +1,12 @@
1
1
  import { getRouterParam, createError, getQuery, readBody } from "h3";
2
- import { isValidModel, isIdString } from "./index.js";
2
+ import { isValidModel, isIdString } from "./helpers.js";
3
3
  import { parse } from "superjson";
4
+ export function parseClient(event) {
5
+ if (event.context.zenstack?.client) {
6
+ return event.context.zenstack.client;
7
+ }
8
+ throw new Error("ZenStack client not provided");
9
+ }
4
10
  export function parseModel(event) {
5
11
  const model = getRouterParam(event, "model");
6
12
  if (isValidModel(model) === false) {
@@ -20,9 +26,9 @@ export function parseReadArgs(event, _model) {
20
26
  const query = getQuery(event);
21
27
  return query?.q ? parse(query.q) : {};
22
28
  }
23
- export async function parseCreateData(event, _model) {
29
+ export async function parseCreateArgs(event, _model) {
24
30
  return readBody(event);
25
31
  }
26
- export async function parseUpdateData(event, _model) {
32
+ export async function parseUpdateArgs(event, _model) {
27
33
  return readBody(event);
28
34
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bg-dev/nuxt-zenstack",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "ZenStack integration for Nuxt",
5
5
  "repository": {
6
6
  "url": "https://github.com/becem-gharbi/nuxt-zenstack"
@@ -66,7 +66,9 @@
66
66
  "@nuxt/test-utils": "^3.23.0",
67
67
  "@nuxt/ui": "^4.3.0",
68
68
  "@types/node": "latest",
69
+ "@vueuse/core": "^14.1.0",
69
70
  "@zenstackhq/cli": "3.2.1",
71
+ "@zenstackhq/plugin-policy": "^3.2.1",
70
72
  "changelogen": "^0.6.2",
71
73
  "eslint": "^9.39.2",
72
74
  "libsql": "^0.5.22",