feat: add comprehensive membership and stored value mall
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import { request } from './request'
|
||||
import { toArray, toNumber } from './mappers'
|
||||
import { toOrderBrief } from './order'
|
||||
|
||||
const toPlan = (item = {}) => ({
|
||||
id: item.id ?? null,
|
||||
name: item.name || '',
|
||||
price: item.price || '0.00',
|
||||
total_count: toNumber(item.total_count),
|
||||
is_active: item.is_active === true,
|
||||
courses: toArray(item.courses).map((course) => ({
|
||||
id: course.id ?? null,
|
||||
title: course.title || ''
|
||||
})),
|
||||
created_at: item.created_at || ''
|
||||
})
|
||||
|
||||
export const membershipApi = {
|
||||
getPlans() {
|
||||
return request({
|
||||
url: '/api/membership/plans'
|
||||
}).then((data) => toArray(data.items || data).map(toPlan))
|
||||
},
|
||||
createMembershipOrder(planId) {
|
||||
return request({
|
||||
url: '/api/membership/orders',
|
||||
method: 'POST',
|
||||
data: { plan_id: planId }
|
||||
}).then(toOrderBrief)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user