prostgles-server 4.2.52 → 4.2.54

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.
@@ -72,7 +72,7 @@ export declare class ViewHandler {
72
72
  unsubscribe: () => any;
73
73
  }>;
74
74
  subscribeOne(filter: Filter, params: SubscribeParams, localFunc: undefined, table_rules: TableRule, localParams: LocalParams): Promise<string>;
75
- count: (_filter?: Filter | undefined, selectParams?: SelectParams | undefined, param3_unused?: undefined, table_rules?: TableRule | undefined, localParams?: LocalParams | undefined) => Promise<number>;
75
+ count: (_filter?: Filter | undefined, selectParams?: SelectParams | undefined, _param3_unused?: undefined, table_rules?: TableRule | undefined, localParams?: LocalParams | undefined) => Promise<number>;
76
76
  size: (_filter?: Filter | undefined, selectParams?: SelectParams | undefined, param3_unused?: undefined, table_rules?: TableRule | undefined, localParams?: LocalParams | undefined) => Promise<string>;
77
77
  getAllowedSelectFields(selectParams: FieldFilter | undefined, allowed_cols: FieldFilter, allow_empty?: boolean): string[];
78
78
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ViewHandler.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/ViewHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewHandler.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/ViewHandler.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@ import { SelectParams } from "prostgles-types";
2
2
  import { ViewHandler } from "./ViewHandler";
3
3
  import { Filter, LocalParams } from "../DboBuilder";
4
4
  import { TableRule } from "../../PublishParser/publishTypesAndUtils";
