Inject
TSXinject
1import {
2 ContainerRegistryManager,
3 SettingService,
4 Inject,
5 Service,
6} from "@quan-erp/shared-backend-core";
7
8@Service()
9export class MyPluginService {
10 @Inject(SettingService, ContainerRegistryManager.BUILTIN_PLUGIN)
11 private settingService: SettingService;
12}Write method များ
set / setMany သည် ServiceProps နှင့် data ကို လက်ခံပါသည်။ datatype မှာ string | number | boolean | json | date ဖြစ်ပါသည်။
- set({ data: { key, value, datatype, userId?, isPublic? } }) — setting တစ်ခုကို upsert လုပ်ပါသည်
- setMany({ data: Record<...> }) — key အများအပြားကို တစ်ကြိမ်တည်း သတ်မှတ်ပါသည်
TSXset
1import {
2 ContainerRegistryManager,
3 Inject,
4 Service,
5 SettingService,
6} from "@quan-erp/shared-backend-core";
7
8@Service()
9export class ThemeSettingService {
10 @Inject(SettingService, ContainerRegistryManager.BUILTIN_PLUGIN)
11 private settingService: SettingService;
12
13 async saveTheme(userId: number, theme: string) {
14 await this.settingService.set({
15 data: {
16 key: "ui.theme",
17 value: theme,
18 datatype: "string",
19 userId,
20 isPublic: false,
21 },
22 });
23 }
24}Read method များ
- get(key, { userId?, isPublic? }) — setting တစ်ခု ဖတ်ပါသည်
- getAll(userId) — user နှင့် global setting အားလုံး
- getPublicSettings() — public ဟု မှတ်ထားသော setting များ
TSXget
1import {
2 ContainerRegistryManager,
3 Inject,
4 Service,
5 SettingService,
6} from "@quan-erp/shared-backend-core";
7
8@Service()
9export class ThemeSettingService {
10 @Inject(SettingService, ContainerRegistryManager.BUILTIN_PLUGIN)
11 private settingService: SettingService;
12
13 async loadTheme(userId: number) {
14 return this.settingService.get("ui.theme", { userId });
15 }
16
17 async allForUser(userId: number) {
18 return this.settingService.getAll(userId);
19 }
20}