Inject
TSXinject
1import {
2 ContainerRegistryManager,
3 PartnerService,
4 Inject,
5 Service,
6} from "@quan-erp/shared-backend-core";
7
8@Service()
9export class MyPluginService {
10 @Inject(PartnerService, ContainerRegistryManager.BUILTIN_PLUGIN)
11 private partnerService: PartnerService;
12}Lookup method များ
- getPartnerById(id) — id ဖြင့် partner တစ်ဦး ရှာဖွေပါသည်
- getPartner({ search?, isCustomer?, isSupplier?, skip, limit }) — filter နှင့် စာမျက်နှာခွဲ စာရင်း
- sportlightSearch(dto, user) — Spotlight ရှာဖွေမှု (source API စာလုံးပေါင်းအတိုင်း)
TSXlookup
1import {
2 ContainerRegistryManager,
3 Inject,
4 PartnerService,
5 Service,
6} from "@quan-erp/shared-backend-core";
7
8@Service()
9export class SalePartnerService {
10 @Inject(PartnerService, ContainerRegistryManager.BUILTIN_PLUGIN)
11 private partnerService: PartnerService;
12
13 async customers(search?: string) {
14 return this.partnerService.getPartner({
15 search,
16 isCustomer: true,
17 skip: 0,
18 limit: 20,
19 });
20 }
21
22 async byId(id: number) {
23 return this.partnerService.getPartnerById(id);
24 }
25}Create / update / delete
CreateServiceProps သည် { data, manager?, createdByUserId? } ဖြစ်ပါသည်။ isCustomer / isSupplier ကို အသုံးပြုပုံနှင့် ကိုက်ညီအောင် ထားရှိရပါသည်။
- create(props) — partner တစ်ဦး ဖန်တီးပါသည် (firstName, lastName မဖြစ်မနေ လိုအပ်ပါသည်)
- createMany(props) — အစုလိုက် ဖန်တီးပါသည်
- update(id, partner, updateBy?) — id ဖြင့် အပ်ဒိတ် လုပ်ပါသည်
- delete(id) — ဖျက်ပါသည်
TSXcreate
1import {
2 ContainerRegistryManager,
3 Inject,
4 PartnerService,
5 Service,
6} from "@quan-erp/shared-backend-core";
7
8@Service()
9export class CustomerOnboardService {
10 @Inject(PartnerService, ContainerRegistryManager.BUILTIN_PLUGIN)
11 private partnerService: PartnerService;
12
13 async createCustomer(createdByUserId: number) {
14 return this.partnerService.create({
15 createdByUserId,
16 data: {
17 firstName: "Aung",
18 lastName: "Kyaw",
19 phone: "09123456789",
20 isCustomer: true,
21 isSupplier: false,
22 },
23 });
24 }
25}မှတ်ချက်
- Plugin-local customer/vendor entity မဖန်တီးမီ ဤ service ကို ဦးစားပေးရပါသည်
- Frontend partner hook/component များကို base plugin မှ ပေးထားပါသည်