Files
VRCX/src/api/misc.js
2025-11-02 02:42:36 +11:00

224 lines
5.0 KiB
JavaScript

import { request } from '../service/request';
import { useUserStore } from '../stores';
function getCurrentUserId() {
return useUserStore().currentUser.id;
}
const miscReq = {
getFile(params) {
return request(`file/${params.fileId}`, {
method: 'GET'
}).then((json) => {
const args = {
json,
params
};
return args;
});
},
saveNote(params) {
return request('userNotes', {
method: 'POST',
params
}).then((json) => {
const args = {
json,
params
};
return args;
});
},
/**
* @param {{
* userId: string,
* contentType: string,
* reason: string,
* type: string
* }} params
* @return { Promise<{json: any, params}> }
*/
reportUser(params) {
return request(`feedback/${params.userId}/user`, {
method: 'POST',
params: {
contentType: params.contentType,
reason: params.reason,
type: params.type
}
}).then((json) => {
const args = {
json,
params
};
return args;
});
},
/**
* @param {{
* fileId: string,
* version: number,
* variant: string
* }} params
* @return { Promise<{json: any, params}> }
*/
getFileAnalysis(params) {
return request(
`analysis/${params.fileId}/${params.version}/${params.variant}`,
{
method: 'GET'
}
).then((json) => {
const args = {
json,
params
};
return args;
});
},
getVRChatCredits() {
return request(`user/${getCurrentUserId()}/balance`, {
method: 'GET'
}).then((json) => {
const args = {
json
};
return args;
});
},
/**
* @param {{
* location: string,
* hardClose: boolean
* }} params
* @returns {Promise<{json: any, params}>}
*/
closeInstance(params) {
return request(`instances/${params.location}`, {
method: 'DELETE',
params: {
hardClose: params.hardClose ?? false
}
}).then((json) => {
const args = {
json,
params
};
return args;
});
},
/**
* @param {{
* worldId: string
* }} params
* @returns {Promise<{json: any, params}>}
*/
deleteWorldPersistData(params) {
return request(
`users/${getCurrentUserId()}/${params.worldId}/persist`,
{
method: 'DELETE'
}
).then((json) => {
const args = {
json,
params
};
return args;
});
},
/**
* @param {{
* worldId: string
* }} params
* @returns {Promise<{json: any, params}>}
*/
hasWorldPersistData(params) {
return request(
`users/${getCurrentUserId()}/${params.worldId}/persist/exists`,
{
method: 'GET'
}
).then((json) => {
const args = {
json,
params
};
return args;
});
},
updateBadge(params) {
return request(`users/${getCurrentUserId()}/badges/${params.badgeId}`, {
method: 'PUT',
params: {
userId: getCurrentUserId(),
badgeId: params.badgeId,
hidden: params.hidden,
showcased: params.showcased
}
}).then((json) => {
const args = {
json,
params
};
return args;
});
},
getVisits() {
return request('visits', {
method: 'GET'
}).then((json) => {
const args = {
json
};
return args;
});
},
deleteFile(fileId) {
return request(`file/${fileId}`, {
method: 'DELETE'
}).then((json) => {
const args = {
json,
fileId
};
return args;
});
},
/**
* @params {{
userId: string,
emojiId: string
}} params
* @returns {Promise<{json: any, params}>}
*/
sendBoop(params) {
return request(`users/${params.userId}/boop`, {
method: 'POST',
params: {
emojiId: params.emojiId
// inventoryItemId
}
}).then((json) => {
const args = {
json,
params
};
return args;
});
}
};
export default miscReq;