~bigbes/core-go

f44afb103ebf949577e34dfa99c641f3c33a3c0d — Simon Ser 4 years ago 76279c9
go fmt
M auth/bearer.go => auth/bearer.go +3 -3
@@ 88,9 88,9 @@ const (
type Grants struct {
	ReadOnly bool

	all      bool
	grants   map[string]string
	encoded  string
	all     bool
	grants  map[string]string
	encoded string
}

func DecodeGrants(ctx context.Context, grants string) Grants {

M auth/middleware.go => auth/middleware.go +1 -1
@@ 85,7 85,7 @@ func authError(w http.ResponseWriter, reason string, code int) {
	gqlerr := gqlerror.Errorf("Authentication error: %s", reason)
	b, err := json.Marshal(struct {
		Errors []*gqlerror.Error `json:"errors"`
	} {
	}{
		Errors: []*gqlerror.Error{gqlerr},
	})
	if err != nil {

M client/graphql.go => client/graphql.go +1 -1
@@ 50,7 50,7 @@ func Execute(ctx context.Context, username string, svc string,
		Name:     username,
		ClientID: config.ServiceName(ctx),
		// TODO: Populate this:
		NodeID:   "core-go",
		NodeID: "core-go",
	}
	authBlob, err := json.Marshal(&auth)
	if err != nil {

M cmd/token/main.go => cmd/token/main.go +1 -1
@@ 4,9 4,9 @@ import (
	"fmt"
	"os"

	"git.sr.ht/~sircmpwn/core-go/auth"
	"git.sr.ht/~sircmpwn/core-go/config"
	"git.sr.ht/~sircmpwn/core-go/crypto"
	"git.sr.ht/~sircmpwn/core-go/auth"
)

func main() {

M config/config.go => config/config.go +4 -4
@@ 38,10 38,10 @@ func LoadConfig(defaultAddr string) ini.File {
	}

	for _, path := range []string{
			"config.ini",
			"../config.ini",
			"/etc/sr.ht/config.ini",
		} {
		"config.ini",
		"../config.ini",
		"/etc/sr.ht/config.ini",
	} {
		config, err = ini.LoadFile(path)
		if err == nil {
			break

M email/send.go => email/send.go +1 -1
@@ 7,9 7,9 @@ import (
	"net/mail"
	"strconv"

	_ "github.com/emersion/go-message/charset"
	"github.com/emersion/go-sasl"
	"github.com/emersion/go-smtp"
	_ "github.com/emersion/go-message/charset"

	"git.sr.ht/~sircmpwn/core-go/config"
)

M email/worker.go => email/worker.go +1 -1
@@ 13,10 13,10 @@ import (
	"time"

	"git.sr.ht/~sircmpwn/dowork"
	_ "github.com/emersion/go-message/charset"
	"github.com/emersion/go-message/mail"
	"github.com/emersion/go-pgpmail"
	"golang.org/x/crypto/openpgp"
	_ "github.com/emersion/go-message/charset"

	"git.sr.ht/~sircmpwn/core-go/config"
)

M server/email.go => server/email.go +1 -1
@@ 5,9 5,9 @@ import (
	"errors"
	"fmt"
	"log"
	gomail "net/mail"
	"runtime"
	"strings"
	gomail "net/mail"

	"github.com/99designs/gqlgen/graphql"
	"github.com/emersion/go-message/mail"

M webhooks/config.go => webhooks/config.go +1 -1
@@ 41,7 41,7 @@ func NewAuthConfig(ctx context.Context) (AuthConfig, error) {
			_clientID := user.BearerToken.ClientID
			clientID = &_clientID
		}
		return AuthConfig {
		return AuthConfig{
			AuthMethod: user.AuthMethod,
			TokenHash:  &tokenHash,
			Grants:     &grants,

M webhooks/legacy.go => webhooks/legacy.go +1 -1
@@ 13,8 13,8 @@ import (
	"time"

	"git.sr.ht/~sircmpwn/dowork"
	"github.com/google/uuid"
	sq "github.com/Masterminds/squirrel"
	"github.com/google/uuid"

	"git.sr.ht/~sircmpwn/core-go/crypto"
	"git.sr.ht/~sircmpwn/core-go/database"

M webhooks/legacy_test.go => webhooks/legacy_test.go +4 -4
@@ 11,9 11,9 @@ import (
	"time"

	"github.com/DATA-DOG/go-sqlmock"
	sq "github.com/Masterminds/squirrel"
	"github.com/stretchr/testify/assert"
	"github.com/vaughan0/go-ini"
	sq "github.com/Masterminds/squirrel"

	"git.sr.ht/~sircmpwn/core-go/crypto"
	"git.sr.ht/~sircmpwn/core-go/database"


@@ 39,7 39,7 @@ type argContains struct {
	matches []string
}

func ArgMatchesAll(matches... string) *argContains {
func ArgMatchesAll(matches ...string) *argContains {
	return &argContains{matches}
}



@@ 100,7 100,7 @@ func TestDelivery(t *testing.T) {
		WillReturnRows(sqlmock.NewRows([]string{
			"sub.id", "sub.created", "sub.url", "sub.events",
		}).AddRow(1337, time.Now().UTC(),
			srv.URL + "/webhook", "profile:update")).
						srv.URL+"/webhook", "profile:update")).
		WithArgs(42, sqlmock.AnyArg()) // Any => events LIKE %profile:update%
	mock.ExpectCommit()



@@ 132,7 132,7 @@ func TestDelivery(t *testing.T) {
				"X-Webhook-Delivery",
			), // Final request headers
			4096).
			WillReturnResult(sqlmock.NewResult(1, 1))
		WillReturnResult(sqlmock.NewResult(1, 1))
	mock.ExpectCommit()

	ctx = database.Context(context.Background(), db)

M webhooks/queue.go => webhooks/queue.go +5 -5
@@ 14,8 14,8 @@ import (

	"git.sr.ht/~sircmpwn/dowork"
	"github.com/99designs/gqlgen/graphql"
	"github.com/google/uuid"
	sq "github.com/Masterminds/squirrel"
	"github.com/google/uuid"

	"git.sr.ht/~sircmpwn/core-go/auth"
	"git.sr.ht/~sircmpwn/core-go/crypto"


@@ 28,9 28,9 @@ type WebhookQueue struct {
}

type WebhookSubscription struct {
	ID         int
	URL        string
	Query      string
	ID    int
	URL   string
	Query string
	// See AuthConfig in webhooks/config.go for an explanation of these fields
	AuthMethod string
	TokenHash  *string


@@ 120,7 120,7 @@ func (queue *WebhookQueue) fetchSubscriptions(ctx context.Context,
	var subs []*WebhookSubscription
	if err := database.WithTx(ctx, &sql.TxOptions{
		Isolation: 0,
		ReadOnly: true,
		ReadOnly:  true,
	}, func(tx *sql.Tx) error {
		var (
			err  error