@fraym/crud 0.18.1 → 0.20.0

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 CHANGED
@@ -25,9 +25,7 @@ CRUD_SERVER_ADDRESS=127.0.0.1:9000
25
25
 
26
26
  ## Usage
27
27
 
28
- ### Create the clients
29
-
30
- delivery client:
28
+ ### Create the client
31
29
 
32
30
  ```typescript
33
31
  const deliveryClient = await newDeliveryClient();
@@ -1,4 +1,4 @@
1
- import { CrudAuthData } from "@fraym/crud-proto";
1
+ import { CrudAuthData } from "@fraym/proto/freym/crud/delivery";
2
2
  export interface AuthData {
3
3
  tenantId: string;
4
4
  scopes: string[];
@@ -6,8 +6,9 @@ import { Filter } from "./filter";
6
6
  import { Order } from "./order";
7
7
  import { AuthData } from "./auth";
8
8
  import { EventMetadata } from "./eventMetadata";
9
+ import { Wait } from "./wait";
9
10
  export interface DeliveryClient {
10
- getData: <T extends {}>(type: string, authData: AuthData, id: string, filter?: Filter, returnEmptyDataIfNotFound?: boolean) => Promise<T | null>;
11
+ getData: <T extends {}>(type: string, authData: AuthData, id: string, filter?: Filter, returnEmptyDataIfNotFound?: boolean, wait?: Wait) => Promise<T | null>;
11
12
  getDataList: <T extends {}>(type: string, authData: AuthData, limit?: number, page?: number, filter?: Filter, order?: Order[]) => Promise<GetCrudDataList<T>>;
12
13
  create: <T extends {}>(type: string, authData: AuthData, data: Record<string, any>, id?: string, eventMetadata?: EventMetadata) => Promise<CreateResponse<T>>;
13
14
  update: <T extends {}>(type: string, authData: AuthData, id: string, data: Record<string, any>, eventMetadata?: EventMetadata) => Promise<UpdateResponse<T>>;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.newDeliveryClient = void 0;
4
4
  const config_1 = require("../config/config");
5
- const crud_proto_1 = require("@fraym/crud-proto");
5
+ const delivery_1 = require("@fraym/proto/freym/crud/delivery");
6
6
  const grpc_js_1 = require("@grpc/grpc-js");
7
7
  const create_1 = require("./create");
8
8
  const update_1 = require("./update");
@@ -11,13 +11,13 @@ const getData_1 = require("./getData");
11
11
  const getDataList_1 = require("./getDataList");
12
12
  const newDeliveryClient = async (config) => {
13
13
  config = (0, config_1.useDeliveryConfigDefaults)(config);
14
- const serviceClient = new crud_proto_1.DeliveryServiceClient(config.serverAddress, grpc_js_1.credentials.createInsecure(), {
14
+ const serviceClient = new delivery_1.ServiceClient(config.serverAddress, grpc_js_1.credentials.createInsecure(), {
15
15
  "grpc.keepalive_time_ms": config.keepaliveInterval,
16
16
  "grpc.keepalive_timeout_ms": config.keepaliveTimeout,
17
17
  "grpc.keepalive_permit_without_calls": 1,
18
18
  });
19
- const getData = async (type, authData, id, filter = { fields: {}, and: [], or: [] }, returnEmptyDataIfNotFound = false) => {
20
- return await (0, getData_1.getCrudData)(type, authData, id, filter, returnEmptyDataIfNotFound, serviceClient);
19
+ const getData = async (type, authData, id, filter = { fields: {}, and: [], or: [] }, returnEmptyDataIfNotFound = false, wait) => {
20
+ return await (0, getData_1.getCrudData)(type, authData, id, filter, returnEmptyDataIfNotFound, serviceClient, wait);
21
21
  };
22
22
  const getDataList = async (type, authData, limit = 0, page = 1, filter = { fields: {}, and: [], or: [] }, order = []) => {
23
23
  return await (0, getDataList_1.getCrudDataList)(type, authData, limit, page, filter, order, serviceClient);
@@ -1,4 +1,4 @@
1
- import { DeliveryServiceClient } from "@fraym/crud-proto";
1
+ import { ServiceClient } from "@fraym/proto/freym/crud/delivery";
2
2
  import { AuthData } from "./auth";
3
3
  import { EventMetadata } from "./eventMetadata";
4
4
  export type CreateResponse<T extends {}> = CreateSuccessResponse<T> | CreateValidationResponse;
@@ -11,4 +11,4 @@ export interface CreateValidationResponse {
11
11
  }
12
12
  export declare const isCreateSuccessResponse: <T extends {}>(response: CreateResponse<T>) => response is CreateSuccessResponse<T>;
13
13
  export declare const isCreateValidationResponse: <T extends {}>(response: CreateResponse<T>) => response is CreateValidationResponse;
14
- export declare const createCrudData: <T extends {}>(type: string, authData: AuthData, data: Record<string, any>, id: string, eventMetadata: EventMetadata, serviceClient: DeliveryServiceClient) => Promise<CreateResponse<T>>;
14
+ export declare const createCrudData: <T extends {}>(type: string, authData: AuthData, data: Record<string, any>, id: string, eventMetadata: EventMetadata, serviceClient: ServiceClient) => Promise<CreateResponse<T>>;
@@ -1,5 +1,5 @@
1
- import { DeliveryServiceClient } from "@fraym/crud-proto";
1
+ import { ServiceClient } from "@fraym/proto/freym/crud/delivery";
2
2
  import { AuthData } from "./auth";
3
3
  import { EventMetadata } from "./eventMetadata";
4
4
  import { Filter } from "./filter";
5
- export declare const deleteCrudData: (type: string, authData: AuthData, id: string, filter: Filter, eventMetadata: EventMetadata, serviceClient: DeliveryServiceClient) => Promise<number>;
5
+ export declare const deleteCrudData: (type: string, authData: AuthData, id: string, filter: Filter, eventMetadata: EventMetadata, serviceClient: ServiceClient) => Promise<number>;
@@ -1,4 +1,4 @@
1
- import { EntryFilter } from "@fraym/crud-proto";
1
+ import { EntryFilter } from "@fraym/proto/freym/crud/delivery";
2
2
  export interface Filter {
3
3
  fields: Record<string, FieldFilter>;
4
4
  and?: Filter[];
@@ -1,4 +1,5 @@
1
- import { DeliveryServiceClient } from "@fraym/crud-proto";
1
+ import { ServiceClient } from "@fraym/proto/freym/crud/delivery";
2
2
  import { AuthData } from "./auth";
3
3
  import { Filter } from "./filter";
4
- export declare const getCrudData: <T extends {}>(type: string, authData: AuthData, id: string, filter: Filter, returnEmptyDataIfNotFound: boolean, serviceClient: DeliveryServiceClient) => Promise<T | null>;
4
+ import { Wait } from "./wait";
5
+ export declare const getCrudData: <T extends {}>(type: string, authData: AuthData, id: string, filter: Filter, returnEmptyDataIfNotFound: boolean, serviceClient: ServiceClient, wait?: Wait) => Promise<T | null>;
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCrudData = void 0;
4
4
  const auth_1 = require("./auth");
5
5
  const filter_1 = require("./filter");
6
- const getCrudData = async (type, authData, id, filter, returnEmptyDataIfNotFound, serviceClient) => {
6
+ const wait_1 = require("./wait");
7
+ const getCrudData = async (type, authData, id, filter, returnEmptyDataIfNotFound, serviceClient, wait) => {
7
8
  return new Promise((resolve, reject) => {
8
9
  serviceClient.getEntry({
9
10
  type,
@@ -11,6 +12,7 @@ const getCrudData = async (type, authData, id, filter, returnEmptyDataIfNotFound
11
12
  filter: (0, filter_1.getProtobufEntryFilter)(filter),
12
13
  id,
13
14
  returnEmptyDataIfNotFound,
15
+ wait: (0, wait_1.getProtobufEntryWait)(wait),
14
16
  }, (error, response) => {
15
17
  if (error) {
16
18
  reject(error.message);
@@ -1,4 +1,4 @@
1
- import { DeliveryServiceClient } from "@fraym/crud-proto";
1
+ import { ServiceClient } from "@fraym/proto/freym/crud/delivery";
2
2
  import { AuthData } from "./auth";
3
3
  import { Filter } from "./filter";
4
4
  import { Order } from "./order";
@@ -8,4 +8,4 @@ export interface GetCrudDataList<T extends {}> {
8
8
  total: number;
9
9
  data: T[];
10
10
  }
11
- export declare const getCrudDataList: <T extends {}>(type: string, authData: AuthData, limit: number, page: number, filter: Filter, order: Order[], serviceClient: DeliveryServiceClient) => Promise<GetCrudDataList<T>>;
11
+ export declare const getCrudDataList: <T extends {}>(type: string, authData: AuthData, limit: number, page: number, filter: Filter, order: Order[], serviceClient: ServiceClient) => Promise<GetCrudDataList<T>>;
@@ -1,4 +1,4 @@
1
- import { EntryOrder } from "@fraym/crud-proto";
1
+ import { EntryOrder } from "@fraym/proto/freym/crud/delivery";
2
2
  export interface Order {
3
3
  field: string;
4
4
  descending?: boolean;
@@ -1,4 +1,4 @@
1
- import { DeliveryServiceClient } from "@fraym/crud-proto";
1
+ import { ServiceClient } from "@fraym/proto/freym/crud/delivery";
2
2
  import { AuthData } from "./auth";
3
3
  import { EventMetadata } from "./eventMetadata";
4
4
  export type UpdateResponse<T extends {}> = UpdateSuccessResponse<T> | UpdateValidationResponse;
@@ -11,4 +11,4 @@ export interface UpdateValidationResponse {
11
11
  }
12
12
  export declare const isUpdateSuccessResponse: <T extends {}>(response: UpdateResponse<T>) => response is UpdateSuccessResponse<T>;
13
13
  export declare const isUpdateValidationResponse: <T extends {}>(response: UpdateResponse<T>) => response is UpdateValidationResponse;
14
- export declare const updateCrudData: <T extends {}>(type: string, authData: AuthData, id: string, data: Record<string, any>, eventMetadata: EventMetadata, serviceClient: DeliveryServiceClient) => Promise<UpdateResponse<T>>;
14
+ export declare const updateCrudData: <T extends {}>(type: string, authData: AuthData, id: string, data: Record<string, any>, eventMetadata: EventMetadata, serviceClient: ServiceClient) => Promise<UpdateResponse<T>>;
@@ -0,0 +1,7 @@
1
+ import { EntryWait } from "@fraym/proto/freym/crud/delivery";
2
+ import { Filter } from "./filter";
3
+ export interface Wait {
4
+ timeout?: number;
5
+ conditionFilter: Filter;
6
+ }
7
+ export declare const getProtobufEntryWait: (wait?: Wait) => EntryWait | undefined;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getProtobufEntryWait = void 0;
4
+ const filter_1 = require("./filter");
5
+ const getProtobufEntryWait = (wait) => {
6
+ var _a;
7
+ if (!wait) {
8
+ return undefined;
9
+ }
10
+ return {
11
+ conditionFilter: (0, filter_1.getProtobufEntryFilter)(wait.conditionFilter),
12
+ timeout: (_a = wait.timeout) !== null && _a !== void 0 ? _a : 0,
13
+ };
14
+ };
15
+ exports.getProtobufEntryWait = getProtobufEntryWait;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fraym/crud",
3
- "version": "0.18.1",
3
+ "version": "0.20.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/fraym/crud-nodejs",
6
6
  "repository": {
@@ -20,24 +20,27 @@
20
20
  "files": [
21
21
  "dist/**/*"
22
22
  ],
23
+ "engines": {
24
+ "node": ">=16"
25
+ },
23
26
  "main": "dist/index.js",
24
27
  "types": "dist/index.d.ts",
25
28
  "dependencies": {
26
- "@fraym/crud-proto": "1.0.0-alpha.17",
27
- "@graphql-tools/graphql-file-loader": "^7.5.14",
28
- "@graphql-tools/load": "^7.8.9",
29
- "@grpc/grpc-js": "^1.8.7",
30
- "dotenv": "^16.0.3",
31
- "graphql": "^16.6.0",
32
- "yargs": "^17.6.2"
29
+ "@fraym/proto": "^0.4.0",
30
+ "@graphql-tools/graphql-file-loader": "^7.5.17",
31
+ "@graphql-tools/load": "^7.8.14",
32
+ "@grpc/grpc-js": "^1.9.7",
33
+ "dotenv": "^16.3.1",
34
+ "graphql": "^16.8.1",
35
+ "yargs": "^17.7.2"
33
36
  },
34
37
  "devDependencies": {
35
38
  "@becklyn/prettier": "^1.0.2",
36
39
  "@types/uuid": "^8.3.4",
37
- "@types/yargs": "^17.0.13",
38
- "prettier": "^2.7.1",
39
- "typescript": "^4.8.4",
40
- "uuid": "^9.0.0"
40
+ "@types/yargs": "^17.0.29",
41
+ "prettier": "^2.8.8",
42
+ "typescript": "^4.9.5",
43
+ "uuid": "^9.0.1"
41
44
  },
42
45
  "prettier": "@becklyn/prettier"
43
46
  }