A.3 File index — ไฟล์สำคัญที่ถูกอ้างถึง
รวบรวมไฟล์ที่ถูกอ้างถึงบ่อยในทั้ง manual พร้อมคำอธิบายสั้น ๆ จัดตาม repo
หมายเหตุ: file:line reference อ้างถึงสถานะ codebase ณ กรกฎาคม 2026 — line number อาจเปลี่ยนหลังจากนี้
vtrc-api
| ไฟล์ | บรรทัดสำคัญ | หน้าที่ |
|---|---|---|
api/src/index.js | 68-69 (playground), 84 (allowedHeaders), 104 (syncModelToTable) | Apollo Server bootstrap |
api/src/config.js | 12 (JWT_SECRET), 41-148 (API_DEVICE_KEY), 454/484 (typo ENUMs), 488+ (statusKcash — ไม่ใช่ KBANK block) | env loader + hardcoded config |
api/src/connector.js | 8-48 | เชื่อม 2 MariaDB schema (db + db2) |
api/src/routes.js | 45 (multer), 73/120/210/260/312 (execSync qpdf), ~70+ (console.log) | REST surface |
api/src/crons.js | — | in-process scheduler (node-schedule) |
api/src/directives/auth.js | 43-44 (N+1) | @auth directive |
api/src/lib/repositories/session/session.js | 28-36 (LIKE scan), 79-88/104-118 (txn swallow), 50-69 vs 130 (RBAC mismatch) | session repository |
api/src/lib/responErrors.js | 3-29 | helper ที่ throw เสมอ |
api/src/lib/controllers/withdraw/hospital.js | — | god controller 3,179 LOC |
api/src/lib/controllers/hrmi/hrmi.js | 65, 122 | cross-service approval chain |
api/src/models/core/withdraw/hospital.js | 14/138, 159/189 | duplicate column declaration |
api/src/models/core/leave/leave.js | 59 | ENUM typo PEDDING_CANCLE |
api/src/models/core/session/session.js | — | session model |
api/src/resolvers/version.js | — | god resolver 3,716 LOC |
api/.env.example | 3 (DATA_ENCRYPT_KEY), 13-14 (DB), 36-37 (END_POINT_CENTRALIZE) | env template |
api/Dockerfile | — | Node 12 base image |
api/package.json | — | esm, Apollo v2, jsonwebtoken v8, html-pdf |
docker-compose.yml | 34 (network_mode host), 35-46 (phpMyAdmin) | orchestration |
vtrc-gcp-sa-key.json | — | committed GCP key (sensitive) |
bitbucket-pipelines.yml | — | CI/CD (มีเฉพาะ vtrc-api) |
cu-central-api
| ไฟล์ | บรรทัดสำคัญ | หน้าที่ |
|---|---|---|
main-api/.env.example | — | JWT_SECRET, LDAP, HRMI creds |
main-api/src/lib/httpRequest.js | — | broken import (axois typo) |
main-api/src/cron.js | — | in-process scheduler |
main-api/package.json | — | axois typosquat, ldapjs, xlsx CVE |
main-api/Dockerfile | — | Node 12 base image |
docker-compose.yml | 45, 64, 81 (NODE_ENV=development ใน prod) | orchestration |
centralize-api
| ไฟล์ | บรรทัดสำคัญ | หน้าที่ |
|---|---|---|
src/main.ts | 18-19 (ConfigService), 31-35 (CORS *) | bootstrap |
src/app.module.ts | 34, 53 (logging query), 36-38/55-57 (trustServerCertificate) | TypeORM config |
tsconfig.json | 15-19 (strict disabled) | TypeScript config |
Dockerfile | 19 (.env ใน image) | build |
libs/jwt/ | — | NestJS JWT guard (มี @Public ทุก route ปัจจุบัน) |
vtrc-web
| ไฟล์ | บรรทัดสำคัญ | หน้าที่ |
|---|---|---|
src/config/apollo.js | 17-34 (checkLinkURL), 173-181 (fetchPolicy no-cache) | Apollo Client setup |
src/graphql/queries.js | — | 4,493 LOC monolith |
package.json | — | AntD v3, Webpack 4, dual lockfile (yarn + npm) |
config/webpack.config.js | — | Webpack 4 + html-webpack-plugin beta (vtrc-web/config/, ไม่ใช่ root webpack.config.js) |
vtrc-rc-backoffice
| ไฟล์ | บรรทัดสำคัญ | หน้าที่ |
|---|---|---|
src/config/apollo.js | — | mirror ของ vtrc-web apollo.js |
src/graphql/queries.js | — | 4,108 LOC monolith |
src/graphql/mutations.js | — | 2,208 LOC monolith |
src/config/axios-*.js | — | 16+ axios instances (PMS, Recruitment, Meeting ฯลฯ) |
src/pages/LeaveStudies* | — | 6 near-duplicate role-based routes |
package.json | — | AntD v4, MUI v5, react-scripts 3.4.3, Recoil 0.7, typosquat pkgs |
ไฟล์ documentation
| ไฟล์ | หน้าที่ |
|---|---|
docs/index.md | homepage ของ manual |
docs/.vitepress/config.ts | sidebar + search config |
docs/.vitepress/theme/custom.css | style (รวม scorecard CSS) |
docs/progress.txt | style guideline + สถานะ volume |
docs/audit/01-tech-stack-matrix.md | tech stack matrix (source) |
docs/audit/02-architecture-map.md | architecture map (source) |
docs/audit/03-data-and-api.md | data + API (source) |
docs/audit/04-business-logic.md | business logic (source) |
docs/audit/05-tech-debt-register.md | debt register (source ของ Vol 14) |
Cursor rules (สำหรับ agent)
| ไฟล์ | หน้าที่ |
|---|---|
.cursor/rules/global-agent-standards.mdc | กฎพื้นฐานของ agent |
.cursor/rules/workspace-structure.mdc | โครงสร้าง workspace และความสัมพันธ์ระหว่าง repo |
.cursor/rules/frontend-react-apollo.mdc | frontend convention |
.cursor/rules/browser-ide-only.mdc | ห้ามเปิด browser ภายนอก |