2019-09-23 18:42:18 +00:00
|
|
|
import request from '@/utils/request'
|
|
|
|
import { getToken } from '@/utils/auth'
|
|
|
|
import { baseName } from './utils'
|
|
|
|
|
2020-04-01 13:37:08 +00:00
|
|
|
export async function addNewEmojiFile(packName, file, shortcode, filename, host, token) {
|
2020-04-01 15:51:17 +00:00
|
|
|
const data = new FormData()
|
|
|
|
if (filename.trim() !== '') {
|
|
|
|
data.set('filename', filename)
|
|
|
|
}
|
|
|
|
if (shortcode.trim() !== '') {
|
|
|
|
data.set('shortcode', shortcode)
|
|
|
|
}
|
|
|
|
data.set('file', file)
|
|
|
|
|
2020-04-01 13:37:08 +00:00
|
|
|
return await request({
|
|
|
|
baseURL: baseName(host),
|
|
|
|
url: `/api/pleroma/emoji/packs/${packName}/files`,
|
|
|
|
method: 'post',
|
|
|
|
headers: authHeaders(token),
|
2020-04-01 15:51:17 +00:00
|
|
|
data
|
2020-04-01 13:37:08 +00:00
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
export function addressOfEmojiInPack(host, packName, name) {
|
|
|
|
return `${baseName(host)}/emoji/${packName}/${name}`
|
|
|
|
}
|
|
|
|
|
|
|
|
export async function createPack(host, token, packName) {
|
|
|
|
return await request({
|
|
|
|
baseURL: baseName(host),
|
|
|
|
url: `/api/pleroma/emoji/packs/${packName}`,
|
|
|
|
method: 'post',
|
|
|
|
headers: authHeaders(token)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
export async function deleteEmojiFile(packName, shortcode, host, token) {
|
|
|
|
return await request({
|
|
|
|
baseURL: baseName(host),
|
|
|
|
url: `/api/pleroma/emoji/packs/${packName}/files`,
|
|
|
|
method: 'delete',
|
|
|
|
headers: authHeaders(token),
|
|
|
|
data: { shortcode }
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
export async function deletePack(host, token, packName) {
|
2019-09-23 18:42:18 +00:00
|
|
|
return await request({
|
|
|
|
baseURL: baseName(host),
|
2020-04-01 13:37:08 +00:00
|
|
|
url: `/api/pleroma/emoji/packs/${packName}`,
|
2019-09-23 18:42:18 +00:00
|
|
|
method: 'delete',
|
|
|
|
headers: authHeaders(token)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2020-04-01 13:37:08 +00:00
|
|
|
export async function downloadFrom(host, instance, packName, as, token) {
|
|
|
|
if (as.trim() === '') {
|
|
|
|
as = null
|
|
|
|
}
|
|
|
|
|
2019-09-23 18:42:18 +00:00
|
|
|
return await request({
|
|
|
|
baseURL: baseName(host),
|
2020-04-01 13:37:08 +00:00
|
|
|
url: '/api/pleroma/emoji/packs/download',
|
2019-09-23 18:42:18 +00:00
|
|
|
method: 'post',
|
2020-04-01 13:37:08 +00:00
|
|
|
headers: authHeaders(token),
|
|
|
|
data: { url: baseName(instance), name: packName, as },
|
|
|
|
timeout: 0
|
2019-09-23 18:42:18 +00:00
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2020-04-01 13:37:08 +00:00
|
|
|
export async function fetchPack(packName, host, token) {
|
2019-09-23 18:42:18 +00:00
|
|
|
return await request({
|
|
|
|
baseURL: baseName(host),
|
2020-04-01 13:37:08 +00:00
|
|
|
url: `/api/pleroma/emoji/packs/${packName}`,
|
2020-03-30 15:50:36 +00:00
|
|
|
method: 'get',
|
2019-09-23 18:42:18 +00:00
|
|
|
headers: authHeaders(token)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2020-04-01 13:37:08 +00:00
|
|
|
export async function importFromFS(host, token) {
|
2019-09-23 18:42:18 +00:00
|
|
|
return await request({
|
|
|
|
baseURL: baseName(host),
|
2020-04-01 13:37:08 +00:00
|
|
|
url: '/api/pleroma/emoji/packs/import',
|
|
|
|
method: 'get',
|
2019-09-23 18:42:18 +00:00
|
|
|
headers: authHeaders(token)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2020-06-19 22:25:59 +00:00
|
|
|
export async function listPacks(page, pageSize, host, token) {
|
2019-09-23 18:42:18 +00:00
|
|
|
return await request({
|
|
|
|
baseURL: baseName(host),
|
2020-06-19 22:25:59 +00:00
|
|
|
url: `/api/pleroma/emoji/packs?page=${page}&page_size=${pageSize}`,
|
|
|
|
method: 'get',
|
|
|
|
headers: authHeaders(token)
|
2019-09-23 18:42:18 +00:00
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2019-09-24 16:38:35 +00:00
|
|
|
export async function listRemotePacks(host, token, instance) {
|
|
|
|
return await request({
|
|
|
|
baseURL: baseName(host),
|
2020-03-30 15:50:36 +00:00
|
|
|
url: `/api/pleroma/emoji/packs/remote?url=${baseName(instance)}`,
|
|
|
|
method: 'get',
|
|
|
|
headers: authHeaders(token)
|
2019-09-24 16:38:35 +00:00
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2020-04-01 13:37:08 +00:00
|
|
|
export async function reloadEmoji(host, token) {
|
2019-09-23 18:42:18 +00:00
|
|
|
return await request({
|
|
|
|
baseURL: baseName(host),
|
2020-04-01 13:37:08 +00:00
|
|
|
url: '/api/pleroma/admin/reload_emoji',
|
2019-09-23 18:42:18 +00:00
|
|
|
method: 'post',
|
2020-04-01 13:37:08 +00:00
|
|
|
headers: authHeaders(token)
|
2019-09-23 18:42:18 +00:00
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2020-04-01 13:37:08 +00:00
|
|
|
export async function savePackMetadata(host, token, packName, metadata) {
|
2019-09-23 18:42:18 +00:00
|
|
|
return await request({
|
|
|
|
baseURL: baseName(host),
|
2020-04-01 13:37:08 +00:00
|
|
|
url: `/api/pleroma/emoji/packs/${packName}`,
|
2020-03-31 00:18:20 +00:00
|
|
|
method: 'patch',
|
2019-09-23 18:42:18 +00:00
|
|
|
headers: authHeaders(token),
|
2020-03-31 00:18:20 +00:00
|
|
|
data: { metadata },
|
2019-09-23 18:42:18 +00:00
|
|
|
timeout: 0 // This might take a long time
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2020-03-31 00:18:20 +00:00
|
|
|
export async function updateEmojiFile(packName, shortcode, newShortcode, newFilename, force, host, token) {
|
|
|
|
return await request({
|
|
|
|
baseURL: baseName(host),
|
|
|
|
url: `/api/pleroma/emoji/packs/${packName}/files`,
|
|
|
|
method: 'patch',
|
|
|
|
headers: authHeaders(token),
|
|
|
|
data: { shortcode, new_shortcode: newShortcode, new_filename: newFilename, force }
|
|
|
|
})
|
|
|
|
}
|
2019-09-23 18:42:18 +00:00
|
|
|
|
|
|
|
const authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}
|