Skip to content

Commit

Permalink
Restructure infrastructure
Browse files Browse the repository at this point in the history
  • Loading branch information
emacsway committed Dec 18, 2023
1 parent 05a2612 commit 8d2c0d8
Show file tree
Hide file tree
Showing 44 changed files with 115 additions and 115 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ package artifact

import (
"github.com/emacsway/grade/grade/internal/domain/artifact"
"github.com/emacsway/grade/grade/internal/infrastructure"
competenceRepo "github.com/emacsway/grade/grade/internal/infrastructure/repositories/competence"
memberRepo "github.com/emacsway/grade/grade/internal/infrastructure/repositories/member"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

func NewArtifactFaker(
session infrastructure.DbSession,
session session.DbSession,
opts ...artifact.ArtifactFakerOption,
) *artifact.ArtifactFaker {
opts = append(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@ import (
artifactVal "github.com/emacsway/grade/grade/internal/domain/artifact/values"
"github.com/emacsway/grade/grade/internal/domain/seedwork/aggregate"
tenantVal "github.com/emacsway/grade/grade/internal/domain/tenant/values"
"github.com/emacsway/grade/grade/internal/infrastructure"
"github.com/emacsway/grade/grade/internal/infrastructure/repositories/artifact/queries"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/repository"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

func NewArtifactRepository(session infrastructure.DbSession) *ArtifactRepository {
func NewArtifactRepository(session session.DbSession) *ArtifactRepository {
return &ArtifactRepository{
session: session,
eventStore: repository.NewEventStore(session, "Artifact", eventQuery),
}
}

type ArtifactRepository struct {
session infrastructure.DbSession
session session.DbSession
eventStore *repository.EventStore
}

Expand All @@ -32,7 +32,7 @@ func (r *ArtifactRepository) NextId(tenantId tenantVal.TenantId) (artifactVal.Ar
return q.Get(r.session)
}

func eventQuery(iEvent aggregate.PersistentDomainEvent) (q infrastructure.EventSourcedQueryEvaluator) {
func eventQuery(iEvent aggregate.PersistentDomainEvent) (q session.EventSourcedQueryEvaluator) {
switch event := iEvent.(type) {
case *events.ArtifactProposed:
q = &queries.ArtifactProposedQuery{}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import (
"github.com/emacsway/grade/grade/internal/domain/member"
"github.com/emacsway/grade/grade/internal/domain/seedwork/aggregate"
"github.com/emacsway/grade/grade/internal/domain/tenant"
"github.com/emacsway/grade/grade/internal/infrastructure"
memberRepo "github.com/emacsway/grade/grade/internal/infrastructure/repositories/member"
tenantRepo "github.com/emacsway/grade/grade/internal/infrastructure/repositories/tenant"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/testutils"
)

Expand Down Expand Up @@ -77,7 +77,7 @@ func testGet(t *testing.T, repositoryOption RepositoryOption) {
type RepositoryOption struct {
Name string
Repository *ArtifactRepository
Session infrastructure.DbSession
Session session.DbSession
TenantId uint
MemberId uint
}
Expand All @@ -92,7 +92,7 @@ func newPostgresqlRepositoryOption(t *testing.T) RepositoryOption {
var tenantExp tenant.TenantExporter
db, err := testutils.NewTestDb()
require.NoError(t, err)
session := infrastructure.NewPgxSession(db)
session := session.NewPgxSession(db)
tf := tenantRepo.NewTenantFaker(session)
aTenant, err := tf.Create()
require.NoError(t, err)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ package queries

import (
"github.com/emacsway/grade/grade/internal/domain/artifact"
"github.com/emacsway/grade/grade/internal/infrastructure"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/repository"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

type ArtifactGetQuery struct {
repository.EventGetQuery
}

func (q *ArtifactGetQuery) Get(s infrastructure.DbSessionQuerier) (*artifact.Artifact, error) {
func (q *ArtifactGetQuery) Get(s session.DbSessionQuerier) (*artifact.Artifact, error) {
stream, err := q.Stream(s)
if err != nil {
return nil, err
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
artifactVal "github.com/emacsway/grade/grade/internal/domain/artifact/values"
"github.com/emacsway/grade/grade/internal/domain/seedwork/exporters"
tenantVal "github.com/emacsway/grade/grade/internal/domain/tenant/values"
"github.com/emacsway/grade/grade/internal/infrastructure"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

type ArtifactNextIdGetQuery struct {
Expand All @@ -23,7 +23,7 @@ func (q ArtifactNextIdGetQuery) tenantIdValue() uint {
return uint(tenantIdExp)
}

func (q *ArtifactNextIdGetQuery) Get(s infrastructure.DbSessionSingleQuerier) (artifactVal.ArtifactId, error) {
func (q *ArtifactNextIdGetQuery) Get(s session.DbSessionSingleQuerier) (artifactVal.ArtifactId, error) {
rec := &artifactVal.ArtifactIdReconstitutor{}
rec.TenantId = q.tenantIdValue()
err := s.QueryRow(q.sql()).Scan(&rec.ArtifactId)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import (
competenceVal "github.com/emacsway/grade/grade/internal/domain/competence/values"
memberVal "github.com/emacsway/grade/grade/internal/domain/member/values"
"github.com/emacsway/grade/grade/internal/domain/seedwork/exporters"
"github.com/emacsway/grade/grade/internal/infrastructure"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/repository"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

type ArtifactProposedQuery struct {
Expand Down Expand Up @@ -56,7 +56,7 @@ func (q *ArtifactProposedQuery) SetCreatedAt(val time.Time) {
q.payload.CreatedAt = val
}

func (q *ArtifactProposedQuery) Evaluate(s infrastructure.DbSession) (infrastructure.Result, error) {
func (q *ArtifactProposedQuery) Evaluate(s session.DbSession) (session.Result, error) {
q.EventInsertQuery.SetPayload(q.payload)
return q.EventInsertQuery.Evaluate(s)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ package competence

import (
"github.com/emacsway/grade/grade/internal/domain/competence"
"github.com/emacsway/grade/grade/internal/infrastructure"
memberRepo "github.com/emacsway/grade/grade/internal/infrastructure/repositories/member"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

func NewCompetenceFaker(
session infrastructure.DbSession,
session session.DbSession,
opts ...competence.CompetenceFakerOption,
) *competence.CompetenceFaker {
opts = append(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@ import (
"github.com/emacsway/grade/grade/internal/domain/competence/events"
competenceVal "github.com/emacsway/grade/grade/internal/domain/competence/values"
"github.com/emacsway/grade/grade/internal/domain/seedwork/aggregate"
"github.com/emacsway/grade/grade/internal/infrastructure"
"github.com/emacsway/grade/grade/internal/infrastructure/repositories/competence/queries"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

func NewCompetenceRepository(session infrastructure.DbSession) *CompetenceRepository {
func NewCompetenceRepository(session session.DbSession) *CompetenceRepository {
return &CompetenceRepository{
session: session,
}
}

type CompetenceRepository struct {
session infrastructure.DbSession
session session.DbSession
}

func (r *CompetenceRepository) Insert(agg *competence.Competence) error {
Expand Down Expand Up @@ -46,7 +46,7 @@ func (r *CompetenceRepository) save(agg *competence.Competence) error {
agg.ClearPendingDomainEvents()
return nil
}
func (r CompetenceRepository) eventQuery(iEvent aggregate.DomainEvent) (q infrastructure.QueryEvaluator) {
func (r CompetenceRepository) eventQuery(iEvent aggregate.DomainEvent) (q session.QueryEvaluator) {
switch event := iEvent.(type) {
case *events.CompetenceCreated:
q = &queries.CompetenceCreatedQuery{}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import (
competenceVal "github.com/emacsway/grade/grade/internal/domain/competence/values"
"github.com/emacsway/grade/grade/internal/domain/member"
"github.com/emacsway/grade/grade/internal/domain/tenant"
"github.com/emacsway/grade/grade/internal/infrastructure"
memberRepo "github.com/emacsway/grade/grade/internal/infrastructure/repositories/member"
tenantRepo "github.com/emacsway/grade/grade/internal/infrastructure/repositories/tenant"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/testutils"
)

Expand Down Expand Up @@ -98,7 +98,7 @@ func testGet(t *testing.T, repositoryOption RepositoryOption) {
type RepositoryOption struct {
Name string
Repository *CompetenceRepository
Session infrastructure.DbSession
Session session.DbSession
TenantId uint
MemberId uint
}
Expand All @@ -113,7 +113,7 @@ func newPostgresqlRepositoryOption(t *testing.T) RepositoryOption {
var tenantExp tenant.TenantExporter
db, err := testutils.NewTestDb()
require.NoError(t, err)
session := infrastructure.NewPgxSession(db)
session := session.NewPgxSession(db)
tf := tenantRepo.NewTenantFaker(session)
aTenant, err := tf.Create()
require.NoError(t, err)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
memberVal "github.com/emacsway/grade/grade/internal/domain/member/values"
"github.com/emacsway/grade/grade/internal/domain/seedwork/exporters"
tenantVal "github.com/emacsway/grade/grade/internal/domain/tenant/values"
"github.com/emacsway/grade/grade/internal/infrastructure"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

type CompetenceCreatedQuery struct {
Expand Down Expand Up @@ -61,7 +61,7 @@ func (q *CompetenceCreatedQuery) SetAggregateVersion(val uint) {
func (q *CompetenceCreatedQuery) SetEventType(val string) {
}

func (q *CompetenceCreatedQuery) Evaluate(s infrastructure.DbSession) (infrastructure.Result, error) {
func (q *CompetenceCreatedQuery) Evaluate(s session.DbSession) (session.Result, error) {
result, err := s.Exec(q.sql(), q.params[:]...)
if err != nil {
return result, err
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package queries
import (
"github.com/emacsway/grade/grade/internal/domain/competence"
competenceVal "github.com/emacsway/grade/grade/internal/domain/competence/values"
"github.com/emacsway/grade/grade/internal/infrastructure"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

type CompetenceGetQuery struct {
Expand All @@ -24,7 +24,7 @@ func (q CompetenceGetQuery) params() []any {
return []any{idExp.TenantId, idExp.CompetenceId}
}

func (q *CompetenceGetQuery) Get(s infrastructure.DbSessionSingleQuerier) (*competence.Competence, error) {
func (q *CompetenceGetQuery) Get(s session.DbSessionSingleQuerier) (*competence.Competence, error) {
rec := &competence.CompetenceReconstitutor{}
err := s.QueryRow(q.sql(), q.params()...).Scan(
&rec.Id.TenantId, &rec.Id.CompetenceId, &rec.Name, &rec.OwnerId.MemberId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
"github.com/emacsway/grade/grade/internal/domain/seedwork/aggregate"
"github.com/emacsway/grade/grade/internal/domain/seedwork/exporters"
tenantVal "github.com/emacsway/grade/grade/internal/domain/tenant/values"
"github.com/emacsway/grade/grade/internal/infrastructure"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

type NameUpdatedQuery struct {
Expand Down Expand Up @@ -49,7 +49,7 @@ func (q *NameUpdatedQuery) SetAggregateVersion(val uint) {
func (q *NameUpdatedQuery) SetEventType(val string) {
}

func (q *NameUpdatedQuery) Evaluate(s infrastructure.DbSession) (infrastructure.Result, error) {
func (q *NameUpdatedQuery) Evaluate(s session.DbSession) (session.Result, error) {
result, err := s.Exec(q.sql(), q.params[:]...)
if err != nil {
return result, err
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
"github.com/emacsway/grade/grade/internal/domain/seedwork/aggregate"
"github.com/emacsway/grade/grade/internal/domain/seedwork/exporters"
tenantVal "github.com/emacsway/grade/grade/internal/domain/tenant/values"
"github.com/emacsway/grade/grade/internal/infrastructure"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

/**
Expand Down Expand Up @@ -68,7 +68,7 @@ func (q *NameUpdatedQueryWithLock) SetName(val values.Name) {
func (q *NameUpdatedQueryWithLock) SetEventType(val string) {
}

func (q *NameUpdatedQueryWithLock) Evaluate(s infrastructure.DbSession) (infrastructure.Result, error) {
func (q *NameUpdatedQueryWithLock) Evaluate(s session.DbSession) (session.Result, error) {
result, err := s.Exec(q.sql(), q.params[:]...)
if err != nil {
return result, err
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
"github.com/emacsway/grade/grade/internal/domain/seedwork/aggregate"
"github.com/emacsway/grade/grade/internal/domain/seedwork/exporters"
tenantVal "github.com/emacsway/grade/grade/internal/domain/tenant/values"
"github.com/emacsway/grade/grade/internal/infrastructure"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

type OptimisticOfflineLockLockQuery struct {
Expand Down Expand Up @@ -56,7 +56,7 @@ func (q *OptimisticOfflineLockLockQuery) SetVersion(val uint) {
q.params[3] = val
}

func (q *OptimisticOfflineLockLockQuery) Evaluate(s infrastructure.DbSession) (infrastructure.Result, error) {
func (q *OptimisticOfflineLockLockQuery) Evaluate(s session.DbSession) (session.Result, error) {
result, err := s.Exec(q.sql(), q.params[:]...)
if err != nil {
return result, err
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ package endorser

import (
"github.com/emacsway/grade/grade/internal/domain/endorser"
"github.com/emacsway/grade/grade/internal/infrastructure"
memberRepo "github.com/emacsway/grade/grade/internal/infrastructure/repositories/member"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

func NewEndorserFaker(
session infrastructure.DbSession,
session session.DbSession,
opts ...endorser.EndorserFakerOption,
) *endorser.EndorserFaker {
opts = append(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@ import (

"github.com/emacsway/grade/grade/internal/domain/endorser"
memberVal "github.com/emacsway/grade/grade/internal/domain/member/values"
"github.com/emacsway/grade/grade/internal/infrastructure"
"github.com/emacsway/grade/grade/internal/infrastructure/repositories/endorser/queries"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

func NewEndorserRepository(session infrastructure.DbSession) *EndorserRepository {
func NewEndorserRepository(session session.DbSession) *EndorserRepository {
return &EndorserRepository{
session: session,
}
}

type EndorserRepository struct {
session infrastructure.DbSession
session session.DbSession
}

func (r EndorserRepository) Insert(agg *endorser.Endorser) error {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import (
"github.com/emacsway/grade/grade/internal/domain/member"
memberVal "github.com/emacsway/grade/grade/internal/domain/member/values"
"github.com/emacsway/grade/grade/internal/domain/tenant"
"github.com/emacsway/grade/grade/internal/infrastructure"
memberRepo "github.com/emacsway/grade/grade/internal/infrastructure/repositories/member"
tenantRepo "github.com/emacsway/grade/grade/internal/infrastructure/repositories/tenant"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/testutils"
)

Expand Down Expand Up @@ -78,7 +78,7 @@ func testInsert(t *testing.T, repositoryOption RepositoryOption) {
type RepositoryOption struct {
Name string
Repository *EndorserRepository
Session infrastructure.DbSession
Session session.DbSession
TenantId uint
MemberId uint
}
Expand All @@ -93,7 +93,7 @@ func newPostgresqlRepositoryOption(t *testing.T) RepositoryOption {
var tenantExp tenant.TenantExporter
db, err := testutils.NewTestDb()
require.NoError(t, err)
session := infrastructure.NewPgxSession(db)
session := session.NewPgxSession(db)
tenantFaker := tenantRepo.NewTenantFaker(session)
aTenant, err := tenantFaker.Create()
require.NoError(t, err)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
member "github.com/emacsway/grade/grade/internal/domain/member/values"
"github.com/emacsway/grade/grade/internal/domain/seedwork/exporters"
tenant "github.com/emacsway/grade/grade/internal/domain/tenant/values"
"github.com/emacsway/grade/grade/internal/infrastructure"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

type EndorserDeleteQuery struct {
Expand All @@ -29,6 +29,6 @@ func (q *EndorserDeleteQuery) SetMemberId(val member.InternalMemberId) {
q.params[1] = v
}

func (q *EndorserDeleteQuery) Evaluate(s infrastructure.DbSessionExecutor) (infrastructure.Result, error) {
func (q *EndorserDeleteQuery) Evaluate(s session.DbSessionExecutor) (session.Result, error) {
return s.Exec(q.sql(), q.params[:]...)
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package queries
import (
"github.com/emacsway/grade/grade/internal/domain/endorser"
memberVal "github.com/emacsway/grade/grade/internal/domain/member/values"
"github.com/emacsway/grade/grade/internal/infrastructure"
"github.com/emacsway/grade/grade/internal/infrastructure/seedwork/session"
)

type EndorserGetQuery struct {
Expand All @@ -25,7 +25,7 @@ func (q EndorserGetQuery) params() []any {
return []any{idExp.TenantId, idExp.MemberId}
}

func (q *EndorserGetQuery) Get(s infrastructure.DbSessionSingleQuerier) (*endorser.Endorser, error) {
func (q *EndorserGetQuery) Get(s session.DbSessionSingleQuerier) (*endorser.Endorser, error) {
rec := &endorser.EndorserReconstitutor{}
err := s.QueryRow(q.sql(), q.params()...).Scan(
&rec.Id.TenantId, &rec.Id.MemberId, &rec.Grade, &rec.AvailableEndorsementCount,
Expand Down
Loading

0 comments on commit 8d2c0d8

Please sign in to comment.