1.3 KiB
1.3 KiB
Guidelines on Repository
Basic structure of repository for entity with workspace
import "git.metadiv.io/metadiv-studio/metaorm"
func NewWorkspaceMemberLimitRepository(db metaorm.Database, workspaceId uint) WorkspaceMemberLimitRepository {
return &WorkspaceMemberLimitRepositoryImpl{
WorkspaceRepositoryImpl: metaorm.NewWorkspaceRepositoryImpl[WorkspaceMemberLimit](db, workspaceId),
}
}
type WorkspaceMemberLimitRepository interface {
metaorm.WorkspaceRepository[WorkspaceMemberLimit]
}
type WorkspaceMemberLimitRepositoryImpl struct {
metaorm.WorkspaceRepositoryImpl[WorkspaceMemberLimit]
}
- Must having NewXXXXRepository method.
- Must having XXXXRepository interface.
- Must having XXXXRepositoryImpl struct.
- The XXXX is entity object.
Basic structure of repository for entity without workspace
import "git.metadiv.io/metadiv-studio/metaorm"
func NewUserRepository(db metaorm.Database) UserRepository {
return &UserRepositoryImpl{
RepositoryImpl: metaorm.NewRepositoryImpl[User](db),
}
}
type UserRepository interface {
metaorm.Repository[User]
}
type UserRepositoryImpl struct {
metaorm.RepositoryImpl[User]
}
- Must having NewXXXXRepository method.
- Must having XXXXRepository interface.
- Must having XXXXRepositoryImpl struct.
- The XXXX is entity object.