Commit badfa91

Eric Bower  ·  2026-07-23 11:29:57 -0400 EDT
parent 4902f05
chore(pgs): service now requires pico+
1 files changed,  +12, -18
+12, -18
 1@@ -255,24 +255,15 @@ func (h *UploadAssetHandler) findDenylist(bucket storage.Bucket, project *db.Pro
 2 	return str, nil
 3 }
 4 
 5-func findPlusFF(dbpool pgsdb.PgsDB, cfg *PgsConfig, userID string) *db.FeatureFlag {
 6-	ff, _ := dbpool.FindFeature(userID, "plus")
 7-	// we have free tiers so users might not have a feature flag
 8-	// in which case we set sane defaults
 9-	if ff == nil {
10-		ff = db.NewFeatureFlag(
11-			userID,
12-			"plus",
13-			cfg.MaxSize,
14-			cfg.MaxAssetSize,
15-			cfg.MaxSpecialFileSize,
16-		)
17+func findPlusFF(dbpool pgsdb.PgsDB, userID string) (*db.FeatureFlag, error) {
18+	ff, err := dbpool.FindFeature(userID, "plus")
19+	if err != nil {
20+		return nil, err
21+	}
22+	if !ff.IsValid() {
23+		return nil, fmt.Errorf("your pico+ has expired")
24 	}
25-	// this is jank
26-	ff.Data.StorageMax = ff.FindStorageMax(cfg.MaxSize)
27-	ff.Data.FileMax = ff.FindFileMax(cfg.MaxAssetSize)
28-	ff.Data.SpecialFileMax = ff.FindSpecialFileMax(cfg.MaxSpecialFileSize)
29-	return ff
30+	return ff, nil
31 }
32 
33 func mtimeToTime(entry *sendutils.FileEntry) time.Time {
34@@ -343,7 +334,10 @@ func (h *UploadAssetHandler) Write(s *pssh.SSHServerConnSession, entry *sendutil
35 		return "", err
36 	}
37 
38-	featureFlag := findPlusFF(h.Cfg.DB, h.Cfg, user.ID)
39+	featureFlag, err := findPlusFF(h.Cfg.DB, user.ID)
40+	if err != nil {
41+		return "", err
42+	}
43 	if !featureFlag.IsValid() && pgsdb.IsProjectPrivate(projectName) {
44 		return "", fmt.Errorf("private projects are only allowed for pico+ users")
45 	}