sonamu 0.0.3 → 0.0.4

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.
Files changed (73) hide show
  1. package/package.json +1 -1
  2. package/dist/database/f9-base-model.d.ts +0 -39
  3. package/dist/database/f9-base-model.d.ts.map +0 -1
  4. package/dist/database/f9-base-model.js +0 -229
  5. package/dist/database/f9-base-model.js.map +0 -1
  6. package/dist/database/f9-db.d.ts +0 -23
  7. package/dist/database/f9-db.d.ts.map +0 -1
  8. package/dist/database/f9-db.js +0 -109
  9. package/dist/database/f9-db.js.map +0 -1
  10. package/dist/exceptions/exceptions.d.ts +0 -48
  11. package/dist/exceptions/exceptions.d.ts.map +0 -1
  12. package/dist/exceptions/exceptions.js +0 -105
  13. package/dist/exceptions/exceptions.js.map +0 -1
  14. package/dist/exceptions/f9-exception.d.ts +0 -48
  15. package/dist/exceptions/f9-exception.d.ts.map +0 -1
  16. package/dist/exceptions/f9-exception.js +0 -105
  17. package/dist/exceptions/f9-exception.js.map +0 -1
  18. package/dist/exceptions/index.d.ts +0 -3
  19. package/dist/exceptions/index.d.ts.map +0 -1
  20. package/dist/exceptions/index.js +0 -19
  21. package/dist/exceptions/index.js.map +0 -1
  22. package/dist/f9-md/f9-md.d.ts +0 -29
  23. package/dist/f9-md/f9-md.d.ts.map +0 -1
  24. package/dist/f9-md/f9-md.js +0 -148
  25. package/dist/f9-md/f9-md.js.map +0 -1
  26. package/dist/f9-md/index.d.ts +0 -5
  27. package/dist/f9-md/index.d.ts.map +0 -1
  28. package/dist/f9-md/index.js +0 -21
  29. package/dist/f9-md/index.js.map +0 -1
  30. package/dist/f9-md/md-utils.d.ts +0 -55
  31. package/dist/f9-md/md-utils.d.ts.map +0 -1
  32. package/dist/f9-md/md-utils.js +0 -104
  33. package/dist/f9-md/md-utils.js.map +0 -1
  34. package/dist/f9-md/migrator.d.ts +0 -79
  35. package/dist/f9-md/migrator.d.ts.map +0 -1
  36. package/dist/f9-md/migrator.js +0 -1084
  37. package/dist/f9-md/migrator.js.map +0 -1
  38. package/dist/f9-md/model-definition.d.ts +0 -40
  39. package/dist/f9-md/model-definition.d.ts.map +0 -1
  40. package/dist/f9-md/model-definition.js +0 -409
  41. package/dist/f9-md/model-definition.js.map +0 -1
  42. package/dist/templates/bridge.template.d.ts +0 -17
  43. package/dist/templates/bridge.template.d.ts.map +0 -1
  44. package/dist/templates/bridge.template.js +0 -79
  45. package/dist/templates/bridge.template.js.map +0 -1
  46. package/dist/templates/md.template.d.ts +0 -17
  47. package/dist/templates/md.template.d.ts.map +0 -1
  48. package/dist/templates/md.template.js +0 -45
  49. package/dist/templates/md.template.js.map +0 -1
  50. package/dist/testing/f9-fixture-manager.d.ts +0 -16
  51. package/dist/testing/f9-fixture-manager.d.ts.map +0 -1
  52. package/dist/testing/f9-fixture-manager.js +0 -211
  53. package/dist/testing/f9-fixture-manager.js.map +0 -1
  54. package/dist/types/index.d.ts +0 -2
  55. package/dist/types/index.d.ts.map +0 -1
  56. package/dist/types/index.js +0 -18
  57. package/dist/types/index.js.map +0 -1
  58. package/dist/types/shared.d.ts +0 -725
  59. package/dist/types/shared.d.ts.map +0 -1
  60. package/dist/types/shared.js +0 -288
  61. package/dist/types/shared.js.map +0 -1
  62. package/dist/utils/f9-cache.d.ts +0 -1
  63. package/dist/utils/f9-cache.d.ts.map +0 -1
  64. package/dist/utils/f9-cache.js +0 -113
  65. package/dist/utils/f9-cache.js.map +0 -1
  66. package/dist/utils/index.d.ts +0 -4
  67. package/dist/utils/index.d.ts.map +0 -1
  68. package/dist/utils/index.js +0 -20
  69. package/dist/utils/index.js.map +0 -1
  70. package/dist/utils/tf-utils.d.ts +0 -6
  71. package/dist/utils/tf-utils.d.ts.map +0 -1
  72. package/dist/utils/tf-utils.js +0 -67
  73. package/dist/utils/tf-utils.js.map +0 -1
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Template__bridge = void 0;
4
- const smd_manager_1 = require("../smd/smd-manager");
5
- const base_template_1 = require("./base-template");
6
- class Template__bridge extends base_template_1.Template {
7
- constructor() {
8
- super("bridge");
9
- }
10
- getTargetAndPath(names) {
11
- return {
12
- target: "api/src/application",
13
- path: `${names.fs}/${names.fs}.model.ts`,
14
- };
15
- }
16
- render({ smdId }) {
17
- const names = smd_manager_1.SMDManager.getNamesFromId(smdId);
18
- return Object.assign(Object.assign({}, this.getTargetAndPath(names)), { body: `
19
- import { F9BaseBridgeModelClass } from "../../bridge/f9-base-bridge";
20
- import { Context } from "../../typeframe/context";
21
- import { api } from "../../typeframe/decorators";
22
- import { ListResult } from "../../typeframe/utils/model";
23
- import { ${smdId}SubsetPD, ${smdId}SubsetPL } from "./${names.fs}.generated";
24
- import { ${smdId}ListParams } from "./${names.fs}.types";
25
-
26
- /*
27
- ${smdId} Model Bridge
28
- */
29
- class ${smdId}ModelClass extends F9BaseBridgeModelClass {
30
- modelName = "${smdId}";
31
-
32
- @api({
33
- httpMethod: "GET",
34
- clients: ["axios", "swr"],
35
- resourceName: "${smdId}",
36
- })
37
- async findById<T extends "PD">(
38
- _subset: T,
39
- id: number,
40
- { headers }: Context
41
- ): Promise<${smdId}SubsetPD> {
42
- const data = await this.bridge(headers, "GET", "/${names.camel}/show.json", {
43
- ${names.camel}_id: id,
44
- });
45
-
46
- return this.coerceType(${smdId}SubsetPD, data.${names.fs});
47
- }
48
-
49
- @api({
50
- httpMethod: "GET",
51
- clients: ["axios", "swr"],
52
- resourceName: "${smdId}s",
53
- })
54
- async findMany<T extends "PL">(
55
- _subset: T,
56
- params: ${smdId}ListParams = {},
57
- { headers }: Context
58
- ): Promise<ListResult<${smdId}SubsetPL>> {
59
- const data = await this.bridge(
60
- headers,
61
- "GET",
62
- "/${names.camel}/index.json",
63
- params
64
- );
65
-
66
- return {
67
- rows: this.coerceType(${smdId}SubsetPL.array(), data.${names.camel}),
68
- total: Number(data.total_count),
69
- };
70
- }
71
- }
72
-
73
- export const ${smdId}Model = new ${smdId}ModelClass();
74
-
75
- `.trim(), importKeys: [] });
76
- }
77
- }
78
- exports.Template__bridge = Template__bridge;
79
- //# sourceMappingURL=bridge.template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bridge.template.js","sourceRoot":"","sources":["../../src/templates/bridge.template.ts"],"names":[],"mappings":";;;AACA,oDAAgE;AAChE,mDAA2C;AAE3C,MAAa,gBAAiB,SAAQ,wBAAQ;IAC5C;QACE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB,CAAC,KAAqB;QACpC,OAAO;YACL,MAAM,EAAE,qBAAqB;YAC7B,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,WAAW;SACzC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,EAAE,KAAK,EAA6B;QACzC,MAAM,KAAK,GAAG,wBAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE/C,uCACK,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAC/B,IAAI,EAAE;;;;;WAKD,KAAK,aAAa,KAAK,sBAAsB,KAAK,CAAC,EAAE;WACrD,KAAK,wBAAwB,KAAK,CAAC,EAAE;;;IAG5C,KAAK;;QAED,KAAK;iBACI,KAAK;;;;;qBAKD,KAAK;;;;;;eAMX,KAAK;uDACmC,KAAK,CAAC,KAAK;QAC1D,KAAK,CAAC,KAAK;;;6BAGU,KAAK,kBAAkB,KAAK,CAAC,EAAE;;;;;;qBAMvC,KAAK;;;;cAIZ,KAAK;;0BAEO,KAAK;;;;UAIrB,KAAK,CAAC,KAAK;;;;;8BAKS,KAAK,0BAA0B,KAAK,CAAC,KAAK;;;;;;eAMzD,KAAK,eAAe,KAAK;;OAEjC,CAAC,IAAI,EAAE,EACR,UAAU,EAAE,EAAE,IACd;IACJ,CAAC;CACF;AA9ED,4CA8EC"}
@@ -1,17 +0,0 @@
1
- import { TemplateOptions } from "../types/shared";
2
- import { SMDNamesRecord } from "../smd/smd-manager";
3
- import { Template } from "./base-template";
4
- export declare class Template__md extends Template {
5
- constructor();
6
- getTargetAndPath(names: SMDNamesRecord): {
7
- target: string;
8
- path: string;
9
- };
10
- render(options: TemplateOptions["md"]): {
11
- body: string;
12
- importKeys: never[];
13
- target: string;
14
- path: string;
15
- };
16
- }
17
- //# sourceMappingURL=md.template.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"md.template.d.ts","sourceRoot":"","sources":["../../src/templates/md.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAc,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,qBAAa,YAAa,SAAQ,QAAQ;;IAKxC,gBAAgB,CAAC,KAAK,EAAE,cAAc;;;;IAOtC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC;;;;;;CAgCtC"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Template__md = void 0;
4
- const smd_manager_1 = require("../smd/smd-manager");
5
- const base_template_1 = require("./base-template");
6
- class Template__md extends base_template_1.Template {
7
- constructor() {
8
- super("md");
9
- }
10
- getTargetAndPath(names) {
11
- return {
12
- target: "api/src/application",
13
- path: `${names.fs}/${names.fs}.md.ts`,
14
- };
15
- }
16
- render(options) {
17
- const { mdId, title, refCode } = options;
18
- const names = smd_manager_1.SMDManager.getNamesFromId(mdId);
19
- return Object.assign(Object.assign({}, this.getTargetAndPath(names)), { body: `
20
- import { p, MDInput } from "@typeframe/core";
21
- import { ${mdId}FieldExpr } from "./${names.fs}.generated";
22
-
23
- /*
24
- ${mdId} MD
25
- */
26
-
27
- export const ${names.camel}MdInput: MDInput<${mdId}FieldExpr> = {
28
- id: "${mdId}",
29
- title: "${title !== null && title !== void 0 ? title : mdId}",
30
- props: [
31
- p.integer("id", { unsigned: true }),
32
- p.timestamp("created_at", {
33
- now: true,
34
- }),
35
- ],
36
- subsets: {
37
- A: [ 'id', 'created_at' ]
38
- }
39
- };
40
- ${refCode ? `\n/* REFERENCE\n\n${refCode}\n*/` : ""}
41
- `.trim(), importKeys: [] });
42
- }
43
- }
44
- exports.Template__md = Template__md;
45
- //# sourceMappingURL=md.template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"md.template.js","sourceRoot":"","sources":["../../src/templates/md.template.ts"],"names":[],"mappings":";;;AACA,oDAAgE;AAChE,mDAA2C;AAE3C,MAAa,YAAa,SAAQ,wBAAQ;IACxC;QACE,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,KAAqB;QACpC,OAAO;YACL,MAAM,EAAE,qBAAqB;YAC7B,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,QAAQ;SACtC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAA8B;QACnC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACzC,MAAM,KAAK,GAAG,wBAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE9C,uCACK,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAC/B,IAAI,EAAE;;WAED,IAAI,uBAAuB,KAAK,CAAC,EAAE;;;IAG1C,IAAI;;;eAGO,KAAK,CAAC,KAAK,oBAAoB,IAAI;SACzC,IAAI;YACD,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI;;;;;;;;;;;EAWvB,OAAO,CAAC,CAAC,CAAC,qBAAqB,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE;CAClD,CAAC,IAAI,EAAE,EACF,UAAU,EAAE,EAAE,IACd;IACJ,CAAC;CACF;AA5CD,oCA4CC"}
@@ -1,16 +0,0 @@
1
- import { Knex } from "knex";
2
- export declare class F9FixtureManager {
3
- usingTables?: string[] | undefined;
4
- private tdb;
5
- private fdb;
6
- private knexfile;
7
- constructor(usingTables?: string[] | undefined);
8
- cleanAndSeed(): Promise<void>;
9
- initFixtureDB(): Promise<void>;
10
- getChecksum(db: Knex, tableName: string): Promise<any>;
11
- sync(): Promise<void>;
12
- importFixture(mdId: string, ids: number[]): Promise<void>;
13
- getImportQueries(mdId: string, field: string, id: number): Promise<string[]>;
14
- destory(): Promise<void>;
15
- }
16
- //# sourceMappingURL=f9-fixture-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"f9-fixture-manager.d.ts","sourceRoot":"","sources":["../../src/testing/f9-fixture-manager.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAUlC,qBAAa,gBAAgB;IAKR,WAAW,CAAC;IAJ/B,OAAO,CAAC,GAAG,CAAO;IAClB,OAAO,CAAC,GAAG,CAAO;IAClB,OAAO,CAAC,QAAQ,CAAiB;gBAEd,WAAW,CAAC,sBAAU;IAiBnC,YAAY;IAgDZ,aAAa;IAyCb,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM;IAKvC,IAAI;IAkDJ,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;IAqBzC,gBAAgB,CACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,EAAE,CAAC;IA6Dd,OAAO;CAId"}
@@ -1,211 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.F9FixtureManager = void 0;
16
- const chalk_1 = __importDefault(require("chalk"));
17
- const child_process_1 = require("child_process");
18
- const knex_1 = __importDefault(require("knex"));
19
- const lodash_1 = require("lodash");
20
- const f9_base_model_1 = require("../database/f9-base-model");
21
- const db_1 = require("../database/db");
22
- const f9_md_1 = require("../f9-md/f9-md");
23
- const shared_1 = require("../types/shared");
24
- class F9FixtureManager {
25
- constructor(usingTables) {
26
- this.usingTables = usingTables;
27
- this.knexfile = db_1.F9DB.getKnexfile();
28
- this.tdb = (0, knex_1.default)(this.knexfile.test);
29
- this.fdb = (0, knex_1.default)(this.knexfile.fixture_local);
30
- if (process.env.NODE_ENV === "test") {
31
- beforeEach(() => __awaiter(this, void 0, void 0, function* () {
32
- yield this.cleanAndSeed();
33
- }));
34
- afterAll(() => __awaiter(this, void 0, void 0, function* () {
35
- yield this.destory();
36
- yield f9_base_model_1.F9BaseModel.destroy();
37
- }));
38
- }
39
- }
40
- cleanAndSeed() {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- // console.time("FIXTURE-CleanAndSeed");
43
- let tableNames = [];
44
- if (this.usingTables === undefined) {
45
- const [tables] = yield this.tdb.raw("SHOW TABLE STATUS WHERE Engine IS NOT NULL");
46
- tableNames = tables.map((tableInfo) => tableInfo["Name"]);
47
- }
48
- else {
49
- tableNames = this.usingTables;
50
- }
51
- yield this.tdb.raw(`SET FOREIGN_KEY_CHECKS = 0`);
52
- for (let tableName of tableNames) {
53
- if (tableName == "migrations") {
54
- continue;
55
- }
56
- const [[fdbChecksumRow]] = yield this.fdb.raw(`CHECKSUM TABLE ${tableName}`);
57
- const fdbChecksum = fdbChecksumRow["Checksum"];
58
- const [[tdbChecksumRow]] = yield this.tdb.raw(`CHECKSUM TABLE ${tableName}`);
59
- const tdbChecksum = tdbChecksumRow["Checksum"];
60
- if (fdbChecksum !== tdbChecksum) {
61
- yield this.tdb(tableName).truncate();
62
- const rawQuery = `INSERT INTO ${this.knexfile.test.connection.database}.${tableName}
63
- SELECT * FROM ${this.knexfile.fixture_local.connection
64
- .database}.${tableName}`;
65
- yield this.tdb.raw(rawQuery);
66
- }
67
- }
68
- yield this.tdb.raw(`SET FOREIGN_KEY_CHECKS = 1`);
69
- // console.timeEnd("FIXTURE-CleanAndSeed");
70
- });
71
- }
72
- // TODO: 추후 작업
73
- initFixtureDB() {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- console.log("DUMP...");
76
- (0, child_process_1.execSync)(`mysqldump -hwdb.closedshops.com -uf9dev -pF9.dev12# --single-transaction -d --no-create-db --triggers --ignore-table=closedshops.pm_backup closedshops > /tmp/closedshops_scheme.sql`);
77
- console.log("SYNC to (TESTING) LOCAL closedshops...");
78
- (0, child_process_1.execSync)(`mysql -hlocal.closedshops.com -uf9dev -pF9.dev12# -e 'DROP DATABASE closedshops'`);
79
- (0, child_process_1.execSync)(`mysql -hlocal.closedshops.com -uf9dev -pF9.dev12# -e 'CREATE DATABASE closedshops'`);
80
- (0, child_process_1.execSync)(`mysql -hlocal.closedshops.com -uf9dev -pF9.dev12# closedshops < /tmp/closedshops_scheme.sql;`);
81
- console.log("SED database names...");
82
- (0, child_process_1.execSync)(`sed -i'' -e 's/\`closedshops\`/\`closedshops_fixture\`/g' /tmp/closedshops_scheme.sql`);
83
- console.log("SYNC to (REMOTE FIXTURE) REMOTE closedshops_fixture...");
84
- (0, child_process_1.execSync)(`mysql -hwdb.closedshops.com -uf9dev -pF9.dev12# -e 'DROP DATABASE closedshops_fixture'`);
85
- (0, child_process_1.execSync)(`mysql -hwdb.closedshops.com -uf9dev -pF9.dev12# -e 'CREATE DATABASE closedshops_fixture'`);
86
- (0, child_process_1.execSync)(`mysql -hwdb.closedshops.com -uf9dev -pF9.dev12# closedshops_fixture < /tmp/closedshops_scheme.sql;`);
87
- console.log("SYNC to (LOCAL FIXTURE) closedshops_fixture...");
88
- (0, child_process_1.execSync)(`mysql -hlocal.closedshops.com -uf9dev -pF9.dev12# -e 'DROP DATABASE closedshops_fixture'`);
89
- (0, child_process_1.execSync)(`mysql -hlocal.closedshops.com -uf9dev -pF9.dev12# -e 'CREATE DATABASE closedshops_fixture'`);
90
- (0, child_process_1.execSync)(`mysql -hlocal.closedshops.com -uf9dev -pF9.dev12# closedshops_fixture < /tmp/closedshops_scheme.sql;`);
91
- });
92
- }
93
- getChecksum(db, tableName) {
94
- return __awaiter(this, void 0, void 0, function* () {
95
- const [[checksumRow]] = yield db.raw(`CHECKSUM TABLE ${tableName}`);
96
- return checksumRow.Checksum;
97
- });
98
- }
99
- sync() {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- const frdb = (0, knex_1.default)(this.knexfile.fixture_remote);
102
- const [tables] = yield this.fdb.raw("SHOW TABLE STATUS WHERE Engine IS NOT NULL");
103
- const tableNames = tables.map((table) => table.Name);
104
- console.log(chalk_1.default.magenta("SYNC..."));
105
- yield Promise.all(tableNames.map((tableName) => __awaiter(this, void 0, void 0, function* () {
106
- if (tableName.startsWith("knex_migrations")) {
107
- return;
108
- }
109
- const remoteChecksum = yield this.getChecksum(frdb, tableName);
110
- const localChecksum = yield this.getChecksum(this.fdb, tableName);
111
- if (remoteChecksum !== localChecksum) {
112
- yield this.fdb.transaction((transaction) => __awaiter(this, void 0, void 0, function* () {
113
- yield transaction.raw(`SET FOREIGN_KEY_CHECKS = 0`);
114
- yield transaction(tableName).truncate();
115
- const rows = yield frdb(tableName);
116
- console.log(chalk_1.default.blue(tableName), rows.length);
117
- yield transaction
118
- .insert(rows.map((row) => {
119
- Object.keys(row).map((key) => {
120
- if (Array.isArray(row[key])) {
121
- row[key] = JSON.stringify(row[key]);
122
- }
123
- });
124
- return row;
125
- }))
126
- .into(tableName);
127
- console.log("OK");
128
- yield transaction.raw(`SET FOREIGN_KEY_CHECKS = 0`);
129
- }));
130
- }
131
- })));
132
- console.log(chalk_1.default.magenta("DONE!"));
133
- yield frdb.destroy();
134
- });
135
- }
136
- importFixture(mdId, ids) {
137
- return __awaiter(this, void 0, void 0, function* () {
138
- const queries = (0, lodash_1.uniq)((yield Promise.all(ids.map((id) => __awaiter(this, void 0, void 0, function* () {
139
- return yield this.getImportQueries(mdId, "id", id);
140
- })))).flat());
141
- const wdb = f9_base_model_1.F9BaseModel.getDB("w");
142
- for (let query of queries) {
143
- const [rsh] = yield wdb.raw(query);
144
- console.log({
145
- query,
146
- info: rsh.info,
147
- });
148
- }
149
- });
150
- }
151
- getImportQueries(mdId, field, id) {
152
- return __awaiter(this, void 0, void 0, function* () {
153
- console.log({ mdId, field, id });
154
- const md = f9_md_1.F9MD.get(mdId);
155
- const wdb = f9_base_model_1.F9BaseModel.getDB("w");
156
- // 여기서 실DB의 row 가져옴
157
- const [row] = yield wdb(md.table).where(field, id).limit(1);
158
- if (row === undefined) {
159
- throw new Error(`${mdId}#${id} row를 찾을 수 없습니다.`);
160
- }
161
- // 픽스쳐DB, 실DB
162
- const fixtureDatabase = this.knexfile.fixture_remote.connection
163
- .database;
164
- const realDatabase = this.knexfile.production_master.connection
165
- .database;
166
- const selfQuery = `INSERT IGNORE INTO \`${fixtureDatabase}\`.\`${md.table}\` (SELECT * FROM \`${realDatabase}\`.\`${md.table}\` WHERE \`id\` = ${id})`;
167
- const args = Object.entries(md.relations)
168
- .filter(([, relation]) => (0, shared_1.isBelongsToOneRelationProp)(relation) ||
169
- ((0, shared_1.isOneToOneRelationProp)(relation) &&
170
- relation.customJoinClause === undefined))
171
- .map(([, relation]) => {
172
- /*
173
- BelongsToOne인 경우
174
- Category / 'id' / row[category_id] 호출
175
- OneToOne에 joinColumn === true 인 경우
176
- Profile / 'id' / row[profile_id] 호출
177
- OneToOne에 joinColumn === false 인 경우
178
- Profile / 'profile_id' / row['id'] 호출
179
- */
180
- let field;
181
- let id;
182
- if ((0, shared_1.isOneToOneRelationProp)(relation) && !relation.hasJoinColumn) {
183
- field = `${relation.name}_id`;
184
- id = row["id"];
185
- }
186
- else {
187
- field = "id";
188
- id = row[`${relation.name}_id`];
189
- }
190
- return {
191
- mdId: relation.with,
192
- field,
193
- id,
194
- };
195
- })
196
- .filter((arg) => arg.id !== null);
197
- const relQueries = yield Promise.all(args.map((args) => __awaiter(this, void 0, void 0, function* () {
198
- return this.getImportQueries(args.mdId, args.field, args.id);
199
- })));
200
- return [...(0, lodash_1.uniq)(relQueries.reverse().flat()), selfQuery];
201
- });
202
- }
203
- destory() {
204
- return __awaiter(this, void 0, void 0, function* () {
205
- yield this.tdb.destroy();
206
- yield this.fdb.destroy();
207
- });
208
- }
209
- }
210
- exports.F9FixtureManager = F9FixtureManager;
211
- //# sourceMappingURL=f9-fixture-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"f9-fixture-manager.js","sourceRoot":"","sources":["../../src/testing/f9-fixture-manager.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from "./shared";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./shared"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB"}