92 lines
2.1 KiB
JavaScript
92 lines
2.1 KiB
JavaScript
import Vue from 'vue';
|
|
|
|
async function login(email, password) {
|
|
return Vue.axios.post('/member/login', {
|
|
email,
|
|
password,
|
|
isAdmin: true,
|
|
});
|
|
}
|
|
|
|
async function getMemberList(page) {
|
|
return Vue.axios.get(
|
|
"/admin/member/list?page=" + (page - 1) +
|
|
"&size=20"
|
|
)
|
|
}
|
|
|
|
async function searchMember(searchWord, page) {
|
|
return Vue.axios.get(
|
|
"/admin/member/search?search_word=" + searchWord +
|
|
"&page=" + (page - 1) +
|
|
"&size=20"
|
|
)
|
|
}
|
|
|
|
async function getCreatorList(page) {
|
|
return Vue.axios.get(
|
|
"/admin/member/creator/list?page=" + (page - 1) +
|
|
"&size=20"
|
|
)
|
|
}
|
|
|
|
async function searchCreator(searchWord, page) {
|
|
return Vue.axios.get(
|
|
"/admin/member/creator/search?search_word=" + searchWord +
|
|
"&page=" + (page - 1) +
|
|
"&size=20"
|
|
)
|
|
}
|
|
|
|
async function updateMember(id, user_type) {
|
|
const request = {id, userType: user_type}
|
|
return Vue.axios.put("/admin/member", request)
|
|
}
|
|
|
|
async function getCreatorAllList() {
|
|
return Vue.axios.get("/admin/member/creator/all/list")
|
|
}
|
|
|
|
async function resetPassword(id) {
|
|
const request = {memberId: id}
|
|
return Vue.axios.post("/admin/member/password/reset", request)
|
|
}
|
|
|
|
/**
|
|
* 닉네임으로 회원 검색 API
|
|
* - 서버 구현 차이를 흡수하기 위해 nickname, search_word 두 파라미터 모두 전송
|
|
* - 응답은 다음 두 형태를 모두 허용하고 배열로 정규화하여 반환
|
|
* 1) [{ id, nickname }, ...]
|
|
* 2) { data: [{ id, nickname }, ...] }
|
|
* @param {string} query
|
|
* @returns {Promise<Array<{id:number,nickname:string}>>}
|
|
*/
|
|
async function searchMembersByNickname(query) {
|
|
try {
|
|
const res = await Vue.axios.get('/admin/member/search-by-nickname', {
|
|
params: { search_word: query }
|
|
})
|
|
if (res && Array.isArray(res.data)) {
|
|
return res.data
|
|
}
|
|
if (res && res.data && Array.isArray(res.data.data)) {
|
|
return res.data.data
|
|
}
|
|
return []
|
|
} catch (e) {
|
|
return []
|
|
}
|
|
}
|
|
|
|
export {
|
|
login,
|
|
getMemberList,
|
|
searchMember,
|
|
getCreatorList,
|
|
searchCreator,
|
|
updateMember,
|
|
getCreatorAllList,
|
|
resetPassword,
|
|
searchMembersByNickname
|
|
}
|