namirasoft-node-sequelize 1.4.3 → 1.4.5
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.
|
@@ -5,7 +5,7 @@ import { BaseSequelizeTable } from "./BaseSequelizeTable";
|
|
|
5
5
|
import { BaseApplication } from "namirasoft-node";
|
|
6
6
|
import { Transaction } from "sequelize";
|
|
7
7
|
export interface BaseSequelizeDatabaseSeedable<Model> {
|
|
8
|
-
getOrNull(id: string | undefined, trx: Transaction | null): Promise<Model | null>;
|
|
8
|
+
getOrNull(id: string | number | undefined, trx: Transaction | null): Promise<Model | null>;
|
|
9
9
|
create(product: Model, trx: Transaction | null): Promise<Model>;
|
|
10
10
|
update(product: Model, trx: Transaction | null): Promise<number[]>;
|
|
11
11
|
}
|
|
@@ -23,6 +23,6 @@ export declare abstract class BaseSequelizeDatabase extends BaseDatabase {
|
|
|
23
23
|
getAdvancedSearchConditions(columns: string[], search: string): WhereOptions[];
|
|
24
24
|
getSortOptions(sorts?: SortItem[] | undefined): Order;
|
|
25
25
|
protected sead<Model extends {
|
|
26
|
-
id: string;
|
|
27
|
-
}>(app: BaseApplication<any>, file_path: string, seedable_table: BaseSequelizeDatabaseSeedable<Model
|
|
26
|
+
id: string | number;
|
|
27
|
+
}>(app: BaseApplication<any>, file_path: string, seedable_table: BaseSequelizeDatabaseSeedable<Model>, preprocess?: (item: Model) => Model): Promise<void>;
|
|
28
28
|
}
|
|
@@ -98,11 +98,13 @@ class BaseSequelizeDatabase extends namirasoft_node_1.BaseDatabase {
|
|
|
98
98
|
});
|
|
99
99
|
return ans;
|
|
100
100
|
}
|
|
101
|
-
sead(app, file_path, seedable_table) {
|
|
101
|
+
sead(app, file_path, seedable_table, preprocess) {
|
|
102
102
|
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
if (!preprocess)
|
|
104
|
+
preprocess = i => i;
|
|
103
105
|
let items = app.read(file_path);
|
|
104
106
|
for (let i = 0; i < items.length; i++) {
|
|
105
|
-
const item = items[i];
|
|
107
|
+
const item = preprocess(items[i]);
|
|
106
108
|
let product = yield seedable_table.getOrNull(item.id, null);
|
|
107
109
|
if (product === null)
|
|
108
110
|
yield seedable_table.create(item, null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseSequelizeDatabase.js","sourceRoot":"","sources":["../src/BaseSequelizeDatabase.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BaseSequelizeDatabase.js","sourceRoot":"","sources":["../src/BaseSequelizeDatabase.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"framework": "npm",
|
|
9
9
|
"application": "package",
|
|
10
10
|
"private": false,
|
|
11
|
-
"version": "1.4.
|
|
11
|
+
"version": "1.4.5",
|
|
12
12
|
"author": "Amir Abolhasani",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"main": "./dist/index.js",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@types/node": "^24.1.0",
|
|
21
|
-
"namirasoft-core": "^1.4.
|
|
21
|
+
"namirasoft-core": "^1.4.80",
|
|
22
22
|
"namirasoft-node": "^1.4.106",
|
|
23
23
|
"sequelize": "^6.37.7"
|
|
24
24
|
}
|
|
@@ -10,7 +10,7 @@ import { Transaction } from "sequelize";
|
|
|
10
10
|
|
|
11
11
|
export interface BaseSequelizeDatabaseSeedable<Model>
|
|
12
12
|
{
|
|
13
|
-
getOrNull(id: string | undefined, trx: Transaction | null): Promise<Model | null>;
|
|
13
|
+
getOrNull(id: string | number | undefined, trx: Transaction | null): Promise<Model | null>;
|
|
14
14
|
create(product: Model, trx: Transaction | null): Promise<Model>;
|
|
15
15
|
update(product: Model, trx: Transaction | null): Promise<number[]>;
|
|
16
16
|
}
|
|
@@ -120,12 +120,14 @@ export abstract class BaseSequelizeDatabase extends BaseDatabase
|
|
|
120
120
|
|
|
121
121
|
return ans;
|
|
122
122
|
}
|
|
123
|
-
protected async sead<Model extends { id: string }>(app: BaseApplication<any>, file_path: string, seedable_table: BaseSequelizeDatabaseSeedable<Model
|
|
123
|
+
protected async sead<Model extends { id: string | number }>(app: BaseApplication<any>, file_path: string, seedable_table: BaseSequelizeDatabaseSeedable<Model>, preprocess?: (item: Model) => Model)
|
|
124
124
|
{
|
|
125
|
+
if (!preprocess)
|
|
126
|
+
preprocess = i => i;
|
|
125
127
|
let items = app.read<Model[]>(file_path);
|
|
126
128
|
for (let i = 0; i < items.length; i++)
|
|
127
129
|
{
|
|
128
|
-
const item = items[i];
|
|
130
|
+
const item = preprocess(items[i]);
|
|
129
131
|
let product = await seedable_table.getOrNull(item.id, null);
|
|
130
132
|
if (product === null)
|
|
131
133
|
await seedable_table.create(item, null);
|