[feature] Allow editing domain blocks/allows, fix comment import (#3967)

* start implementing editing of existing domain permissions

* [feature] Allow editing domain blocks/allows, fix comment import

* [bugfix] Use "comment" via /api/v1/instance

* fix the stuff
This commit is contained in:
tobi
2025-04-04 18:29:22 +02:00
committed by GitHub
parent db4b857159
commit b184432331
32 changed files with 1021 additions and 313 deletions

View File

@ -22,6 +22,7 @@ import { gtsApi } from "../../gts-api";
import {
replaceCacheOnMutation,
removeFromCacheOnMutation,
updateCacheOnMutation,
} from "../../query-modifiers";
import { listToKeyedObject } from "../../transforms";
import type {
@ -55,6 +56,36 @@ const extended = gtsApi.injectEndpoints({
...replaceCacheOnMutation("domainAllows")
}),
updateDomainBlock: build.mutation<DomainPerm, any>({
query: ({ id, ...formData}) => ({
method: "PUT",
url: `/api/v1/admin/domain_blocks/${id}`,
asForm: true,
body: formData,
discardEmpty: false
}),
...updateCacheOnMutation("domainBlocks", {
key: (_draft, newData) => {
return newData.domain;
}
})
}),
updateDomainAllow: build.mutation<DomainPerm, any>({
query: ({ id, ...formData}) => ({
method: "PUT",
url: `/api/v1/admin/domain_allows/${id}`,
asForm: true,
body: formData,
discardEmpty: false
}),
...updateCacheOnMutation("domainAllows", {
key: (_draft, newData) => {
return newData.domain;
}
})
}),
removeDomainBlock: build.mutation<DomainPerm, string>({
query: (id) => ({
method: "DELETE",
@ -91,6 +122,16 @@ const useAddDomainBlockMutation = extended.useAddDomainBlockMutation;
*/
const useAddDomainAllowMutation = extended.useAddDomainAllowMutation;
/**
* Update a single domain permission (block) by PUTing to `/api/v1/admin/domain_blocks/{id}`.
*/
const useUpdateDomainBlockMutation = extended.useUpdateDomainBlockMutation;
/**
* Update a single domain permission (allow) by PUTing to `/api/v1/admin/domain_allows/{id}`.
*/
const useUpdateDomainAllowMutation = extended.useUpdateDomainAllowMutation;
/**
* Remove a single domain permission (block) by DELETEing to `/api/v1/admin/domain_blocks/{id}`.
*/
@ -104,6 +145,8 @@ const useRemoveDomainAllowMutation = extended.useRemoveDomainAllowMutation;
export {
useAddDomainBlockMutation,
useAddDomainAllowMutation,
useUpdateDomainBlockMutation,
useUpdateDomainAllowMutation,
useRemoveDomainBlockMutation,
useRemoveDomainAllowMutation
};