Files
2026-07-15 22:42:31 +08:00

29 lines
1015 B
Go

package document_service
import (
"context"
"github.com/XingfenD/yoresee_doc/internal/dto"
"github.com/XingfenD/yoresee_doc/internal/status"
"github.com/sirupsen/logrus"
)
func (s *DocumentService) GetDocumentSettings(ctx context.Context, req *dto.GetDocumentSettingsRequest) (*dto.DocumentSettingsResponse, error) {
if req == nil || req.ExternalID == "" {
return nil, status.StatusParamError
}
// Settings page expects real-time value after save/update, so read from DB directly
// to avoid returning a stale cached model.
docModel, err := s.documentRepo.GetByExternalID(req.ExternalID).Exec(ctx)
if err != nil {
logrus.Errorf("[Service layer: DocumentService] GetDocumentSettings failed, external_id=%s, err=%+v", req.ExternalID, err)
return nil, status.GenErrWithCustomMsg(status.StatusDocumentNotFound, "document not found")
}
// TODO: merge fields from document_setting table when that table is introduced.
return &dto.DocumentSettingsResponse{
IsPublic: docModel.IsPublic,
}, nil
}