@eggjs/tegg-dal-plugin 3.51.2 → 3.52.1

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,8 +1,9 @@
1
- import { LifecycleHook, ModuleConfigHolder } from '@eggjs/tegg';
1
+ import { LifecycleHook, Logger, ModuleConfigHolder } from '@eggjs/tegg';
2
2
  import { LoadUnit, LoadUnitLifecycleContext } from '@eggjs/tegg/helper';
3
3
  export declare class DalModuleLoadUnitHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
4
4
  private readonly moduleConfigs;
5
5
  private readonly env;
6
- constructor(env: string, moduleConfigs: Record<string, ModuleConfigHolder>);
6
+ private readonly logger?;
7
+ constructor(env: string, moduleConfigs: Record<string, ModuleConfigHolder>, logger?: Logger);
7
8
  preCreate(_: LoadUnitLifecycleContext, loadUnit: LoadUnit): Promise<void>;
8
9
  }
@@ -4,9 +4,10 @@ exports.DalModuleLoadUnitHook = void 0;
4
4
  const MysqlDataSourceManager_1 = require("./MysqlDataSourceManager");
5
5
  const dal_runtime_1 = require("@eggjs/dal-runtime");
6
6
  class DalModuleLoadUnitHook {
7
- constructor(env, moduleConfigs) {
7
+ constructor(env, moduleConfigs, logger) {
8
8
  this.env = env;
9
9
  this.moduleConfigs = moduleConfigs;
10
+ this.logger = logger;
10
11
  }
11
12
  async preCreate(_, loadUnit) {
12
13
  const moduleConfigHolder = this.moduleConfigs[loadUnit.name];
@@ -19,6 +20,7 @@ class DalModuleLoadUnitHook {
19
20
  const dataSourceOptions = {
20
21
  ...config,
21
22
  name,
23
+ logger: this.logger,
22
24
  };
23
25
  const forker = new dal_runtime_1.DatabaseForker(this.env, dataSourceOptions);
24
26
  if (forker.shouldFork()) {
@@ -35,4 +37,4 @@ class DalModuleLoadUnitHook {
35
37
  }
36
38
  }
37
39
  exports.DalModuleLoadUnitHook = DalModuleLoadUnitHook;
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFsTW9kdWxlTG9hZFVuaXRIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRGFsTW9kdWxlTG9hZFVuaXRIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUFrRTtBQUVsRSxvREFBdUU7QUFHdkUsTUFBYSxxQkFBcUI7SUFJaEMsWUFBWSxHQUFXLEVBQUUsYUFBaUQ7UUFDeEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUEyQixFQUFFLFFBQWtCO1FBQzdELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGtCQUFrQjtZQUFFLE9BQU87UUFDaEMsTUFBTSxnQkFBZ0IsR0FBbUQsa0JBQWtCLENBQUMsTUFBYyxDQUFDLFVBQVUsQ0FBQztRQUN0SCxJQUFJLENBQUMsZ0JBQWdCO1lBQUUsT0FBTztRQUM5QixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBRSxJQUFJLEVBQUUsTUFBTSxDQUFFLEVBQUUsRUFBRTtZQUNoRixNQUFNLGlCQUFpQixHQUFHO2dCQUN4QixHQUFHLE1BQU07Z0JBQ1QsSUFBSTthQUNMLENBQUM7WUFDRixNQUFNLE1BQU0sR0FBRyxJQUFJLDRCQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBQy9ELElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsQ0FBQztZQUVELElBQUksQ0FBQztnQkFDSCxNQUFNLCtDQUFzQixDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2pHLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLENBQUMsQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLFFBQVEsQ0FBQyxJQUFJLGVBQWUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDckYsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7Q0FDRjtBQWhDRCxzREFnQ0MifQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFsTW9kdWxlTG9hZFVuaXRIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRGFsTW9kdWxlTG9hZFVuaXRIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUFrRTtBQUVsRSxvREFBdUU7QUFHdkUsTUFBYSxxQkFBcUI7SUFLaEMsWUFBWSxHQUFXLEVBQUUsYUFBaUQsRUFBRSxNQUFlO1FBQ3pGLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBMkIsRUFBRSxRQUFrQjtRQUM3RCxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxrQkFBa0I7WUFBRSxPQUFPO1FBQ2hDLE1BQU0sZ0JBQWdCLEdBQW1ELGtCQUFrQixDQUFDLE1BQWMsQ0FBQyxVQUFVLENBQUM7UUFDdEgsSUFBSSxDQUFDLGdCQUFnQjtZQUFFLE9BQU87UUFDOUIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBRSxFQUFFLEVBQUU7WUFDaEYsTUFBTSxpQkFBaUIsR0FBRztnQkFDeEIsR0FBRyxNQUFNO2dCQUNULElBQUk7Z0JBQ0osTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2FBQ3BCLENBQUM7WUFDRixNQUFNLE1BQU0sR0FBRyxJQUFJLDRCQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBQy9ELElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsQ0FBQztZQUVELElBQUksQ0FBQztnQkFDSCxNQUFNLCtDQUFzQixDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2pHLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLENBQUMsQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLFFBQVEsQ0FBQyxJQUFJLGVBQWUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDckYsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7Q0FDRjtBQW5DRCxzREFtQ0MifQ==
@@ -19,14 +19,15 @@ class MysqlDataSourceManager {
19
19
  }
20
20
  }
21
21
  async createDataSource(moduleName, dataSourceName, config) {
22
+ const { logger, ...dsConfig } = config || {};
22
23
  const dataSourceConfig = {
23
- ...config,
24
+ ...dsConfig,
24
25
  name: dataSourceName,
25
26
  };
26
27
  const index = MysqlDataSourceManager.createDataSourceKey(dataSourceConfig);
27
28
  let dataSource = this.dataSources.get(index);
28
29
  if (!dataSource) {
29
- dataSource = new dal_runtime_1.MysqlDataSource(dataSourceConfig);
30
+ dataSource = new dal_runtime_1.MysqlDataSource({ ...dataSourceConfig, logger });
30
31
  this.dataSources.set(index, dataSource);
31
32
  }
32
33
  let moduledataSourceIndices = this.dataSourceIndices.get(moduleName);
@@ -56,4 +57,4 @@ class MysqlDataSourceManager {
56
57
  }
57
58
  exports.MysqlDataSourceManager = MysqlDataSourceManager;
58
59
  MysqlDataSourceManager.instance = new MysqlDataSourceManager();
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXlzcWxEYXRhU291cmNlTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk15c3FsRGF0YVNvdXJjZU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQXdFO0FBQ3hFLDhEQUFpQztBQUVqQyxNQUFhLHNCQUFzQjtJQU1qQztRQUNFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsR0FBRyxDQUFDLFVBQWtCLEVBQUUsY0FBc0I7O1FBQzVDLE1BQU0sZUFBZSxHQUFHLE1BQUEsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsMENBQzFELEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxjQUFzQixFQUFFLE1BQXlCO1FBQzFGLE1BQU0sZ0JBQWdCLEdBQUc7WUFDdkIsR0FBRyxNQUFNO1lBQ1QsSUFBSSxFQUFFLGNBQWM7U0FDckIsQ0FBQztRQUNGLE1BQU0sS0FBSyxHQUFHLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0UsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLFVBQVUsR0FBRyxJQUFJLDZCQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUNELElBQUksdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUM3Qix1QkFBdUIsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUNELHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbkQsTUFBTSxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBb0M7UUFDN0QsTUFBTSxJQUFJLEdBQUcscUJBQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQzthQUN4QyxJQUFJLEVBQUUsQ0FBQztRQUNWLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckMsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzdCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7O0FBeERILHdEQXlEQztBQXhEUSwrQkFBUSxHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQyJ9
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXlzcWxEYXRhU291cmNlTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk15c3FsRGF0YVNvdXJjZU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQXdFO0FBQ3hFLDhEQUFpQztBQUVqQyxNQUFhLHNCQUFzQjtJQU1qQztRQUNFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsR0FBRyxDQUFDLFVBQWtCLEVBQUUsY0FBc0I7O1FBQzVDLE1BQU0sZUFBZSxHQUFHLE1BQUEsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsMENBQzFELEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxjQUFzQixFQUFFLE1BQXlCO1FBQzFGLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxRQUFRLEVBQUUsR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQzdDLE1BQU0sZ0JBQWdCLEdBQUc7WUFDdkIsR0FBRyxRQUFRO1lBQ1gsSUFBSSxFQUFFLGNBQWM7U0FDckIsQ0FBQztRQUNGLE1BQU0sS0FBSyxHQUFHLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0UsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLFVBQVUsR0FBRyxJQUFJLDZCQUFlLENBQUMsRUFBRSxHQUFHLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxJQUFJLHVCQUF1QixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDN0IsdUJBQXVCLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRW5ELE1BQU0sVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsaUJBQW9DO1FBQzdELE1BQU0sSUFBSSxHQUFHLHFCQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7YUFDeEMsSUFBSSxFQUFFLENBQUM7UUFDVixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDOztBQXpESCx3REEwREM7QUF6RFEsK0JBQVEsR0FBRyxJQUFJLHNCQUFzQixFQUFFLENBQUMifQ==
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "eggModule": {
11
11
  "name": "teggDal"
12
12
  },
13
- "version": "3.51.2",
13
+ "version": "3.52.1",
14
14
  "description": "dal plugin for egg",
15
15
  "keywords": [
16
16
  "egg",
@@ -50,12 +50,12 @@
50
50
  "node": ">=14.0.0"
51
51
  },
52
52
  "dependencies": {
53
- "@eggjs/dal-runtime": "^3.51.2"
53
+ "@eggjs/dal-runtime": "^3.52.1"
54
54
  },
55
55
  "devDependencies": {
56
- "@eggjs/tegg-aop-plugin": "^3.51.2",
57
- "@eggjs/tegg-config": "^3.51.2",
58
- "@eggjs/tegg-plugin": "^3.51.2",
56
+ "@eggjs/tegg-aop-plugin": "^3.52.1",
57
+ "@eggjs/tegg-config": "^3.52.1",
58
+ "@eggjs/tegg-plugin": "^3.52.1",
59
59
  "@types/mocha": "^10.0.1",
60
60
  "@types/node": "^20.2.4",
61
61
  "cross-env": "^7.0.3",
@@ -70,5 +70,5 @@
70
70
  "publishConfig": {
71
71
  "access": "public"
72
72
  },
73
- "gitHead": "b310ec3c772067b98b4f91342d877bebcee4e673"
73
+ "gitHead": "5b0de0e7689546a466cfce8bd7ec12e9721c301e"
74
74
  }