gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

reports.js (1474B)


      1 /*
      2 	GoToSocial
      3 	Copyright (C) GoToSocial Authors admin@gotosocial.org
      4 	SPDX-License-Identifier: AGPL-3.0-or-later
      5 
      6 	This program is free software: you can redistribute it and/or modify
      7 	it under the terms of the GNU Affero General Public License as published by
      8 	the Free Software Foundation, either version 3 of the License, or
      9 	(at your option) any later version.
     10 
     11 	This program is distributed in the hope that it will be useful,
     12 	but WITHOUT ANY WARRANTY; without even the implied warranty of
     13 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14 	GNU Affero General Public License for more details.
     15 
     16 	You should have received a copy of the GNU Affero General Public License
     17 	along with this program.  If not, see <http://www.gnu.org/licenses/>.
     18 */
     19 
     20 "use strict";
     21 
     22 module.exports = (build) => ({
     23 	listReports: build.query({
     24 		query: (params = {}) => ({
     25 			url: "/api/v1/admin/reports",
     26 			params: {
     27 				limit: 100,
     28 				...params
     29 			}
     30 		}),
     31 		providesTags: ["Reports"]
     32 	}),
     33 
     34 	getReport: build.query({
     35 		query: (id) => ({
     36 			url: `/api/v1/admin/reports/${id}`
     37 		}),
     38 		providesTags: (res, error, id) => [{ type: "Reports", id }]
     39 	}),
     40 
     41 	resolveReport: build.mutation({
     42 		query: (formData) => ({
     43 			url: `/api/v1/admin/reports/${formData.id}/resolve`,
     44 			method: "POST",
     45 			asForm: true,
     46 			body: formData
     47 		}),
     48 		invalidatesTags: (res) =>
     49 			res
     50 				? [{ type: "Reports", id: "LIST" }, { type: "Reports", id: res.id }]
     51 				: [{ type: "Reports", id: "LIST" }]
     52 	})
     53 });