@replyke/core
Version:
Replyke: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.
48 lines • 2.04 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = require("react");
const useProject_1 = __importDefault(require("../projects/useProject"));
const useAxiosPrivate_1 = __importDefault(require("../../config/useAxiosPrivate"));
function useFetchManySpaces() {
const { projectId } = (0, useProject_1.default)();
const axios = (0, useAxiosPrivate_1.default)();
const fetchManySpaces = (0, react_1.useCallback)(async (params) => {
if (!projectId) {
throw new Error("No projectId available.");
}
const queryParams = {};
if (params?.page !== undefined)
queryParams.page = params.page;
if (params?.limit !== undefined)
queryParams.limit = params.limit;
if (params?.sortBy)
queryParams.sortBy = params.sortBy;
if (params?.searchSlug)
queryParams.searchSlug = params.searchSlug;
if (params?.searchName)
queryParams.searchName = params.searchName;
if (params?.searchDescription)
queryParams.searchDescription = params.searchDescription;
if (params?.searchAny)
queryParams.searchAny = params.searchAny;
if (params?.memberOf !== undefined)
queryParams.memberOf = params.memberOf;
if (params?.parentSpaceId !== undefined)
queryParams.parentSpaceId = params.parentSpaceId || "null";
if (params?.include) {
queryParams.include = Array.isArray(params.include)
? params.include.join(",")
: params.include;
}
const response = await axios.get(`/${projectId}/spaces`, {
params: queryParams,
});
return response.data;
}, [projectId, axios]);
return fetchManySpaces;
}
exports.default = useFetchManySpaces;
//# sourceMappingURL=useFetchManySpaces.js.map