MCPcopy Create free account
hub / github.com/bytebase/bytebase / loadSubscriptionFromDB

Method loadSubscriptionFromDB

backend/enterprise/license.go:236–272  ·  view source on GitHub ↗
(ctx context.Context, workspaceID string)

Source from the content-addressed store, hash-verified

234}
235
236func (s *LicenseService) loadSubscriptionFromDB(ctx context.Context, workspaceID string) *v1pb.Subscription {
237 setting, err := s.store.GetSystemSetting(ctx, workspaceID)
238 if err != nil {
239 slog.Debug("failed to get system setting", log.BBError(err))
240 return defaultFreeSubscription
241 }
242
243 if setting.License == "" {
244 return defaultFreeSubscription
245 }
246
247 subscription, err := s.parseLicense(setting.License, workspaceID)
248 if err != nil {
249 slog.Debug("failed to parse enterprise license", log.BBError(err))
250 return defaultFreeSubscription
251 }
252
253 slog.Debug(
254 "Load valid license",
255 slog.String("workspace", workspaceID),
256 slog.String("plan", subscription.Plan.String()),
257 slog.Time("expiresAt", subscription.ExpiresTime.AsTime()),
258 slog.Int("activeInstances", int(subscription.ActiveInstances)),
259 slog.Int("instances", int(subscription.Instances)),
260 slog.Int("seats", int(subscription.Seats)),
261 )
262
263 // Switch to free plan if the subscription is expired.
264 if isExpired(subscription) {
265 return &v1pb.Subscription{
266 Plan: v1pb.PlanType_FREE,
267 ExpiresTime: subscription.ExpiresTime,
268 }
269 }
270
271 return subscription
272}
273
274func isExpired(sub *v1pb.Subscription) bool {
275 if sub == nil {

Callers 1

LoadSubscriptionMethod · 0.95

Calls 7

parseLicenseMethod · 0.95
BBErrorFunction · 0.92
isExpiredFunction · 0.85
GetSystemSettingMethod · 0.80
DebugMethod · 0.80
StringMethod · 0.65
IntMethod · 0.45

Tested by

no test coverage detected