96 lines
3.3 KiB
Go
Raw Normal View History

2023-10-08 15:59:42 +07:00
package request
import (
2024-07-30 19:38:23 +07:00
"furtuna-be/internal/common/mycontext"
2023-10-08 15:59:42 +07:00
"furtuna-be/internal/entity"
)
type PartnerParam struct {
Search string `form:"search" json:"search" example:"Ketua Umum"`
Name string `form:"name" json:"name" example:"Ketua Umum"`
Limit int `form:"limit" json:"limit" example:"10"`
Offset int `form:"offset" json:"offset" example:"0"`
}
2024-07-30 19:38:23 +07:00
func (p *PartnerParam) ToEntity(ctx mycontext.Context) entity.PartnerSearch {
2023-10-08 15:59:42 +07:00
return entity.PartnerSearch{
2024-07-30 19:38:23 +07:00
Search: p.Search,
PartnerID: ctx.GetPartnerID(),
Name: p.Name,
Limit: p.Limit,
Offset: p.Offset,
2023-10-08 15:59:42 +07:00
}
}
type Partner struct {
2024-07-30 14:18:18 +07:00
ID int64 `json:"id"`
Name string `json:"name"`
Address string `json:"address"`
Status string `json:"status"`
Email string `json:"email"`
PhoneNumber string `json:"phone_number"`
Password string `json:"password"`
AdminUserID int64 `json:"admin_user_id"`
AdminName string `json:"admin_name"`
BankName string `json:"bank_name"`
BankAccountHolderNumber string `json:"bank_account_holder_number"`
BankAccountHolderName string `json:"bank_account_holder_name"`
NIK string `json:"nik"`
2023-10-08 15:59:42 +07:00
}
2024-06-03 14:40:50 +07:00
type CreatePartnerRequest struct {
Name string `json:"name" validate:"required"`
2024-07-30 14:18:18 +07:00
Email string `json:"email" validate:"required"`
Address string `json:"address" validate:"required"`
FullName string `json:"full_name" validate:"required"`
2024-06-03 14:40:50 +07:00
Password string `json:"password" validate:"required"`
NIK string `json:"nik"`
2024-07-30 14:18:18 +07:00
PhoneNumber string `json:"phone_number" validate:"required"`
BankName string `json:"bank_name" validate:"required"`
BankAccountNumber string `json:"bank_account_number" validate:"required"`
BankAccountHolderName string `json:"bank_account_holder_name" validate:"required"`
Status string `json:"status"`
2024-06-03 14:40:50 +07:00
}
func (e *CreatePartnerRequest) ToEntity() *entity.CreatePartnerRequest {
return &entity.CreatePartnerRequest{
Name: e.Name,
Address: e.Address,
FullName: e.FullName,
Email: e.Email,
Password: e.Password,
NIK: e.NIK,
PhoneNumber: e.PhoneNumber,
BankName: e.BankName,
BankAccountNumber: e.BankAccountNumber,
BankAccountHolderName: e.BankAccountHolderName,
2024-07-30 14:18:18 +07:00
Status: e.Status,
2024-06-03 14:40:50 +07:00
}
}
2023-10-08 15:59:42 +07:00
func (e *Partner) ToEntity() *entity.Partner {
return &entity.Partner{
Name: e.Name,
Address: e.Address,
Status: e.Status,
}
}
2024-07-30 14:18:18 +07:00
func (e *Partner) ToEntityUpdate(partnerID int64) *entity.PartnerUpdate {
return &entity.PartnerUpdate{
ID: partnerID,
Name: e.Name,
Email: e.Email,
Address: e.Address,
Status: e.Status,
PhoneNumber: e.PhoneNumber,
BankName: e.BankName,
BankAccountHolderNumber: e.BankAccountHolderNumber,
BankAccountHolderName: e.BankAccountHolderName,
NIK: e.NIK,
AdminName: e.AdminName,
Password: e.Password,
AdminUserID: e.AdminUserID,
}
}