(code string)
| 117 | } |
| 118 | |
| 119 | func (s *storage) LoadAuthorize(code string) (data *osin.AuthorizeData, err error) { |
| 120 | var ( |
| 121 | authorizationCode *ttnpb.OAuthAuthorizationCode |
| 122 | client *ttnpb.Client |
| 123 | ) |
| 124 | err = s.store.Transact(s.ctx, func(ctx context.Context, st oauth_store.Interface) (err error) { |
| 125 | authorizationCode, err = st.GetAuthorizationCode(ctx, code) |
| 126 | if err != nil { |
| 127 | return err |
| 128 | } |
| 129 | client, err = st.GetClient(ctx, authorizationCode.ClientIds, nil) |
| 130 | if err != nil { |
| 131 | return err |
| 132 | } |
| 133 | return nil |
| 134 | }) |
| 135 | if err != nil { |
| 136 | return nil, err |
| 137 | } |
| 138 | var expiresIn int32 |
| 139 | if expiresAt := ttnpb.StdTime(authorizationCode.ExpiresAt); expiresAt != nil { |
| 140 | expiresIn = int32(expiresAt.Sub(*ttnpb.StdTime(authorizationCode.CreatedAt)).Seconds()) |
| 141 | } |
| 142 | return &osin.AuthorizeData{ |
| 143 | Client: osinClient{client}, |
| 144 | Code: code, |
| 145 | ExpiresIn: expiresIn, |
| 146 | Scope: rightsToScope(authorizationCode.Rights...), |
| 147 | RedirectUri: authorizationCode.RedirectUri, |
| 148 | State: authorizationCode.State, |
| 149 | CreatedAt: *ttnpb.StdTime(authorizationCode.CreatedAt), |
| 150 | UserData: userData{ |
| 151 | UserSessionIdentifiers: &ttnpb.UserSessionIdentifiers{ |
| 152 | UserIds: authorizationCode.UserIds, |
| 153 | SessionId: authorizationCode.UserSessionId, |
| 154 | }, |
| 155 | }, |
| 156 | }, nil |
| 157 | } |
| 158 | |
| 159 | func (s *storage) RemoveAuthorize(code string) error { |
| 160 | return s.store.Transact(s.ctx, func(ctx context.Context, st oauth_store.Interface) error { |
nothing calls this directly
no test coverage detected