Initial commit: Open sourcing all of the Maple Open Technologies code.

This commit is contained in:
Bartlomiej Mika 2025-12-02 14:33:08 -05:00
commit 755d54a99d
2010 changed files with 448675 additions and 0 deletions

View 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)
}

View 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)
}

View 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)
}

View 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()
}

View file

@ -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)
}

View file

@ -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)
}

View 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)
}