| 1234567891011121314151617181920212223242526272829 |
- // +build ee
- package usage
- import (
- "errors"
- "github.com/porter-dev/porter/api/types"
- "github.com/porter-dev/porter/internal/models"
- "github.com/porter-dev/porter/internal/repository"
- "gorm.io/gorm"
- )
- func GetLimit(repo repository.Repository, proj *models.Project) (limit *types.ProjectUsage, err error) {
- // query for the project limit; if not found, no limits
- limitModel, err := repo.ProjectUsage().ReadProjectUsage(proj.ID)
- if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
- // place existing users without usage on enterprise plan
- copyBasic := types.EnterprisePlan
- limit = ©Basic
- } else if err != nil {
- return nil, err
- } else {
- limit = limitModel.ToProjectUsageType()
- }
- return limit, nil
- }
|