Web Staff Management API
The Web Staff Management API allows staff to manage staff.
Endpoints
# Endpoints
Create staff
Request (StaffCreationReqDTO)
POST /web/staffs
{
"name": "藍煮飪",
"email": "mhahkLan@example.com",
"roleId": "81fc8796-2930-11ef-b50f-4a12d8c2d6fc"
}
Response (StaffCreationResDTO)
{
"success": true,
"message": "",
"data": {
"id": "881d895f-31b9-41a5-905b-492c90090bd4",
"username": "EP0g_o",
"phone": null,
"email": "mhahkLan@example.com",
"disabled": false,
"createdAt": "2024-06-13T17:20:22.160642",
"updatedAt": "2024-06-13T17:20:22.160642"
}
}
Get staff list
GET /web/staffs/list
Response (StaffSimplyListResp)
{
"success": true,
"message": "",
"data": [
{
"id": "319836b4-8eaf-4c21-af73-247e5ddbb7c3",
"name": "呂渚"
},
{
"id": "22bf8b37-9645-4659-bb9b-29e7872e4398",
"name": "童恭"
},
{
"id": "f57d60d1-087e-4e33-bdb3-d9e3afd6b469",
"name": "史大督"
}
]
}
Filter user page
Request (StaffFilterPageReqDTO)
POST /web/staffs/page
{
"loginID": "example",
"pagination": {
"page": 1,
"size": 10
},
"sortings": [
{
"direction": "DESC",
"property": "createdAt"
}
]
}
Response (StaffFilterPageRespDTO)
{
"success": true,
"message": "",
"data": {
"pagination": {
"page": 1,
"size": 10,
"totalItems": 5,
"totalPages": 1
},
"sortings": [
{
"direction": "DESC",
"property": "createdAt"
}
],
"items": [
{
"userId": "a58949da-ddae-4e01-8041-94dcce1ca103",
"email": "mhahkSupport@example.com",
"updatedAt": "2024-06-13T11:51:25.947267",
"nickname": null,
"role": "支援同工",
"createdAt": "2024-06-13T11:51:25.947267"
},
{
"userId": "394d6a15-f225-4e3b-b278-50b64d562605",
"email": "mhahkProfessional@example.com",
"updatedAt": "2024-06-13T11:51:25.856227",
"nickname": null,
"role": "專業同工",
"createdAt": "2024-06-13T11:51:25.856227"
},
{
"userId": "9fc2e0bc-8917-4c82-9475-efad7356e508",
"email": "mhahkProjectInCharge@example.com",
"updatedAt": "2024-06-13T11:51:25.771998",
"nickname": null,
"role": "主任",
"createdAt": "2024-06-13T11:51:25.771998"
},
{
"userId": "bee19341-c976-470f-9355-6e78f05a2e24",
"email": "mhahkSupervisor@example.com",
"updatedAt": "2024-06-13T11:51:25.68459",
"nickname": null,
"role": "督導",
"createdAt": "2024-06-13T11:51:25.68459"
},
{
"userId": "748f207d-faf5-49e9-bf6c-4b652f18287e",
"email": "mhahkRootAccount@example.com",
"updatedAt": "2024-06-13T11:51:25.595033",
"nickname": null,
"role": "管理員",
"createdAt": "2024-06-13T11:51:25.595033"
}
]
}
}
Get staff detail
GET /web/staffs/{staff_id}
Response (StaffDetailRespDTO)
{
"success": true,
"message": "",
"data": {
"id": "f57d60d1-087e-4e33-bdb3-d9e3afd6b469",
"nickname": "史大督",
"role": "督導",
"email": "mhahkSupervisor@example.com"
}
}
Edit staff detail
Request (StaffUpdateReqDTO)
PUT /web/staffs
{
"id": "881d895f-31b9-41a5-905b-492c90090bd4",
"name": "藍翥餁",
"email": "mhahkLanzhu@example.com",
"roleId": "81fc8796-2930-11ef-b50f-4a12d8c2d6fc"
}
Response
{
"success": true,
"message": "",
"data": null
}
Delete staff
DELETE /web/staffs/{staff_id}
Response
{
"success": true,
"message": "",
"data": null
}
Change password
Request (UserResetPasswordReqDTO)
PUT /web/staffs/password
{
"oldPassword": "asdfI123!",
"password": "gdKidjo33-"
}
Response
{
"success": true,
"message": "",
"data": null
}
Resources
StaffCreationReqDTO
properties
email
stringrequired[1 ... 50]uniquevalid email郵箱
name
stringrequired[1 ... 100]職員名稱
roleId
stringrequired職業ID
StaffCreationResDTO
properties
id
stringThe created user id
email
stringuniquevalid emailThe login email.
username
string登陸帳號
nickname
string員工姓名
StaffDetailRespDTO
properties
id
stringrequired員工id
nickname
string職員姓名
email
stringrequireduniquevalid email員工email
role
stringrequired職位
StaffSimplyListResp
properties
id
stringrequired員工id
name
string職員姓名
StaffFilterPageReqDTO
properties
loginID
string對帳號名、手機號、郵箱號進行模糊搜尋
分頁參數
排序字段
StaffFilterPageRespDTO
This class extends PaginationAndSorting
properties
userId
Stringrequired用戶ID
email
Stringrequired郵箱
updatedAt
datetimerequired最後上線日期
nickname
Stringrequired員工姓名
role
Stringrequired職位
createdAt
datetimerequired員工創建時間
StaffUpdateReqDTO
properties
id
stringrequired職員ID
email
string[0 ... 50]uniquevalid email郵箱
name
string[0 ... 100]職員名稱
roleId
string職業ID
UserResetPasswordReqDTO
properties
oldPassword
stringrequiredat least 6 charsat most 40 charsonly letters, numbers and special characters are allowedThe old login password.
password
stringrequiredat least 6 charsat most 40 charsonly letters, numbers and special characters are allowedThe new password.