GetDeviceCodeSessionByRequestID returns a device code session from the database. Implements FositeStorer.
(ctx context.Context, requestID string, session fosite.Session)
| 238 | |
| 239 | // GetDeviceCodeSessionByRequestID returns a device code session from the database. Implements FositeStorer. |
| 240 | func (p *Persister) GetDeviceCodeSessionByRequestID(ctx context.Context, requestID string, session fosite.Session) (_ fosite.DeviceRequester, deviceCodeSignature string, err error) { |
| 241 | ctx, span := p.r.Tracer(ctx).Tracer().Start(ctx, "persistence.sql.GetDeviceCodeSessionByRequestID") |
| 242 | defer otelx.End(span, &err) |
| 243 | |
| 244 | r := DeviceRequestSQL{} |
| 245 | if err = p.QueryWithNetwork(ctx).Where("request_id = ?", requestID).First(&r); errors.Is(err, sql.ErrNoRows) { |
| 246 | return nil, "", errors.WithStack(fosite.ErrNotFound) |
| 247 | } else if err != nil { |
| 248 | return nil, "", sqlcon.HandleError(err) |
| 249 | } |
| 250 | |
| 251 | if !r.DeviceCodeActive { |
| 252 | fr, err := r.toRequest(ctx, session, p) |
| 253 | if err != nil { |
| 254 | return nil, "", err |
| 255 | } |
| 256 | return fr, r.ID, errors.WithStack(fosite.ErrInactiveToken) |
| 257 | } |
| 258 | |
| 259 | fr, err := r.toRequest(ctx, session, p) |
| 260 | if err != nil { |
| 261 | return nil, "", err |
| 262 | } |
| 263 | return fr, r.ID, nil |
| 264 | } |
| 265 | |
| 266 | // UpdateDeviceCodeSessionBySignature updates a device code session by the device_code signature. Implements FositeStorer. |
| 267 | func (p *Persister) UpdateDeviceCodeSessionBySignature(ctx context.Context, signature string, requester fosite.DeviceRequester) (err error) { |
nothing calls this directly
no test coverage detected