@zyno-io/dk-server-foundation 26.612.612 → 26.617.449

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,10 +1,12 @@
1
1
  import { ClassType } from '@deepkit/core';
2
2
  import { MySQLDatabaseAdapter as BaseMySQLDatabaseAdapter } from '@deepkit/mysql';
3
3
  import { Database, DatabaseSession } from '@deepkit/orm';
4
+ import { SQLPersistence } from '@deepkit/sql';
4
5
  import { PoolConfig } from 'mariadb';
5
6
  import { BaseDatabase } from './common';
6
7
  export type MySQLDatabaseSession = DatabaseSession<MySQLDatabaseAdapter>;
7
8
  export declare class MySQLDatabaseAdapter extends BaseMySQLDatabaseAdapter {
9
+ createPersistence(session: DatabaseSession<this>): SQLPersistence;
8
10
  registerTransformations(): void;
9
11
  }
10
12
  export interface IMySQLDatabaseAdapterConfig extends PoolConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../../../src/database/mysql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,eAAe,CAAC;AACxD,OAAO,EAAmB,oBAAoB,IAAI,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGzD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAKrC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,oBAAoB,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC;AAUzE,qBAAa,oBAAqB,SAAQ,wBAAwB;IAC9D,uBAAuB;CA8D1B;AAED,MAAM,WAAW,2BAA4B,SAAQ,UAAU;IAC3D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AACD,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,2BAA2B,EACnC,QAAQ,GAAE,qBAAqB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAM,GACzD,SAAS,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAsC/C"}
