mirror of
https://github.com/filecoin-project/slate.git
synced 2024-10-27 06:50:34 +03:00
added saving tags to the file itself
This commit is contained in:
parent
467a8304af
commit
a194fe4046
@ -30,6 +30,7 @@ import deleteFilesByUserId from "~/node_common/data/methods/delete-files-by-user
|
||||
import updateFileById from "~/node_common/data/methods/update-file-by-id";
|
||||
import incrementFileSavecount from "~/node_common/data/methods/increment-file-savecount";
|
||||
import recalcFilePrivacy from "~/node_common/data/methods/recalc-file-privacy";
|
||||
import updateFileTags from "~/node_common/data/methods/update-file-tags";
|
||||
|
||||
//NOTE(martina):
|
||||
// Slate file postgres queries
|
||||
@ -129,6 +130,7 @@ export {
|
||||
updateFileById,
|
||||
incrementFileSavecount,
|
||||
recalcFilePrivacy,
|
||||
updateFileTags,
|
||||
// NOTE(martina): Slate file operations
|
||||
createSlateFiles,
|
||||
deleteSlateFiles,
|
||||
|
@ -45,6 +45,10 @@ export default async ({ owner, slate, files }) => {
|
||||
const activityQuery = await DB.insert(activityItems).into("activity");
|
||||
}
|
||||
|
||||
for (let file of files) {
|
||||
await Data.updateFileTags({ fileId: file.id });
|
||||
}
|
||||
|
||||
await Data.recalcSlateFilecount({ slateId: slate.id });
|
||||
|
||||
if (!query) {
|
||||
|
@ -8,7 +8,11 @@ export default async ({ id }) => {
|
||||
queryFn: async (DB) => {
|
||||
const subscriptions = await DB("subscriptions").where({ slateId: id }).del();
|
||||
|
||||
const slateFiles = await DB("slate_files").where({ slateId: id }).del();
|
||||
const slateFiles = await DB("slate_files").where({ slateId: id }).del().returning("*");
|
||||
|
||||
for (let slateFile of slateFiles) {
|
||||
await Data.updateFileTags({ fileId: slateFile.fileId });
|
||||
}
|
||||
|
||||
const activity = await DB("activity").where({ slateId: id }).del();
|
||||
|
||||
|
@ -12,6 +12,10 @@ export default async ({ slateId, ids }) => {
|
||||
.del()
|
||||
.returning("*");
|
||||
|
||||
for (let id of ids) {
|
||||
await Data.updateFileTags({ fileId: id });
|
||||
}
|
||||
|
||||
const activityQuery = await DB("activity")
|
||||
.where({ slateId, type: "CREATE_SLATE_OBJECT" })
|
||||
.whereIn("fileId", ids)
|
||||
|
33
node_common/data/methods/update-file-tags.js
Normal file
33
node_common/data/methods/update-file-tags.js
Normal file
@ -0,0 +1,33 @@
|
||||
import * as Serializers from "~/node_common/serializers";
|
||||
|
||||
import { runQuery } from "~/node_common/data/utilities";
|
||||
|
||||
export default async ({ fileId }) => {
|
||||
return await runQuery({
|
||||
label: "UPDATE_FILE_TAGS",
|
||||
queryFn: async (DB) => {
|
||||
let tags = await DB.select("id", "slatename", "name")
|
||||
.from("slates")
|
||||
.whereExists(function () {
|
||||
this.select("id")
|
||||
.from("slate_files")
|
||||
.whereRaw('"slate_files"."slateId" = "slates"."id"')
|
||||
.where({ "slate_files.fileId": fileId });
|
||||
});
|
||||
|
||||
const response = await DB("files")
|
||||
.where({ id: fileId })
|
||||
.update({ tags: JSON.stringify(tags) })
|
||||
.returning("*");
|
||||
|
||||
const index = response ? response.pop() : null;
|
||||
return JSON.parse(JSON.stringify(index));
|
||||
},
|
||||
errorFn: async (e) => {
|
||||
return {
|
||||
error: true,
|
||||
decorator: "UPDATE_FILE_TAGS",
|
||||
};
|
||||
},
|
||||
});
|
||||
};
|
@ -287,10 +287,19 @@ const migrateFileTable = async () => {
|
||||
// console.log({ newCoverImage });
|
||||
}
|
||||
|
||||
let tags = await DB.select("slates.id", "slates.slatename", "slates.name")
|
||||
// let tags = await DB.select("slates.id", "slates.slatename", "slates.name")
|
||||
// .from("slates")
|
||||
// .join("slate_files", "slate_files.slateId", "=", "slates.id")
|
||||
// .where("slate_files.fileId", file.id);
|
||||
|
||||
let tags = await DB.select("id", "slatename", "name")
|
||||
.from("slates")
|
||||
.join("slate_files", "slate_files.slateId", "=", "slates.id")
|
||||
.where("slate_files.fileId", file.id);
|
||||
.whereExists(function () {
|
||||
this.select("id")
|
||||
.from("slate_files")
|
||||
.whereRaw('"slate_files"."slateId" = "slates"."id"')
|
||||
.where({ "slate_files.fileId": fileId });
|
||||
});
|
||||
|
||||
if (tags?.length) {
|
||||
newFile.tags = JSON.stringify(tags);
|
||||
|
Loading…
Reference in New Issue
Block a user