chore: remove old space service method to ensure personal space

This commit is contained in:
juancwu 2026-04-11 15:41:56 +00:00
commit acb7f511f9
2 changed files with 0 additions and 39 deletions

View file

@ -43,25 +43,6 @@ func (s *SpaceService) CreateSpace(name string, ownerID string) (*model.Space, e
return space, nil return space, nil
} }
// EnsurePersonalSpace creates a "Personal Space" for a user if one doesn't exist.
func (s *SpaceService) EnsurePersonalSpace(user *model.User) (*model.Space, error) {
spaces, err := s.spaceRepo.ByUserID(user.ID)
if err != nil {
return nil, fmt.Errorf("failed to get user spaces: %w", err)
}
// Check if a personal space already exists.
// We identify it by the user being the owner and the name being the default.
for _, space := range spaces {
if space.OwnerID == user.ID && space.Name == PersonalSpaceName {
return space, nil // Personal space already exists
}
}
// If no personal space, create one.
return s.CreateSpace(PersonalSpaceName, user.ID)
}
// GetSpacesForUser returns all spaces a user is a member of. // GetSpacesForUser returns all spaces a user is a member of.
func (s *SpaceService) GetSpacesForUser(userID string) ([]*model.Space, error) { func (s *SpaceService) GetSpacesForUser(userID string) ([]*model.Space, error) {
spaces, err := s.spaceRepo.ByUserID(userID) spaces, err := s.spaceRepo.ByUserID(userID)
@ -111,7 +92,6 @@ func (s *SpaceService) UpdateSpaceName(spaceID, name string) error {
return s.spaceRepo.UpdateName(spaceID, name) return s.spaceRepo.UpdateName(spaceID, name)
} }
// DeleteSpace permanently deletes a space and all its associated data. // DeleteSpace permanently deletes a space and all its associated data.
func (s *SpaceService) DeleteSpace(spaceID string) error { func (s *SpaceService) DeleteSpace(spaceID string) error {
return s.spaceRepo.Delete(spaceID) return s.spaceRepo.Delete(spaceID)

View file

@ -38,25 +38,6 @@ func TestSpaceService_CreateSpace_EmptyName(t *testing.T) {
}) })
} }
func TestSpaceService_EnsurePersonalSpace(t *testing.T) {
testutil.ForEachDB(t, func(t *testing.T, dbi testutil.DBInfo) {
spaceRepo := repository.NewSpaceRepository(dbi.DB)
svc := NewSpaceService(spaceRepo)
user := testutil.CreateTestUser(t, dbi.DB, "personal@example.com", nil)
// First call creates the personal space
space1, err := svc.EnsurePersonalSpace(user)
require.NoError(t, err)
assert.Equal(t, PersonalSpaceName, space1.Name)
// Second call returns the same space (idempotent)
space2, err := svc.EnsurePersonalSpace(user)
require.NoError(t, err)
assert.Equal(t, space1.ID, space2.ID)
})
}
func TestSpaceService_GetSpacesForUser(t *testing.T) { func TestSpaceService_GetSpacesForUser(t *testing.T) {
testutil.ForEachDB(t, func(t *testing.T, dbi testutil.DBInfo) { testutil.ForEachDB(t, func(t *testing.T, dbi testutil.DBInfo) {
spaceRepo := repository.NewSpaceRepository(dbi.DB) spaceRepo := repository.NewSpaceRepository(dbi.DB)