37 lines
655 B
Go
37 lines
655 B
Go
package dto
|
|
|
|
import (
|
|
"errors"
|
|
"time"
|
|
|
|
"quyun/v2/app/requests"
|
|
"quyun/v2/database/models"
|
|
)
|
|
|
|
type TenantFilter struct {
|
|
requests.Pagination
|
|
requests.SortQueryFilter
|
|
|
|
Name *string `json:"name,omitempty"`
|
|
}
|
|
|
|
type TenantItem struct {
|
|
*models.Tenant
|
|
|
|
UserCount int64
|
|
UserBalance int64
|
|
}
|
|
|
|
type TenantExpireUpdateForm struct {
|
|
Duration int `json:"duration" validate:"required,oneof=7 30 90 180 365"`
|
|
}
|
|
|
|
// Duration
|
|
func (form *TenantExpireUpdateForm) ParseDuration() (time.Duration, error) {
|
|
duration := time.Duration(form.Duration) * 24 * time.Hour
|
|
if duration == 0 {
|
|
return 0, errors.New("invalid parsed duration")
|
|
}
|
|
return duration, nil
|
|
}
|