this repo has no description

re-emit labels to "extend" the expiration date

Changed files
-33
cmd
recordcollector
-33
cmd/recordcollector/main.go
··· 183 183 } 184 184 185 185 func (h *handler) addLabel(ctx context.Context, did, label string) error { 186 - now := time.Now().UTC() 187 - 188 - _, err := h.db.ExecContext(ctx, "delete from label where exp < ?", now.Unix()) 189 - if err != nil { 190 - h.logger.Error("failed to trim expired labels", "err", err) 191 - return fmt.Errorf("failed to trim expired labels: %w", err) 192 - } 193 - 194 - var uri string 195 - checkQuery := "select uri from label where uri = ? and val = ?" 196 - err = h.db.QueryRowContext(ctx, checkQuery, did, label).Scan(&uri) 197 - if err == sql.ErrNoRows { 198 - h.logger.Info("no existing labels found for did, adding", "did", did, "label", label) 199 - } else if err != nil { 200 - h.logger.Error("failed query for existing labels", "err", err) 201 - return fmt.Errorf("failed query for existing labels: %w", err) 202 - } 203 - 204 - if uri != "" { 205 - h.logger.Info("did already has label, skipping", "did", did, "label", label) 206 - return nil 207 - } 208 - 209 186 var labelDuration int64 = 24 * 30 210 187 input := &toolsozone.ModerationEmitEvent_Input{ 211 188 CreatedBy: RecordCollectorDid, ··· 229 206 return fmt.Errorf("failed to add label: %w", err) 230 207 } 231 208 h.logger.Info("added label", "view", view) 232 - 233 - addQuery := "insert into label (uri, val, cts, exp) values (?, ?, ?, ?)" 234 - // we set this to 28 days so a user can "re-up" a label within 48 hours 235 - // of its expiration within the appview 236 - exp := now.Add(time.Hour * 24 * 28) 237 - _, err = h.db.ExecContext(ctx, addQuery, did, label, now.Unix(), exp.Unix()) 238 - if err != nil { 239 - h.logger.Error("failed adding label to table", "err", err) 240 - return fmt.Errorf("failed adding label to table: %w", err) 241 - } 242 209 243 210 return nil 244 211 }