rentease/internal/service/booking/sync.go

27 lines
638 B
Go

package booking
import (
"github.com/rjNemo/rentease/internal/config"
)
func (bs Service) ParseFromAPI(rawContent string) (*Booking, error) {
b, err := bs.parser.Parse(rawContent)
if err != nil {
return nil, err
}
items := b.Items
b = bs.Create(b.From, b.To, b.Name, b.PhoneNumber, b.Email, string(b.Platform), b.CustomerNumber, b.PlatformFees, b.ExternalID)
hostItems := config.NewHost().Items
for _, itm := range items {
hostItem, ok := hostItems[itm.Item]
if !ok {
continue
}
bs.CreateItem(b.ID, hostItem, itm.Quantity, itm.Price, itm.PaymentMethod, b.CustomerNumber, string(b.Platform))
}
return b, nil
}