func getDirectoryCost()

in internal/repo/pricing.go [93:112]


func getDirectoryCost(location Location, sizeStandard, sizeNearline, sizeColdline, sizeArchive int64) (float64, error) {
	var totalCost float64 = 0

	costMap, ok := locationPricing[location]
	if !ok {
		return 0, errors.New("invalid location")
	}

	classes := []StorageClass{StorageStandard, StorageNearline, StorageColdline, StorageArchive}
	sizes := []int64{sizeStandard, sizeNearline, sizeColdline, sizeArchive}

	for i, size := range sizes {
		cost, err := getPrice(costMap, classes[i], size)
		if err != nil {
			return 0, err
		}
		totalCost += cost
	}
	return totalCost, nil
}