@things-factory/work-shift 10.1.206 → 10.1.208

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.
@@ -7,7 +7,7 @@ export * from './work-shift/work-shift-content';
7
7
  export * from './work-shift/work-shift-baseline';
8
8
  export * from './work-shift/work-shift-change-approval';
9
9
  export * from './work-shift/days-of-week';
10
- export declare const entities: (typeof import("./work-shift/work-shift").WorkShift | typeof import("./work-shift/work-shift-arrangement").WorkShiftArrangement | typeof import("./work-shift/work-shift-revision").WorkShiftRevision | typeof import("./work-shift/work-shift-revision").WorkShiftPlan | typeof import("./work-shift/work-shift-revision").WorkShiftSegment | typeof import("./work-shift/work-shift-revision").WorkShiftBasis)[];
10
+ export declare const entities: (typeof import("./work-shift/work-shift-arrangement").WorkShiftArrangement | typeof import("./work-shift/work-shift-revision").WorkShiftPlan | typeof import("./work-shift/work-shift-revision").WorkShiftSegment | typeof import("./work-shift/work-shift-revision").WorkShiftRevision | typeof import("./work-shift/work-shift").WorkShift | typeof import("./work-shift/work-shift-revision").WorkShiftBasis)[];
11
11
  export declare const schema: {
12
- resolverClasses: (typeof import("./work-shift/work-shift-change-approval").WorkShiftChangeApprovalResolver | typeof import("./work-shift/work-shift-query").DomainWorkShiftQuery | typeof import("./work-shift/work-shift-query").WorkShiftQuery | typeof import("./work-shift/work-shift-mutation").WorkShiftMutation | typeof import("./work-shift/work-shift-lifecycle-resolver").WorkShiftLifecycleResolver)[];
12
+ resolverClasses: (typeof import("./work-shift/work-shift-lifecycle-resolver").WorkShiftLifecycleResolver | typeof import("./work-shift/work-shift-mutation").WorkShiftMutation | typeof import("./work-shift/work-shift-query").DomainWorkShiftQuery | typeof import("./work-shift/work-shift-query").WorkShiftQuery | typeof import("./work-shift/work-shift-change-approval").WorkShiftChangeApprovalResolver)[];
13
13
  };
@@ -5,5 +5,5 @@ import { WorkShiftLifecycleResolver } from './work-shift-lifecycle-resolver';
5
5
  import { WorkShiftArrangement } from './work-shift-arrangement';
6
6
  import { WorkShiftChangeApprovalResolver } from './work-shift-change-approval';
7
7
  export * from './days-of-week';
8
- export declare const entities: (typeof WorkShift | typeof WorkShiftArrangement | typeof import("./work-shift-revision").WorkShiftRevision | typeof import("./work-shift-revision").WorkShiftPlan | typeof import("./work-shift-revision").WorkShiftSegment | typeof import("./work-shift-revision").WorkShiftBasis)[];
9
- export declare const resolvers: (typeof WorkShiftChangeApprovalResolver | typeof DomainWorkShiftQuery | typeof WorkShiftQuery | typeof WorkShiftMutation | typeof WorkShiftLifecycleResolver)[];
8
+ export declare const entities: (typeof WorkShiftArrangement | typeof import("./work-shift-revision").WorkShiftPlan | typeof import("./work-shift-revision").WorkShiftSegment | typeof import("./work-shift-revision").WorkShiftRevision | typeof WorkShift | typeof import("./work-shift-revision").WorkShiftBasis)[];
9
+ export declare const resolvers: (typeof WorkShiftLifecycleResolver | typeof WorkShiftMutation | typeof DomainWorkShiftQuery | typeof WorkShiftQuery | typeof WorkShiftChangeApprovalResolver)[];
@@ -2,7 +2,7 @@ import { DataSource } from 'typeorm';
2
2
  import { Domain } from '@things-factory/shell';
