Merge remote-tracking branch 'upstream/main' into fix/status-content-types

This commit is contained in:
ewin 2025-03-05 19:01:06 -05:00
commit 5ecbda32af
No known key found for this signature in database
35 changed files with 1724 additions and 83 deletions

View file

@ -3080,3 +3080,39 @@ func (c *Converter) WebPushSubscriptionToAPIWebPushSubscription(
Standard: true,
}, nil
}
func (c *Converter) TokenToAPITokenInfo(
ctx context.Context,
token *gtsmodel.Token,
) (*apimodel.TokenInfo, error) {
createdAt, err := id.TimeFromULID(token.ID)
if err != nil {
err := gtserror.Newf("error parsing time from token id: %w", err)
return nil, err
}
var lastUsed string
if !token.LastUsed.IsZero() {
lastUsed = util.FormatISO8601(token.LastUsed)
}
application, err := c.state.DB.GetApplicationByClientID(ctx, token.ClientID)
if err != nil {
err := gtserror.Newf("db error getting application with client id %s: %w", token.ClientID, err)
return nil, err
}
apiApplication, err := c.AppToAPIAppPublic(ctx, application)
if err != nil {
err := gtserror.Newf("error converting application to api application: %w", err)
return nil, err
}
return &apimodel.TokenInfo{
ID: token.ID,
CreatedAt: util.FormatISO8601(createdAt),
LastUsed: lastUsed,
Scope: token.Scope,
Application: apiApplication,
}, nil
}