forked from ebhomengo/niki
fix(niki): remove is_main from address and add
ame to address
This commit is contained in:
parent
bdf197e84b
commit
ed894c7520
14
docs/docs.go
14
docs/docs.go
|
@ -692,10 +692,6 @@ const docTemplate = `{
|
|||
"type": "string",
|
||||
"example": "tehran"
|
||||
},
|
||||
"benefactor_id": {
|
||||
"type": "integer",
|
||||
"example": 1
|
||||
},
|
||||
"city_id": {
|
||||
"type": "integer",
|
||||
"example": 1
|
||||
|
@ -708,6 +704,10 @@ const docTemplate = `{
|
|||
"type": "number",
|
||||
"example": 22.22
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"example": "home"
|
||||
},
|
||||
"postal_code": {
|
||||
"type": "string",
|
||||
"example": "1234567890"
|
||||
|
@ -1194,15 +1194,15 @@ const docTemplate = `{
|
|||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"isMain": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"lat": {
|
||||
"type": "number"
|
||||
},
|
||||
"lon": {
|
||||
"type": "number"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"postalCode": {
|
||||
"type": "string"
|
||||
},
|
||||
|
|
|
@ -681,10 +681,6 @@
|
|||
"type": "string",
|
||||
"example": "tehran"
|
||||
},
|
||||
"benefactor_id": {
|
||||
"type": "integer",
|
||||
"example": 1
|
||||
},
|
||||
"city_id": {
|
||||
"type": "integer",
|
||||
"example": 1
|
||||
|
@ -697,6 +693,10 @@
|
|||
"type": "number",
|
||||
"example": 22.22
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"example": "home"
|
||||
},
|
||||
"postal_code": {
|
||||
"type": "string",
|
||||
"example": "1234567890"
|
||||
|
@ -1183,15 +1183,15 @@
|
|||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"isMain": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"lat": {
|
||||
"type": "number"
|
||||
},
|
||||
"lon": {
|
||||
"type": "number"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"postalCode": {
|
||||
"type": "string"
|
||||
},
|
||||
|
|
|
@ -4,9 +4,6 @@ definitions:
|
|||
address:
|
||||
example: tehran
|
||||
type: string
|
||||
benefactor_id:
|
||||
example: 1
|
||||
type: integer
|
||||
city_id:
|
||||
example: 1
|
||||
type: integer
|
||||
|
@ -16,6 +13,9 @@ definitions:
|
|||
lon:
|
||||
example: 22.22
|
||||
type: number
|
||||
name:
|
||||
example: home
|
||||
type: string
|
||||
postal_code:
|
||||
example: "1234567890"
|
||||
type: string
|
||||
|
@ -331,12 +331,12 @@ definitions:
|
|||
type: integer
|
||||
id:
|
||||
type: integer
|
||||
isMain:
|
||||
type: boolean
|
||||
lat:
|
||||
type: number
|
||||
lon:
|
||||
type: number
|
||||
name:
|
||||
type: string
|
||||
postalCode:
|
||||
type: string
|
||||
provinceID:
|
||||
|
|
|
@ -4,9 +4,9 @@ type Address struct {
|
|||
ID uint
|
||||
PostalCode string
|
||||
Address string
|
||||
Name string
|
||||
Lat float64
|
||||
Lon float64
|
||||
IsMain bool
|
||||
CityID uint
|
||||
ProvinceID uint
|
||||
BenefactorID uint
|
||||
|
|
|
@ -8,8 +8,8 @@ type BenefactorAddAddressRequest struct {
|
|||
Lat float64 `json:"lat" example:"22.23"`
|
||||
Lon float64 `json:"lon" example:"22.22"`
|
||||
CityID uint `json:"city_id" example:"1"`
|
||||
ProvinceID uint `json:"-"`
|
||||
BenefactorID uint `json:"benefactor_id" example:"1"`
|
||||
BenefactorID uint `json:"-"`
|
||||
Name string `json:"name" example:"home"`
|
||||
}
|
||||
|
||||
type BenefactorAddAddressResponse struct {
|
||||
|
|
|
@ -20,20 +20,10 @@ func (d *DB) CreateBenefactorAddress(ctx context.Context, address entity.Address
|
|||
WithMessage("error querying for existing main address").WithKind(richerror.KindUnexpected)
|
||||
}
|
||||
address.ProvinceID = provinceID
|
||||
// Check if the user already has a main address
|
||||
var count int
|
||||
err := d.conn.Conn().QueryRowContext(ctx, `SELECT COUNT(*) FROM addresses WHERE is_main = true AND benefactor_id = ?`, address.BenefactorID).Scan(&count)
|
||||
if err != nil && err != sql.ErrNoRows {
|
||||
return entity.Address{}, richerror.New(op).WithErr(err).
|
||||
WithMessage("error querying for existing main address").WithKind(richerror.KindUnexpected)
|
||||
}
|
||||
|
||||
// Set is_main field based on the count
|
||||
address.IsMain = count == 0
|
||||
|
||||
// Insert the new address
|
||||
res, err := d.conn.Conn().ExecContext(ctx, `INSERT INTO addresses (postal_code, address, lat, lon, is_main, city_id, province_id, benefactor_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||
address.PostalCode, address.Address, address.Lat, address.Lon, address.IsMain, address.CityID, provinceID, address.BenefactorID)
|
||||
res, err := d.conn.Conn().ExecContext(ctx, `INSERT INTO addresses (postal_code, address, lat, lon, name, city_id, province_id, benefactor_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||
address.PostalCode, address.Address, address.Lat, address.Lon, address.Name, address.CityID, provinceID, address.BenefactorID)
|
||||
if err != nil {
|
||||
return entity.Address{}, richerror.New(op).WithErr(err).
|
||||
WithMessage(errmsg.ErrorMsgNotFound).WithKind(richerror.KindUnexpected)
|
||||
|
|
|
@ -40,7 +40,7 @@ func scanAddress(scanner mysql.Scanner) (entity.Address, error) {
|
|||
var address entity.Address
|
||||
|
||||
err := scanner.Scan(&address.ID, &address.PostalCode, &address.Address, &address.Lat, &address.Lon,
|
||||
&address.IsMain, &address.CityID, &address.ProvinceID, &address.BenefactorID,
|
||||
&address.Name, &address.CityID, &address.ProvinceID, &address.BenefactorID,
|
||||
&createdAt, &updatedAt)
|
||||
|
||||
return address, err
|
||||
|
|
|
@ -5,7 +5,7 @@ CREATE TABLE `addresses` (
|
|||
`address` TEXT NOT NULL,
|
||||
`lat` FLOAT,
|
||||
`lon` FLOAT,
|
||||
`is_main` BOOL NOT NULL DEFAULT FALSE,
|
||||
`name` VARCHAR(191) NOT NULL,
|
||||
`city_id` INT NOT NULL,
|
||||
`province_id` INT NOT NULL,
|
||||
`benefactor_id` INT NOT NULL,
|
||||
|
|
|
@ -14,6 +14,7 @@ func (s Service) Add(ctx context.Context, req param.BenefactorAddAddressRequest)
|
|||
address, err := s.repo.CreateBenefactorAddress(ctx, entity.Address{
|
||||
PostalCode: req.PostalCode,
|
||||
Address: req.Address,
|
||||
Name: req.Name,
|
||||
Lat: req.Lat,
|
||||
Lon: req.Lon,
|
||||
CityID: req.CityID,
|
||||
|
|
|
@ -15,21 +15,18 @@ func (v Validator) ValidateAddAddress(req param.BenefactorAddAddressRequest) (ma
|
|||
|
||||
validation.Field(&req.Address, validation.Required),
|
||||
|
||||
validation.Field(&req.BenefactorID,
|
||||
validation.Required,
|
||||
validation.Field(&req.BenefactorID, validation.Required,
|
||||
validation.By(v.doesBenefactorExist)),
|
||||
|
||||
validation.Field(&req.Lon,
|
||||
validation.Required),
|
||||
validation.Field(&req.Lon, validation.Required),
|
||||
|
||||
validation.Field(&req.Lat,
|
||||
validation.Required),
|
||||
validation.Field(&req.Lat, validation.Required),
|
||||
|
||||
validation.Field(&req.PostalCode,
|
||||
validation.Required,
|
||||
),
|
||||
validation.Field(&req.CityID,
|
||||
validation.Required,
|
||||
validation.Field(&req.Name, validation.Required),
|
||||
|
||||
validation.Field(&req.PostalCode, validation.Required),
|
||||
|
||||
validation.Field(&req.CityID, validation.Required,
|
||||
validation.By(v.doesCityExist)),
|
||||
); err != nil {
|
||||
|
||||
|
|
Loading…
Reference in New Issue