prostgles-server 4.2.623 → 4.2.624
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/debug/client-schema-types/DBGeneratedSchema.ts +13 -1
- package/dist/DboBuilder/DboBuilder.js +1 -1
- package/dist/DboBuilder/DboBuilder.js.map +1 -1
- package/dist/PublishParser/PublishParser.d.ts +17 -8
- package/dist/PublishParser/PublishParser.d.ts.map +1 -1
- package/dist/PublishParser/PublishParser.js +48 -28
- package/dist/PublishParser/PublishParser.js.map +1 -1
- package/dist/PublishParser/getFileTableRules.d.ts +1 -1
- package/dist/PublishParser/getFileTableRules.d.ts.map +1 -1
- package/dist/PublishParser/getFileTableRules.js +52 -41
- package/dist/PublishParser/getFileTableRules.js.map +1 -1
- package/dist/PublishParser/getParsedPublishTable.d.ts +4 -0
- package/dist/PublishParser/getParsedPublishTable.d.ts.map +1 -0
- package/dist/PublishParser/{getTableRulesWithoutFileTable.js → getParsedPublishTable.js} +13 -7
- package/dist/PublishParser/getParsedPublishTable.js.map +1 -0
- package/dist/PublishParser/getPublishSchemas.d.ts +4 -0
- package/dist/PublishParser/getPublishSchemas.d.ts.map +1 -0
- package/dist/PublishParser/getPublishSchemas.js +42 -0
- package/dist/PublishParser/getPublishSchemas.js.map +1 -0
- package/dist/PublishParser/getPublishedObjectFromResult.d.ts +4 -0
- package/dist/PublishParser/getPublishedObjectFromResult.d.ts.map +1 -0
- package/dist/PublishParser/getPublishedObjectFromResult.js +77 -0
- package/dist/PublishParser/getPublishedObjectFromResult.js.map +1 -0
- package/dist/PublishParser/getPublishedTableNames.d.ts.map +1 -1
- package/dist/PublishParser/getPublishedTableNames.js +4 -1
- package/dist/PublishParser/getPublishedTableNames.js.map +1 -1
- package/dist/PublishParser/getSchemaFromPublish.d.ts.map +1 -1
- package/dist/PublishParser/getSchemaFromPublish.js +11 -5
- package/dist/PublishParser/getSchemaFromPublish.js.map +1 -1
- package/dist/PublishParser/publishTypesAndUtils.d.ts +28 -3
- package/dist/PublishParser/publishTypesAndUtils.d.ts.map +1 -1
- package/dist/PublishParser/publishTypesAndUtils.js +6 -1
- package/dist/PublishParser/publishTypesAndUtils.js.map +1 -1
- package/dist/PublishParser/validatePublishProfiles.d.ts +2 -2
- package/dist/PublishParser/validatePublishProfiles.d.ts.map +1 -1
- package/dist/PublishParser/validatePublishProfiles.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runClientRequest.d.ts.map +1 -1
- package/dist/runClientRequest.js +6 -1
- package/dist/runClientRequest.js.map +1 -1
- package/lib/DboBuilder/DboBuilder.ts +1 -1
- package/lib/PublishParser/PublishParser.ts +82 -50
- package/lib/PublishParser/getFileTableRules.ts +52 -45
- package/lib/PublishParser/{getTableRulesWithoutFileTable.ts → getParsedPublishTable.ts} +16 -12
- package/lib/PublishParser/getPublishSchemas.ts +49 -0
- package/lib/PublishParser/getPublishedObjectFromResult.ts +104 -0
- package/lib/PublishParser/getPublishedTableNames.ts +6 -1
- package/lib/PublishParser/getSchemaFromPublish.ts +9 -7
- package/lib/PublishParser/publishTypesAndUtils.ts +31 -6
- package/lib/PublishParser/validatePublishProfiles.ts +1 -1
- package/lib/index.ts +13 -1
- package/lib/runClientRequest.ts +4 -3
- package/package.json +1 -1
- package/dist/DBSchemaBuilder/getPublishSchemas.d.ts +0 -4
- package/dist/DBSchemaBuilder/getPublishSchemas.d.ts.map +0 -1
- package/dist/DBSchemaBuilder/getPublishSchemas.js +0 -34
- package/dist/DBSchemaBuilder/getPublishSchemas.js.map +0 -1
- package/dist/PublishParser/getTableRulesWithoutFileTable.d.ts +0 -6
- package/dist/PublishParser/getTableRulesWithoutFileTable.d.ts.map +0 -1
- package/dist/PublishParser/getTableRulesWithoutFileTable.js.map +0 -1
- package/lib/DBSchemaBuilder/getPublishSchemas.ts +0 -41
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { validateClientSchemaName } from "../DBSchemaBuilder/getClientDBGeneratedSchemas";
|
|
2
2
|
import type { PublishProfile } from "./publishTypesAndUtils";
|
|
3
3
|
|
|
4
|
-
export const validatePublishProfiles = (profiles: PublishProfile[]) => {
|
|
4
|
+
export const validatePublishProfiles = (profiles: readonly PublishProfile[]) => {
|
|
5
5
|
const names = new Set<string>();
|
|
6
6
|
const userTypes = new Set<string>();
|
|
7
7
|
const entries = profiles.map((profile, index) => {
|
package/lib/index.ts
CHANGED
|
@@ -20,7 +20,19 @@ export const createProstgles = <S = void, SUser extends SessionUser = SessionUse
|
|
|
20
20
|
};
|
|
21
21
|
export * from "./PublishParser/defineServerFunction";
|
|
22
22
|
export * from "./Auth/AuthTypes";
|
|
23
|
-
|
|
23
|
+
|
|
24
|
+
export type {
|
|
25
|
+
PublishContextValue,
|
|
26
|
+
Publish,
|
|
27
|
+
PublishObject,
|
|
28
|
+
PublishAllTables,
|
|
29
|
+
PublishedResult,
|
|
30
|
+
BeforeEachTsTrigger,
|
|
31
|
+
AfterAllTsTrigger,
|
|
32
|
+
AfterEachTsTrigger,
|
|
33
|
+
PublishProfile,
|
|
34
|
+
PublishParams,
|
|
35
|
+
} from "./PublishParser/publishTypesAndUtils";
|
|
24
36
|
export type { DBOFullyTyped, DBOFullyTypedClient } from "./DBSchemaBuilder/DBSchemaBuilder";
|
|
25
37
|
export type { DBHandlerServer } from "./Prostgles";
|
|
26
38
|
export type { StorageClient as CloudClient } from "./StorageClient/StorageClientTypes";
|
package/lib/runClientRequest.ts
CHANGED
|
@@ -112,11 +112,12 @@ export const runClientRequest = async function (
|
|
|
112
112
|
throw clientInfo;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
const parsedTableRule = await this.publishParser.getParsedTableRule(
|
|
116
|
-
|
|
115
|
+
const parsedTableRule = await this.publishParser.getParsedTableRule({
|
|
116
|
+
tableName,
|
|
117
|
+
clientReq,
|
|
117
118
|
clientInfo,
|
|
118
119
|
scope,
|
|
119
|
-
);
|
|
120
|
+
});
|
|
120
121
|
|
|
121
122
|
const sessionUser = getSessionUser(clientInfo);
|
|
122
123
|
const localParams: LocalParams = {
|
package/package.json
CHANGED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { PublishParser } from "../PublishParser/PublishParser";
|
|
2
|
-
import type { ClientSchemaProfiles } from "./getClientDBGeneratedSchemas";
|
|
3
|
-
export declare const getPublishSchemas: (publishParser: PublishParser) => Promise<ClientSchemaProfiles | undefined>;
|
|
4
|
-
//# sourceMappingURL=getPublishSchemas.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getPublishSchemas.d.ts","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/getPublishSchemas.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,eAAO,MAAM,iBAAiB,GAC5B,eAAe,aAAa,KAC3B,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAgC1C,CAAC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPublishSchemas = void 0;
|
|
4
|
-
const getColumns_1 = require("../DboBuilder/getColumns");
|
|
5
|
-
const getRawInfo_1 = require("../DboBuilder/ViewHandler/getRawInfo");
|
|
6
|
-
const getPublishedTableNames_1 = require("../PublishParser/getPublishedTableNames");
|
|
7
|
-
const getPublishSchemas = async (publishParser) => {
|
|
8
|
-
if (!Array.isArray(publishParser.publish)) {
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
|
-
const entries = publishParser.publish;
|
|
12
|
-
const profiles = Object.fromEntries(entries.map(({ name }) => [name, { tableSchema: [] }]));
|
|
13
|
-
const { tablesOrViews = [] } = publishParser.prostgles.dboBuilder;
|
|
14
|
-
for (const { name, publish } of entries) {
|
|
15
|
-
const publishObject = publish === "*" ?
|
|
16
|
-
Object.fromEntries(tablesOrViews.map((table) => [table.name, "*"]))
|
|
17
|
-
: (publish ?? {});
|
|
18
|
-
const tableNames = (0, getPublishedTableNames_1.getPublishedTableNames)(publishParser, publishObject);
|
|
19
|
-
for (const tableName of tableNames) {
|
|
20
|
-
const rules = await publishParser.getTableRules({ tableName, clientReq: undefined }, undefined, undefined, publishObject);
|
|
21
|
-
if (!rules || !Object.values(rules).some(Boolean))
|
|
22
|
-
continue;
|
|
23
|
-
const table = publishParser.dbo[tableName];
|
|
24
|
-
profiles[name].tableSchema.push({
|
|
25
|
-
...getRawInfo_1.getRawInfo.call(table, undefined, rules),
|
|
26
|
-
name: tableName,
|
|
27
|
-
columns: await getColumns_1.getRawColumns.call(table, undefined, undefined, rules),
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return profiles;
|
|
32
|
-
};
|
|
33
|
-
exports.getPublishSchemas = getPublishSchemas;
|
|
34
|
-
//# sourceMappingURL=getPublishSchemas.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getPublishSchemas.js","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/getPublishSchemas.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,qEAAkE;AAClE,oFAAiF;AAI1E,MAAM,iBAAiB,GAAG,KAAK,EACpC,aAA4B,EACe,EAAE;IAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IACtC,MAAM,QAAQ,GAAyB,MAAM,CAAC,WAAW,CACvD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CACvD,CAAC;IACF,MAAM,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC;IAClE,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,CAAC;QACxC,MAAM,aAAa,GACjB,OAAO,KAAK,GAAG,CAAC,CAAC;YACf,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACpB,MAAM,UAAU,GAAG,IAAA,+CAAsB,EAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACxE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,aAAa,CAC7C,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EACnC,SAAS,EACT,SAAS,EACT,aAAa,CACd,CAAC;YACF,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC5D,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAE,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC/B,GAAG,uBAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC;gBAC3C,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,MAAM,0BAAa,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;aACtE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAlCW,QAAA,iBAAiB,qBAkC5B"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { AuthResultWithSID } from "../Auth/AuthTypes";
|
|
2
|
-
import type { PublishParser } from "./PublishParser";
|
|
3
|
-
import type { DboTable, ParsedPublishTable } from "./publishTypesAndUtils";
|
|
4
|
-
import { type PublishObject } from "./publishTypesAndUtils";
|
|
5
|
-
export declare function getTableRulesWithoutFileTable(this: PublishParser, { tableName, clientReq }: DboTable, clientInfo: AuthResultWithSID | undefined, overridenPublish?: PublishObject): Promise<ParsedPublishTable | undefined>;
|
|
6
|
-
//# sourceMappingURL=getTableRulesWithoutFileTable.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getTableRulesWithoutFileTable.d.ts","sourceRoot":"","sources":["../../lib/PublishParser/getTableRulesWithoutFileTable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAElF,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,aAAa,EACnB,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,EAClC,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,gBAAgB,CAAC,EAAE,aAAa,GAC/B,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAqGzC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getTableRulesWithoutFileTable.js","sourceRoot":"","sources":["../../lib/PublishParser/getTableRulesWithoutFileTable.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { getRawColumns } from "../DboBuilder/getColumns";
|
|
2
|
-
import { getRawInfo } from "../DboBuilder/ViewHandler/getRawInfo";
|
|
3
|
-
import { getPublishedTableNames } from "../PublishParser/getPublishedTableNames";
|
|
4
|
-
import type { PublishObject, PublishParser } from "../PublishParser/PublishParser";
|
|
5
|
-
import type { ClientSchemaProfiles } from "./getClientDBGeneratedSchemas";
|
|
6
|
-
|
|
7
|
-
export const getPublishSchemas = async (
|
|
8
|
-
publishParser: PublishParser,
|
|
9
|
-
): Promise<ClientSchemaProfiles | undefined> => {
|
|
10
|
-
if (!Array.isArray(publishParser.publish)) {
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
const entries = publishParser.publish;
|
|
14
|
-
const profiles: ClientSchemaProfiles = Object.fromEntries(
|
|
15
|
-
entries.map(({ name }) => [name, { tableSchema: [] }]),
|
|
16
|
-
);
|
|
17
|
-
const { tablesOrViews = [] } = publishParser.prostgles.dboBuilder;
|
|
18
|
-
for (const { name, publish } of entries) {
|
|
19
|
-
const publishObject: PublishObject =
|
|
20
|
-
publish === "*" ?
|
|
21
|
-
Object.fromEntries(tablesOrViews.map((table) => [table.name, "*"]))
|
|
22
|
-
: (publish ?? {});
|
|
23
|
-
const tableNames = getPublishedTableNames(publishParser, publishObject);
|
|
24
|
-
for (const tableName of tableNames) {
|
|
25
|
-
const rules = await publishParser.getTableRules(
|
|
26
|
-
{ tableName, clientReq: undefined },
|
|
27
|
-
undefined,
|
|
28
|
-
undefined,
|
|
29
|
-
publishObject,
|
|
30
|
-
);
|
|
31
|
-
if (!rules || !Object.values(rules).some(Boolean)) continue;
|
|
32
|
-
const table = publishParser.dbo[tableName]!;
|
|
33
|
-
profiles[name]!.tableSchema.push({
|
|
34
|
-
...getRawInfo.call(table, undefined, rules),
|
|
35
|
-
name: tableName,
|
|
36
|
-
columns: await getRawColumns.call(table, undefined, undefined, rules),
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return profiles;
|
|
41
|
-
};
|