Skip to content

Commit f466950

Browse files
committed
building listing created.
1 parent e9a7a02 commit f466950

File tree

10 files changed

+135
-3
lines changed

10 files changed

+135
-3
lines changed

leasesoft-db/leasesoft-db.sql

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,18 @@ CREATE TABLE ldb_buildings(
3737
lat DECIMAL(10,7),
3838
lot DECIMAL(10,7),
3939
address VARCHAR(400)
40-
);
40+
);
41+
42+
CREATE TABLE ldb_listings(
43+
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
44+
building_id INT,
45+
listing_code VARCHAR(255),
46+
listing_status ENUM('ACTIVE','PASSIVE','CONTRACT','COMPLETE'),
47+
listing_type ENUM('MONTHLY','YEARLY','DAILY'),
48+
price DOUBLE,
49+
price_unit VARCHAR(4),
50+
create_date DATETIME,
51+
end_date DATETIME,
52+
update_date DATETIME,
53+
FOREIGN KEY(building_id) REFERENCES ldb_buildings(id)
54+
)

leasesoft-ui/src/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<base href="/">
88
<meta name="viewport" content="width=device-width, initial-scale=1">
99
<link rel="icon" type="image/x-icon" href="favicon.ico">
10-
<script src="https://maps.googleapis.com/maps/api/js?key= YOUR_KEY" defer></script>
10+
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAoEBB47cZbrZsCG-vEOh24kTuHeiibaPc"defer></script>
1111
</head>
1212

1313
<body>

leasesoft/src/main/java/com/alper/leasesoftprov2/leasesoft/buildings/BuildingController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ public class BuildingController {
1616

1717
@GetMapping("") //add filter, error handling. add pagination
1818
public List<Building> getAllBuildings(){
19-
return this.service.getBuildings().stream().limit(12).collect(Collectors.toList());
19+
return this.service.getBuildings().stream().limit(16).collect(Collectors.toList());
2020
}
2121
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package com.alper.leasesoftprov2.leasesoft.listing;
2+
3+
import com.alper.leasesoftprov2.leasesoft.buildings.Building;
4+
import com.alper.leasesoftprov2.leasesoft.listing.enums.ListingStatus;
5+
import com.alper.leasesoftprov2.leasesoft.listing.enums.ListingType;
6+
import com.alper.leasesoftprov2.leasesoft.listing.enums.PriceUnit;
7+
import com.fasterxml.jackson.annotation.JsonProperty;
8+
import jakarta.persistence.*;
9+
import lombok.AllArgsConstructor;
10+
import lombok.Data;
11+
import lombok.NoArgsConstructor;
12+
import org.hibernate.annotations.Type;
13+
14+
import java.util.Date;
15+
16+
@Entity
17+
@Table(name="ldb_listings")
18+
@AllArgsConstructor
19+
@NoArgsConstructor
20+
@Data
21+
public class BuildingListing {
22+
23+
@Id
24+
@GeneratedValue(strategy = GenerationType.IDENTITY)
25+
private Integer id;
26+
27+
@OneToOne
28+
@JoinColumn(name = "building_id")
29+
private Building building;
30+
31+
@Column(name = "listing_code")
32+
private String code;
33+
34+
@Column(name = "listing_status", columnDefinition = "enum", length = 255)
35+
@Enumerated(EnumType.STRING)
36+
private ListingStatus status;
37+
38+
@Column(name = "listing_type", columnDefinition = "enum",length = 255)
39+
@Enumerated(EnumType.STRING)
40+
private ListingType type;
41+
42+
@Column(name = "price_unit", columnDefinition = "enum",length = 255)
43+
@Enumerated(EnumType.STRING)
44+
private PriceUnit priceUnit;
45+
46+
@Column(name = "price")
47+
private Double price;
48+
49+
@Column(name = "create_date")
50+
private Date createDate;
51+
52+
@Column(name = "end_date")
53+
private Date endDate;
54+
55+
@Column(name = "update_date")
56+
private Date updateDate;
57+
58+
59+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.alper.leasesoftprov2.leasesoft.listing;
2+
3+
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.web.bind.annotation.GetMapping;
5+
import org.springframework.web.bind.annotation.RequestMapping;
6+
import org.springframework.web.bind.annotation.RestController;
7+
8+
import java.util.List;
9+
10+
@RestController
11+
@RequestMapping("api/v1/units/listings")
12+
public class ListingController {
13+
14+
@Autowired
15+
private ListingUnitService listingUnitService;
16+
17+
@GetMapping()
18+
private List<BuildingListing> getListings(){
19+
return listingUnitService.findAll();
20+
}
21+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.alper.leasesoftprov2.leasesoft.listing;
2+
3+
import org.springframework.data.jpa.repository.JpaRepository;
4+
5+
public interface ListingRepository extends JpaRepository<BuildingListing,Integer> {
6+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.alper.leasesoftprov2.leasesoft.listing;
2+
3+
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.stereotype.Service;
5+
6+
import java.util.List;
7+
8+
@Service
9+
public class ListingUnitService {
10+
11+
@Autowired
12+
private ListingRepository repository;
13+
14+
public List<BuildingListing> findAll(){
15+
return repository.findAll();
16+
}
17+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.alper.leasesoftprov2.leasesoft.listing.enums;
2+
3+
public enum ListingStatus {
4+
ACTIVE,PASSIVE,CONTRACT,COMPLETE
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.alper.leasesoftprov2.leasesoft.listing.enums;
2+
3+
public enum ListingType {
4+
MONTHLY,DAILY,YEARLY
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.alper.leasesoftprov2.leasesoft.listing.enums;
2+
3+
public enum PriceUnit {
4+
USD,TL,EUR
5+
}

0 commit comments

Comments
 (0)