@spinajs/orm-sqlite 2.0.179 → 2.0.181

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,53 +1,53 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SqliteObjectToSqlConverter = exports.SqliteModelToSqlConverter = void 0;
4
- /* eslint-disable security/detect-object-injection */
5
- /* eslint-disable @typescript-eslint/no-explicit-any */
6
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
7
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
8
- const orm_1 = require("@spinajs/orm");
9
- class SqliteModelToSqlConverter extends orm_1.ModelToSqlConverter {
10
- toSql(model) {
11
- const obj = {};
12
- const relArr = [...model.ModelDescriptor.Relations.values()];
13
- model.ModelDescriptor.Columns?.forEach((c) => {
14
- const val = model[c.Name];
15
- if (!c.PrimaryKey && !c.Nullable && (val === null || val === undefined || val === '')) {
16
- throw new orm_1.OrmException(`Field ${c.Name} cannot be null`);
17
- }
18
- // undefined properties we omit,
19
- // assume that those values have default value in DB defined,
20
- // SQLITE does not support DEFAULT keyword in insert statements
21
- // this way insertquerycompiler will not try to fill DEFAULT in missing data
22
- if (val === undefined)
23
- return;
24
- obj[c.Name] = c.Converter ? c.Converter.toDB(val, model, model.ModelDescriptor.Converters.get(c.Name).Options) : val;
25
- });
26
- for (const val of relArr) {
27
- if (val.Type === orm_1.RelationType.One) {
28
- if (model[val.Name].Value) {
29
- obj[val.ForeignKey] = model[val.Name].Value.PrimaryKeyValue;
30
- }
31
- }
32
- }
33
- return obj;
34
- }
35
- }
36
- exports.SqliteModelToSqlConverter = SqliteModelToSqlConverter;
37
- class SqliteObjectToSqlConverter extends orm_1.ObjectToSqlConverter {
38
- toSql(model) {
39
- const sqlModel = {};
40
- // undefined properties we omit,
41
- // assume that those values have default value in DB defined,
42
- // SQLITE does not support DEFAULT keyword in insert statements
43
- // this way insertquerycompiler will not try to fill DEFAULT in missing data
44
- Object.keys(model).forEach((key) => {
45
- if (model[key] !== undefined) {
46
- sqlModel[key] = model[key];
47
- }
48
- });
49
- return sqlModel;
50
- }
51
- }
52
- exports.SqliteObjectToSqlConverter = SqliteObjectToSqlConverter;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SqliteObjectToSqlConverter = exports.SqliteModelToSqlConverter = void 0;
4
+ /* eslint-disable security/detect-object-injection */
5
+ /* eslint-disable @typescript-eslint/no-explicit-any */
6
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
7
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
8
+ const orm_1 = require("@spinajs/orm");
9
+ class SqliteModelToSqlConverter extends orm_1.ModelToSqlConverter {
10
+ toSql(model) {
11
+ const obj = {};
12
+ const relArr = [...model.ModelDescriptor.Relations.values()];
13
+ model.ModelDescriptor.Columns?.forEach((c) => {
14
+ const val = model[c.Name];
15
+ if (!c.PrimaryKey && !c.Nullable && (val === null || val === undefined || val === '')) {
16
+ throw new orm_1.OrmException(`Field ${c.Name} cannot be null`);
17
+ }
18
+ // undefined properties we omit,
19
+ // assume that those values have default value in DB defined,
20
+ // SQLITE does not support DEFAULT keyword in insert statements
21
+ // this way insertquerycompiler will not try to fill DEFAULT in missing data
22
+ if (val === undefined)
23
+ return;
24
+ obj[c.Name] = c.Converter ? c.Converter.toDB(val, model, model.ModelDescriptor.Converters.get(c.Name).Options) : val;
25
+ });
26
+ for (const val of relArr) {
27
+ if (val.Type === orm_1.RelationType.One) {
28
+ if (model[val.Name].Value) {
29
+ obj[val.ForeignKey] = model[val.Name].Value.PrimaryKeyValue;
30
+ }
31
+ }
32
+ }
33
+ return obj;
34
+ }
35
+ }
36
+ exports.SqliteModelToSqlConverter = SqliteModelToSqlConverter;
37
+ class SqliteObjectToSqlConverter extends orm_1.ObjectToSqlConverter {
38
+ toSql(model) {
39
+ const sqlModel = {};
40
+ // undefined properties we omit,
41
+ // assume that those values have default value in DB defined,
42
+ // SQLITE does not support DEFAULT keyword in insert statements
43
+ // this way insertquerycompiler will not try to fill DEFAULT in missing data
44
+ Object.keys(model).forEach((key) => {
45
+ if (model[key] !== undefined) {
46
+ sqlModel[key] = model[key];
47
+ }
48
+ });
49
+ return sqlModel;
50
+ }
51
+ }
52
+ exports.SqliteObjectToSqlConverter = SqliteObjectToSqlConverter;
53
53
  //# sourceMappingURL=converters.js.map
@@ -1,23 +1,23 @@
1
- export * from './compilers.js';
2
- import { IColumnDescriptor, QueryContext, OrmDriver, QueryBuilder, TransactionCallback } from '@spinajs/orm';
3
- import sqlite3 from 'sqlite3';
4
- import { SqlDriver } from '@spinajs/orm-sql';
5
- export declare class SqliteOrmDriver extends SqlDriver {
6
- protected executionId: number;
7
- protected Db: sqlite3.Database;
8
- executeOnDb(stmt: string, params: unknown[], queryContext: QueryContext): Promise<unknown>;
9
- ping(): Promise<boolean>;
10
- connect(): Promise<OrmDriver>;
11
- disconnect(): Promise<OrmDriver>;
12
- resolve(): void;
13
- transaction(qrOrCallback: QueryBuilder[] | TransactionCallback): Promise<void>;
14
- /**
15
- *
16
- * Retrieves information about specific DB table if exists. If table not exists returns null
17
- *
18
- * @param name - table name to retrieve info
19
- * @param _schema - optional schema name
20
- */
21
- tableInfo(name: string, _schema?: string): Promise<IColumnDescriptor[]>;
22
- }
1
+ export * from './compilers.js';
2
+ import { IColumnDescriptor, QueryContext, OrmDriver, QueryBuilder, TransactionCallback } from '@spinajs/orm';
3
+ import sqlite3 from 'sqlite3';
4
+ import { SqlDriver } from '@spinajs/orm-sql';
5
+ export declare class SqliteOrmDriver extends SqlDriver {
6
+ protected executionId: number;
7
+ protected Db: sqlite3.Database;
8
+ executeOnDb(stmt: string, params: unknown[], queryContext: QueryContext): Promise<unknown>;
9
+ ping(): Promise<boolean>;
10
+ connect(): Promise<OrmDriver>;
11
+ disconnect(): Promise<OrmDriver>;
12
+ resolve(): void;
13
+ transaction(qrOrCallback: QueryBuilder[] | TransactionCallback): Promise<void>;
14
+ /**
15
+ *
16
+ * Retrieves information about specific DB table if exists. If table not exists returns null
17
+ *
18
+ * @param name - table name to retrieve info
19
+ * @param _schema - optional schema name
20
+ */
21
+ tableInfo(name: string, _schema?: string): Promise<IColumnDescriptor[]>;
22
+ }
23
23
  //# sourceMappingURL=index.d.ts.map