~bigbes/core-go

31fc9fce43e928cc1626fb30750ef61b30c824bd — Drew DeVault 5 years ago e1acd5a
Fetch user PGP key for meta.sr.ht
1 files changed, 15 insertions(+), 2 deletions(-)

M auth/middleware.go
M auth/middleware.go => auth/middleware.go +15 -2
@@ 68,6 68,9 @@ type AuthContext struct {
	SuspensionNotice *string
	AuthMethod       int

	// Only set for meta.sr.ht-api
	PGPKey *string

	// Only filled out if AuthMethod == AUTH_INTERNAL
	InternalAuth InternalAuth



@@ 417,6 420,11 @@ func LookupUser(ctx context.Context, username string, user *AuthContext) error {
			}).
			From(`"user" u`).
			Where(`u.username = ?`, username)
		if config.ServiceName(ctx) == "meta.sr.ht" {
			query = query.
				LeftJoin(`pgpkey p ON p.id = u.pgp_key_id`).
				Column(`p.key`)
		}
		if rows, err = query.RunWith(tx).Query(); err != nil {
			return err
		}


@@ 428,7 436,7 @@ func LookupUser(ctx context.Context, username string, user *AuthContext) error {
			}
			return FetchMetaProfile(ctx, username, user)
		}
		if err = rows.Scan(
		cols := []interface{}{
			&user.UserID, &user.Username,
			&user.Created, &user.Updated,
			&user.Email,


@@ 436,7 444,12 @@ func LookupUser(ctx context.Context, username string, user *AuthContext) error {
			&user.URL,
			&user.Location,
			&user.Bio,
			&user.SuspensionNotice); err != nil {
			&user.SuspensionNotice,
		}
		if config.ServiceName(ctx) == "meta.sr.ht" {
			cols = append(cols, &user.PGPKey)
		}
		if err = rows.Scan(cols...); err != nil {
			return err
		}
		if rows.Next() {