You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
logger.WithError(err).Errorf("Failed to insert Invoice usage record into the db.")
300
+
returnnil, status.Errorf(codes.Internal, "Failed to insert Invoice into usage records.")
301
+
}
302
+
303
+
logger.WithField("usage_id", usage.ID).Infof("Inserted usage record into database for %f credits against %s attribution", usage.CreditCents.ToCredits(), usage.AttributionID)
logger.Errorf("Invoice %s did not contain any lines so we cannot extract quantity to reflect it in usage.", invoice.ID)
307
-
returnnil, status.Errorf(codes.Internal, "Invoice did not contain any lines.")
322
+
returndb.Usage{}, status.Errorf(codes.Internal, "Invoice did not contain any lines.")
308
323
}
309
324
310
325
lines:=invoice.Lines.Data
311
-
iflen(lines) !=1 {
312
-
logger.Error("Invoice did not contain exactly 1 line item, we cannot extract quantity to reflect in usage.")
313
-
returnnil, status.Errorf(codes.Internal, "Invoice did not contain exactly one line item.")
326
+
varcreditsOnInvoiceint64
327
+
for_, line:=rangelines {
328
+
creditsOnInvoice+=line.Quantity
314
329
}
315
330
316
-
creditsOnInvoice:=lines[0].Quantity
317
-
318
-
usage:= db.Usage{
331
+
return db.Usage{
319
332
ID: uuid.New(),
320
333
AttributionID: attributionID,
321
334
Description: fmt.Sprintf("Invoice %s finalized in Stripe", invoice.ID),
@@ -325,16 +338,7 @@ func (s *BillingService) FinalizeInvoice(ctx context.Context, in *v1.FinalizeInv
325
338
Kind: db.InvoiceUsageKind,
326
339
Draft: false,
327
340
Metadata: nil,
328
-
}
329
-
err=db.InsertUsage(ctx, s.conn, usage)
330
-
iferr!=nil {
331
-
logger.WithError(err).Errorf("Failed to insert Invoice usage record into the db.")
332
-
returnnil, status.Errorf(codes.Internal, "Failed to insert Invoice into usage records.")
333
-
}
334
-
335
-
logger.WithField("usage_id", usage.ID).Infof("Inserted usage record into database for %d credits against %s attribution", creditsOnInvoice, attributionID)
0 commit comments