5
- export declare function count(this: ViewHandler, _filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<number>;
5
+ export declare function count(this: ViewHandler, _filter?: Filter, selectParams?: SelectParams, _param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<number>;
6
6
  //# sourceMappingURL=count.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/count.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAErE,wBAAsB,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAyB5L"}
1
+ {"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/count.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAErE,wBAAsB,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CA4B7L"}
@@ -2,20 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.count = void 0;
4
4
  const dboBuilderUtils_1 = require("../dboBuilderUtils");
5
- async function count(_filter, selectParams, param3_unused, table_rules, localParams) {
5
+ async function count(_filter, selectParams, _param3_unused, table_rules, localParams) {
6
6
  const filter = _filter || {};
7
+ const { limit: _limit, ...selectParamsWithoutLimit } = selectParams ?? {};
7
8
  try {
8
9
  await this._log({ command: "count", localParams, data: { filter } });
9
- return await this.find(filter, { select: "", limit: 0 }, undefined, table_rules, localParams)
10
+ return await this.find(filter, { select: selectParamsWithoutLimit?.select ?? "", limit: 0 }, undefined, table_rules, localParams)
10
11
  .then(async (_allowed) => {
11
- const q = await this.find(filter, selectParams, undefined, table_rules, { ...localParams, returnQuery: "noRLS", bypassLimit: true });
12
+ const findQuery = await this.find(filter, selectParamsWithoutLimit, undefined, table_rules, { ...localParams, returnQuery: "noRLS", bypassLimit: true });
12
13
  const query = [
13
14
  (0, dboBuilderUtils_1.withUserRLS)(localParams, ""),
14
- "SELECT COUNT(*) FROM (",
15
- q,
15
+ "SELECT COUNT(*)",
16
+ "FROM (",
17
+ findQuery,
16
18
  ") t"
17
19
  ].join("\n");
18
- return (this.tx?.t || this.db).one(query).then(({ count }) => +count);
20
+ const handler = this.tx?.t ?? this.db;
21
+ return handler.one(query).then(({ count }) => +count);
19
22
  });
20
23
  }
21
24
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"count.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/count.ts"],"names":[],"mappings":";;;AACA,wDAA6D;AAKtD,KAAK,UAAU,KAAK,CAAoB,OAAgB,EAAE,YAA2B,EAAE,aAAyB,EAAE,WAAuB,EAAE,WAAyB;IACzK,MAAM,MAAM,GAAG,OAAO,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACrE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC;aAC1F,IAAI,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;YACrB,MAAM,CAAC,GAAW,MAAM,IAAI,CAAC,IAAI,CAC/B,MAAM,EACN,YAAY,EACZ,SAAS,EACT,WAAW,EACX,EAAE,GAAG,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CACnD,CAAC;YACT,MAAM,KAAK,GAAG;gBACZ,IAAA,6BAAW,EAAC,WAAW,EAAE,EAAE,CAAC;gBAC5B,wBAAwB;gBACxB,CAAC;gBACD,KAAK;aACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ;YAAE,MAAM,CAAC,CAAC;QACjD,MAAM,IAAA,4BAAU,EAAC,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,UAAU,CAAC,CAAA;IACjD,CAAC;AACH,CAAC;AAzBD,sBAyBC"}
1
+ {"version":3,"file":"count.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/count.ts"],"names":[],"mappings":";;;AACA,wDAA6D;AAKtD,KAAK,UAAU,KAAK,CAAoB,OAAgB,EAAE,YAA2B,EAAE,cAA0B,EAAE,WAAuB,EAAE,WAAyB;IAC1K,MAAM,MAAM,GAAG,OAAO,IAAI,EAAE,CAAC;IAC7B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,wBAAwB,EAAE,GAAG,YAAY,IAAI,EAAE,CAAC;IAC1E,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACrE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC;aAC9H,IAAI,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;YACrB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAC/B,MAAM,EACN,wBAAwB,EACxB,SAAS,EACT,WAAW,EACX,EAAE,GAAG,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CACvC,CAAC;YACvB,MAAM,KAAK,GAAG;gBACZ,IAAA,6BAAW,EAAC,WAAW,EAAE,EAAE,CAAC;gBAC5B,iBAAiB;gBACjB,QAAQ;gBACR,SAAS;gBACT,KAAK;aACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ;YAAE,MAAM,CAAC,CAAC;QACjD,MAAM,IAAA,4BAAU,EAAC,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,UAAU,CAAC,CAAA;IACjD,CAAC;AACH,CAAC;AA5BD,sBA4BC"}
@@ -4,26 +4,29 @@ import { ViewHandler } from "./ViewHandler";
4
4
  import { Filter, LocalParams } from "../DboBuilder";
5
5
  import { TableRule } from "../../PublishParser/publishTypesAndUtils";
6
6
 
7
- export async function count(this: ViewHandler, _filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<number> {
7
+ export async function count(this: ViewHandler, _filter?: Filter, selectParams?: SelectParams, _param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<number> {
8
8
  const filter = _filter || {};
9
+ const { limit: _limit, ...selectParamsWithoutLimit } = selectParams ?? {};
9
10
  try {
10
11
  await this._log({ command: "count", localParams, data: { filter } });
11
- return await this.find(filter, { select: "", limit: 0 }, undefined, table_rules, localParams)
12
- .then(async _allowed => {
13
- const q: string = await this.find(
12
+ return await this.find(filter, { select: selectParamsWithoutLimit?.select ?? "", limit: 0 }, undefined, table_rules, localParams)
13
+ .then(async _allowed => {
14
+ const findQuery = await this.find(
14
15
  filter,
15
- selectParams,
16
+ selectParamsWithoutLimit,
16
17
  undefined,
17
18
  table_rules,
18
19
  { ...localParams, returnQuery: "noRLS", bypassLimit: true }
19
- ) as any;
20
- const query = [
21
- withUserRLS(localParams, ""),
22
- "SELECT COUNT(*) FROM (",
23
- q,
24
- ") t"
25
- ].join("\n");
26
- return (this.tx?.t || this.db).one(query).then(({ count }) => +count);
20
+ ) as unknown as string;
21
+ const query = [
22
+ withUserRLS(localParams, ""),
23
+ "SELECT COUNT(*)",
24
+ "FROM (",
25
+ findQuery,
26
+ ") t"
27
+ ].join("\n");
28
+ const handler = this.tx?.t ?? this.db;
29
+ return handler.one(query).then(({ count }) => +count);
27
30
  });
28
31
  } catch (e) {
29
32
  if (localParams && localParams.testRule) throw e;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.52",
3
+ "version": "4.2.54",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -553,17 +553,26 @@ export const isomorphicQueries = async (db: DBOFullyTyped | DBHandlerClient, log
553
553
  const res = await db.items.find!({}, { select: { name: 1 }, orderBy: [{ key: "name", asc: false, nulls: "first", nullEmpty: true }] });
554
554
  assert.deepStrictEqual(res, [{ name: 'b'}, { name: 'a'}, { name: 'a'}]);
555
555
  });
556
-
557
556
  await test("Order by aliased func", async () => {
558
557
  const res = await db.items.find!({ }, { select: { uname: { $upper: ["name"] }, count: { $countAll: [] } }, orderBy: { uname: -1 }});
559
558
  assert.deepStrictEqual(res, [{ uname: 'B', count: '1'}, { uname: 'A', count: '2'} ])
560
559
  });
561
-
560
+ await test("Filter by aliased func", async () => {
561
+ const res = await db.items.find!({ uname: 'B' }, { select: { uname: { $upper: ["name"] }, count: { $countAll: [] } } });
562
+ assert.deepStrictEqual(res, [{ uname: 'B', count: '1'}])
563
+ });
564
+ await test("Count with Filter by aliased func ", async () => {
565
+ const res = await db.items.count!({ uname: 'A' }, { select: { uname: { $upper: ["name"] } } });
566
+ assert.deepStrictEqual(res, 2)
567
+ });
568
+ await test("Count with Aggregate and Filter by aliased func ", async () => {
569
+ const res = await db.items.count!({ uname: 'A' }, { select: { uname: { $upper: ["name"] }, count: { $countAll: [] } } });
570
+ assert.deepStrictEqual(res, 1)
571
+ });
562
572
  await test("Order by aggregation", async () => {
563
573
  const res = await db.items.find!({ }, { select: { name: 1, count: { $countAll: [] } }, orderBy: { count: -1 }});
564
574
  assert.deepStrictEqual(res, [ { name: 'a', count: '2'} , { name: 'b', count: '1'} ])
565
575
  });
566
-
567
576
  await test("Order by colliding alias name", async () => {
568
577
  const res = await db.items.find!({ }, { select: { name: { $countAll: [] }, n: { $left: ["name", 1]} }, orderBy: { name: -1 }});
569
578
  assert.deepStrictEqual(res, [ { name: '2', n: 'a' } , { name: '1', n: 'b'} ])
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "4.2.51",
24
+ "version": "4.2.53",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "bluebird": "^3.7.2",