Skip to content

Commit dd33136

Browse files
authored
Merge pull request #58 from UdL-EPS-SoftArch/businessV2
feat: Add Business entity and implement database initialization
2 parents 72aac69 + 6baee05 commit dd33136

2 files changed

Lines changed: 58 additions & 1 deletion

File tree

src/main/java/cat/udl/eps/softarch/demo/config/DBInitialization.java

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
package cat.udl.eps.softarch.demo.config;
2+
23
import cat.udl.eps.softarch.demo.domain.Admin;
34
import cat.udl.eps.softarch.demo.domain.Business;
45
import cat.udl.eps.softarch.demo.domain.User;
@@ -21,7 +22,8 @@ public class DBInitialization {
2122
private final AdminRepository adminRepository;
2223
private final BusinessRepository businessRepository;
2324

24-
public DBInitialization(UserRepository userRepository, AdminRepository adminRepository, BusinessRepository businessRepository) {
25+
public DBInitialization(UserRepository userRepository, AdminRepository adminRepository,
26+
BusinessRepository businessRepository) {
2527
this.userRepository = userRepository;
2628
this.adminRepository = adminRepository;
2729
this.businessRepository = businessRepository;
@@ -58,6 +60,46 @@ public void initializeDatabase() {
5860
business.encodePassword();
5961
business.setName("Best Coffee Shop");
6062
business.setAddress("Main Street 123");
63+
business.setOpeningTime(java.time.LocalTime.of(8, 0));
64+
business.setClosingTime(java.time.LocalTime.of(20, 0));
65+
business.setRating(4.5);
66+
business.setCapacity(50);
67+
business.setHasWifi(true);
68+
business.setStatus(cat.udl.eps.softarch.demo.domain.BusinessStatus.ACCEPTED);
69+
businessRepository.save(business);
70+
}
71+
72+
if (!businessRepository.existsById("coffee_lover")) {
73+
Business business = new Business();
74+
business.setId("coffee_lover");
75+
business.setEmail("lover@coffee.com");
76+
business.setPassword(defaultPassword);
77+
business.encodePassword();
78+
business.setName("Coffee Lovers");
79+
business.setAddress("Second Avenue 45");
80+
business.setOpeningTime(java.time.LocalTime.of(9, 0));
81+
business.setClosingTime(java.time.LocalTime.of(21, 0));
82+
business.setRating(4.8);
83+
business.setCapacity(30);
84+
business.setHasWifi(true);
85+
business.setStatus(cat.udl.eps.softarch.demo.domain.BusinessStatus.ACCEPTED);
86+
businessRepository.save(business);
87+
}
88+
89+
if (!businessRepository.existsById("night_owl")) {
90+
Business business = new Business();
91+
business.setId("night_owl");
92+
business.setEmail("night@coffee.com");
93+
business.setPassword(defaultPassword);
94+
business.encodePassword();
95+
business.setName("Night Owl Cafe");
96+
business.setAddress("Midnight Lane 66");
97+
business.setOpeningTime(java.time.LocalTime.of(18, 0));
98+
business.setClosingTime(java.time.LocalTime.of(2, 0));
99+
business.setRating(4.2);
100+
business.setCapacity(20);
101+
business.setHasWifi(false);
102+
business.setStatus(cat.udl.eps.softarch.demo.domain.BusinessStatus.ACCEPTED);
61103
businessRepository.save(business);
62104
}
63105
if (Arrays.asList(activeProfiles.split(",")).contains("test")) {

src/main/java/cat/udl/eps/softarch/demo/domain/Business.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public class Business extends User {
3434
private LocalTime openingTime;
3535
private LocalTime closingTime;
3636
@Enumerated(EnumType.STRING)
37+
@JsonProperty("registrationStatus")
3738
private BusinessStatus status;
3839
private String imageUrl;
3940

@@ -43,4 +44,18 @@ public class Business extends User {
4344
public Collection<? extends GrantedAuthority> getAuthorities() {
4445
return AuthorityUtils.commaSeparatedStringToAuthorityList("ROLE_BUSINESS");
4546
}
47+
48+
@JsonProperty("ownerId")
49+
public String getOwnerId() {
50+
return this.getId();
51+
}
52+
53+
@JsonProperty("status")
54+
public String getOpenStatus() {
55+
if (openingTime == null || closingTime == null) {
56+
return "Closed";
57+
}
58+
LocalTime now = LocalTime.now();
59+
return (now.isAfter(openingTime) && now.isBefore(closingTime)) ? "Open" : "Closed";
60+
}
4661
}

0 commit comments

Comments
 (0)