Skip to main content

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
    string
    required
    [1 ... 50]
    unique
    valid email
    郵箱
  • name
    string
    required
    [1 ... 100]
    職員名稱
  • roleId
    string
    required
    職業ID

StaffCreationResDTO

properties
  • id
    string
    The created user id
  • email
    string
    unique
    valid email
    The login email.
  • username
    string
    登陸帳號
  • nickname
    string
    員工姓名

StaffDetailRespDTO

properties
  • id
    string
    required
    員工id
  • nickname
    string
    職員姓名
  • email
    string
    required
    unique
    valid email
    員工email
  • role
    string
    required
    職位

StaffSimplyListResp

properties
  • id
    string
    required
    員工id
  • name
    string
    職員姓名

StaffFilterPageReqDTO

properties
  • loginID
    string
    對帳號名、手機號、郵箱號進行模糊搜尋
  • pagination
    pagination
    required
    分頁參數
  • sortings
    排序字段

StaffFilterPageRespDTO

This class extends PaginationAndSorting

properties
  • userId
    String
    required
    用戶ID
  • email
    String
    required
    郵箱
  • updatedAt
    datetime
    required
    最後上線日期
  • nickname
    String
    required
    員工姓名
  • role
    String
    required
    職位
  • createdAt
    datetime
    required
    員工創建時間

StaffUpdateReqDTO

properties
  • id
    string
    required
    職員ID
  • email
    string
    [0 ... 50]
    unique
    valid email
    郵箱
  • name
    string
    [0 ... 100]
    職員名稱
  • roleId
    string
    職業ID

UserResetPasswordReqDTO

properties
  • oldPassword
    string
    required
    at least 6 chars
    at most 40 chars
    only letters, numbers and special characters are allowed
    The old login password.
  • password
    string
    required
    at least 6 chars
    at most 40 chars
    only letters, numbers and special characters are allowed
    The new password.