add purchase resource in model catalog
This commit is contained in:
@@ -35,18 +35,6 @@ func (abs *PricedResource) GetCreatorID() string {
|
||||
return abs.CreatorID
|
||||
}
|
||||
|
||||
func (abs *PricedResource) SetStartUsage(start time.Time) {
|
||||
if abs.UsageStart == nil {
|
||||
abs.UsageStart = &start
|
||||
}
|
||||
}
|
||||
|
||||
func (abs *PricedResource) SetEndUsage(end time.Time) {
|
||||
if abs.UsageEnd == nil {
|
||||
abs.UsageEnd = &end
|
||||
}
|
||||
}
|
||||
|
||||
func (abs *PricedResource) IsPurchased() bool {
|
||||
if abs.SelectedPricing == nil {
|
||||
return false
|
||||
@@ -86,11 +74,20 @@ func (abs *PricedResource) GetExplicitDurationInS() float64 {
|
||||
|
||||
func (r *PricedResource) GetPrice() (float64, error) {
|
||||
fmt.Println("GetPrice", r.UsageStart, r.UsageEnd)
|
||||
if r.UsageStart == nil || r.UsageEnd == nil {
|
||||
return 0, errors.New("usage start and end must be set")
|
||||
now := time.Now()
|
||||
if r.UsageStart == nil {
|
||||
r.UsageStart = &now
|
||||
}
|
||||
if r.SelectedPricing == nil {
|
||||
return 0, errors.New("selected pricing must be set")
|
||||
if r.UsageEnd == nil {
|
||||
add := r.UsageStart.Add(time.Duration(1 * time.Hour))
|
||||
r.UsageEnd = &add
|
||||
}
|
||||
return (*r.SelectedPricing).GetPrice(1, 0, *r.UsageStart, *r.UsageEnd)
|
||||
pricing := *r.SelectedPricing
|
||||
if pricing == nil {
|
||||
if len(r.PricingProfiles) == 0 {
|
||||
return 0, errors.New("pricing profile must be set")
|
||||
}
|
||||
pricing = r.PricingProfiles[0]
|
||||
}
|
||||
return pricing.GetPrice(1, 0, *r.UsageStart, *r.UsageEnd)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user