From 1ede54ddf6dfd2d4ba039eb7e23b74bcac65b643 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Wed, 8 Jun 2022 20:38:03 +0200 Subject: [feature] More consistent API error handling (#637) * update templates * start reworking api error handling * update template * return AP status at web endpoint if negotiated * start making api error handling much more consistent * update account endpoints to new error handling * use new api error handling in admin endpoints * go fmt ./... * use api error logic in app * use generic error handling in auth * don't export generic error handler * don't defer clearing session * user nicer error handling on oidc callback handler * tidy up the sign in handler * tidy up the token handler * use nicer error handling in blocksget * auth emojis endpoint * fix up remaining api endpoints * fix whoopsie during login flow * regenerate swagger docs * change http error logging to debug --- internal/processing/app.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'internal/processing/app.go') diff --git a/internal/processing/app.go b/internal/processing/app.go index f0d8755c1..2e13c07b9 100644 --- a/internal/processing/app.go +++ b/internal/processing/app.go @@ -23,12 +23,13 @@ import ( "github.com/google/uuid" apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model" + "github.com/superseriousbusiness/gotosocial/internal/gtserror" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/id" "github.com/superseriousbusiness/gotosocial/internal/oauth" ) -func (p *processor) AppCreate(ctx context.Context, authed *oauth.Auth, form *apimodel.ApplicationCreateRequest) (*apimodel.Application, error) { +func (p *processor) AppCreate(ctx context.Context, authed *oauth.Auth, form *apimodel.ApplicationCreateRequest) (*apimodel.Application, gtserror.WithCode) { // set default 'read' for scopes if it's not set var scopes string if form.Scopes == "" { @@ -40,13 +41,13 @@ func (p *processor) AppCreate(ctx context.Context, authed *oauth.Auth, form *api // generate new IDs for this application and its associated client clientID, err := id.NewRandomULID() if err != nil { - return nil, err + return nil, gtserror.NewErrorInternalError(err) } clientSecret := uuid.NewString() appID, err := id.NewRandomULID() if err != nil { - return nil, err + return nil, gtserror.NewErrorInternalError(err) } // generate the application to put in the database @@ -62,7 +63,7 @@ func (p *processor) AppCreate(ctx context.Context, authed *oauth.Auth, form *api // chuck it in the db if err := p.db.Put(ctx, app); err != nil { - return nil, err + return nil, gtserror.NewErrorInternalError(err) } // now we need to model an oauth client from the application that the oauth library can use @@ -70,17 +71,18 @@ func (p *processor) AppCreate(ctx context.Context, authed *oauth.Auth, form *api ID: clientID, Secret: clientSecret, Domain: form.RedirectURIs, - UserID: "", // This client isn't yet associated with a specific user, it's just an app client right now + // This client isn't yet associated with a specific user, it's just an app client right now + UserID: "", } // chuck it in the db if err := p.db.Put(ctx, oc); err != nil { - return nil, err + return nil, gtserror.NewErrorInternalError(err) } apiApp, err := p.tc.AppToAPIAppSensitive(ctx, app) if err != nil { - return nil, err + return nil, gtserror.NewErrorInternalError(err) } return apiApp, nil -- cgit v1.2.3