mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-12-28 16:03:08 +02:00
[API] Improve drive/files/upload_from_url
This commit is contained in:
parent
0068dc30d3
commit
665fa7f2aa
2 changed files with 28 additions and 4 deletions
|
@ -11,7 +11,7 @@ export const meta = {
|
|||
|
||||
limit: {
|
||||
duration: ms('1hour'),
|
||||
max: 10
|
||||
max: 60
|
||||
},
|
||||
|
||||
requireCredential: true,
|
||||
|
@ -29,9 +29,26 @@ export const meta = {
|
|||
default: null as any as any,
|
||||
transform: transform
|
||||
},
|
||||
|
||||
isSensitive: {
|
||||
validator: $.bool.optional,
|
||||
default: false,
|
||||
desc: {
|
||||
'ja-JP': 'このメディアが「閲覧注意」(NSFW)かどうか',
|
||||
'en-US': 'Whether this media is NSFW'
|
||||
}
|
||||
},
|
||||
|
||||
force: {
|
||||
validator: $.bool.optional,
|
||||
default: false,
|
||||
desc: {
|
||||
'ja-JP': 'true にすると、同じハッシュを持つファイルが既にアップロードされていても強制的にファイルを作成します。',
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default define(meta, (ps, user) => new Promise(async (res, rej) => {
|
||||
res(pack(await uploadFromUrl(ps.url, user, ps.folderId)));
|
||||
res(pack(await uploadFromUrl(ps.url, user, ps.folderId, null, ps.isSensitive, ps.force)));
|
||||
}));
|
||||
|
|
|
@ -14,7 +14,14 @@ import fetchMeta from '../../misc/fetch-meta';
|
|||
|
||||
const log = debug('misskey:drive:upload-from-url');
|
||||
|
||||
export default async (url: string, user: IUser, folderId: mongodb.ObjectID = null, uri: string = null, sensitive = false): Promise<IDriveFile> => {
|
||||
export default async (
|
||||
url: string,
|
||||
user: IUser,
|
||||
folderId: mongodb.ObjectID = null,
|
||||
uri: string = null,
|
||||
sensitive = false,
|
||||
force = false
|
||||
): Promise<IDriveFile> => {
|
||||
log(`REQUESTED: ${url}`);
|
||||
|
||||
let name = URL.parse(url).pathname.split('/').pop();
|
||||
|
@ -76,7 +83,7 @@ export default async (url: string, user: IUser, folderId: mongodb.ObjectID = nul
|
|||
let error;
|
||||
|
||||
try {
|
||||
driveFile = await create(user, path, name, null, folderId, false, !instance.cacheRemoteFiles, url, uri, sensitive);
|
||||
driveFile = await create(user, path, name, null, folderId, force, !instance.cacheRemoteFiles, url, uri, sensitive);
|
||||
log(`got: ${driveFile._id}`);
|
||||
} catch (e) {
|
||||
error = e;
|
||||
|
|
Loading…
Reference in a new issue