Documentation
¶
Index ¶
- Constants
- func SetupDIContainer(c *dig.Container) error
- type FirebaseAuthVerifier
- type FirestorePostRepository
- type FirestoreUserRepository
- type Post
- type PostID
- type PostRepository
- type PostService
- type Services
- type User
- type UserGrade
- type UserID
- type UserRepository
- type UserService
- type Verifier
Constants ¶
View Source
const (
InvalidUserID = UserID("")
)
Variables ¶
This section is empty.
Functions ¶
func SetupDIContainer ¶
Types ¶
type FirebaseAuthVerifier ¶
type FirebaseAuthVerifier struct {
// contains filtered or unexported fields
}
type FirestorePostRepository ¶
type FirestorePostRepository struct {
// contains filtered or unexported fields
}
type FirestoreUserRepository ¶
type FirestoreUserRepository struct {
// contains filtered or unexported fields
}
type Post ¶
type Post struct { ID PostID `firestore:"-"` AuthorUserID UserID `firestore:"authorUserId"` ThumbnailURL string `firestore:"thumbnailUrl"` ImageURLs []string `firestore:"imageUrls"` Tags []string `firestore:"tags"` Likes int `firestore:"likes"` CreatedAt time.Time `firestore:"createdAt"` UpdatedAt time.Time `firestore:"updatedAt"` }
type PostRepository ¶
type PostRepository interface { Create(context.Context, *Post) error CountAll(context.Context) (int, error) }
func NewFirestorePostRepository ¶
func NewFirestorePostRepository(store *firestore.Client) PostRepository
type PostService ¶
type PostService struct {
// contains filtered or unexported fields
}
func NewPostService ¶
func NewPostService(repo PostRepository) *PostService
type Services ¶
type Services struct { dig.In User *UserService Post *PostService }
type UserRepository ¶
type UserRepository interface { Get(ctx context.Context, id UserID) (*User, error) Create(ctx context.Context, u *User) error }
func NewFirestoreUserRepository ¶
func NewFirestoreUserRepository(store *firestore.Client) UserRepository
type UserService ¶
type UserService struct {
// contains filtered or unexported fields
}
func NewUserService ¶
func NewUserService(repo UserRepository) *UserService
Click to show internal directories.
Click to hide internal directories.