1
+ {"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../../../src/database/mysql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,eAAe,CAAC;AACxD,OAAO,EAAmB,oBAAoB,IAAI,wBAAwB,EAA4C,MAAM,gBAAgB,CAAC;AAC7I,OAAO,EAAE,QAAQ,EAAgC,eAAe,EAAa,MAAM,cAAc,CAAC;AAClG,OAAO,EAAiD,cAAc,EAAE,MAAM,cAAc,CAAC;AAE7F,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAKrC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,MAAM,MAAM,oBAAoB,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC;AAyBzE,qBAAa,oBAAqB,SAAQ,wBAAwB;IACrD,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,cAAc;IAI1E,uBAAuB;CA8D1B;AAED,MAAM,WAAW,2BAA4B,SAAQ,UAAU;IAC3D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AACD,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,2BAA2B,EACnC,QAAQ,GAAE,qBAAqB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAM,GACzD,SAAS,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAsC/C"}
@@ -11,13 +11,18 @@ function __assignType(fn, args) {
11
11
  var { __ΩClassType } = require('@deepkit/core');
12
12
  const core_1 = require("@deepkit/core");
13
13
  const mysql_1 = require("@deepkit/mysql");
14
+ /*@ts-ignore*/
15
+ var { __ΩDatabasePersistenceChangeSet } = require('@deepkit/orm');
14
16
  const orm_1 = require("@deepkit/orm");
17
+ /*@ts-ignore*/
18
+ var { __ΩPreparedEntity } = require('@deepkit/sql');
15
19
  const sql_1 = require("@deepkit/sql");
16
20
  const type_1 = require("@deepkit/type");
17
21
  const _1 = require(".");
18
22
  const resolver_1 = require("../app/resolver");
19
23
  const state_1 = require("../app/state");
20
24
  const common_1 = require("./common");
25
+ const regular_update_1 = require("./regular-update");
21
26
  const __ΩMySQLDatabaseSession = [() => MySQLDatabaseAdapter, () => orm_1.DatabaseSession, 'MySQLDatabaseSession', 'PP7!7"w#y'];
22
27
  exports.__ΩMySQLDatabaseSession = __ΩMySQLDatabaseSession;
23
28
  const originalRun = mysql_1.MySQLConnection.prototype.run;
@@ -27,7 +32,21 @@ mysql_1.MySQLConnection.prototype.run = __assignType(async function (sql, params
27
32
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
33
  return this.lastExecResult?.[0];
29
34
  }, ['sql', 'params', () => [], '', 'P&2!"F2">#"/$']);
35
+ class RegularUpdateMySQLPersistence extends mysql_1.MySQLPersistence {
36
+ async batchUpdate(entity, changeSets) {
37
+ await (0, regular_update_1.batchUpdateWithRegularUpdateStatements)({
38
+ platform: this.platform,
39
+ getConnection: () => this.getConnection(),
40
+ hasActiveTransaction: () => this.session.hasTransaction(),
41
+ handleSpecificError: __assignType(error => this.handleSpecificError(error), ['error', '', 'P"2!"/"'])
42
+ }, entity, changeSets);
43
+ }
44
+ }
45
+ RegularUpdateMySQLPersistence.__type = [() => mysql_1.MySQLPersistence, () => __ΩPreparedEntity, 'entity', () => __ΩDatabasePersistenceChangeSet, 'changeSets', 'batchUpdate', 'RegularUpdateMySQLPersistence', 'P7!Pn"2#"o$"F2%$`0&5w\''];
30
46
  class MySQLDatabaseAdapter extends mysql_1.MySQLDatabaseAdapter {
47
+ createPersistence(session) {
48
+ return new RegularUpdateMySQLPersistence(this.platform, this.connectionPool, session);
49
+ }
31
50
  registerTransformations() {
32
51
  // any
33
52
  this.platform.serializer.deserializeRegistry.register(type_1.ReflectionKind.any, __assignType((_type, state) => {
@@ -91,7 +110,7 @@ class MySQLDatabaseAdapter extends mysql_1.MySQLDatabaseAdapter {
91
110
  }
92
111
  }
93
112
  exports.MySQLDatabaseAdapter = MySQLDatabaseAdapter;
94
- MySQLDatabaseAdapter.__type = [() => mysql_1.MySQLDatabaseAdapter, 'registerTransformations', 'MySQLDatabaseAdapter', 'P7!P"0"5w#'];
113
+ MySQLDatabaseAdapter.__type = [() => mysql_1.MySQLDatabaseAdapter, () => orm_1.DatabaseSession, 'session', () => sql_1.SQLPersistence, 'createPersistence', 'registerTransformations', 'MySQLDatabaseAdapter', 'P7!PP!7"2#P7$0%P"0&5w\''];
95
114
  const __ΩIMySQLDatabaseAdapterConfig = ['PoolConfig', 'enableLocksTable', 'IMySQLDatabaseAdapterConfig', 'P"w!)4"8Mw#y'];
96
115
  exports.__ΩIMySQLDatabaseAdapterConfig = __ΩIMySQLDatabaseAdapterConfig;
97
116
  function createMySQLDatabase(config, entities = []) {
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../../src/database/mysql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../../src/database/mysql.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import { ClassType } from '@deepkit/core';
2
2
  import { Database, DatabaseSession } from '@deepkit/orm';
3
3
  import { PostgresDatabaseAdapter as BasePostgresDatabaseAdapter } from '@deepkit/postgres';
4
+ import { SQLPersistence } from '@deepkit/sql';
4
5
  import { PoolConfig } from 'pg';
5
6
  import { BaseDatabase } from './common';
6
7
  export type PostgresDatabaseSession = DatabaseSession<PostgresDatabaseAdapter>;
7
8
  export declare class PostgresDatabaseAdapter extends BasePostgresDatabaseAdapter {
9
+ createPersistence(session: DatabaseSession<this>): SQLPersistence;
8
10
  registerTransformations(): void;
9
11
  }
10
12
  export interface IPostgresDatabaseAdapterConfig extends PoolConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../src/database/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAsB,uBAAuB,IAAI,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAG/G,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAIhC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,uBAAuB,GAAG,eAAe,CAAC,uBAAuB,CAAC,CAAC;AAU/E,qBAAa,uBAAwB,SAAQ,2BAA2B;IACpE,uBAAuB;CAsB1B;AAED,MAAM,WAAW,8BAA+B,SAAQ,UAAU;IAC9D,2IAA2I;IAC3I,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,8BAA8B,EACtC,QAAQ,GAAE,qBAAqB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAM,GACzD,SAAS,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC,CA+BlD"}
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../src/database/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAgC,eAAe,EAAa,MAAM,cAAc,CAAC;AAClG,OAAO,EAEH,uBAAuB,IAAI,2BAA2B,EAEzD,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAiD,cAAc,EAAE,MAAM,cAAc,CAAC;AAE7F,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAIhC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,MAAM,MAAM,uBAAuB,GAAG,eAAe,CAAC,uBAAuB,CAAC,CAAC;AAyB/E,qBAAa,uBAAwB,SAAQ,2BAA2B;IAC3D,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,cAAc;IAI1E,uBAAuB;CAsB1B;AAED,MAAM,WAAW,8BAA+B,SAAQ,UAAU;IAC9D,2IAA2I;IAC3I,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,8BAA8B,EACtC,QAAQ,GAAE,qBAAqB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAM,GACzD,SAAS,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC,CA+BlD"}
@@ -9,13 +9,18 @@ function __assignType(fn, args) {
9
9
  }
10
10
  /*@ts-ignore*/
11
11
  var { __ΩClassType } = require('@deepkit/core');
12
+ /*@ts-ignore*/
13
+ var { __ΩDatabasePersistenceChangeSet } = require('@deepkit/orm');
12
14
  const orm_1 = require("@deepkit/orm");
13
15
  const postgres_1 = require("@deepkit/postgres");
16
+ /*@ts-ignore*/
17
+ var { __ΩPreparedEntity } = require('@deepkit/sql');
14
18
  const sql_1 = require("@deepkit/sql");
15
19
  const type_1 = require("@deepkit/type");
16
20
  const resolver_1 = require("../app/resolver");
17
21
  const state_1 = require("../app/state");
18
22
  const common_1 = require("./common");
23
+ const regular_update_1 = require("./regular-update");
19
24
  const __ΩPostgresDatabaseSession = [() => PostgresDatabaseAdapter, () => orm_1.DatabaseSession, 'PostgresDatabaseSession', 'PP7!7"w#y'];
20
25
  exports.__ΩPostgresDatabaseSession = __ΩPostgresDatabaseSession;
21
26
  const originalRun = postgres_1.PostgresConnection.prototype.run;
@@ -25,7 +30,21 @@ postgres_1.PostgresConnection.prototype.run = __assignType(async function (sql,
25
30
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
31
  return { affectedRows: this.changes ?? 0, insertId: 0 };
27
32
  }, ['sql', 'params', () => [], '', 'P&2!"F2">#"/$']);
33
+ class RegularUpdatePostgresPersistence extends postgres_1.PostgresPersistence {
34
+ async batchUpdate(entity, changeSets) {
35
+ await (0, regular_update_1.batchUpdateWithRegularUpdateStatements)({
36
+ platform: this.platform,
37
+ getConnection: () => this.getConnection(),
38
+ hasActiveTransaction: () => this.session.hasTransaction(),
39
+ handleSpecificError: __assignType(error => this.handleSpecificError(error), ['error', '', 'P"2!"/"'])
40
+ }, entity, changeSets);
41
+ }
42
+ }
43
+ RegularUpdatePostgresPersistence.__type = [() => postgres_1.PostgresPersistence, () => __ΩPreparedEntity, 'entity', () => __ΩDatabasePersistenceChangeSet, 'changeSets', 'batchUpdate', 'RegularUpdatePostgresPersistence', 'P7!Pn"2#"o$"F2%$`0&5w\''];
28
44
  class PostgresDatabaseAdapter extends postgres_1.PostgresDatabaseAdapter {
45
+ createPersistence(session) {
46
+ return new RegularUpdatePostgresPersistence(this.platform, this.connectionPool, session);
47
+ }
29
48
  registerTransformations() {
30
49
  // any
31
50
  this.platform.serializer.deserializeRegistry.register(type_1.ReflectionKind.any, __assignType((_type, state) => {
@@ -45,7 +64,7 @@ class PostgresDatabaseAdapter extends postgres_1.PostgresDatabaseAdapter {
45
64
  }
46
65
  }
47
66
  exports.PostgresDatabaseAdapter = PostgresDatabaseAdapter;
48
- PostgresDatabaseAdapter.__type = [() => postgres_1.PostgresDatabaseAdapter, 'registerTransformations', 'PostgresDatabaseAdapter', 'P7!P"0"5w#'];
67
+ PostgresDatabaseAdapter.__type = [() => postgres_1.PostgresDatabaseAdapter, () => orm_1.DatabaseSession, 'session', () => sql_1.SQLPersistence, 'createPersistence', 'registerTransformations', 'PostgresDatabaseAdapter', 'P7!PP!7"2#P7$0%P"0&5w\''];
49
68
  const __ΩIPostgresDatabaseAdapterConfig = ['PoolConfig', 'enableLocksTable', 'IPostgresDatabaseAdapterConfig', 'P"w!)4"8Mw#y'];
50
69
  exports.__ΩIPostgresDatabaseAdapterConfig = __ΩIPostgresDatabaseAdapterConfig;
51
70
  function createPostgresDatabase(config, entities = []) {
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../src/database/postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../src/database/postgres.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { DatabasePersistenceChangeSet, OrmEntity } from '@deepkit/orm';
2
+ import { DefaultPlatform, PreparedEntity, SQLConnection } from '@deepkit/sql';
3
+ interface RegularUpdateContext {
4
+ platform: DefaultPlatform;
5
+ getConnection: () => Promise<SQLConnection>;
6
+ hasActiveTransaction: () => boolean;
7
+ handleSpecificError: (error: Error) => Error;
8
+ }
9
+ export declare function batchUpdateWithRegularUpdateStatements<T extends OrmEntity>(context: RegularUpdateContext, entity: PreparedEntity, changeSets: DatabasePersistenceChangeSet<T>[]): Promise<void>;
10
+ export {};
11
+ //# sourceMappingURL=regular-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regular-update.d.ts","sourceRoot":"","sources":["../../../src/database/regular-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAuB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG9E,UAAU,oBAAoB;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B,aAAa,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,oBAAoB,EAAE,MAAM,OAAO,CAAC;IACpC,mBAAmB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC;CAChD;AAID,wBAAsB,sCAAsC,CAAC,CAAC,SAAS,SAAS,EAC5E,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC,EAAE,GAC9C,OAAO,CAAC,IAAI,CAAC,CAiBf"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.batchUpdateWithRegularUpdateStatements = batchUpdateWithRegularUpdateStatements;
4
+ const __ΩRecord = ['K', 'T', 'Record', 'l\'e#"Rb!b"Pde"!N#!w#y'];
5
+ const __ΩError = ['name', 'message', 'stack', 'Error', 'P&4!&4"&4#8Mw$y'];
6
+ function __assignType(fn, args) {
7
+ fn.__type = args;
8
+ return fn;
9
+ }
10
+ /*@ts-ignore*/
11
+ var { __ΩDatabasePersistenceChangeSet } = require('@deepkit/orm');
12
+ const orm_1 = require("@deepkit/orm");
13
+ /*@ts-ignore*/
14
+ var { __ΩPreparedEntity } = require('@deepkit/sql');
15
+ const sql_1 = require("@deepkit/sql");
16
+ const type_1 = require("@deepkit/type");
17
+ const __ΩRegularUpdateContext = [() => sql_1.DefaultPlatform, 'platform', () => sql_1.SQLConnection, '', 'getConnection', 'hasActiveTransaction', () => __ΩError, 'error', () => __ΩError, 'handleSpecificError', 'RegularUpdateContext', 'PP7!4"PP7#`/$4%P)/$4&Pn\'2(n)/$4*Mw+y'];
18
+ const hasOwn = __assignType((obj, key) => !!obj && Object.prototype.hasOwnProperty.call(obj, key), ['obj', 'key', '', 'PP%-J2!&2")/#']);
19
+ async function batchUpdateWithRegularUpdateStatements(context, entity, changeSets) {
20
+ const partialSerialize = (0, type_1.getPartialSerializeFunction)(entity.type, context.platform.serializer.serializeRegistry);
21
+ try {
22
+ if (!context.hasActiveTransaction() && shouldUseTemporaryTransaction(changeSets)) {
23
+ await runInTemporaryTransaction(context, __assignType(connection => executeUpdates(context, entity, changeSets, partialSerialize, connection), ['connection', '', 'P"2!"/"']));
24
+ return;
25
+ }
26
+ await executeUpdates(context, entity, changeSets, partialSerialize, await context.getConnection());
27
+ }
28
+ catch (error) {
29
+ const reflection = type_1.ReflectionClass.from(entity.type);
30
+ const updateError = new orm_1.DatabaseUpdateError(reflection, changeSets, `Could not update ${reflection.getClassName()} in database`, {
31
+ cause: error
32
+ });
33
+ throw context.handleSpecificError(updateError);
34
+ }
35
+ }
36
+ batchUpdateWithRegularUpdateStatements.__type = [() => __ΩRegularUpdateContext, 'context', () => __ΩPreparedEntity, 'entity', () => __ΩDatabasePersistenceChangeSet, 'changeSets', 'batchUpdateWithRegularUpdateStatements', 'Pn!2"n#2$"o%"F2&$`/\''];
37
+ function shouldUseTemporaryTransaction(changeSets) {
38
+ return changeSets.length > 1 || changeSets.some(__assignType(changeSet => Object.keys(changeSet.changes.$inc ?? {}).length > 0, ['changeSet', '', 'P"2!"/"']));
39
+ }
40
+ shouldUseTemporaryTransaction.__type = [() => __ΩDatabasePersistenceChangeSet, 'changeSets', 'shouldUseTemporaryTransaction', 'P"o!"F2")/#'];
41
+ async function runInTemporaryTransaction(context, callback) {
42
+ const connection = await context.getConnection();
43
+ let transactionStarted = false;
44
+ try {
45
+ await connection.run('START TRANSACTION');
46
+ transactionStarted = true;
47
+ await callback(connection);
48
+ await connection.run('COMMIT');
49
+ transactionStarted = false;
50
+ }
51
+ catch (error) {
52
+ if (transactionStarted) {
53
+ try {
54
+ await connection.run('ROLLBACK');
55
+ }
56
+ catch (rollbackError) {
57
+ if (error instanceof Error) {
58
+ Object.defineProperty(error, 'rollbackError', { value: rollbackError, configurable: true });
59
+ }
60
+ }
61
+ }
62
+ throw error;
63
+ }
64
+ }
65
+ runInTemporaryTransaction.__type = [() => __ΩRegularUpdateContext, 'context', () => sql_1.SQLConnection, 'connection', '', 'callback', 'runInTemporaryTransaction', 'Pn!2"PP7#2$$`/%2&$`/\''];
66
+ async function executeUpdates(context, entity, changeSets, partialSerialize, connection) {
67
+ for (const changeSet of changeSets) {
68
+ const params = [];
69
+ const set = [];
70
+ const placeholder = new context.platform.placeholderStrategy();
71
+ const serializedSet = changeSet.changes.$set ? partialSerialize(changeSet.changes.$set) : undefined;
72
+ const increments = changeSet.changes.$inc;
73
+ for (const fieldName of changeSet.changes.fieldNames) {
74
+ const property = entity.fieldMap[fieldName];
75
+ if (!property)
76
+ throw new Error(`Unsupported update field "${fieldName}" on ${entity.name}.`);
77
+ if (hasOwn(increments, fieldName)) {
78
+ params.push(increments[fieldName]);
79
+ set.push(`${property.columnNameEscaped} = ${property.columnNameEscaped} + ${property.sqlTypeCast(placeholder.getPlaceholder())}`);
80
+ }
81
+ else if (hasOwn(changeSet.changes.$unset, fieldName)) {
82
+ set.push(`${property.columnNameEscaped} = NULL`);
83
+ }
84
+ else if (hasOwn(changeSet.changes.$set, fieldName)) {
85
+ params.push(hasOwn(serializedSet, fieldName) ? serializedSet[fieldName] : null);
86
+ set.push(`${property.columnNameEscaped} = ${property.sqlTypeCast(placeholder.getPlaceholder())}`);
87
+ }
88
+ }
89
+ if (!set.length)
90
+ continue;
91
+ const serializedPk = partialSerialize(changeSet.primaryKey);
92
+ params.push(serializedPk[entity.primaryKey.name]);
93
+ await connection.run(`UPDATE ${entity.tableNameEscaped}
94
+ SET ${set.join(', ')}
95
+ WHERE ${entity.primaryKey.columnNameEscaped} = ${entity.primaryKey.sqlTypeCast(placeholder.getPlaceholder())}`, params);
96
+ const returningFields = Object.keys(changeSet.changes.$inc ?? {});
97
+ if (returningFields.length) {
98
+ await assignReturningFields(context, connection, entity, changeSet, returningFields);
99
+ }
100
+ }
101
+ }
102
+ executeUpdates.__type = [() => __ΩRegularUpdateContext, 'context', () => __ΩPreparedEntity, 'entity', () => __ΩDatabasePersistenceChangeSet, 'changeSets', 'value', '', 'partialSerialize', () => sql_1.SQLConnection, 'connection', 'executeUpdates', 'Pn!2"n#2$"o%"F2&P#2\'#/(2)P7*2+$`/,'];
103
+ async function assignReturningFields(context, connection, entity, changeSet, returningFields) {
104
+ const placeholder = new context.platform.placeholderStrategy();
105
+ const serializedItem = partialSerializeItem(context, entity, changeSet.item);
106
+ const params = [serializedItem[entity.primaryKey.name]];
107
+ const select = returningFields.map(__assignType(fieldName => {
108
+ const property = entity.fieldMap[fieldName];
109
+ if (!property)
110
+ throw new Error(`Unsupported returning field "${fieldName}" on ${entity.name}.`);
111
+ return `${property.columnNameEscaped} AS ${context.platform.quoteIdentifier(fieldName)}`;
112
+ }, ['fieldName', '', 'P"2!"/"']));
113
+ const row = await connection.execAndReturnSingle(`SELECT ${select.join(', ')}
114
+ FROM ${entity.tableNameEscaped}
115
+ WHERE ${entity.primaryKey.columnNameEscaped} = ${entity.primaryKey.sqlTypeCast(placeholder.getPlaceholder())}`, params);
116
+ if (!row)
117
+ return;
118
+ for (const fieldName of returningFields) {
119
+ changeSet.item[fieldName] = row[fieldName];
120
+ }
121
+ }
122
+ assignReturningFields.__type = [() => __ΩRegularUpdateContext, 'context', () => sql_1.SQLConnection, 'connection', () => __ΩPreparedEntity, 'entity', () => __ΩDatabasePersistenceChangeSet, 'changeSet', 'returningFields', 'assignReturningFields', 'Pn!2"P7#2$n%2&"o\'"2(&F2)"/*'];
123
+ function partialSerializeItem(context, entity, item) {
124
+ const partialSerialize = (0, type_1.getPartialSerializeFunction)(entity.type, context.platform.serializer.serializeRegistry);
125
+ return partialSerialize(item);
126
+ }
127
+ partialSerializeItem.__type = [() => __ΩRegularUpdateContext, 'context', () => __ΩPreparedEntity, 'entity', 'item', () => __ΩRecord, 'partialSerializeItem', 'Pn!2"n#2$"2%&#o&#/\''];
128
+ //# sourceMappingURL=regular-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regular-update.js","sourceRoot":"","sources":["../../../src/database/regular-update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SrpcServer.d.ts","sourceRoot":"","sources":["../../../src/srpc/SrpcServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SrpcServer.d.ts","sourceRoot":"","sources":["../../../src/srpc/SrpcServer.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ function __assignType(fn, args) {
11
11
  return fn;
12
12
  }
13
13
  const framework_1 = require("@deepkit/framework");
14
+ const http_1 = require("@deepkit/http");
14
15
  /*@ts-ignore*/
15
16
  var { __ΩScopedLogger } = require('@deepkit/logger');
16
17
  const type_1 = require("@deepkit/type");
@@ -129,6 +130,16 @@ class SrpcServer {
129
130
  // eslint-disable-next-line promise/no-callback-in-promise
130
131
  cb(true);
131
132
  }, ['result', '', 'P"2!"/"']), __assignType(err => {
133
+ if (err instanceof http_1.HttpError) {
134
+ this.logger.warn('Client validation failed with HTTP error', {
135
+ statusCode: err.httpCode,
136
+ message: err.message,
137
+ clientId,
138
+ clientStreamId
139
+ });
140
+ // eslint-disable-next-line promise/no-callback-in-promise
141
+ return cb(false, err.httpCode, err.message);
142
+ }
132
143
  this.logger.error('Error validating client auth', err, { clientId, clientStreamId });
133
144
  // eslint-disable-next-line promise/no-callback-in-promise
134
145
  cb(false, 500, 'Error during authentication');
@@ -1 +1 @@
1
- {"version":3,"file":"SrpcServer.js","sourceRoot":"","sources":["../../../src/srpc/SrpcServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SrpcServer.js","sourceRoot":"","sources":["../../../src/srpc/SrpcServer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zyno-io/dk-server-foundation",
3
- "version": "26.612.612",
3
+ "version": "26.617.449",
4
4
  "description": "TypeScript server foundation built on the Deepkit framework",
5
5
  "homepage": "https://github.com/zyno-io/dk-server-foundation#readme",
6
6
  "bugs": {
@@ -1,7 +1,7 @@
1
1
  import { ClassType, getClassName } from '@deepkit/core';
2
- import { MySQLConnection, MySQLDatabaseAdapter as BaseMySQLDatabaseAdapter } from '@deepkit/mysql';
3
- import { Database, DatabaseSession } from '@deepkit/orm';
4
- import { isNonUndefined } from '@deepkit/sql';
2
+ import { MySQLConnection, MySQLDatabaseAdapter as BaseMySQLDatabaseAdapter, MySQLPersistence as BaseMySQLPersistence } from '@deepkit/mysql';
3
+ import { Database, DatabasePersistenceChangeSet, DatabaseSession, OrmEntity } from '@deepkit/orm';
4
+ import { isNonUndefined, PreparedEntity, SQLConnection, SQLPersistence } from '@deepkit/sql';
5
5
  import { databaseAnnotation, ReflectionKind, Type } from '@deepkit/type';
6
6
  import { PoolConfig } from 'mariadb';
7
7
 
@@ -9,6 +9,7 @@ import { Coordinate } from '.';
9
9
  import { getAppConfig } from '../app/resolver';
10
10
  import { globalState } from '../app/state';
11
11
  import { BaseDatabase } from './common';
12
+ import { batchUpdateWithRegularUpdateStatements } from './regular-update';
12
13
 
13
14
  export type MySQLDatabaseSession = DatabaseSession<MySQLDatabaseAdapter>;
14
15
 
@@ -20,7 +21,26 @@ MySQLConnection.prototype.run = async function (sql: string, params: any[] = [])
20
21
  return this.lastExecResult?.[0] as any;
21
22
  };
22
23
 
24
+ class RegularUpdateMySQLPersistence extends BaseMySQLPersistence {
25
+ override async batchUpdate<T extends OrmEntity>(entity: PreparedEntity, changeSets: DatabasePersistenceChangeSet<T>[]): Promise<void> {
26
+ await batchUpdateWithRegularUpdateStatements(
27
+ {
28
+ platform: this.platform,
29
+ getConnection: () => this.getConnection() as unknown as Promise<SQLConnection>,
30
+ hasActiveTransaction: () => this.session.hasTransaction(),
31
+ handleSpecificError: error => this.handleSpecificError(error)
32
+ },
33
+ entity,
34
+ changeSets
35
+ );
36
+ }
37
+ }
38
+
23
39
  export class MySQLDatabaseAdapter extends BaseMySQLDatabaseAdapter {
40
+ override createPersistence(session: DatabaseSession<this>): SQLPersistence {
41
+ return new RegularUpdateMySQLPersistence(this.platform, this.connectionPool, session);
42
+ }
43
+
24
44
  registerTransformations() {
25
45
  // any
26
46
  this.platform.serializer.deserializeRegistry.register(ReflectionKind.any, (_type, state) => {
@@ -1,13 +1,18 @@
1
1
  import { ClassType } from '@deepkit/core';
2
- import { Database, DatabaseSession } from '@deepkit/orm';
3
- import { PostgresConnection, PostgresDatabaseAdapter as BasePostgresDatabaseAdapter } from '@deepkit/postgres';
4
- import { isNonUndefined } from '@deepkit/sql';
2
+ import { Database, DatabasePersistenceChangeSet, DatabaseSession, OrmEntity } from '@deepkit/orm';
3
+ import {
4
+ PostgresConnection,
5
+ PostgresDatabaseAdapter as BasePostgresDatabaseAdapter,
6
+ PostgresPersistence as BasePostgresPersistence
7
+ } from '@deepkit/postgres';
8
+ import { isNonUndefined, PreparedEntity, SQLConnection, SQLPersistence } from '@deepkit/sql';
5
9
  import { ReflectionKind, Type } from '@deepkit/type';
6
10
  import { PoolConfig } from 'pg';
7
11
 
8
12
  import { getAppConfig } from '../app/resolver';
9
13
  import { globalState } from '../app/state';
10
14
  import { BaseDatabase } from './common';
15
+ import { batchUpdateWithRegularUpdateStatements } from './regular-update';
11
16
 
12
17
  export type PostgresDatabaseSession = DatabaseSession<PostgresDatabaseAdapter>;
13
18
 
@@ -19,7 +24,26 @@ PostgresConnection.prototype.run = async function (sql: string, params: any[] =
19
24
  return { affectedRows: (this as any).changes ?? 0, insertId: 0 } as any;
20
25
  };
21
26
 
27
+ class RegularUpdatePostgresPersistence extends BasePostgresPersistence {
28
+ override async batchUpdate<T extends OrmEntity>(entity: PreparedEntity, changeSets: DatabasePersistenceChangeSet<T>[]): Promise<void> {
29
+ await batchUpdateWithRegularUpdateStatements(
30
+ {
31
+ platform: this.platform,
32
+ getConnection: () => this.getConnection() as unknown as Promise<SQLConnection>,
33
+ hasActiveTransaction: () => this.session.hasTransaction(),
34
+ handleSpecificError: error => this.handleSpecificError(error)
35
+ },
36
+ entity,
37
+ changeSets
38
+ );
39
+ }
40
+ }
41
+
22
42
  export class PostgresDatabaseAdapter extends BasePostgresDatabaseAdapter {
43
+ override createPersistence(session: DatabaseSession<this>): SQLPersistence {
44
+ return new RegularUpdatePostgresPersistence(this.platform, this.connectionPool, session);
45
+ }
46
+
23
47
  registerTransformations() {
24
48
  // any
25
49
  this.platform.serializer.deserializeRegistry.register(ReflectionKind.any, (_type, state) => {
@@ -0,0 +1,148 @@
1
+ import { DatabasePersistenceChangeSet, DatabaseUpdateError, OrmEntity } from '@deepkit/orm';
2
+ import { DefaultPlatform, PreparedEntity, SQLConnection } from '@deepkit/sql';
3
+ import { getPartialSerializeFunction, ReflectionClass } from '@deepkit/type';
4
+
5
+ interface RegularUpdateContext {
6
+ platform: DefaultPlatform;
7
+ getConnection: () => Promise<SQLConnection>;
8
+ hasActiveTransaction: () => boolean;
9
+ handleSpecificError: (error: Error) => Error;
10
+ }
11
+
12
+ const hasOwn = (obj: object | undefined, key: string): boolean => !!obj && Object.prototype.hasOwnProperty.call(obj, key);
13
+
14
+ export async function batchUpdateWithRegularUpdateStatements<T extends OrmEntity>(
15
+ context: RegularUpdateContext,
16
+ entity: PreparedEntity,
17
+ changeSets: DatabasePersistenceChangeSet<T>[]
18
+ ): Promise<void> {
19
+ const partialSerialize = getPartialSerializeFunction(entity.type, context.platform.serializer.serializeRegistry);
20
+
21
+ try {
22
+ if (!context.hasActiveTransaction() && shouldUseTemporaryTransaction(changeSets)) {
23
+ await runInTemporaryTransaction(context, connection => executeUpdates(context, entity, changeSets, partialSerialize, connection));
24
+ return;
25
+ }
26
+
27
+ await executeUpdates(context, entity, changeSets, partialSerialize, await context.getConnection());
28
+ } catch (error) {
29
+ const reflection = ReflectionClass.from(entity.type);
30
+ const updateError = new DatabaseUpdateError(reflection, changeSets, `Could not update ${reflection.getClassName()} in database`, {
31
+ cause: error
32
+ });
33
+ throw context.handleSpecificError(updateError);
34
+ }
35
+ }
36
+
37
+ function shouldUseTemporaryTransaction<T extends OrmEntity>(changeSets: DatabasePersistenceChangeSet<T>[]): boolean {
38
+ return changeSets.length > 1 || changeSets.some(changeSet => Object.keys(changeSet.changes.$inc ?? {}).length > 0);
39
+ }
40
+
41
+ async function runInTemporaryTransaction(context: RegularUpdateContext, callback: (connection: SQLConnection) => Promise<void>): Promise<void> {
42
+ const connection = await context.getConnection();
43
+ let transactionStarted = false;
44
+
45
+ try {
46
+ await connection.run('START TRANSACTION');
47
+ transactionStarted = true;
48
+ await callback(connection);
49
+ await connection.run('COMMIT');
50
+ transactionStarted = false;
51
+ } catch (error) {
52
+ if (transactionStarted) {
53
+ try {
54
+ await connection.run('ROLLBACK');
55
+ } catch (rollbackError) {
56
+ if (error instanceof Error) {
57
+ Object.defineProperty(error, 'rollbackError', { value: rollbackError, configurable: true });
58
+ }
59
+ }
60
+ }
61
+
62
+ throw error;
63
+ }
64
+ }
65
+
66
+ async function executeUpdates<T extends OrmEntity>(
67
+ context: RegularUpdateContext,
68
+ entity: PreparedEntity,
69
+ changeSets: DatabasePersistenceChangeSet<T>[],
70
+ partialSerialize: (value: unknown) => unknown,
71
+ connection: SQLConnection
72
+ ): Promise<void> {
73
+ for (const changeSet of changeSets) {
74
+ const params: unknown[] = [];
75
+ const set: string[] = [];
76
+ const placeholder = new context.platform.placeholderStrategy();
77
+ const serializedSet = changeSet.changes.$set ? (partialSerialize(changeSet.changes.$set) as Record<string, unknown>) : undefined;
78
+ const increments = changeSet.changes.$inc as Record<string, unknown> | undefined;
79
+
80
+ for (const fieldName of changeSet.changes.fieldNames) {
81
+ const property = entity.fieldMap[fieldName];
82
+ if (!property) throw new Error(`Unsupported update field "${fieldName}" on ${entity.name}.`);
83
+
84
+ if (hasOwn(increments, fieldName)) {
85
+ params.push(increments![fieldName]);
86
+ set.push(`${property.columnNameEscaped} = ${property.columnNameEscaped} + ${property.sqlTypeCast(placeholder.getPlaceholder())}`);
87
+ } else if (hasOwn(changeSet.changes.$unset, fieldName)) {
88
+ set.push(`${property.columnNameEscaped} = NULL`);
89
+ } else if (hasOwn(changeSet.changes.$set as object | undefined, fieldName)) {
90
+ params.push(hasOwn(serializedSet, fieldName) ? serializedSet![fieldName] : null);
91
+ set.push(`${property.columnNameEscaped} = ${property.sqlTypeCast(placeholder.getPlaceholder())}`);
92
+ }
93
+ }
94
+
95
+ if (!set.length) continue;
96
+
97
+ const serializedPk = partialSerialize(changeSet.primaryKey) as Record<string, unknown>;
98
+ params.push(serializedPk[entity.primaryKey.name]);
99
+
100
+ await connection.run(
101
+ `UPDATE ${entity.tableNameEscaped}
102
+ SET ${set.join(', ')}
103
+ WHERE ${entity.primaryKey.columnNameEscaped} = ${entity.primaryKey.sqlTypeCast(placeholder.getPlaceholder())}`,
104
+ params
105
+ );
106
+
107
+ const returningFields = Object.keys(changeSet.changes.$inc ?? {});
108
+ if (returningFields.length) {
109
+ await assignReturningFields(context, connection, entity, changeSet, returningFields);
110
+ }
111
+ }
112
+ }
113
+
114
+ async function assignReturningFields<T extends OrmEntity>(
115
+ context: RegularUpdateContext,
116
+ connection: SQLConnection,
117
+ entity: PreparedEntity,
118
+ changeSet: DatabasePersistenceChangeSet<T>,
119
+ returningFields: string[]
120
+ ) {
121
+ const placeholder = new context.platform.placeholderStrategy();
122
+ const serializedItem = partialSerializeItem(context, entity, changeSet.item);
123
+ const params = [serializedItem[entity.primaryKey.name]];
124
+ const select = returningFields.map(fieldName => {
125
+ const property = entity.fieldMap[fieldName];
126
+ if (!property) throw new Error(`Unsupported returning field "${fieldName}" on ${entity.name}.`);
127
+
128
+ return `${property.columnNameEscaped} AS ${context.platform.quoteIdentifier(fieldName)}`;
129
+ });
130
+
131
+ const row = await connection.execAndReturnSingle(
132
+ `SELECT ${select.join(', ')}
133
+ FROM ${entity.tableNameEscaped}
134
+ WHERE ${entity.primaryKey.columnNameEscaped} = ${entity.primaryKey.sqlTypeCast(placeholder.getPlaceholder())}`,
135
+ params
136
+ );
137
+
138
+ if (!row) return;
139
+
140
+ for (const fieldName of returningFields) {
141
+ changeSet.item[fieldName as keyof T] = row[fieldName];
142
+ }
143
+ }
144
+
145
+ function partialSerializeItem<T extends OrmEntity>(context: RegularUpdateContext, entity: PreparedEntity, item: T): Record<string, unknown> {
146
+ const partialSerialize = getPartialSerializeFunction(entity.type, context.platform.serializer.serializeRegistry);
147
+ return partialSerialize(item) as Record<string, unknown>;
148
+ }
@@ -1,4 +1,5 @@
1
1
  import { ApplicationServer } from '@deepkit/framework';
2
+ import { HttpError } from '@deepkit/http';
2
3
  import { ScopedLogger } from '@deepkit/logger';
3
4
  import { uuid } from '@deepkit/type';
4
5
  import { createHmac, timingSafeEqual } from 'crypto';
@@ -175,6 +176,17 @@ export class SrpcServer<
175
176
  cb(true);
176
177
  },
177
178
  err => {
179
+ if (err instanceof HttpError) {
180
+ this.logger.warn('Client validation failed with HTTP error', {
181
+ statusCode: err.httpCode,
182
+ message: err.message,
183
+ clientId,
184
+ clientStreamId
185
+ });
186
+ // eslint-disable-next-line promise/no-callback-in-promise
187
+ return cb(false, err.httpCode, err.message);
188
+ }
189
+
178
190
  this.logger.error('Error validating client auth', err, { clientId, clientStreamId });
179
191
  // eslint-disable-next-line promise/no-callback-in-promise
180
192
  cb(false, 500, 'Error during authentication');