mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2025-06-07 20:33:01 +08:00
update api
This commit is contained in:
parent
ee01773e64
commit
b8af6d0024
@ -1,8 +1,18 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import { useGetSubsQuery, useDeleteSubMutation } from './subscribeConfigSlice';
|
||||||
|
|
||||||
export default function SubscribeManager() {
|
export default function SubscribeManager() {
|
||||||
|
const { data: subs } = useGetSubsQuery();
|
||||||
|
const [patchSub] = useDeleteSubMutation();
|
||||||
|
|
||||||
|
const createNewSub = () => {
|
||||||
|
patchSub({ target: '2773976700', platformName: 'weibo', groupNumber: 868610060 }).unwrap();
|
||||||
|
};
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
<div>{ subs && JSON.stringify(subs) }</div>
|
||||||
|
<div>1</div>
|
||||||
|
<button onClick={() => createNewSub()} type="button">new</button>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
import { createApi } from '@reduxjs/toolkit/query/react';
|
import { createApi } from '@reduxjs/toolkit/query/react';
|
||||||
import { StatusResp, SubscribeConfig, SubscribeResp } from '../../utils/type';
|
import {
|
||||||
|
StatusResp, SubmitParam, SubscribeResp,
|
||||||
|
} from '../../utils/type';
|
||||||
import { baseQueryWithAuth } from '../auth/authQuery';
|
import { baseQueryWithAuth } from '../auth/authQuery';
|
||||||
|
|
||||||
export const subscribeApi = createApi({
|
export const subscribeApi = createApi({
|
||||||
@ -11,23 +13,33 @@ export const subscribeApi = createApi({
|
|||||||
query: () => '/subs',
|
query: () => '/subs',
|
||||||
providesTags: ['Subscribe'],
|
providesTags: ['Subscribe'],
|
||||||
}),
|
}),
|
||||||
newSub: builder.mutation<StatusResp, SubscribeConfig>({
|
newSub: builder.mutation<StatusResp, SubmitParam>({
|
||||||
query: (config) => ({
|
query: ({ groupNumber, sub }) => ({
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
url: '/subs',
|
url: `/subs?groupNumber=${groupNumber}`,
|
||||||
body: config,
|
body: sub,
|
||||||
}),
|
}),
|
||||||
invalidatesTags: ['Subscribe'],
|
invalidatesTags: ['Subscribe'],
|
||||||
}),
|
}),
|
||||||
updateSub: builder.mutation<StatusResp, SubscribeResp>({
|
updateSub: builder.mutation<StatusResp, SubmitParam>({
|
||||||
query: (config) => ({
|
query: ({ groupNumber, sub }) => ({
|
||||||
method: 'PATCH',
|
method: 'PATCH',
|
||||||
url: '/subs',
|
url: `/subs?groupNumber=${groupNumber}`,
|
||||||
body: config,
|
body: sub,
|
||||||
}),
|
}),
|
||||||
invalidatesTags: ['Subscribe'],
|
invalidatesTags: ['Subscribe'],
|
||||||
}),
|
}),
|
||||||
|
deleteSub: builder.mutation<StatusResp,
|
||||||
|
{ groupNumber: number; target: string; platformName: string }>({
|
||||||
|
query: ({ groupNumber, target, platformName }) => ({
|
||||||
|
method: 'DELETE',
|
||||||
|
url: `/subs?groupNumber=${groupNumber}&target=${target}&platformName=${platformName}`,
|
||||||
|
}),
|
||||||
|
invalidatesTags: ['Subscribe'],
|
||||||
|
}),
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const { useGetSubsQuery } = subscribeApi;
|
export const {
|
||||||
|
useGetSubsQuery, useNewSubMutation, useDeleteSubMutation, useUpdateSubMutation,
|
||||||
|
} = subscribeApi;
|
||||||
|
@ -47,3 +47,8 @@ export interface StatusResp {
|
|||||||
status: number;
|
status: number;
|
||||||
msg: string;
|
msg: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface SubmitParam {
|
||||||
|
groupNumber: number;
|
||||||
|
sub: SubscribeConfig;
|
||||||
|
}
|
||||||
|
@ -66,7 +66,7 @@ def register_router_fastapi(driver: Driver, socketio):
|
|||||||
return obj
|
return obj
|
||||||
|
|
||||||
async def check_group_permission(
|
async def check_group_permission(
|
||||||
groupNumber: str, token_obj: dict = Depends(get_jwt_obj)
|
groupNumber: int, token_obj: dict = Depends(get_jwt_obj)
|
||||||
):
|
):
|
||||||
groups = token_obj["groups"]
|
groups = token_obj["groups"]
|
||||||
for group in groups:
|
for group in groups:
|
||||||
@ -99,7 +99,7 @@ def register_router_fastapi(driver: Driver, socketio):
|
|||||||
return await get_target_name(platformName, target, jwt_obj)
|
return await get_target_name(platformName, target, jwt_obj)
|
||||||
|
|
||||||
@app.post(SUBSCRIBE_URL, dependencies=[Depends(check_group_permission)])
|
@app.post(SUBSCRIBE_URL, dependencies=[Depends(check_group_permission)])
|
||||||
async def _add_group_subs(groupNumber: str, req: AddSubscribeReq):
|
async def _add_group_subs(groupNumber: int, req: AddSubscribeReq):
|
||||||
return await add_group_sub(
|
return await add_group_sub(
|
||||||
group_number=groupNumber,
|
group_number=groupNumber,
|
||||||
platform_name=req.platformName,
|
platform_name=req.platformName,
|
||||||
@ -110,7 +110,7 @@ def register_router_fastapi(driver: Driver, socketio):
|
|||||||
)
|
)
|
||||||
|
|
||||||
@app.patch(SUBSCRIBE_URL, dependencies=[Depends(check_group_permission)])
|
@app.patch(SUBSCRIBE_URL, dependencies=[Depends(check_group_permission)])
|
||||||
async def _update_group_subs(groupNumber: str, req: AddSubscribeReq):
|
async def _update_group_subs(groupNumber: int, req: AddSubscribeReq):
|
||||||
return await update_group_sub(
|
return await update_group_sub(
|
||||||
group_number=groupNumber,
|
group_number=groupNumber,
|
||||||
platform_name=req.platformName,
|
platform_name=req.platformName,
|
||||||
@ -121,7 +121,7 @@ def register_router_fastapi(driver: Driver, socketio):
|
|||||||
)
|
)
|
||||||
|
|
||||||
@app.delete(SUBSCRIBE_URL, dependencies=[Depends(check_group_permission)])
|
@app.delete(SUBSCRIBE_URL, dependencies=[Depends(check_group_permission)])
|
||||||
async def _del_group_subs(groupNumber: str, target: str, platformName: str):
|
async def _del_group_subs(groupNumber: int, target: str, platformName: str):
|
||||||
return await del_group_sub(groupNumber, platformName, target)
|
return await del_group_sub(groupNumber, platformName, target)
|
||||||
|
|
||||||
app.mount(URL_BASE, SinglePageApplication(directory=static_path), name="bison")
|
app.mount(URL_BASE, SinglePageApplication(directory=static_path), name="bison")
|
||||||
|
@ -89,7 +89,7 @@ async def get_subs_info(jwt_obj: dict):
|
|||||||
map(
|
map(
|
||||||
lambda sub: {
|
lambda sub: {
|
||||||
"platformName": sub.target.platform_name,
|
"platformName": sub.target.platform_name,
|
||||||
"targetName": sub.target.name,
|
"targetName": sub.target.target_name,
|
||||||
"cats": sub.categories,
|
"cats": sub.categories,
|
||||||
"tags": sub.tags,
|
"tags": sub.tags,
|
||||||
},
|
},
|
||||||
@ -105,7 +105,7 @@ async def get_target_name(platform_name: str, target: str, jwt_obj: dict):
|
|||||||
|
|
||||||
|
|
||||||
async def add_group_sub(
|
async def add_group_sub(
|
||||||
group_number: str,
|
group_number: int,
|
||||||
platform_name: str,
|
platform_name: str,
|
||||||
target: str,
|
target: str,
|
||||||
target_name: str,
|
target_name: str,
|
||||||
@ -124,7 +124,7 @@ async def add_group_sub(
|
|||||||
return {"status": 200, "msg": ""}
|
return {"status": 200, "msg": ""}
|
||||||
|
|
||||||
|
|
||||||
async def del_group_sub(group_number: str, platform_name: str, target: str):
|
async def del_group_sub(group_number: int, platform_name: str, target: str):
|
||||||
try:
|
try:
|
||||||
await config.del_subscribe(int(group_number), "group", target, platform_name)
|
await config.del_subscribe(int(group_number), "group", target, platform_name)
|
||||||
except (NoSuchUserException, NoSuchSubscribeException):
|
except (NoSuchUserException, NoSuchSubscribeException):
|
||||||
@ -133,7 +133,7 @@ async def del_group_sub(group_number: str, platform_name: str, target: str):
|
|||||||
|
|
||||||
|
|
||||||
async def update_group_sub(
|
async def update_group_sub(
|
||||||
group_number: str,
|
group_number: int,
|
||||||
platform_name: str,
|
platform_name: str,
|
||||||
target: str,
|
target: str,
|
||||||
target_name: str,
|
target_name: str,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user