[feature] Web profile pages for accounts (#449)

* add default avatars

* allow webModule to error

* return errWithCode from account get

* add AccountGetLocalByUsername

* check nil requesting account

* add timestampShort function for just month/year

* move loading logic to New + add default avatars

* add profile page view

* update swagger docs

* add excludeReblogs to GetAccountStatuses

* ignore casing when selecting local account by username

* appropriate redirects

* css fiddling

* add 'about' heading

* adjust thread page to work with routing

* return AP representation if requested + authorized

* simplify auth check

* go fmt

* golangci-lint ignore math/rand
This commit is contained in:
tobi 2022-04-15 14:33:01 +02:00 committed by GitHub
commit 26683b3d49
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 1484 additions and 88 deletions

View file

@ -148,6 +148,12 @@ var Start action.GTSAction = func(ctx context.Context) error {
return fmt.Errorf("error creating oidc idp: %s", err)
}
// build web module
webModule, err := web.New(processor)
if err != nil {
return fmt.Errorf("error creating web module: %s", err)
}
// build client api modules
authModule := auth.New(dbService, oauthServer, idp)
accountModule := account.New(processor)
@ -156,7 +162,6 @@ var Start action.GTSAction = func(ctx context.Context) error {
followRequestsModule := followrequest.New(processor)
webfingerModule := webfinger.New(processor)
nodeInfoModule := nodeinfo.New(processor)
webBaseModule := web.New(processor)
usersModule := user.New(processor)
timelineModule := timeline.New(processor)
notificationModule := notification.New(processor)
@ -179,8 +184,10 @@ var Start action.GTSAction = func(ctx context.Context) error {
securityModule,
authModule,
// now the web module
webModule,
// now everything else
webBaseModule,
accountModule,
instanceModule,
appsModule,

View file

@ -95,6 +95,12 @@ var Start action.GTSAction = func(ctx context.Context) error {
return fmt.Errorf("error creating oidc idp: %s", err)
}
// build web module
webModule, err := web.New(processor)
if err != nil {
return fmt.Errorf("error creating web module: %s", err)
}
// build client api modules
authModule := auth.New(dbService, oauthServer, idp)
accountModule := account.New(processor)
@ -103,7 +109,6 @@ var Start action.GTSAction = func(ctx context.Context) error {
followRequestsModule := followrequest.New(processor)
webfingerModule := webfinger.New(processor)
nodeInfoModule := nodeinfo.New(processor)
webBaseModule := web.New(processor)
usersModule := user.New(processor)
timelineModule := timeline.New(processor)
notificationModule := notification.New(processor)
@ -126,8 +131,10 @@ var Start action.GTSAction = func(ctx context.Context) error {
securityModule,
authModule,
// now the web module
webModule,
// now everything else
webBaseModule,
accountModule,
instanceModule,
appsModule,