From b42469e4e06d82a0e458b94379e226257ba3ca6c Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Mon, 12 Sep 2022 13:14:29 +0200 Subject: [feature] Allow users to set custom css for their profiles + threads (#808) * add custom css account property + db func to fetch * allow account to get/set custom css * serve custom css for an account * go fmt * use monospace for customcss, add link * add custom css to account cache * fix broken field * add custom css docs to user guide * add `accounts-allow-custom-css` config flag * add allow custom css to /api/v1/instance response * only show/set custom css if allowed to do so * only set/serve custom account css if enabled * update swagger docs * chain promise * make bool a bit clearer * use cache for GetAccountCustomCSSByUsername --- internal/processing/account/get.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'internal/processing/account/get.go') diff --git a/internal/processing/account/get.go b/internal/processing/account/get.go index c558b52ed..7d373bc8c 100644 --- a/internal/processing/account/get.go +++ b/internal/processing/account/get.go @@ -55,6 +55,18 @@ func (p *processor) GetLocalByUsername(ctx context.Context, requestingAccount *g return p.getAccountFor(ctx, requestingAccount, targetAccount) } +func (p *processor) GetCustomCSSForUsername(ctx context.Context, username string) (string, gtserror.WithCode) { + customCSS, err := p.db.GetAccountCustomCSSByUsername(ctx, username) + if err != nil { + if err == db.ErrNoEntries { + return "", gtserror.NewErrorNotFound(errors.New("account not found")) + } + return "", gtserror.NewErrorInternalError(fmt.Errorf("db error: %s", err)) + } + + return customCSS, nil +} + func (p *processor) getAccountFor(ctx context.Context, requestingAccount *gtsmodel.Account, targetAccount *gtsmodel.Account) (*apimodel.Account, gtserror.WithCode) { var blocked bool var err error -- cgit v1.2.3