···
func (h *handler) addLabel(ctx context.Context, did, label string) error {
186
-
now := time.Now().UTC()
188
-
_, err := h.db.ExecContext(ctx, "delete from label where exp < ?", now.Unix())
190
-
h.logger.Error("failed to trim expired labels", "err", err)
191
-
return fmt.Errorf("failed to trim expired labels: %w", err)
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)
205
-
h.logger.Info("did already has label, skipping", "did", did, "label", label)
var labelDuration int64 = 24 * 30
input := &toolsozone.ModerationEmitEvent_Input{
CreatedBy: RecordCollectorDid,
···
return fmt.Errorf("failed to add label: %w", err)
h.logger.Info("added label", "view", view)
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())
239
-
h.logger.Error("failed adding label to table", "err", err)
240
-
return fmt.Errorf("failed adding label to table: %w", err)