package graph import ( "context" "forge.cadoles.com/Cadoles/guesstimate/internal/model" "forge.cadoles.com/Cadoles/guesstimate/internal/orm" "forge.cadoles.com/Cadoles/guesstimate/internal/session" "github.com/jinzhu/gorm" "github.com/pkg/errors" "gitlab.com/wpetit/goweb/middleware/container" ) func getDB(ctx context.Context) (*gorm.DB, error) { ctn, err := container.From(ctx) if err != nil { return nil, errors.WithStack(err) } orm, err := orm.From(ctn) if err != nil { return nil, errors.WithStack(err) } return orm.DB(), nil } func getSessionUser(ctx context.Context) (*model.User, *gorm.DB, error) { db, err := getDB(ctx) if err != nil { return nil, nil, errors.WithStack(err) } userEmail, err := session.UserEmail(ctx) if err != nil { return nil, nil, errors.WithStack(err) } repo := model.NewUserRepository(db) user, err := repo.FindUserByEmail(ctx, userEmail) if err != nil { return nil, nil, errors.WithStack(err) } return user, db, nil }