prostgles-server 3.0.148 → 3.0.150

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.
@@ -1 +1 @@
1
- {"version":3,"file":"DBSchemaBuilder.d.ts","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGvF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAmC,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAiB,gBAAgB,EAAE,eAAe,EAAI,MAAM,iBAAiB,CAAC;AAI1G,eAAO,MAAM,WAAW,eAAgB,UAAU,KAAG,MA2CpD,CAAA;AAED,KAAK,yBAAyB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE;KACtE,QAAQ,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAClE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,GACxC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;CAC5C,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEjC,MAAM,MAAM,aAAa,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CAChE,yBAAyB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,CAC3G,GACD,eAAe,CAAC;AAElB,MAAM,MAAM,iBAAiB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CACpE,mBAAmB,GACnB;KACC,QAAQ,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,GAC9B,mBAAmB,GACnB,CACA,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GACtC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,GACpD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CACxD;CACJ,CACF,GAAG,CACA,mBAAmB,GACnB,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,GAAG,mBAAmB,CAAC,CAC3E,CAAC"}
1
+ {"version":3,"file":"DBSchemaBuilder.d.ts","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGvF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAsD,MAAM,cAAc,CAAC;AAC/G,OAAO,EAAE,mBAAmB,EAAiB,gBAAgB,EAAE,eAAe,EAAI,MAAM,iBAAiB,CAAC;AAI1G,eAAO,MAAM,WAAW,eAAgB,UAAU,KAAG,MAoDpD,CAAA;AAED,KAAK,yBAAyB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE;KACtE,QAAQ,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAClE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,GACxC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;CAC5C,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEjC,MAAM,MAAM,aAAa,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CAChE,yBAAyB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,CAC3G,GACD,eAAe,CAAC;AAElB,MAAM,MAAM,iBAAiB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CACpE,mBAAmB,GACnB;KACC,QAAQ,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,GAC9B,mBAAmB,GACnB,CACA,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GACtC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,GACpD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CACxD;CACJ,CACF,GAAG,CACA,mBAAmB,GACnB,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,GAAG,mBAAmB,CAAC,CAC3E,CAAC"}
@@ -7,11 +7,18 @@ const DboBuilder_1 = require("./DboBuilder");
7
7
  const validation_1 = require("./JSONBValidation/validation");
