6 Commits
8 changed files with 46 additions and 30 deletions
+6
View File
@@ -148,6 +148,12 @@ make run
This command will compile and execute your Go application. This command will compile and execute your Go application.
Or you can execute the compiled binary at `bin/legalgo` by:
```bash
./bin/legalgo
```
--- ---
**Note:** Ensure that your `Makefile` is correctly set up to handle these commands. If not, you may need to create **Note:** Ensure that your `Makefile` is correctly set up to handle these commands. If not, you may need to create
+7 -6
View File
@@ -5,10 +5,11 @@ import (
) )
type Staff struct { type Staff struct {
ID string `gorm:"primaryKey" json:"id"` ID string `gorm:"primaryKey" json:"id"`
Username string `gorm:"default:null;unique" json:"username"` Name string `gorm:"default:null;unique" json:"name"`
Email string `gorm:"unique;not null" json:"email"` ProfilePicture string `gorm:"default:null" json:"profile_picture"`
Password string `gorm:"not null" json:"password"` Email string `gorm:"unique;not null" json:"email"`
CreatedAt time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"created_at"` Password string `gorm:"not null" json:"password"`
UpdatedAt time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"updated_at"` CreatedAt time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"created_at"`
UpdatedAt time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"updated_at"`
} }
+3 -3
View File
@@ -49,7 +49,7 @@ func UpdateStaff(
ID: id, ID: id,
Email: spec.Email, Email: spec.Email,
Password: spec.Password, Password: spec.Password,
Username: spec.Username, Name: spec.Name,
} }
if err := authSvc.UpdateStaff(staff); err != nil { if err := authSvc.UpdateStaff(staff); err != nil {
@@ -64,9 +64,9 @@ func UpdateStaff(
return return
} }
responsePayload := struct{ responsePayload := struct {
Message string Message string
} { }{
Message: "update staff success", Message: "update staff success",
} }
+4 -3
View File
@@ -17,9 +17,10 @@ type LoginRepoResponse struct {
} }
type StaffProfile struct { type StaffProfile struct {
ID string `json:"id"` ID string `json:"id"`
Email string `json:"email"` Email string `json:"email"`
Username string `json:"username"` Name string `json:"name"`
ProfilePicture string `json:"profile_picture"`
} }
type UserProfile struct { type UserProfile struct {
+10 -8
View File
@@ -16,20 +16,22 @@ type User struct {
} }
type RegisterStaffReq struct { type RegisterStaffReq struct {
Email string `json:"email" validate:"required"` Email string `json:"email" validate:"required"`
Password string `json:"password" validate:"required"` Password string `json:"password" validate:"required"`
Username string `json:"username" validate:"required"` Name string `json:"name" validate:"required"`
ProfilePicture string `json:"profile_picture"`
} }
type UpdateStaffReq struct { type UpdateStaffReq struct {
Email string `json:"email"` Email string `json:"email"`
Password string `json:"password"` Password string `json:"password"`
Username string `json:"username"` Name string `json:"name"`
} }
type Staff struct { type Staff struct {
ID string `json:"id"` ID string `json:"id"`
Email string `json:"email"` Email string `json:"email"`
Password string `json:"password"` Password string `json:"password"`
Username string `json:"username"` Name string `json:"name"`
ProfilePicture string `json:"profile_picture"`
} }
+4 -3
View File
@@ -9,9 +9,10 @@ func (as *AuthSvc) GetStaffProfile(email string) (*authdomain.StaffProfile, erro
} }
profile := &authdomain.StaffProfile{ profile := &authdomain.StaffProfile{
ID: staff.ID, ID: staff.ID,
Username: staff.Username, Name: staff.Name,
Email: staff.Email, Email: staff.Email,
ProfilePicture: staff.ProfilePicture,
} }
return profile, nil return profile, nil
+5 -4
View File
@@ -20,10 +20,11 @@ func (a *AuthSvc) RegisterStaff(spec authdomain.RegisterStaffReq) (string, error
} }
staff := authdomain.Staff{ staff := authdomain.Staff{
ID: uuid.NewString(), ID: uuid.NewString(),
Email: spec.Email, Email: spec.Email,
Password: hashedPwd, Password: hashedPwd,
Username: spec.Username, Name: spec.Name,
ProfilePicture: spec.ProfilePicture,
} }
_, err = a.staffRepo.Create(&staff) _, err = a.staffRepo.Create(&staff)
+7 -3
View File
@@ -25,7 +25,9 @@ paths:
type: string type: string
email: email:
type: string type: string
username: name:
type: string
profile_picture:
type: string type: string
"400": "400":
description: Bad request description: Bad request
@@ -108,12 +110,14 @@ paths:
format: email format: email
password: password:
type: string type: string
username: name:
type: string
profile_picture:
type: string type: string
required: required:
- email - email
- password - password
- username - name
responses: responses:
"201": "201":
description: Staff member created description: Staff member created