Commit: 188fc92

Commit Details

SHA188fc92ac938e5ecdaaba64fb6d1dbffeba30181
Tree2cc04755c4f7f8be29aafd7e581f1f25e14edd58
Author<f69e50@finnacloud.com> 1766442998 +0300
Committer<f69e50@finnacloud.com> 1766442998 +0300
Message
increment
GPG Signature
-----BEGIN PGP SIGNATURE-----

iQJSBAABCAA8FiEEWJb139mJI+vZ81KkoAIVSUsXI0oFAmlJx/YeHHNvcGhpYS5l
cmFzbGFuQGZpbm5hY2xvdWQuY29tAAoJEKACFUlLFyNKyF8P/j6F8McjkGTBhDFX
frSY0CqkszvNegnZnDj4AkVjoJl7AK0RY0KLLQxrRUJq/MIA/FPj9G7df9jUJcae
TS+tvTZzWOXZ3EXomyNPangFgm5yAgmelwJYgeQdTmzIY3miM8/BdQg10GNC6Fjq
iEn6PKkpkItfiy+vftAABqe73SI9Vn6nwkUn2zVEsXBX1Kmv/ya9auodjFegvcbz
pRx5BL3xNYaA57c8WG9Fx+XaQPdaeLMcu/kM8diY0XTWqtdR+OfrPlU2JOApB0yO
G4P6zG6h5w2XWCqtbqfszDt94drbArJ9cQbWLlgbiNjpK+qJVvG+HGXxPGgvzLA3
9HhZxzUJobkt0MycngmZryj25b6kdO6OA5BCBCjdMkHjIvmBpLXYD5y5uYnerR0n
YEDyB5noRAiYbb2Skg1dp9dpNxq5LF1WkJpWM+nCXlOU6jKj3ucOJ7JP2+gVWA7N
jFdEUIfX65Q9CcBQqQX1vWyGJCc/Z0sNGE0Dc06PrpPk/U10oFNZOdCbUNEWU4Pk
yqATdaAI1BdvZjAip6QQ/jtIuHkwigAk9uUp21VlZ1NnXXLixmA53y12fi8f3DnB
yl55qYeoTOyEg5N7k1ukOt5rgoJ28szscEwvYmwL56uDtlrXly/vrSNrMi322aJK
IJeozLKMpf6Q9A3vN000vGTA6VjP
=Whh7
-----END PGP SIGNATURE-----

✓ Verified

File: src/main/java/com/paymentlink/model/entity/Product.java

1 package com.paymentlink.model.entity;
2
3 import jakarta.persistence.*;
4 import lombok.AllArgsConstructor;
5 import lombok.Builder;
6 import lombok.Data;
7 import lombok.NoArgsConstructor;
8 import org.hibernate.annotations.CreationTimestamp;
9 import org.hibernate.annotations.UpdateTimestamp;
10
11 import java.time.LocalDateTime;
12
13 @Entity
14 @Table(name = "products")
15 @Data
16 @NoArgsConstructor
17 @AllArgsConstructor
18 @Builder
19 public class Product {
20
21 @Id
22 @GeneratedValue(strategy = GenerationType.IDENTITY)
23 private Long id;
24
25 @Column(nullable = false)
26 private String name;
27
28 @Column(columnDefinition = "TEXT")
29 private String description;
30
31 @Column(nullable = false)
32 private Long price; // Price in cents
33
34 @Column(nullable = false, length = 3)
35 private String currency;
36
37 private String image;
38
39 private Integer stock; // null means unlimited
40
41 private String category;
42
43 @Column(name = "tax_included")
44 private Boolean taxIncluded;
45
46 @Column(name = "node_id")
47 private String nodeId;
48
49 @Column(name = "available_in_countries", columnDefinition = "TEXT")
50 private String availableInCountries; // JSON array: ["US", "CA", "GB"]. If null, available in all enabled regions
51
52 @CreationTimestamp
53 @Column(name = "created_at", updatable = false)
54 private LocalDateTime createdAt;
55
56 @UpdateTimestamp
57 @Column(name = "updated_at")
58 private LocalDateTime updatedAt;
59 }
60
61