- rename Go module, binary, systemd unit, PG_DATABASE default, frontend package and docs from shared-album to galo - add theme-aware halo emblem and favicon (new ui-branding capability) - add make build-release (versioned, stripped, static binary) and run the binary from the repo root
20 lines
701 B
Go
20 lines
701 B
Go
package members
|
|
|
|
import (
|
|
"context"
|
|
|
|
"galo/internal/models"
|
|
)
|
|
|
|
// Repository is the persistence contract for the members domain.
|
|
type Repository interface {
|
|
Role(ctx context.Context, albumID, userID string) (string, error)
|
|
List(ctx context.Context, albumID string) ([]models.AlbumMember, error)
|
|
Add(ctx context.Context, albumID, userID, role string, invitedBy *string) error
|
|
UpdateRole(ctx context.Context, albumID, userID, role string) error
|
|
Remove(ctx context.Context, albumID, userID string) error
|
|
CreateInvite(ctx context.Context, inv *models.Invite) error
|
|
GetInviteByToken(ctx context.Context, token string) (*models.Invite, error)
|
|
IncrementUses(ctx context.Context, id string) error
|
|
}
|