3
3
  /**
4
4
  * 판을 올린 설치본의 교대에 첫 편성 개정본을 세운다 — 기준선(2026-09-24). 규칙은 ops-master 의
5
- * `revision-baseline` 과 같다. 편성은 이 꾸러미의 것이라 여기서 세운다 — ops-master 는 이 꾸러미를 모른다.
5
+ * `revision-baseline` 과 같다. 편성은 이 패키지의 것이라 여기서 세운다 — ops-master 는 이 패키지를 모른다.
6
6
  *
7
7
  * 사업장마다 트랜잭션 하나. 하나가 실패해도 나머지는 선다. 실패한 사업장을 크게 말하고, 던지지 않는다.
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"work-shift-baseline.js","sourceRoot":"","sources":["../../../server/service/work-shift/work-shift-baseline.ts"],"names":[],"mappings":";;AAmBA,4DAMC;AAED,0DAiBC;AAED,sEAmBC;AAhED,iDAA8C;AAC9C,2DAAgE;AAEhE,iEAA+D;AAe/D,SAAgB,wBAAwB;IACtC,IAAI,CAAC;QACH,OAAO,8BAA8B,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAA;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,4BAA4B,CAAA;IACrC,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAC3C,UAAsB,EACtB,UAAoD,EAAE;IAEtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,wBAAwB,EAAE,CAAA;IAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,UAAU,CAAC,aAAa,CAAC,cAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAClF,MAAM,OAAO,GAA8B,EAAE,CAAA;IAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,IAAA,6CAAsB,EAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;YAChH,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;QACnD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,IAAA,gCAAmB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACrG,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAEM,KAAK,UAAU,6BAA6B,CAAC,UAAsB;IACxE,IAAI,OAAkC,CAAA;IACtC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,CAAA;IACrD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,gDAAgD,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,CAAC,CAAA;QACxF,OAAO,EAAE,CAAA;IACX,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,sCAAsC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,0BAA0B,CAAC,CAAA;YAC9G,SAAQ;QACV,CAAC;QACD,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,MAAM,4BAA4B,CAAC,CAAA;QAChG,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,oCAAoC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QACjG,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC","sourcesContent":["import { DataSource } from 'typeorm'\nimport { Domain } from '@things-factory/shell'\nimport { baselineFailureText } from '@things-factory/ops-master'\n\nimport { standWorkShiftBaseline } from './work-shift-lifecycle'\n\n/**\n * 판을 올린 설치본의 교대에 첫 편성 개정본을 세운다 — 기준선(2026-09-24). 규칙은 ops-master 의\n * `revision-baseline` 과 같다. 편성은 이 꾸러미의 것이라 여기서 세운다 — ops-master 는 이 꾸러미를 모른다.\n *\n * 사업장마다 트랜잭션 하나. 하나가 실패해도 나머지는 선다. 실패한 사업장을 크게 말하고, 던지지 않는다.\n */\nexport interface WorkShiftBaselineReport {\n domain: string\n stood: number\n unreadable: { name: string; problem: string }[]\n failed?: string\n}\n\nexport function workShiftBaselineEdition(): string {\n try {\n return `@things-factory/work-shift ${require('../../../package.json').version}`\n } catch {\n return '@things-factory/work-shift'\n }\n}\n\nexport async function standWorkShiftBaselines(\n dataSource: DataSource,\n options: { edition?: string; domains?: Domain[] } = {}\n): Promise<WorkShiftBaselineReport[]> {\n const edition = options.edition ?? workShiftBaselineEdition()\n const domains = options.domains ?? (await dataSource.getRepository(Domain).find())\n const reports: WorkShiftBaselineReport[] = []\n for (const domain of domains) {\n const at = new Date()\n try {\n const outcome = await dataSource.transaction(manager => standWorkShiftBaseline(manager, domain.id, at, edition))\n reports.push({ domain: domain.name, ...outcome })\n } catch (error: any) {\n reports.push({ domain: domain.name, stood: 0, unreadable: [], failed: baselineFailureText(error) })\n }\n }\n return reports\n}\n\nexport async function standWorkShiftBaselinesAtBoot(dataSource: DataSource) {\n let reports: WorkShiftBaselineReport[]\n try {\n reports = await standWorkShiftBaselines(dataSource)\n } catch (error: any) {\n console.error(`[work-shift] 교대 기준선을 세우지 못했습니다 — 사업장을 읽지 못함: ${error?.message ?? error}`)\n return []\n }\n for (const report of reports) {\n if (report.failed) {\n console.error(`[work-shift] ⚠ 교대 기준선을 세우지 못했습니다 — ${report.domain}: ${report.failed}. 이 사업장의 실적은 교대 없이 적힙니다.`)\n continue\n }\n if (report.stood) console.info(`[work-shift] 교대 기준선 ${report.domain}: 지금의 교대를 첫 편성 개정본으로 세웠습니다`)\n for (const one of report.unreadable) {\n console.warn(`[work-shift] ⚠ 교대 기준선을 못 세웠습니다 — ${report.domain} · ${one.name}: ${one.problem}`)\n }\n }\n return reports\n}\n"]}
1
+ {"version":3,"file":"work-shift-baseline.js","sourceRoot":"","sources":["../../../server/service/work-shift/work-shift-baseline.ts"],"names":[],"mappings":";;AAmBA,4DAMC;AAED,0DAiBC;AAED,sEAmBC;AAhED,iDAA8C;AAC9C,2DAAgE;AAEhE,iEAA+D;AAe/D,SAAgB,wBAAwB;IACtC,IAAI,CAAC;QACH,OAAO,8BAA8B,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAA;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,4BAA4B,CAAA;IACrC,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAC3C,UAAsB,EACtB,UAAoD,EAAE;IAEtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,wBAAwB,EAAE,CAAA;IAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,UAAU,CAAC,aAAa,CAAC,cAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAClF,MAAM,OAAO,GAA8B,EAAE,CAAA;IAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,IAAA,6CAAsB,EAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;YAChH,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;QACnD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,IAAA,gCAAmB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACrG,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAEM,KAAK,UAAU,6BAA6B,CAAC,UAAsB;IACxE,IAAI,OAAkC,CAAA;IACtC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,CAAA;IACrD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,gDAAgD,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,CAAC,CAAA;QACxF,OAAO,EAAE,CAAA;IACX,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,sCAAsC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,0BAA0B,CAAC,CAAA;YAC9G,SAAQ;QACV,CAAC;QACD,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,MAAM,4BAA4B,CAAC,CAAA;QAChG,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,oCAAoC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QACjG,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC","sourcesContent":["import { DataSource } from 'typeorm'\nimport { Domain } from '@things-factory/shell'\nimport { baselineFailureText } from '@things-factory/ops-master'\n\nimport { standWorkShiftBaseline } from './work-shift-lifecycle'\n\n/**\n * 판을 올린 설치본의 교대에 첫 편성 개정본을 세운다 — 기준선(2026-09-24). 규칙은 ops-master 의\n * `revision-baseline` 과 같다. 편성은 이 패키지의 것이라 여기서 세운다 — ops-master 는 이 패키지를 모른다.\n *\n * 사업장마다 트랜잭션 하나. 하나가 실패해도 나머지는 선다. 실패한 사업장을 크게 말하고, 던지지 않는다.\n */\nexport interface WorkShiftBaselineReport {\n domain: string\n stood: number\n unreadable: { name: string; problem: string }[]\n failed?: string\n}\n\nexport function workShiftBaselineEdition(): string {\n try {\n return `@things-factory/work-shift ${require('../../../package.json').version}`\n } catch {\n return '@things-factory/work-shift'\n }\n}\n\nexport async function standWorkShiftBaselines(\n dataSource: DataSource,\n options: { edition?: string; domains?: Domain[] } = {}\n): Promise<WorkShiftBaselineReport[]> {\n const edition = options.edition ?? workShiftBaselineEdition()\n const domains = options.domains ?? (await dataSource.getRepository(Domain).find())\n const reports: WorkShiftBaselineReport[] = []\n for (const domain of domains) {\n const at = new Date()\n try {\n const outcome = await dataSource.transaction(manager => standWorkShiftBaseline(manager, domain.id, at, edition))\n reports.push({ domain: domain.name, ...outcome })\n } catch (error: any) {\n reports.push({ domain: domain.name, stood: 0, unreadable: [], failed: baselineFailureText(error) })\n }\n }\n return reports\n}\n\nexport async function standWorkShiftBaselinesAtBoot(dataSource: DataSource) {\n let reports: WorkShiftBaselineReport[]\n try {\n reports = await standWorkShiftBaselines(dataSource)\n } catch (error: any) {\n console.error(`[work-shift] 교대 기준선을 세우지 못했습니다 — 사업장을 읽지 못함: ${error?.message ?? error}`)\n return []\n }\n for (const report of reports) {\n if (report.failed) {\n console.error(`[work-shift] ⚠ 교대 기준선을 세우지 못했습니다 — ${report.domain}: ${report.failed}. 이 사업장의 실적은 교대 없이 적힙니다.`)\n continue\n }\n if (report.stood) console.info(`[work-shift] 교대 기준선 ${report.domain}: 지금의 교대를 첫 편성 개정본으로 세웠습니다`)\n for (const one of report.unreadable) {\n console.warn(`[work-shift] ⚠ 교대 기준선을 못 세웠습니다 — ${report.domain} · ${one.name}: ${one.problem}`)\n }\n }\n return reports\n}\n"]}
@@ -82,4 +82,4 @@ export declare class WorkShiftBasis {
82
82
  businessTime: Date;
83
83
  resolvedAt: Date;
84
84
  }
85
- export declare const WORK_SHIFT_REVISION_ENTITIES: (typeof WorkShiftRevision | typeof WorkShiftPlan | typeof WorkShiftSegment | typeof WorkShiftBasis)[];
85
+ export declare const WORK_SHIFT_REVISION_ENTITIES: (typeof WorkShiftPlan | typeof WorkShiftSegment | typeof WorkShiftRevision | typeof WorkShiftBasis)[];