8
8
  const getDBSchema = (dboBuilder) => {
9
9
  const tables = [];
10
+ const getColTypeForDBSchema = (udt_name) => {
11
+ if (udt_name === "interval") {
12
+ const units = ["years", "months", "days", "hours", "minutes", "seconds", "milliseconds"];
13
+ return `{ ${units.map(u => `${u}?: number;`).join(" ")} }`;
14
+ }
15
+ return (0, DboBuilder_1.postgresToTsType)(udt_name);
16
+ };
10
17
  /** Tables and columns are sorted to avoid infinite loops due to changing order */
11
18
  dboBuilder.tablesOrViews?.slice(0).sort((a, b) => a.name.localeCompare(b.name)).forEach(tov => {
12
19
  const cols = tov.columns.slice(0).sort((a, b) => a.name.localeCompare(b.name));
13
20
  const getColType = (c) => {
14
- let type = (c.is_nullable ? "null | " : "") + (0, DboBuilder_1.postgresToTsType)(c.udt_name) + ";";
21
+ let type = (c.is_nullable ? "null | " : "") + getColTypeForDBSchema(c.udt_name) + ";";
15
22
  const colConf = dboBuilder.prostgles.tableConfigurator?.getColumnConfig(tov.name, c.name);
16
23
  if (colConf) {
17
24
  if ((0, prostgles_types_1.isObject)(colConf) && (colConf.jsonbSchema || colConf.jsonbSchemaType)) {
@@ -1 +1 @@
1
- {"version":3,"file":"DBSchemaBuilder.js","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DBSchemaBuilder.js","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getColumnDefinitionQuery.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getColumnDefinitionQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAGlC,OAAO,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,SAAS,MAAM,YAAY,CAAC;AAGnC,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,CAAC;IACtB,EAAE,EAAE,EAAE,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,+CAAsD,IAAI,KAAG,QAAQ,MAAM,GAAG,SAAS,CAiF3H,CAAA;AAGD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AACF,eAAO,MAAM,eAAe;QAAyB,EAAE,GAAG,UAAU,KAAK,CAAC,EAAE,CAAC;WAAS,MAAM;MAAK,QAAQ,iBAAiB,EAAE,CAS3H,CAAA"}
1
+ {"version":3,"file":"getColumnDefinitionQuery.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getColumnDefinitionQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAGlC,OAAO,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,CAAC;IACtB,EAAE,EAAE,EAAE,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,+CAAsD,IAAI,KAAG,QAAQ,MAAM,GAAG,SAAS,CAyE3H,CAAA;AAGD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AACF,eAAO,MAAM,eAAe;QAAyB,EAAE,GAAG,UAAU,KAAK,CAAC,EAAE,CAAC;WAAS,MAAM;MAAK,QAAQ,iBAAiB,EAAE,CAS3H,CAAA"}
@@ -4,7 +4,6 @@ exports.getTableColumns = exports.getColumnDefinitionQuery = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
5
  const PubSubManager_1 = require("../PubSubManager/PubSubManager");
6
6
  const validate_jsonb_schema_sql_1 = require("../JSONBValidation/validate_jsonb_schema_sql");
7
- const getConstraintDefinitionQueries_1 = require("./getConstraintDefinitionQueries");
8
7
  /**
9
8
  * Column create statement for a given config
10
9
  */
@@ -60,15 +59,7 @@ const getColumnDefinitionQuery = async ({ colConf: colConfRaw, column, db, table
60
59
  throw failedDefault(e);
61
60
  }
62
61
  }
63
- const namePreffix = 'prostgles_jsonb_';
64
- const { val: nameEnding } = await db.one("SELECT MD5( ${table} || ${column} || ${schema}) as val", { table: table, column, schema: jsonbSchemaStr });
65
- const constraintName = namePreffix + nameEnding;
66
- const colConstraints = await (0, getConstraintDefinitionQueries_1.getColConstraints)({ db, table, column });
67
- const existingNonMatchingConstraints = colConstraints.filter(c => c.name.startsWith(namePreffix) && c.name !== constraintName);
68
- for await (const oldCons of existingNonMatchingConstraints) {
69
- await db.any(`ALTER TABLE ${(0, prostgles_types_1.asName)(table)} DROP CONSTRAINT ${(0, prostgles_types_1.asName)(oldCons.name)};`);
70
- }
71
- return ` ${colNameEsc} ${getColTypeDef(colConf, "JSONB")}, CONSTRAINT ${(0, prostgles_types_1.asName)(constraintName)} CHECK(${validate_jsonb_schema_sql_1.VALIDATE_SCHEMA_FUNCNAME}(${jsonbSchemaStr}, ${colNameEsc}, ${(0, PubSubManager_1.asValue)({ table, column })} ))`;
62
+ return ` ${colNameEsc} ${getColTypeDef(colConf, "JSONB")} CHECK(${validate_jsonb_schema_sql_1.VALIDATE_SCHEMA_FUNCNAME}(${jsonbSchemaStr}, ${colNameEsc}, ${(0, PubSubManager_1.asValue)({ table, column })} ))`;
72
63
  }
73
64
  else if ("enum" in colConf) {
74
65
  if (!colConf.enum?.length)
@@ -1 +1 @@
1
- {"version":3,"file":"getColumnDefinitionQuery.js","sourceRoot":"","sources":["../../lib/TableConfig/getColumnDefinitionQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getColumnDefinitionQuery.js","sourceRoot":"","sources":["../../lib/TableConfig/getColumnDefinitionQuery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DBSchemaBuilder.d.ts","sourceRoot":"","sources":["DBSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGvF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAmC,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAiB,gBAAgB,EAAE,eAAe,EAAI,MAAM,iBAAiB,CAAC;AAI1G,eAAO,MAAM,WAAW,eAAgB,UAAU,KAAG,MA2CpD,CAAA;AAED,KAAK,yBAAyB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE;KACtE,QAAQ,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAClE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,GACxC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;CAC5C,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEjC,MAAM,MAAM,aAAa,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CAChE,yBAAyB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,CAC3G,GACD,eAAe,CAAC;AAElB,MAAM,MAAM,iBAAiB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CACpE,mBAAmB,GACnB;KACC,QAAQ,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,GAC9B,mBAAmB,GACnB,CACA,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GACtC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,GACpD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CACxD;CACJ,CACF,GAAG,CACA,mBAAmB,GACnB,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,GAAG,mBAAmB,CAAC,CAC3E,CAAC"}
1
+ {"version":3,"file":"DBSchemaBuilder.d.ts","sourceRoot":"","sources":["DBSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGvF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAsD,MAAM,cAAc,CAAC;AAC/G,OAAO,EAAE,mBAAmB,EAAiB,gBAAgB,EAAE,eAAe,EAAI,MAAM,iBAAiB,CAAC;AAI1G,eAAO,MAAM,WAAW,eAAgB,UAAU,KAAG,MAoDpD,CAAA;AAED,KAAK,yBAAyB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE;KACtE,QAAQ,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAClE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,GACxC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;CAC5C,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEjC,MAAM,MAAM,aAAa,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CAChE,yBAAyB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,CAC3G,GACD,eAAe,CAAC;AAElB,MAAM,MAAM,iBAAiB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CACpE,mBAAmB,GACnB;KACC,QAAQ,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,GAC9B,mBAAmB,GACnB,CACA,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GACtC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,GACpD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CACxD;CACJ,CACF,GAAG,CACA,mBAAmB,GACnB,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,GAAG,mBAAmB,CAAC,CAC3E,CAAC"}
@@ -10,11 +10,18 @@ const DboBuilder_1 = require("./DboBuilder");
10
10
  const validation_1 = require("./JSONBValidation/validation");
11
11
  const getDBSchema = (dboBuilder) => {
12
12
  const tables = [];
13
+ const getColTypeForDBSchema = (udt_name) => {
14
+ if (udt_name === "interval") {
15
+ const units = ["years", "months", "days", "hours", "minutes", "seconds", "milliseconds"];
16
+ return `{ ${units.map(u => `${u}?: number;`).join(" ")} }`;
17
+ }
18
+ return (0, DboBuilder_1.postgresToTsType)(udt_name);
19
+ };
13
20
  /** Tables and columns are sorted to avoid infinite loops due to changing order */
14
21
  dboBuilder.tablesOrViews?.slice(0).sort((a, b) => a.name.localeCompare(b.name)).forEach(tov => {
15
22
  const cols = tov.columns.slice(0).sort((a, b) => a.name.localeCompare(b.name));
16
23
  const getColType = (c) => {
17
- let type = (c.is_nullable ? "null | " : "") + (0, DboBuilder_1.postgresToTsType)(c.udt_name) + ";";
24
+ let type = (c.is_nullable ? "null | " : "") + getColTypeForDBSchema(c.udt_name) + ";";
18
25
  const colConf = dboBuilder.prostgles.tableConfigurator?.getColumnConfig(tov.name, c.name);
19
26
  if (colConf) {
20
27
  if ((0, prostgles_types_1.isObject)(colConf) && (colConf.jsonbSchema || colConf.jsonbSchemaType)) {
@@ -1,7 +1,7 @@
1
1
  import { DBSchema, isObject, JSONB, TableHandler, ViewHandler } from "prostgles-types";
2
2
  import prostgles from ".";
3
3
  import { Auth } from "./AuthHandler";
4
- import { DBHandlerServer, DboBuilder, escapeTSNames, postgresToTsType } from "./DboBuilder";
4
+ import { DBHandlerServer, DboBuilder, escapeTSNames, postgresToTsType, TableSchemaColumn } from "./DboBuilder";
5
5
  import { PublishAllOrNothing, PublishParams, PublishTableRule, PublishViewRule, } from "./PublishParser";
6
6
  import { getJSONBSchemaTSTypes } from "./JSONBValidation/validation";
7
7
 
@@ -9,13 +9,22 @@ import { getJSONBSchemaTSTypes } from "./JSONBValidation/validation";
9
9
  export const getDBSchema = (dboBuilder: DboBuilder): string => {
10
10
  const tables: string[] = [];
11
11
 
12
+ const getColTypeForDBSchema = (udt_name: TableSchemaColumn["udt_name"]): string => {
13
+ if(udt_name === "interval"){
14
+ const units = [ "years", "months", "days", "hours", "minutes", "seconds", "milliseconds"];
15
+
16
+ return `{ ${units.map(u => `${u}?: number;`).join(" ")} }`;
17
+ }
18
+
19
+ return postgresToTsType(udt_name);
20
+ }
12
21
 
13
22
  /** Tables and columns are sorted to avoid infinite loops due to changing order */
14
23
  dboBuilder.tablesOrViews?.slice(0).sort((a, b) => a.name.localeCompare(b.name)).forEach(tov => {
15
24
  const cols = tov.columns.slice(0).sort((a, b) => a.name.localeCompare(b.name));
16
25
  const getColType = (c: typeof cols[number]) => {
17
-
18
- let type: string = (c.is_nullable? "null | " : "") + postgresToTsType(c.udt_name) + ";"
26
+
27
+ let type: string = (c.is_nullable? "null | " : "") + getColTypeForDBSchema(c.udt_name) + ";"
19
28
  const colConf = dboBuilder.prostgles.tableConfigurator?.getColumnConfig(tov.name, c.name);
20
29
  if(colConf){
21
30
  if(isObject(colConf) && (colConf.jsonbSchema || colConf.jsonbSchemaType)){
@@ -1 +1 @@
1
- {"version":3,"file":"getColumnDefinitionQuery.d.ts","sourceRoot":"","sources":["getColumnDefinitionQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAGlC,OAAO,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,SAAS,MAAM,YAAY,CAAC;AAGnC,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,CAAC;IACtB,EAAE,EAAE,EAAE,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,+CAAsD,IAAI,KAAG,QAAQ,MAAM,GAAG,SAAS,CAiF3H,CAAA;AAGD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AACF,eAAO,MAAM,eAAe;QAAyB,EAAE,GAAG,UAAU,KAAK,CAAC,EAAE,CAAC;WAAS,MAAM;MAAK,QAAQ,iBAAiB,EAAE,CAS3H,CAAA"}
1
+ {"version":3,"file":"getColumnDefinitionQuery.d.ts","sourceRoot":"","sources":["getColumnDefinitionQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAGlC,OAAO,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,CAAC;IACtB,EAAE,EAAE,EAAE,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,+CAAsD,IAAI,KAAG,QAAQ,MAAM,GAAG,SAAS,CAyE3H,CAAA;AAGD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AACF,eAAO,MAAM,eAAe;QAAyB,EAAE,GAAG,UAAU,KAAK,CAAC,EAAE,CAAC;WAAS,MAAM;MAAK,QAAQ,iBAAiB,EAAE,CAS3H,CAAA"}
@@ -4,7 +4,6 @@ exports.getTableColumns = exports.getColumnDefinitionQuery = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
5
  const PubSubManager_1 = require("../PubSubManager/PubSubManager");
6
6
  const validate_jsonb_schema_sql_1 = require("../JSONBValidation/validate_jsonb_schema_sql");
7
- const getConstraintDefinitionQueries_1 = require("./getConstraintDefinitionQueries");
8
7
  /**
9
8
  * Column create statement for a given config
10
9
  */
@@ -60,15 +59,7 @@ const getColumnDefinitionQuery = async ({ colConf: colConfRaw, column, db, table
60
59
  throw failedDefault(e);
61
60
  }
62
61
  }
63
- const namePreffix = 'prostgles_jsonb_';
64
- const { val: nameEnding } = await db.one("SELECT MD5( ${table} || ${column} || ${schema}) as val", { table: table, column, schema: jsonbSchemaStr });
65
- const constraintName = namePreffix + nameEnding;
66
- const colConstraints = await (0, getConstraintDefinitionQueries_1.getColConstraints)({ db, table, column });
67
- const existingNonMatchingConstraints = colConstraints.filter(c => c.name.startsWith(namePreffix) && c.name !== constraintName);
68
- for await (const oldCons of existingNonMatchingConstraints) {
69
- await db.any(`ALTER TABLE ${(0, prostgles_types_1.asName)(table)} DROP CONSTRAINT ${(0, prostgles_types_1.asName)(oldCons.name)};`);
70
- }
71
- return ` ${colNameEsc} ${getColTypeDef(colConf, "JSONB")}, CONSTRAINT ${(0, prostgles_types_1.asName)(constraintName)} CHECK(${validate_jsonb_schema_sql_1.VALIDATE_SCHEMA_FUNCNAME}(${jsonbSchemaStr}, ${colNameEsc}, ${(0, PubSubManager_1.asValue)({ table, column })} ))`;
62
+ return ` ${colNameEsc} ${getColTypeDef(colConf, "JSONB")} CHECK(${validate_jsonb_schema_sql_1.VALIDATE_SCHEMA_FUNCNAME}(${jsonbSchemaStr}, ${colNameEsc}, ${(0, PubSubManager_1.asValue)({ table, column })} ))`;
72
63
  }
73
64
  else if ("enum" in colConf) {
74
65
  if (!colConf.enum?.length)
@@ -3,8 +3,7 @@ import { DB } from "../Prostgles";
3
3
  import { asValue } from "../PubSubManager/PubSubManager";
4
4
  import { VALIDATE_SCHEMA_FUNCNAME } from "../JSONBValidation/validate_jsonb_schema_sql";
5
5
  import { BaseColumnTypes, ColumnConfig } from "./TableConfig";
6
- import pgPromise from "pg-promise";
7
- import { getColConstraints } from "./getConstraintDefinitionQueries";
6
+ import pgPromise from "pg-promise";
8
7
 
9
8
  type Args = {
10
9
  column: string;
@@ -75,17 +74,9 @@ export const getColumnDefinitionQuery = async ({ colConf: colConfRaw, column, db
75
74
  } catch (e) {
76
75
  throw failedDefault(e);
77
76
  }
78
- }
79
- const namePreffix = 'prostgles_jsonb_' as const;
80
- const { val: nameEnding } = await db.one("SELECT MD5( ${table} || ${column} || ${schema}) as val", { table: table, column, schema: jsonbSchemaStr });
81
- const constraintName = namePreffix + nameEnding;
82
- const colConstraints = await getColConstraints({ db, table, column });
83
- const existingNonMatchingConstraints = colConstraints.filter(c => c.name.startsWith(namePreffix) && c.name !== constraintName);
84
- for await (const oldCons of existingNonMatchingConstraints) {
85
- await db.any(`ALTER TABLE ${asName(table)} DROP CONSTRAINT ${asName(oldCons.name)};`);
86
- }
77
+ }
87
78
 
88
- return ` ${colNameEsc} ${getColTypeDef(colConf, "JSONB")}, CONSTRAINT ${asName(constraintName)} CHECK(${VALIDATE_SCHEMA_FUNCNAME}(${jsonbSchemaStr}, ${colNameEsc}, ${asValue({ table, column })} ))`;
79
+ return ` ${colNameEsc} ${getColTypeDef(colConf, "JSONB")} CHECK(${VALIDATE_SCHEMA_FUNCNAME}(${jsonbSchemaStr}, ${colNameEsc}, ${asValue({ table, column })} ))`;
89
80
 
90
81
  } else if ("enum" in colConf) {
91
82
  if (!colConf.enum?.length) throw new Error("colConf.enum Must not be empty");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "3.0.148",
3
+ "version": "3.0.150",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -40,7 +40,7 @@
40
40
  "check-disk-space": "^3.3.1",
41
41
  "file-type": "^17.1.4",
42
42
  "pg-promise": "^11.3.0",
43
- "prostgles-types": "^3.0.48",
43
+ "prostgles-types": "^3.0.49",
44
44
  "sharp": "^0.31.0"
45
45
  },
46
46
  "devDependencies": {
@@ -1 +1 @@
1
- 90108
1
+ 11319
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "3.0.147",
24
+ "version": "3.0.149",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "@aws-sdk/client-s3": "^3.272.0",
@@ -32,7 +32,7 @@
32
32
  "check-disk-space": "^3.3.1",
33
33
  "file-type": "^17.1.4",
34
34
  "pg-promise": "^11.3.0",
35
- "prostgles-types": "^3.0.48",
35
+ "prostgles-types": "^3.0.49",
36
36
  "sharp": "^0.31.0"
37
37
  },
38
38
  "devDependencies": {
@@ -1527,7 +1527,7 @@
1527
1527
  "eslint": "^8.35.0",
1528
1528
  "file-type": "^17.1.4",
1529
1529
  "pg-promise": "^11.3.0",
1530
- "prostgles-types": "^3.0.48",
1530
+ "prostgles-types": "^3.0.49",
1531
1531
  "sharp": "^0.31.0",
1532
1532
  "typescript": "^4.9.5"
1533
1533
  }