tangled
alpha
login
or
join now
edavis.dev
/
recordcollector
18
fork
atom
this repo has no description
18
fork
atom
overview
issues
3
pulls
pipelines
re-emit labels to "extend" the expiration date
Eric Davis
11 months ago
62f903b8
a4130b21
-33
1 changed file
expand all
collapse all
unified
split
cmd
recordcollector
main.go
-33
cmd/recordcollector/main.go
···
183
183
}
184
184
185
185
func (h *handler) addLabel(ctx context.Context, did, label string) error {
186
186
-
now := time.Now().UTC()
187
187
-
188
188
-
_, err := h.db.ExecContext(ctx, "delete from label where exp < ?", now.Unix())
189
189
-
if err != nil {
190
190
-
h.logger.Error("failed to trim expired labels", "err", err)
191
191
-
return fmt.Errorf("failed to trim expired labels: %w", err)
192
192
-
}
193
193
-
194
194
-
var uri string
195
195
-
checkQuery := "select uri from label where uri = ? and val = ?"
196
196
-
err = h.db.QueryRowContext(ctx, checkQuery, did, label).Scan(&uri)
197
197
-
if err == sql.ErrNoRows {
198
198
-
h.logger.Info("no existing labels found for did, adding", "did", did, "label", label)
199
199
-
} else if err != nil {
200
200
-
h.logger.Error("failed query for existing labels", "err", err)
201
201
-
return fmt.Errorf("failed query for existing labels: %w", err)
202
202
-
}
203
203
-
204
204
-
if uri != "" {
205
205
-
h.logger.Info("did already has label, skipping", "did", did, "label", label)
206
206
-
return nil
207
207
-
}
208
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
232
-
233
233
-
addQuery := "insert into label (uri, val, cts, exp) values (?, ?, ?, ?)"
234
234
-
// we set this to 28 days so a user can "re-up" a label within 48 hours
235
235
-
// of its expiration within the appview
236
236
-
exp := now.Add(time.Hour * 24 * 28)
237
237
-
_, err = h.db.ExecContext(ctx, addQuery, did, label, now.Unix(), exp.Unix())
238
238
-
if err != nil {
239
239
-
h.logger.Error("failed adding label to table", "err", err)
240
240
-
return fmt.Errorf("failed adding label to table: %w", err)
241
241
-
}
242
209
243
210
return nil
244
211
}