Implement multi-file upload functionality for companies and enhance file upload routes

This commit is contained in:
Mazyar
2026-06-02 21:24:39 +03:30
parent 2457b76df9
commit a4c04912c8
8 changed files with 487 additions and 102 deletions
+9 -1
View File
@@ -4,7 +4,10 @@ import (
"context"
"errors"
"mime/multipart"
"tm/internal/company_category"
"tm/pkg/filestore"
"tm/pkg/logger"
"tm/pkg/response"
)
@@ -28,20 +31,25 @@ type Service interface {
// Get my company
GetMyCompany(ctx context.Context, id string) (*CompanyProfileResponse, error)
// UploadDocuments uploads files and attaches them to a company
UploadDocuments(ctx context.Context, companyID, uploadedBy string, files []*multipart.FileHeader) (*UploadDocumentsResponse, error)
}
// companyService implements the Service interface
type companyService struct {
repository Repository
categoryService company_category.Service
fileStore filestore.FileStoreService
logger logger.Logger
}
// NewService creates a new company service
func NewService(repository Repository, categoryService company_category.Service, logger logger.Logger) Service {
func NewService(repository Repository, categoryService company_category.Service, fileStore filestore.FileStoreService, logger logger.Logger) Service {
return &companyService{
repository: repository,
categoryService: categoryService,
fileStore: fileStore,
logger: logger,
}
}