mirror of
https://iceshrimp.dev/limepotato/jormungandr-bite.git
synced 2024-11-09 11:41:30 -07:00
Merge branch 'main' of https://iceshrimp.dev/limepotato/jormungandr-bite
Some checks are pending
/ test-build (push) Waiting to run
Some checks are pending
/ test-build (push) Waiting to run
This commit is contained in:
commit
2c98459dc6
4 changed files with 2 additions and 84 deletions
|
@ -1490,12 +1490,6 @@ _time:
|
|||
hour: "Hour(s)"
|
||||
day: "Day(s)"
|
||||
_filters:
|
||||
_experiments:
|
||||
title: "Experiments"
|
||||
enablePostImports: "Enable post imports"
|
||||
postImportsCaption: "Allows users to import their posts from past Iceshrimp, Misskey,
|
||||
Mastodon, Akkoma, and Pleroma accounts. It may cause slowdowns during load if
|
||||
your queue is bottlenecked."
|
||||
_dialog:
|
||||
title: "Search filter syntax"
|
||||
learnMore: "View filter syntax"
|
||||
|
|
|
@ -11,41 +11,5 @@ export async function importCkPost(
|
|||
job: Bull.Job<DbUserImportMastoPostJobData>,
|
||||
done: any,
|
||||
): Promise<void> {
|
||||
const user = await Users.findOneBy({ id: job.data.user.id });
|
||||
if (user == null) {
|
||||
done();
|
||||
return;
|
||||
}
|
||||
const post = job.data.post;
|
||||
if (post.replyId != null) {
|
||||
done();
|
||||
return;
|
||||
}
|
||||
if (post.renoteId != null) {
|
||||
done();
|
||||
return;
|
||||
}
|
||||
if (post.visibility !== "public") {
|
||||
done();
|
||||
return;
|
||||
}
|
||||
const { text, cw, localOnly, createdAt } = Post.parse(post);
|
||||
const note = await create(user, {
|
||||
createdAt: createdAt,
|
||||
files: undefined,
|
||||
poll: undefined,
|
||||
text: text || undefined,
|
||||
reply: null,
|
||||
renote: null,
|
||||
cw: cw,
|
||||
localOnly,
|
||||
visibility: "hidden",
|
||||
visibleUsers: [],
|
||||
channel: null,
|
||||
apMentions: new Array(0),
|
||||
apHashtags: undefined,
|
||||
apEmojis: undefined,
|
||||
});
|
||||
logger.succ("Imported");
|
||||
done();
|
||||
}
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
import define from "../../define.js";
|
||||
import { createImportPostsJob } from "@/queue/index.js";
|
||||
import { ApiError } from "../../error.js";
|
||||
import { DriveFiles } from "@/models/index.js";
|
||||
import { DAY } from "@/const.js";
|
||||
import { fetchMeta } from "@/misc/fetch-meta.js";
|
||||
|
||||
export const meta = {
|
||||
secure: true,
|
||||
|
@ -26,7 +23,7 @@ export const meta = {
|
|||
},
|
||||
|
||||
importsDisabled: {
|
||||
message: "Post imports are disabled.",
|
||||
message: "Post imports are disabled for security reasons.",
|
||||
code: "IMPORTS_DISABLED",
|
||||
id: " bc9227e4-fb82-11ed-be56-0242ac120002",
|
||||
},
|
||||
|
@ -43,13 +40,5 @@ export const paramDef = {
|
|||
} as const;
|
||||
|
||||
export default define(meta, paramDef, async (ps, user) => {
|
||||
const file = await DriveFiles.findOneBy({ id: ps.fileId });
|
||||
|
||||
const instanceMeta = await fetchMeta();
|
||||
if (instanceMeta.experimentalFeatures?.postImports === false)
|
||||
throw new ApiError(meta.errors.importsDisabled);
|
||||
|
||||
if (file == null) throw new ApiError(meta.errors.noSuchFile);
|
||||
if (file.size === 0) throw new ApiError(meta.errors.emptyFile);
|
||||
createImportPostsJob(user, file.id, ps.signatureCheck);
|
||||
throw new ApiError(meta.errors.importsDisabled);
|
||||
});
|
||||
|
|
|
@ -16,25 +16,6 @@
|
|||
{{ i18n.ts.export }}</MkButton
|
||||
>
|
||||
</FormFolder>
|
||||
|
||||
<FormFolder class="_formBlock">
|
||||
<template #label>{{ i18n.ts.import }}</template>
|
||||
<template #icon
|
||||
><i class="ph-upload-simple ph-bold ph-lg"></i
|
||||
></template>
|
||||
<FormRadios v-model="importType" class="_formBlock">
|
||||
<option value="iceshrimp">Iceshrimp/Misskey</option>
|
||||
<option value="mastodon">Mastodon/Akkoma/Pleroma</option>
|
||||
</FormRadios>
|
||||
<MkButton
|
||||
primary
|
||||
:class="$style.button"
|
||||
inline
|
||||
@click="importPosts($event)"
|
||||
><i class="ph-upload-simple ph-bold ph-lg"></i>
|
||||
{{ i18n.ts.import }}</MkButton
|
||||
>
|
||||
</FormFolder>
|
||||
</FormSection>
|
||||
<FormSection>
|
||||
<template #label>{{
|
||||
|
@ -214,16 +195,6 @@ const exportNotes = () => {
|
|||
os.api("i/export-notes", {}).then(onExportSuccess).catch(onError);
|
||||
};
|
||||
|
||||
const importPosts = async (ev) => {
|
||||
const file = await selectFile(ev.currentTarget ?? ev.target);
|
||||
os.api("i/import-posts", {
|
||||
fileId: file.id,
|
||||
signatureCheck: false,
|
||||
})
|
||||
.then(onImportSuccess)
|
||||
.catch(onError);
|
||||
};
|
||||
|
||||
const exportFollowing = () => {
|
||||
os.api("i/export-following", {
|
||||
excludeMuting: excludeMutingUsers.value,
|
||||
|
|
Loading…
Reference in a new issue