@replyke/core
Version:
Replyke: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.
36 lines • 1.45 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 useAxiosPrivate_1 = __importDefault(require("../../config/useAxiosPrivate"));
const useProject_1 = __importDefault(require("../projects/useProject"));
const useEntity_1 = __importDefault(require("./useEntity"));
function useUpdateEntity() {
const axios = (0, useAxiosPrivate_1.default)();
const { projectId } = (0, useProject_1.default)();
const { setEntity } = (0, useEntity_1.default)();
const updateEntity = (0, react_1.useCallback)(async (props) => {
const { entityId, update } = props;
const { title, content, attachments, keywords, location, metadata, mentions, } = update;
if (!projectId) {
throw new Error("No projectId available.");
}
const response = await axios.patch(`/${projectId}/entities/${entityId}`, {
title,
content,
attachments,
keywords,
location,
metadata,
mentions,
});
const updatedEntity = response.data;
setEntity?.(updatedEntity);
return updatedEntity;
}, [projectId, axios]);
return updateEntity;
}
exports.default = useUpdateEntity;
//# sourceMappingURL=useUpdateEntity.js.map