mirror of https://github.com/hykilpikonna/AquaDX
[F] Fix profile picture upload api
parent
51f73d77bf
commit
7e68de5a17
|
@ -56,9 +56,6 @@ export async function post(endpoint: string, params: any, init?: RequestInitWith
|
||||||
|
|
||||||
let res = await fetchWithParams(AQUA_HOST + endpoint, {
|
let res = await fetchWithParams(AQUA_HOST + endpoint, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
|
||||||
'Content-Type': 'application/json'
|
|
||||||
},
|
|
||||||
params,
|
params,
|
||||||
...init
|
...init
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
|
@ -123,6 +120,11 @@ export const USER = {
|
||||||
post('/api/v2/user/keychip', {}).then(it => it.keychip),
|
post('/api/v2/user/keychip', {}).then(it => it.keychip),
|
||||||
setting: (key: string, value: string) =>
|
setting: (key: string, value: string) =>
|
||||||
post('/api/v2/user/setting', { key: key === 'password' ? 'pwHash' : key, value }),
|
post('/api/v2/user/setting', { key: key === 'password' ? 'pwHash' : key, value }),
|
||||||
|
uploadPfp: (file: File) => {
|
||||||
|
const formData = new FormData()
|
||||||
|
formData.append('file', file)
|
||||||
|
return post('/api/v2/user/upload-pfp', { }, { method: 'POST', body: formData })
|
||||||
|
},
|
||||||
isLoggedIn,
|
isLoggedIn,
|
||||||
ensureLoggedIn,
|
ensureLoggedIn,
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@ class UserRegistrar(
|
||||||
val cardService: CardService,
|
val cardService: CardService,
|
||||||
val validator: AquaUserServices,
|
val validator: AquaUserServices,
|
||||||
val emailProps: EmailProperties,
|
val emailProps: EmailProperties,
|
||||||
paths: PathProps
|
final val paths: PathProps
|
||||||
) {
|
) {
|
||||||
val portraitPath = paths.aquaNetPortrait.path()
|
val portraitPath = paths.aquaNetPortrait.path()
|
||||||
|
|
||||||
|
@ -160,7 +160,10 @@ class UserRegistrar(
|
||||||
|
|
||||||
@API("/me")
|
@API("/me")
|
||||||
@Doc("Get the information of the current logged-in user.", "User information")
|
@Doc("Get the information of the current logged-in user.", "User information")
|
||||||
suspend fun getUser(@RP token: Str) = jwt.auth(token)
|
suspend fun getUser(@RP token: Str) = jwt.auth(token).apply {
|
||||||
|
if (!profilePicture.isNullOrBlank())
|
||||||
|
profilePicture = (portraitPath / profilePicture!!).toString()
|
||||||
|
}
|
||||||
|
|
||||||
@API("/setting")
|
@API("/setting")
|
||||||
@Doc("Validate and set a user setting field.", "Success message")
|
@Doc("Validate and set a user setting field.", "Success message")
|
||||||
|
@ -195,7 +198,7 @@ class UserRegistrar(
|
||||||
mapOf("keychip" to new)
|
mapOf("keychip" to new)
|
||||||
}
|
}
|
||||||
|
|
||||||
@API("/upload-pfp")
|
@API("/upload-pfp", consumes = ["multipart/form-data"])
|
||||||
@Doc("Upload a profile picture for the user.", "Success message")
|
@Doc("Upload a profile picture for the user.", "Success message")
|
||||||
suspend fun uploadPfp(@RP token: Str, @RP file: MultipartFile) = jwt.auth(token) { u ->
|
suspend fun uploadPfp(@RP token: Str, @RP file: MultipartFile) = jwt.auth(token) { u ->
|
||||||
// Processing the image would lead to many open factors for attack
|
// Processing the image would lead to many open factors for attack
|
||||||
|
|
Loading…
Reference in New Issue