Let’s create interface for Employee Repository
เราจะมาสร้าง interface หรือ type กันก่อน เหมือนเดิม
ตรงนี้สำคัญมาก
เราจะต้องเห็นภาพรวมก่อนว่าจะทำอะไรบ้าง จะมีอะไรบ้าง
โดยคนที่สร้าง interface เหล่านี้จะเป็นคนที่ต้องทำงานในส่วนของ Business logic หรือก็คือคนที่เขียน services นั่นแหละ
interface หรือ type นี้จะเป็นคนบอก controller ว่ามีอะไรให้ใช้บ้าง
จะเห็นว่า Business หรือ Service คือศูนย์กลางของ app เรา
Folder Structure
Interface for Employee Service
เราจะมาสร้าง interface หรือ type สำหรับ Employee Service กันก่อน
ย้ำอีกที เหตุผลก็คือ
อยากให้เห็นภาพก่อนว่าจะต้องทำอะไรบ้าง Services ที่จะสร้าง Business ต้องการอะไรบ้าง เราทำ REST API เรามี Services อะไรให้ Controller เรียกใช้ได้บ้าง
types/services/employee.ts
Create Employee Services
เราจะยังทำ dependencies injection เหมือนเดิม
ถ้าอยากได้ Create employee service ก็ต้องส่ง Employee Repository เข้ามาก่อน
services/employee/create.ts
Find Employee Services
services/employee/finds.ts
Update Employee Services
services/employee/updates.ts
Remove Employee Services
services/employee/removes.ts
Export all employee services
ตรงนี้ก็ทำคล้ายๆเดิม export ทุก functions ที่ file index.ts