From 637f188ebec71fe4b0b80bbab4592d4c269d7d93 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Tue, 17 Oct 2023 12:46:06 +0200 Subject: [feature] Allow import/export/creation of domain allows via admin panel (#2264) * it's happening! * aaa * fix silly whoopsie * it's working pa! it's working ma! * model report parameters * shuffle some more stuff around * getting there * oo hoo * finish tidying up for now * aaa * fix use form submit errors * peepee poo poo * aaaaa * ffff * they see me typin', they hatin' * boop * aaa * oooo * typing typing tappa tappa * almost done typing * weee * alright * push it push it real good doo doo doo doo doo doo * thingy no worky * almost done * mutation modifers not quite right * hmm * it works * view blocks + allows nicely * it works! * typia install * the old linterino * linter plz --- web/source/settings/lib/query/admin/index.js | 165 --------------------------- 1 file changed, 165 deletions(-) delete mode 100644 web/source/settings/lib/query/admin/index.js (limited to 'web/source/settings/lib/query/admin/index.js') diff --git a/web/source/settings/lib/query/admin/index.js b/web/source/settings/lib/query/admin/index.js deleted file mode 100644 index 7a55389d3..000000000 --- a/web/source/settings/lib/query/admin/index.js +++ /dev/null @@ -1,165 +0,0 @@ -/* - GoToSocial - Copyright (C) GoToSocial Authors admin@gotosocial.org - SPDX-License-Identifier: AGPL-3.0-or-later - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ - -const { - replaceCacheOnMutation, - removeFromCacheOnMutation, - domainListToObject, - idListToObject -} = require("../lib"); -const { gtsApi } = require("../gts-api"); - -const endpoints = (build) => ({ - updateInstance: build.mutation({ - query: (formData) => ({ - method: "PATCH", - url: `/api/v1/instance`, - asForm: true, - body: formData, - discardEmpty: true - }), - ...replaceCacheOnMutation("instance") - }), - mediaCleanup: build.mutation({ - query: (days) => ({ - method: "POST", - url: `/api/v1/admin/media_cleanup`, - params: { - remote_cache_days: days - } - }) - }), - instanceKeysExpire: build.mutation({ - query: (domain) => ({ - method: "POST", - url: `/api/v1/admin/domain_keys_expire`, - params: { - domain: domain - } - }) - }), - instanceBlocks: build.query({ - query: () => ({ - url: `/api/v1/admin/domain_blocks` - }), - transformResponse: domainListToObject - }), - addInstanceBlock: build.mutation({ - query: (formData) => ({ - method: "POST", - url: `/api/v1/admin/domain_blocks`, - asForm: true, - body: formData, - discardEmpty: true - }), - transformResponse: (data) => { - return { - [data.domain]: data - }; - }, - ...replaceCacheOnMutation("instanceBlocks") - }), - removeInstanceBlock: build.mutation({ - query: (id) => ({ - method: "DELETE", - url: `/api/v1/admin/domain_blocks/${id}`, - }), - ...removeFromCacheOnMutation("instanceBlocks", { - findKey: (_draft, newData) => { - return newData.domain; - } - }) - }), - getAccount: build.query({ - query: (id) => ({ - url: `/api/v1/accounts/${id}` - }), - providesTags: (_, __, id) => [{ type: "Account", id }] - }), - actionAccount: build.mutation({ - query: ({ id, action, reason }) => ({ - method: "POST", - url: `/api/v1/admin/accounts/${id}/action`, - asForm: true, - body: { - type: action, - text: reason - } - }), - invalidatesTags: (_, __, { id }) => [{ type: "Account", id }] - }), - searchAccount: build.mutation({ - query: (username) => ({ - url: `/api/v2/search?q=${encodeURIComponent(username)}&resolve=true` - }), - transformResponse: (res) => { - return res.accounts ?? []; - } - }), - instanceRules: build.query({ - query: () => ({ - url: `/api/v1/admin/instance/rules` - }), - transformResponse: idListToObject - }), - addInstanceRule: build.mutation({ - query: (formData) => ({ - method: "POST", - url: `/api/v1/admin/instance/rules`, - asForm: true, - body: formData, - discardEmpty: true - }), - transformResponse: (data) => { - return { - [data.id]: data - }; - }, - ...replaceCacheOnMutation("instanceRules") - }), - updateInstanceRule: build.mutation({ - query: ({ id, ...edit }) => ({ - method: "PATCH", - url: `/api/v1/admin/instance/rules/${id}`, - asForm: true, - body: edit, - discardEmpty: true - }), - transformResponse: (data) => { - return { - [data.id]: data - }; - }, - ...replaceCacheOnMutation("instanceRules") - }), - deleteInstanceRule: build.mutation({ - query: (id) => ({ - method: "DELETE", - url: `/api/v1/admin/instance/rules/${id}` - }), - ...removeFromCacheOnMutation("instanceRules", { - findKey: (_draft, rule) => rule.id - }) - }), - ...require("./import-export")(build), - ...require("./custom-emoji")(build), - ...require("./reports")(build) -}); - -module.exports = gtsApi.injectEndpoints({ endpoints }); \ No newline at end of file -- cgit v1.2.3