feat(backend): make invite share URL base configurable via app.base-url
Replaces hardcoded \"https://yourapp.com\" with a Spring property. - application.yml: app.base-url defaults to http://localhost:5173 - application-docker.yml: reads APP_BASE_URL env var, same default - HouseholdService: injects @Value("${app.base-url}") and uses it in toInviteResponse() to build shareUrl - HouseholdServiceTest: sets field via ReflectionTestUtils in @BeforeEach; adds test asserting shareUrl starts with configured base URL Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -17,6 +17,7 @@ import com.recipeapp.recipe.TagRepository;
|
||||
import com.recipeapp.recipe.entity.Ingredient;
|
||||
import com.recipeapp.recipe.entity.IngredientCategory;
|
||||
import com.recipeapp.recipe.entity.Tag;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -38,6 +39,9 @@ public class HouseholdService {
|
||||
private final TagRepository tagRepository;
|
||||
private final VarietyScoreConfigRepository varietyScoreConfigRepository;
|
||||
|
||||
@Value("${app.base-url}")
|
||||
private String baseUrl;
|
||||
|
||||
private static final SecureRandom RANDOM = new SecureRandom();
|
||||
private static final String CODE_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
||||
|
||||
@@ -262,7 +266,7 @@ public class HouseholdService {
|
||||
private InviteResponse toInviteResponse(HouseholdInvite invite) {
|
||||
return new InviteResponse(
|
||||
invite.getInviteCode(),
|
||||
"https://yourapp.com/join/" + invite.getInviteCode(),
|
||||
baseUrl + "/join/" + invite.getInviteCode(),
|
||||
invite.getExpiresAt());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user