diff options
| author | 2023-02-06 09:33:47 +0100 | |
|---|---|---|
| committer | 2023-02-06 09:33:47 +0100 | |
| commit | 83b522a1b651fd20e45755c2ad0a0a124395fbd4 (patch) | |
| tree | c888b4b15a046b876d5f9339e7166bc647ac38dc /web/source/settings/lib/query | |
| parent | [chore/frogend] Restructure form data default values / update from Query data... (diff) | |
| download | gotosocial-83b522a1b651fd20e45755c2ad0a0a124395fbd4.tar.xz | |
[feature/Frogend] basic report admin interface (#1424)
* basic listing of reports
* report detail overview, resolving
* report detail styling tweaks
* linter fixes
Diffstat (limited to 'web/source/settings/lib/query')
| -rw-r--r-- | web/source/settings/lib/query/admin/index.js | 3 | ||||
| -rw-r--r-- | web/source/settings/lib/query/admin/reports.js | 52 | ||||
| -rw-r--r-- | web/source/settings/lib/query/base.js | 2 | 
3 files changed, 55 insertions, 2 deletions
diff --git a/web/source/settings/lib/query/admin/index.js b/web/source/settings/lib/query/admin/index.js index 33e14521e..c348a2701 100644 --- a/web/source/settings/lib/query/admin/index.js +++ b/web/source/settings/lib/query/admin/index.js @@ -78,7 +78,8 @@ const endpoints = (build) => ({  		})  	}),  	...require("./import-export")(build), -	...require("./custom-emoji")(build) +	...require("./custom-emoji")(build), +	...require("./reports")(build)  });  module.exports = base.injectEndpoints({ endpoints });
\ No newline at end of file diff --git a/web/source/settings/lib/query/admin/reports.js b/web/source/settings/lib/query/admin/reports.js new file mode 100644 index 000000000..96fec8ae2 --- /dev/null +++ b/web/source/settings/lib/query/admin/reports.js @@ -0,0 +1,52 @@ +/* +	GoToSocial +	Copyright (C) 2021-2023 GoToSocial Authors admin@gotosocial.org + +	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 <http://www.gnu.org/licenses/>. +*/ + +"use strict"; + +module.exports = (build) => ({ +	listReports: build.query({ +		query: (params = {}) => ({ +			url: "/api/v1/admin/reports", +			params: { +				limit: 100, +				...params +			} +		}), +		providesTags: ["Reports"] +	}), + +	getReport: build.query({ +		query: (id) => ({ +			url: `/api/v1/admin/reports/${id}` +		}), +		providesTags: (res, error, id) => [{ type: "Reports", id }] +	}), + +	resolveReport: build.mutation({ +		query: (formData) => ({ +			url: `/api/v1/admin/reports/${formData.id}/resolve`, +			method: "POST", +			asForm: true, +			body: formData +		}), +		invalidatesTags: (res) => +			res +				? [{ type: "Reports", id: "LIST" }, { type: "Reports", id: res.id }] +				: [{ type: "Reports", id: "LIST" }] +	}) +});
\ No newline at end of file diff --git a/web/source/settings/lib/query/base.js b/web/source/settings/lib/query/base.js index d9d62d356..4020616f2 100644 --- a/web/source/settings/lib/query/base.js +++ b/web/source/settings/lib/query/base.js @@ -72,7 +72,7 @@ function instanceBasedQuery(args, api, extraOptions) {  module.exports = createApi({  	reducerPath: "api",  	baseQuery: instanceBasedQuery, -	tagTypes: ["Auth", "Emoji"], +	tagTypes: ["Auth", "Emoji", "Reports"],  	endpoints: (build) => ({  		instance: build.query({  			query: () => ({  | 
