feat: support merchant team roles and permissions
This commit is contained in:
@@ -18,6 +18,7 @@ import type {
|
||||
LowBalanceAlertConfig,
|
||||
Merchant,
|
||||
MerchantMember,
|
||||
MerchantRole,
|
||||
MerchantProduct,
|
||||
PageResult,
|
||||
ProductCatalogItem,
|
||||
@@ -54,7 +55,7 @@ export const userApi = {
|
||||
|
||||
export const merchantApi = {
|
||||
current: () =>
|
||||
request.get('/merchant').then((r) => r.data.data as { merchant: Merchant; role: MerchantMember['role'] }),
|
||||
request.get('/merchant').then((r) => r.data.data as { merchant: Merchant; role: string; permissions: string[] }),
|
||||
products: (params?: Record<string, unknown>) =>
|
||||
request.get('/merchant/products', { params }).then((r) => r.data.data as PageResult<MerchantProduct>),
|
||||
updateProductStatus: (id: number, status: MerchantProduct['status']) =>
|
||||
@@ -103,8 +104,13 @@ export const merchantApi = {
|
||||
request.post('/merchant/callbacks', data).then((r) => r.data.data as CallbackCredential),
|
||||
members: () =>
|
||||
request.get('/merchant/members').then((r) => r.data.data as MerchantMember[]),
|
||||
addMember: (data: { user_id: number; role: MerchantMember['role']; is_default?: boolean }) =>
|
||||
addMember: (data: { user_id?: number; username?: string; password?: string; nickname?: string; role: string; is_default?: boolean }) =>
|
||||
request.post('/merchant/members', data).then((r) => r.data.data as MerchantMember),
|
||||
roles: () => request.get('/merchant/roles').then((r) => r.data.data as MerchantRole[]),
|
||||
createRole: (data: { code: string; name: string; permissions: string[] }) =>
|
||||
request.post('/merchant/roles', data).then((r) => r.data.data as MerchantRole),
|
||||
updateRole: (id: number, data: { name: string; permissions: string[] }) =>
|
||||
request.patch(`/merchant/roles/${id}`, data).then((r) => r.data.data as MerchantRole),
|
||||
rechargeApplications: (params?: Record<string, unknown>) =>
|
||||
request.get('/merchant/recharge/applications', { params }).then((r) => r.data.data as PageResult<RechargeApplication>),
|
||||
createRechargeApplication: (data: { amount_cny: number; vouchers: string[]; note?: string }) =>
|
||||
@@ -180,7 +186,7 @@ export const platformApi = {
|
||||
request.patch(`/platform/merchants/${id}`, data).then((r) => r.data.data),
|
||||
addMember: (
|
||||
merchantId: number,
|
||||
data: { user_id: number; role: MerchantMember['role']; is_default?: boolean },
|
||||
data: { user_id?: number; username?: string; password?: string; nickname?: string; role: string; is_default?: boolean },
|
||||
) => request.post(`/platform/merchants/${merchantId}/members`, data).then((r) => r.data.data as MerchantMember),
|
||||
productCatalog: () =>
|
||||
request.get('/platform/product-catalog').then((r) => r.data.data as ProductCatalogItem[]),
|
||||
|
||||
Reference in New Issue
Block a user