From 1fc3a10c673cdf973e5d8800a3d9640f3750fab5 Mon Sep 17 00:00:00 2001 From: "web@ppanel" Date: Fri, 14 Feb 2025 23:58:10 +0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(subscription):=20Add=20delete?= =?UTF-8?q?=20user=20subscription=20functionality?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/[id]/user-subscription/index.tsx | 11 +++++++++-- apps/admin/services/admin/typings.d.ts | 4 ++++ apps/admin/services/admin/user.ts | 15 +++++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/apps/admin/app/dashboard/user/[id]/user-subscription/index.tsx b/apps/admin/app/dashboard/user/[id]/user-subscription/index.tsx index 6e6f45b..bfd7fc0 100644 --- a/apps/admin/app/dashboard/user/[id]/user-subscription/index.tsx +++ b/apps/admin/app/dashboard/user/[id]/user-subscription/index.tsx @@ -2,7 +2,12 @@ import { Display } from '@/components/display'; import { ProTable, ProTableActions } from '@/components/pro-table'; -import { createUserSubscribe, getUserSubscribe, updateUserSubscribe } from '@/services/admin/user'; +import { + createUserSubscribe, + deleteUserSubscribe, + getUserSubscribe, + updateUserSubscribe, +} from '@/services/admin/user'; import { Button } from '@workspace/ui/components/button'; import { ConfirmButton } from '@workspace/ui/custom-components/confirm-button'; import { formatDate } from '@workspace/ui/utils'; @@ -146,7 +151,9 @@ export default function UserSubscription({ userId }: { userId: number }) { title={t('confirmDelete')} description={t('deleteSubscriptionDescription')} onConfirm={async () => { - console.log('Delete subscription:', row.id); + await deleteUserSubscribe({ user_subscribe_id: row.id }); + toast.success(t('deleteSuccess')); + ref.current?.refresh(); }} cancelText={t('cancel')} confirmText={t('confirm')} diff --git a/apps/admin/services/admin/typings.d.ts b/apps/admin/services/admin/typings.d.ts index 2270f86..8dca70c 100644 --- a/apps/admin/services/admin/typings.d.ts +++ b/apps/admin/services/admin/typings.d.ts @@ -333,6 +333,10 @@ declare namespace API { id: number; }; + type DeleteUserSubscribeRequest = { + user_subscribe_id: number; + }; + type Document = { id: number; title: string; diff --git a/apps/admin/services/admin/user.ts b/apps/admin/services/admin/user.ts index 12270dc..a50a014 100644 --- a/apps/admin/services/admin/user.ts +++ b/apps/admin/services/admin/user.ts @@ -276,6 +276,21 @@ export async function createUserSubscribe( }); } +/** Delete user subcribe DELETE /v1/admin/user/subscribe */ +export async function deleteUserSubscribe( + body: API.DeleteUserSubscribeRequest, + options?: { [key: string]: any }, +) { + return request('/v1/admin/user/subscribe', { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + /** Get user subcribe devices GET /v1/admin/user/subscribe/device */ export async function getUserSubscribeDevices( // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)