Initial commit: Open sourcing all of the Maple Open Technologies code.
This commit is contained in:
commit
755d54a99d
2010 changed files with 448675 additions and 0 deletions
19
native/desktop/maplefile/internal/usecase/file/create.go
Normal file
19
native/desktop/maplefile/internal/usecase/file/create.go
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
package file
|
||||
|
||||
import (
|
||||
"codeberg.org/mapleopentech/monorepo/native/desktop/maplefile/internal/domain/file"
|
||||
)
|
||||
|
||||
type CreateUseCase struct {
|
||||
fileRepo file.Repository
|
||||
}
|
||||
|
||||
// ProvideCreateUseCase creates the use case for Wire
|
||||
func ProvideCreateUseCase(fileRepo file.Repository) *CreateUseCase {
|
||||
return &CreateUseCase{fileRepo: fileRepo}
|
||||
}
|
||||
|
||||
// Execute creates a new file record
|
||||
func (uc *CreateUseCase) Execute(f *file.File) error {
|
||||
return uc.fileRepo.Create(f)
|
||||
}
|
||||
19
native/desktop/maplefile/internal/usecase/file/delete.go
Normal file
19
native/desktop/maplefile/internal/usecase/file/delete.go
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
package file
|
||||
|
||||
import (
|
||||
"codeberg.org/mapleopentech/monorepo/native/desktop/maplefile/internal/domain/file"
|
||||
)
|
||||
|
||||
type DeleteUseCase struct {
|
||||
fileRepo file.Repository
|
||||
}
|
||||
|
||||
// ProvideDeleteUseCase creates the use case for Wire
|
||||
func ProvideDeleteUseCase(fileRepo file.Repository) *DeleteUseCase {
|
||||
return &DeleteUseCase{fileRepo: fileRepo}
|
||||
}
|
||||
|
||||
// Execute deletes a file by ID
|
||||
func (uc *DeleteUseCase) Execute(id string) error {
|
||||
return uc.fileRepo.Delete(id)
|
||||
}
|
||||
19
native/desktop/maplefile/internal/usecase/file/get.go
Normal file
19
native/desktop/maplefile/internal/usecase/file/get.go
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
package file
|
||||
|
||||
import (
|
||||
"codeberg.org/mapleopentech/monorepo/native/desktop/maplefile/internal/domain/file"
|
||||
)
|
||||
|
||||
type GetUseCase struct {
|
||||
fileRepo file.Repository
|
||||
}
|
||||
|
||||
// ProvideGetUseCase creates the use case for Wire
|
||||
func ProvideGetUseCase(fileRepo file.Repository) *GetUseCase {
|
||||
return &GetUseCase{fileRepo: fileRepo}
|
||||
}
|
||||
|
||||
// Execute retrieves a file by ID
|
||||
func (uc *GetUseCase) Execute(id string) (*file.File, error) {
|
||||
return uc.fileRepo.Get(id)
|
||||
}
|
||||
19
native/desktop/maplefile/internal/usecase/file/list.go
Normal file
19
native/desktop/maplefile/internal/usecase/file/list.go
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
package file
|
||||
|
||||
import (
|
||||
"codeberg.org/mapleopentech/monorepo/native/desktop/maplefile/internal/domain/file"
|
||||
)
|
||||
|
||||
type ListUseCase struct {
|
||||
fileRepo file.Repository
|
||||
}
|
||||
|
||||
// ProvideListUseCase creates the use case for Wire
|
||||
func ProvideListUseCase(fileRepo file.Repository) *ListUseCase {
|
||||
return &ListUseCase{fileRepo: fileRepo}
|
||||
}
|
||||
|
||||
// Execute returns all files
|
||||
func (uc *ListUseCase) Execute() ([]*file.File, error) {
|
||||
return uc.fileRepo.List()
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package file
|
||||
|
||||
import (
|
||||
"codeberg.org/mapleopentech/monorepo/native/desktop/maplefile/internal/domain/file"
|
||||
)
|
||||
|
||||
type ListByCollectionUseCase struct {
|
||||
fileRepo file.Repository
|
||||
}
|
||||
|
||||
// ProvideListByCollectionUseCase creates the use case for Wire
|
||||
func ProvideListByCollectionUseCase(fileRepo file.Repository) *ListByCollectionUseCase {
|
||||
return &ListByCollectionUseCase{fileRepo: fileRepo}
|
||||
}
|
||||
|
||||
// Execute returns all files for a specific collection
|
||||
func (uc *ListByCollectionUseCase) Execute(collectionID string) ([]*file.File, error) {
|
||||
return uc.fileRepo.ListByCollection(collectionID)
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package file
|
||||
|
||||
import (
|
||||
"codeberg.org/mapleopentech/monorepo/native/desktop/maplefile/internal/domain/file"
|
||||
)
|
||||
|
||||
type ListByStatusUseCase struct {
|
||||
fileRepo file.Repository
|
||||
}
|
||||
|
||||
// ProvideListByStatusUseCase creates the use case for Wire
|
||||
func ProvideListByStatusUseCase(fileRepo file.Repository) *ListByStatusUseCase {
|
||||
return &ListByStatusUseCase{fileRepo: fileRepo}
|
||||
}
|
||||
|
||||
// Execute returns all files with a specific sync status
|
||||
func (uc *ListByStatusUseCase) Execute(status file.SyncStatus) ([]*file.File, error) {
|
||||
return uc.fileRepo.ListByStatus(status)
|
||||
}
|
||||
19
native/desktop/maplefile/internal/usecase/file/update.go
Normal file
19
native/desktop/maplefile/internal/usecase/file/update.go
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
package file
|
||||
|
||||
import (
|
||||
"codeberg.org/mapleopentech/monorepo/native/desktop/maplefile/internal/domain/file"
|
||||
)
|
||||
|
||||
type UpdateUseCase struct {
|
||||
fileRepo file.Repository
|
||||
}
|
||||
|
||||
// ProvideUpdateUseCase creates the use case for Wire
|
||||
func ProvideUpdateUseCase(fileRepo file.Repository) *UpdateUseCase {
|
||||
return &UpdateUseCase{fileRepo: fileRepo}
|
||||
}
|
||||
|
||||
// Execute updates an existing file record
|
||||
func (uc *UpdateUseCase) Execute(f *file.File) error {
|
||||
return uc.fileRepo.Update(f)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue