diff --git a/pom.xml b/pom.xml index cd90c68..effdc0a 100644 --- a/pom.xml +++ b/pom.xml @@ -49,12 +49,12 @@ runtime true - + org.postgresql postgresql diff --git a/src/main/java/group/goforward/ballistic/controllers/PsaController.java b/src/main/java/group/goforward/ballistic/controllers/PsaController.java new file mode 100644 index 0000000..5d147f2 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/controllers/PsaController.java @@ -0,0 +1,57 @@ +package group.goforward.ballistic.controllers; + +import group.goforward.ballistic.jpa.Psa; +import group.goforward.ballistic.service.PsaService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +@RestController +@RequestMapping("/psa") +public class PsaController { + + private final PsaService psaService; + + @Autowired + public PsaController(PsaService psaService) { + this.psaService = psaService; + } + + @GetMapping("/all") + public List getAllPsa() { + return psaService.findAll(); + } + + @GetMapping("/{id}") + public ResponseEntity getPsaById(@PathVariable UUID id) { + Optional psa = psaService.findById(id); + return psa.map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build()); + } + + @PostMapping + public Psa createPsa(@RequestBody Psa psa) { + return psaService.save(psa); + } + + @PutMapping("/{id}") + public ResponseEntity updatePsa(@PathVariable UUID id, @RequestBody Psa psaDetails) { + Optional psa = psaService.findById(id); + if (psa.isPresent()) { + Psa updatedPsa = psa.get(); + // Update fields of the Psa entity as needed + return ResponseEntity.ok(psaService.save(updatedPsa)); + } else { + return ResponseEntity.notFound().build(); + } + } + + @DeleteMapping("/{id}") + public ResponseEntity deletePsa(@PathVariable UUID id) { + psaService.deleteById(id); + return ResponseEntity.noContent().build(); + } +} diff --git a/src/main/java/group/goforward/ballistic/jpa/Account.java b/src/main/java/group/goforward/ballistic/jpa/Account.java new file mode 100644 index 0000000..09fe41e --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/Account.java @@ -0,0 +1,160 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.util.UUID; + +@Entity +@Table(name = "accounts") +public class Account { + @Id + @ColumnDefault("gen_random_uuid()") + @Column(name = "id", nullable = false) + private UUID id; + + @ColumnDefault("gen_random_uuid()") + @Column(name = "uuid") + private UUID uuid; + + @Column(name = "user_id", nullable = false) + private UUID userId; + + @Column(name = "type", nullable = false, length = Integer.MAX_VALUE) + private String type; + + @Column(name = "provider", nullable = false, length = Integer.MAX_VALUE) + private String provider; + + @Column(name = "provider_account_id", nullable = false, length = Integer.MAX_VALUE) + private String providerAccountId; + + @Column(name = "refresh_token", length = Integer.MAX_VALUE) + private String refreshToken; + + @Column(name = "access_token", length = Integer.MAX_VALUE) + private String accessToken; + + @Column(name = "expires_at") + private Integer expiresAt; + + @Column(name = "token_type", length = Integer.MAX_VALUE) + private String tokenType; + + @Column(name = "id_token", length = Integer.MAX_VALUE) + private String idToken; + + @Column(name = "session_state", length = Integer.MAX_VALUE) + private String sessionState; + + @Column(name = "scope", length = Integer.MAX_VALUE) + private String scope; + + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + public UUID getUuid() { + return uuid; + } + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + + public UUID getUserId() { + return userId; + } + + public void setUserId(UUID userId) { + this.userId = userId; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getProvider() { + return provider; + } + + public void setProvider(String provider) { + this.provider = provider; + } + + public String getProviderAccountId() { + return providerAccountId; + } + + public void setProviderAccountId(String providerAccountId) { + this.providerAccountId = providerAccountId; + } + + public String getRefreshToken() { + return refreshToken; + } + + public void setRefreshToken(String refreshToken) { + this.refreshToken = refreshToken; + } + + public String getAccessToken() { + return accessToken; + } + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + public Integer getExpiresAt() { + return expiresAt; + } + + public void setExpiresAt(Integer expiresAt) { + this.expiresAt = expiresAt; + } + + public String getTokenType() { + return tokenType; + } + + public void setTokenType(String tokenType) { + this.tokenType = tokenType; + } + + public String getIdToken() { + return idToken; + } + + public void setIdToken(String idToken) { + this.idToken = idToken; + } + + public String getSessionState() { + return sessionState; + } + + public void setSessionState(String sessionState) { + this.sessionState = sessionState; + } + + public String getScope() { + return scope; + } + + public void setScope(String scope) { + this.scope = scope; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/AccountRepository.java b/src/main/java/group/goforward/ballistic/jpa/AccountRepository.java new file mode 100644 index 0000000..395b87c --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/AccountRepository.java @@ -0,0 +1,8 @@ +package group.goforward.ballistic.jpa; + +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.UUID; + +public interface AccountRepository extends JpaRepository { +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/AeroPrecision.java b/src/main/java/group/goforward/ballistic/jpa/AeroPrecision.java new file mode 100644 index 0000000..b2007fa --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/AeroPrecision.java @@ -0,0 +1,293 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.math.BigDecimal; +import java.util.UUID; + +@Entity +@Table(name = "aero_precision") +public class +AeroPrecision { + @Id + @Column(name = "sku", nullable = false, length = Integer.MAX_VALUE) + private String sku; + + @Column(name = "manufacturer_id", length = Integer.MAX_VALUE) + private String manufacturerId; + + @Column(name = "brand_name", length = Integer.MAX_VALUE) + private String brandName; + + @Column(name = "product_name", length = Integer.MAX_VALUE) + private String productName; + + @Column(name = "long_description", length = Integer.MAX_VALUE) + private String longDescription; + + @Column(name = "short_description", length = Integer.MAX_VALUE) + private String shortDescription; + + @Column(name = "department", length = Integer.MAX_VALUE) + private String department; + + @Column(name = "category", length = Integer.MAX_VALUE) + private String category; + + @Column(name = "subcategory", length = Integer.MAX_VALUE) + private String subcategory; + + @Column(name = "thumb_url", length = Integer.MAX_VALUE) + private String thumbUrl; + + @Column(name = "image_url", length = Integer.MAX_VALUE) + private String imageUrl; + + @Column(name = "buy_link", length = Integer.MAX_VALUE) + private String buyLink; + + @Column(name = "keywords", length = Integer.MAX_VALUE) + private String keywords; + + @Column(name = "reviews", length = Integer.MAX_VALUE) + private String reviews; + + @Column(name = "retail_price") + private BigDecimal retailPrice; + + @Column(name = "sale_price") + private BigDecimal salePrice; + + @Column(name = "brand_page_link", length = Integer.MAX_VALUE) + private String brandPageLink; + + @Column(name = "brand_logo_image", length = Integer.MAX_VALUE) + private String brandLogoImage; + + @Column(name = "product_page_view_tracking", length = Integer.MAX_VALUE) + private String productPageViewTracking; + + @Column(name = "variants_xml", length = Integer.MAX_VALUE) + private String variantsXml; + + @Column(name = "medium_image_url", length = Integer.MAX_VALUE) + private String mediumImageUrl; + + @Column(name = "product_content_widget", length = Integer.MAX_VALUE) + private String productContentWidget; + + @Column(name = "google_categorization", length = Integer.MAX_VALUE) + private String googleCategorization; + + @Column(name = "item_based_commission", length = Integer.MAX_VALUE) + private String itemBasedCommission; + + @ColumnDefault("gen_random_uuid()") + @Column(name = "uuid") + private UUID uuid; + + public String getSku() { + return sku; + } + + public void setSku(String sku) { + this.sku = sku; + } + + public String getManufacturerId() { + return manufacturerId; + } + + public void setManufacturerId(String manufacturerId) { + this.manufacturerId = manufacturerId; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getLongDescription() { + return longDescription; + } + + public void setLongDescription(String longDescription) { + this.longDescription = longDescription; + } + + public String getShortDescription() { + return shortDescription; + } + + public void setShortDescription(String shortDescription) { + this.shortDescription = shortDescription; + } + + public String getDepartment() { + return department; + } + + public void setDepartment(String department) { + this.department = department; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getSubcategory() { + return subcategory; + } + + public void setSubcategory(String subcategory) { + this.subcategory = subcategory; + } + + public String getThumbUrl() { + return thumbUrl; + } + + public void setThumbUrl(String thumbUrl) { + this.thumbUrl = thumbUrl; + } + + public String getImageUrl() { + return imageUrl; + } + + public void setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + } + + public String getBuyLink() { + return buyLink; + } + + public void setBuyLink(String buyLink) { + this.buyLink = buyLink; + } + + public String getKeywords() { + return keywords; + } + + public void setKeywords(String keywords) { + this.keywords = keywords; + } + + public String getReviews() { + return reviews; + } + + public void setReviews(String reviews) { + this.reviews = reviews; + } + + public BigDecimal getRetailPrice() { + return retailPrice; + } + + public void setRetailPrice(BigDecimal retailPrice) { + this.retailPrice = retailPrice; + } + + public BigDecimal getSalePrice() { + return salePrice; + } + + public void setSalePrice(BigDecimal salePrice) { + this.salePrice = salePrice; + } + + public String getBrandPageLink() { + return brandPageLink; + } + + public void setBrandPageLink(String brandPageLink) { + this.brandPageLink = brandPageLink; + } + + public String getBrandLogoImage() { + return brandLogoImage; + } + + public void setBrandLogoImage(String brandLogoImage) { + this.brandLogoImage = brandLogoImage; + } + + public String getProductPageViewTracking() { + return productPageViewTracking; + } + + public void setProductPageViewTracking(String productPageViewTracking) { + this.productPageViewTracking = productPageViewTracking; + } + + public String getVariantsXml() { + return variantsXml; + } + + public void setVariantsXml(String variantsXml) { + this.variantsXml = variantsXml; + } + + public String getMediumImageUrl() { + return mediumImageUrl; + } + + public void setMediumImageUrl(String mediumImageUrl) { + this.mediumImageUrl = mediumImageUrl; + } + + public String getProductContentWidget() { + return productContentWidget; + } + + public void setProductContentWidget(String productContentWidget) { + this.productContentWidget = productContentWidget; + } + + public String getGoogleCategorization() { + return googleCategorization; + } + + public void setGoogleCategorization(String googleCategorization) { + this.googleCategorization = googleCategorization; + } + + public String getItemBasedCommission() { + return itemBasedCommission; + } + + public void setItemBasedCommission(String itemBasedCommission) { + this.itemBasedCommission = itemBasedCommission; + } + + public UUID getUuid() { + return uuid; + } + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/Authenticator.java b/src/main/java/group/goforward/ballistic/jpa/Authenticator.java new file mode 100644 index 0000000..8f6fb5f --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/Authenticator.java @@ -0,0 +1,88 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.EmbeddedId; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; + +@Entity +@Table(name = "authenticator") +public class Authenticator { + @EmbeddedId + private AuthenticatorId id; + + @Column(name = "\"providerAccountId\"", nullable = false, length = Integer.MAX_VALUE) + private String providerAccountId; + + @Column(name = "\"credentialPublicKey\"", nullable = false, length = Integer.MAX_VALUE) + private String credentialPublicKey; + + @Column(name = "counter", nullable = false) + private Integer counter; + + @Column(name = "\"credentialDeviceType\"", nullable = false, length = Integer.MAX_VALUE) + private String credentialDeviceType; + + @Column(name = "\"credentialBackedUp\"", nullable = false) + private Boolean credentialBackedUp = false; + + @Column(name = "transports", length = Integer.MAX_VALUE) + private String transports; + + public AuthenticatorId getId() { + return id; + } + + public void setId(AuthenticatorId id) { + this.id = id; + } + + public String getProviderAccountId() { + return providerAccountId; + } + + public void setProviderAccountId(String providerAccountId) { + this.providerAccountId = providerAccountId; + } + + public String getCredentialPublicKey() { + return credentialPublicKey; + } + + public void setCredentialPublicKey(String credentialPublicKey) { + this.credentialPublicKey = credentialPublicKey; + } + + public Integer getCounter() { + return counter; + } + + public void setCounter(Integer counter) { + this.counter = counter; + } + + public String getCredentialDeviceType() { + return credentialDeviceType; + } + + public void setCredentialDeviceType(String credentialDeviceType) { + this.credentialDeviceType = credentialDeviceType; + } + + public Boolean getCredentialBackedUp() { + return credentialBackedUp; + } + + public void setCredentialBackedUp(Boolean credentialBackedUp) { + this.credentialBackedUp = credentialBackedUp; + } + + public String getTransports() { + return transports; + } + + public void setTransports(String transports) { + this.transports = transports; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/AuthenticatorId.java b/src/main/java/group/goforward/ballistic/jpa/AuthenticatorId.java new file mode 100644 index 0000000..6863797 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/AuthenticatorId.java @@ -0,0 +1,48 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Embeddable; +import org.hibernate.Hibernate; + +import java.util.Objects; + +@Embeddable +public class AuthenticatorId implements java.io.Serializable { + private static final long serialVersionUID = -4147080603801184737L; + @Column(name = "\"credentialId\"", nullable = false, length = Integer.MAX_VALUE) + private String credentialId; + + @Column(name = "\"userId\"", nullable = false, length = Integer.MAX_VALUE) + private String userId; + + public String getCredentialId() { + return credentialId; + } + + public void setCredentialId(String credentialId) { + this.credentialId = credentialId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false; + AuthenticatorId entity = (AuthenticatorId) o; + return Objects.equals(this.credentialId, entity.credentialId) && + Objects.equals(this.userId, entity.userId); + } + + @Override + public int hashCode() { + return Objects.hash(credentialId, userId); + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/BalReseller.java b/src/main/java/group/goforward/ballistic/jpa/BalReseller.java new file mode 100644 index 0000000..9db8a2f --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/BalReseller.java @@ -0,0 +1,107 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.Instant; +import java.util.UUID; + +@Entity +@Table(name = "bal_resellers") +public class BalReseller { + @Id + @Column(name = "id", nullable = false) + private Integer id; + + @Column(name = "name", nullable = false, length = 100) + private String name; + + @Column(name = "website_url") + private String websiteUrl; + + @Column(name = "contact_email", length = 100) + private String contactEmail; + + @ColumnDefault("now()") + @Column(name = "updated_at", nullable = false) + private Instant updatedAt; + + @ColumnDefault("now()") + @Column(name = "created_at", nullable = false) + private Instant createdAt; + + @Column(name = "deleted_at") + private Instant deletedAt; + + @ColumnDefault("gen_random_uuid()") + @Column(name = "uuid") + private UUID uuid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getWebsiteUrl() { + return websiteUrl; + } + + public void setWebsiteUrl(String websiteUrl) { + this.websiteUrl = websiteUrl; + } + + public String getContactEmail() { + return contactEmail; + } + + public void setContactEmail(String contactEmail) { + this.contactEmail = contactEmail; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getDeletedAt() { + return deletedAt; + } + + public void setDeletedAt(Instant deletedAt) { + this.deletedAt = deletedAt; + } + + public UUID getUuid() { + return uuid; + } + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/BbProduct.java b/src/main/java/group/goforward/ballistic/jpa/BbProduct.java new file mode 100644 index 0000000..1ff4246 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/BbProduct.java @@ -0,0 +1,393 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.Instant; +import java.util.UUID; + +@Entity +@Table(name = "bb_products") +public class BbProduct { + @Id + @ColumnDefault("gen_random_uuid()") + @Column(name = "uuid", nullable = false) + private UUID id; + + @Column(name = "\"UPC\"", length = 100) + private String upc; + + @ColumnDefault("now()") + @Column(name = "updated_at", nullable = false) + private Instant updatedAt; + + @ColumnDefault("now()") + @Column(name = "created_at", nullable = false) + private Instant createdAt; + + @Column(name = "deleted_at") + private Instant deletedAt; + + @Column(name = "\"SKU\"", length = 50) + private String sku; + + @Column(name = "\"MANUFACTURER_ID\"", length = 50) + private String manufacturerId; + + @Column(name = "\"BRAND_NAME\"", length = 50) + private String brandName; + + @Column(name = "\"PRODUCT_NAME\"") + private String productName; + + @Column(name = "\"LONG_DESCRIPTION\"", length = Integer.MAX_VALUE) + private String longDescription; + + @Column(name = "\"SHORT_DESCRIPTION\"", length = 500) + private String shortDescription; + + @Column(name = "\"DEPARTMENT\"", length = 100) + private String department; + + @Column(name = "\"CATEGORY\"", length = 100) + private String category; + + @Column(name = "\"SUBCATEGORY\"", length = 100) + private String subcategory; + + @Column(name = "\"THUMB_URL\"", length = 500) + private String thumbUrl; + + @Column(name = "\"IMAGE_URL\"", length = 500) + private String imageUrl; + + @Column(name = "\"BUY_LINK\"", length = 500) + private String buyLink; + + @Column(name = "\"KEYWORDS\"", length = 500) + private String keywords; + + @Column(name = "\"REVIEWS\"", length = 500) + private String reviews; + + @Column(name = "\"RETAIL_PRICE\"", length = 50) + private String retailPrice; + + @Column(name = "\"SALE_PRICE\"", length = 50) + private String salePrice; + + @Column(name = "\"BRAND_PAGE_LINK\"", length = 500) + private String brandPageLink; + + @Column(name = "\"BRAND_LOGO_IMAGE\"", length = 500) + private String brandLogoImage; + + @Column(name = "\"PRODUCT_PAGE_VIEW_TRACKING\"", length = 500) + private String productPageViewTracking; + + @Column(name = "\"PARENT_GROUP_ID\"", length = 200) + private String parentGroupId; + + @Column(name = "\"FINELINE\"", length = 200) + private String fineline; + + @Column(name = "\"SUPERFINELINE\"", length = 200) + private String superfineline; + + @Column(name = "\"MODELNUMBER\"", length = 100) + private String modelnumber; + + @Column(name = "\"CALIBER\"", length = 200) + private String caliber; + + @Column(name = "\"MEDIUM_IMAGE_URL\"", length = 500) + private String mediumImageUrl; + + @Column(name = "\"PRODUCT_CONTENT_WIDGET\"", length = 500) + private String productContentWidget; + + @Column(name = "\"GOOGLE_CATEGORIZATION\"", length = 500) + private String googleCategorization; + + @Column(name = "\"ITEM_BASED_COMMISSION\"", length = 500) + private String itemBasedCommission; + + @Column(name = "\"ITEM_BASED_COMMISSION RATE\"", length = 50) + private String itemBasedCommissionRate; + + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + public String getUpc() { + return upc; + } + + public void setUpc(String upc) { + this.upc = upc; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getDeletedAt() { + return deletedAt; + } + + public void setDeletedAt(Instant deletedAt) { + this.deletedAt = deletedAt; + } + + public String getSku() { + return sku; + } + + public void setSku(String sku) { + this.sku = sku; + } + + public String getManufacturerId() { + return manufacturerId; + } + + public void setManufacturerId(String manufacturerId) { + this.manufacturerId = manufacturerId; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getLongDescription() { + return longDescription; + } + + public void setLongDescription(String longDescription) { + this.longDescription = longDescription; + } + + public String getShortDescription() { + return shortDescription; + } + + public void setShortDescription(String shortDescription) { + this.shortDescription = shortDescription; + } + + public String getDepartment() { + return department; + } + + public void setDepartment(String department) { + this.department = department; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getSubcategory() { + return subcategory; + } + + public void setSubcategory(String subcategory) { + this.subcategory = subcategory; + } + + public String getThumbUrl() { + return thumbUrl; + } + + public void setThumbUrl(String thumbUrl) { + this.thumbUrl = thumbUrl; + } + + public String getImageUrl() { + return imageUrl; + } + + public void setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + } + + public String getBuyLink() { + return buyLink; + } + + public void setBuyLink(String buyLink) { + this.buyLink = buyLink; + } + + public String getKeywords() { + return keywords; + } + + public void setKeywords(String keywords) { + this.keywords = keywords; + } + + public String getReviews() { + return reviews; + } + + public void setReviews(String reviews) { + this.reviews = reviews; + } + + public String getRetailPrice() { + return retailPrice; + } + + public void setRetailPrice(String retailPrice) { + this.retailPrice = retailPrice; + } + + public String getSalePrice() { + return salePrice; + } + + public void setSalePrice(String salePrice) { + this.salePrice = salePrice; + } + + public String getBrandPageLink() { + return brandPageLink; + } + + public void setBrandPageLink(String brandPageLink) { + this.brandPageLink = brandPageLink; + } + + public String getBrandLogoImage() { + return brandLogoImage; + } + + public void setBrandLogoImage(String brandLogoImage) { + this.brandLogoImage = brandLogoImage; + } + + public String getProductPageViewTracking() { + return productPageViewTracking; + } + + public void setProductPageViewTracking(String productPageViewTracking) { + this.productPageViewTracking = productPageViewTracking; + } + + public String getParentGroupId() { + return parentGroupId; + } + + public void setParentGroupId(String parentGroupId) { + this.parentGroupId = parentGroupId; + } + + public String getFineline() { + return fineline; + } + + public void setFineline(String fineline) { + this.fineline = fineline; + } + + public String getSuperfineline() { + return superfineline; + } + + public void setSuperfineline(String superfineline) { + this.superfineline = superfineline; + } + + public String getModelnumber() { + return modelnumber; + } + + public void setModelnumber(String modelnumber) { + this.modelnumber = modelnumber; + } + + public String getCaliber() { + return caliber; + } + + public void setCaliber(String caliber) { + this.caliber = caliber; + } + + public String getMediumImageUrl() { + return mediumImageUrl; + } + + public void setMediumImageUrl(String mediumImageUrl) { + this.mediumImageUrl = mediumImageUrl; + } + + public String getProductContentWidget() { + return productContentWidget; + } + + public void setProductContentWidget(String productContentWidget) { + this.productContentWidget = productContentWidget; + } + + public String getGoogleCategorization() { + return googleCategorization; + } + + public void setGoogleCategorization(String googleCategorization) { + this.googleCategorization = googleCategorization; + } + + public String getItemBasedCommission() { + return itemBasedCommission; + } + + public void setItemBasedCommission(String itemBasedCommission) { + this.itemBasedCommission = itemBasedCommission; + } + + public String getItemBasedCommissionRate() { + return itemBasedCommissionRate; + } + + public void setItemBasedCommissionRate(String itemBasedCommissionRate) { + this.itemBasedCommissionRate = itemBasedCommissionRate; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/Brand.java b/src/main/java/group/goforward/ballistic/jpa/Brand.java new file mode 100644 index 0000000..de19eef --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/Brand.java @@ -0,0 +1,85 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.Instant; +import java.util.UUID; + +@Entity +@Table(name = "brands") +public class Brand { + @Id + @Column(name = "id", nullable = false) + private Integer id; + + @Column(name = "name", nullable = false, length = 100) + private String name; + + @ColumnDefault("now()") + @Column(name = "updated_at", nullable = false) + private Instant updatedAt; + + @ColumnDefault("now()") + @Column(name = "created_at", nullable = false) + private Instant createdAt; + + @Column(name = "deleted_at") + private Instant deletedAt; + + @ColumnDefault("gen_random_uuid()") + @Column(name = "uuid") + private UUID uuid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getDeletedAt() { + return deletedAt; + } + + public void setDeletedAt(Instant deletedAt) { + this.deletedAt = deletedAt; + } + + public UUID getUuid() { + return uuid; + } + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/Build.java b/src/main/java/group/goforward/ballistic/jpa/Build.java new file mode 100644 index 0000000..40daa8e --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/Build.java @@ -0,0 +1,107 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.Instant; +import java.util.UUID; + +@Entity +@Table(name = "builds") +public class Build { + @Id + @Column(name = "id", nullable = false) + private Integer id; + + @Column(name = "account_id", nullable = false) + private Integer accountId; + + @Column(name = "name", nullable = false) + private String name; + + @Column(name = "description", length = Integer.MAX_VALUE) + private String description; + + @ColumnDefault("now()") + @Column(name = "updated_at", nullable = false) + private Instant updatedAt; + + @ColumnDefault("now()") + @Column(name = "created_at", nullable = false) + private Instant createdAt; + + @Column(name = "deleted_at") + private Instant deletedAt; + + @ColumnDefault("gen_random_uuid()") + @Column(name = "uuid") + private UUID uuid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getAccountId() { + return accountId; + } + + public void setAccountId(Integer accountId) { + this.accountId = accountId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getDeletedAt() { + return deletedAt; + } + + public void setDeletedAt(Instant deletedAt) { + this.deletedAt = deletedAt; + } + + public UUID getUuid() { + return uuid; + } + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/BuildsComponent.java b/src/main/java/group/goforward/ballistic/jpa/BuildsComponent.java new file mode 100644 index 0000000..5d1289b --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/BuildsComponent.java @@ -0,0 +1,96 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.Instant; +import java.util.UUID; + +@Entity +@Table(name = "builds_components") +public class BuildsComponent { + @Id + @Column(name = "id", nullable = false) + private Integer id; + + @Column(name = "build_id", nullable = false) + private Integer buildId; + + @Column(name = "product_id", nullable = false) + private Integer productId; + + @ColumnDefault("now()") + @Column(name = "updated_at", nullable = false) + private Instant updatedAt; + + @ColumnDefault("now()") + @Column(name = "created_at", nullable = false) + private Instant createdAt; + + @Column(name = "deleted_at") + private Instant deletedAt; + + @ColumnDefault("gen_random_uuid()") + @Column(name = "uuid") + private UUID uuid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getBuildId() { + return buildId; + } + + public void setBuildId(Integer buildId) { + this.buildId = buildId; + } + + public Integer getProductId() { + return productId; + } + + public void setProductId(Integer productId) { + this.productId = productId; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getDeletedAt() { + return deletedAt; + } + + public void setDeletedAt(Instant deletedAt) { + this.deletedAt = deletedAt; + } + + public UUID getUuid() { + return uuid; + } + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/Category.java b/src/main/java/group/goforward/ballistic/jpa/Category.java new file mode 100644 index 0000000..997743e --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/Category.java @@ -0,0 +1,96 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.Instant; +import java.util.UUID; + +@Entity +@Table(name = "categories") +public class Category { + @Id + @Column(name = "id", nullable = false) + private Integer id; + + @Column(name = "name", nullable = false, length = 100) + private String name; + + @Column(name = "parent_category_id") + private Integer parentCategoryId; + + @ColumnDefault("now()") + @Column(name = "updated_at", nullable = false) + private Instant updatedAt; + + @ColumnDefault("now()") + @Column(name = "created_at", nullable = false) + private Instant createdAt; + + @Column(name = "deleted_at") + private Instant deletedAt; + + @ColumnDefault("gen_random_uuid()") + @Column(name = "uuid") + private UUID uuid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getParentCategoryId() { + return parentCategoryId; + } + + public void setParentCategoryId(Integer parentCategoryId) { + this.parentCategoryId = parentCategoryId; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getDeletedAt() { + return deletedAt; + } + + public void setDeletedAt(Instant deletedAt) { + this.deletedAt = deletedAt; + } + + public UUID getUuid() { + return uuid; + } + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/Compartment.java b/src/main/java/group/goforward/ballistic/jpa/Compartment.java new file mode 100644 index 0000000..df07503 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/Compartment.java @@ -0,0 +1,85 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.Instant; +import java.util.UUID; + +@Entity +@Table(name = "compartment") +public class Compartment { + @Id + @ColumnDefault("gen_random_uuid()") + @Column(name = "id", nullable = false) + private UUID id; + + @Column(name = "name", nullable = false, length = 100) + private String name; + + @Column(name = "description", length = 300) + private String description; + + @ColumnDefault("now()") + @Column(name = "updated_at", nullable = false) + private Instant updatedAt; + + @ColumnDefault("now()") + @Column(name = "created_at", nullable = false) + private Instant createdAt; + + @Column(name = "deleted_at") + private Instant deletedAt; + + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getDeletedAt() { + return deletedAt; + } + + public void setDeletedAt(Instant deletedAt) { + this.deletedAt = deletedAt; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/ComponentType.java b/src/main/java/group/goforward/ballistic/jpa/ComponentType.java new file mode 100644 index 0000000..2f51d54 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/ComponentType.java @@ -0,0 +1,85 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.Instant; +import java.util.UUID; + +@Entity +@Table(name = "component_type") +public class ComponentType { + @Id + @Column(name = "id", nullable = false) + private Integer id; + + @Column(name = "name", nullable = false, length = 100) + private String name; + + @ColumnDefault("now()") + @Column(name = "updated_at", nullable = false) + private Instant updatedAt; + + @ColumnDefault("now()") + @Column(name = "created_at", nullable = false) + private Instant createdAt; + + @Column(name = "deleted_at") + private Instant deletedAt; + + @ColumnDefault("gen_random_uuid()") + @Column(name = "uuid") + private UUID uuid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getDeletedAt() { + return deletedAt; + } + + public void setDeletedAt(Instant deletedAt) { + this.deletedAt = deletedAt; + } + + public UUID getUuid() { + return uuid; + } + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/EmailVerificationCode.java b/src/main/java/group/goforward/ballistic/jpa/EmailVerificationCode.java new file mode 100644 index 0000000..a268564 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/EmailVerificationCode.java @@ -0,0 +1,71 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.OffsetDateTime; + +@Entity +@Table(name = "email_verification_codes") +public class EmailVerificationCode { + @Id + @ColumnDefault("nextval('email_verification_codes_id_seq')") + @Column(name = "id", nullable = false) + private Integer id; + + @Column(name = "user_id", nullable = false, length = 21) + private String userId; + + @Column(name = "email", nullable = false) + private String email; + + @Column(name = "code", nullable = false, length = 8) + private String code; + + @Column(name = "expires_at", nullable = false) + private OffsetDateTime expiresAt; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public OffsetDateTime getExpiresAt() { + return expiresAt; + } + + public void setExpiresAt(OffsetDateTime expiresAt) { + this.expiresAt = expiresAt; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/Lipseycatalog.java b/src/main/java/group/goforward/ballistic/jpa/Lipseycatalog.java new file mode 100644 index 0000000..abef4b9 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/Lipseycatalog.java @@ -0,0 +1,909 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.Instant; + +@Entity +@Table(name = "lipseycatalog") +public class Lipseycatalog { + @Id + @Column(name = "id", nullable = false) + private Integer id; + + @Column(name = "itemno", nullable = false, length = 20) + private String itemno; + + @Column(name = "description1", length = Integer.MAX_VALUE) + private String description1; + + @Column(name = "description2", length = Integer.MAX_VALUE) + private String description2; + + @Column(name = "upc", length = 20) + private String upc; + + @Column(name = "manufacturermodelno", length = 30) + private String manufacturermodelno; + + @Column(name = "msrp") + private Double msrp; + + @Column(name = "model", length = Integer.MAX_VALUE) + private String model; + + @Column(name = "calibergauge", length = Integer.MAX_VALUE) + private String calibergauge; + + @Column(name = "manufacturer", length = Integer.MAX_VALUE) + private String manufacturer; + + @Column(name = "type", length = Integer.MAX_VALUE) + private String type; + + @Column(name = "action", length = Integer.MAX_VALUE) + private String action; + + @Column(name = "barrellength", length = Integer.MAX_VALUE) + private String barrellength; + + @Column(name = "capacity", length = Integer.MAX_VALUE) + private String capacity; + + @Column(name = "finish", length = Integer.MAX_VALUE) + private String finish; + + @Column(name = "overalllength", length = Integer.MAX_VALUE) + private String overalllength; + + @Column(name = "receiver", length = Integer.MAX_VALUE) + private String receiver; + + @Column(name = "safety", length = Integer.MAX_VALUE) + private String safety; + + @Column(name = "sights", length = Integer.MAX_VALUE) + private String sights; + + @Column(name = "stockframegrips", length = Integer.MAX_VALUE) + private String stockframegrips; + + @Column(name = "magazine", length = Integer.MAX_VALUE) + private String magazine; + + @Column(name = "weight", length = Integer.MAX_VALUE) + private String weight; + + @Column(name = "imagename", length = Integer.MAX_VALUE) + private String imagename; + + @Column(name = "chamber", length = Integer.MAX_VALUE) + private String chamber; + + @Column(name = "drilledandtapped", length = Integer.MAX_VALUE) + private String drilledandtapped; + + @Column(name = "rateoftwist", length = Integer.MAX_VALUE) + private String rateoftwist; + + @Column(name = "itemtype", length = Integer.MAX_VALUE) + private String itemtype; + + @Column(name = "additionalfeature1", length = Integer.MAX_VALUE) + private String additionalfeature1; + + @Column(name = "additionalfeature2", length = Integer.MAX_VALUE) + private String additionalfeature2; + + @Column(name = "additionalfeature3", length = Integer.MAX_VALUE) + private String additionalfeature3; + + @Column(name = "shippingweight", length = Integer.MAX_VALUE) + private String shippingweight; + + @Column(name = "boundbookmanufacturer", length = Integer.MAX_VALUE) + private String boundbookmanufacturer; + + @Column(name = "boundbookmodel", length = Integer.MAX_VALUE) + private String boundbookmodel; + + @Column(name = "boundbooktype", length = Integer.MAX_VALUE) + private String boundbooktype; + + @Column(name = "nfathreadpattern", length = Integer.MAX_VALUE) + private String nfathreadpattern; + + @Column(name = "nfaattachmentmethod", length = Integer.MAX_VALUE) + private String nfaattachmentmethod; + + @Column(name = "nfabaffletype", length = Integer.MAX_VALUE) + private String nfabaffletype; + + @Column(name = "silencercanbedisassembled", length = Integer.MAX_VALUE) + private String silencercanbedisassembled; + + @Column(name = "silencerconstructionmaterial", length = Integer.MAX_VALUE) + private String silencerconstructionmaterial; + + @Column(name = "nfadbreduction", length = Integer.MAX_VALUE) + private String nfadbreduction; + + @Column(name = "silenceroutsidediameter", length = Integer.MAX_VALUE) + private String silenceroutsidediameter; + + @Column(name = "\"nfaform3Caliber\"", length = Integer.MAX_VALUE) + private String nfaform3Caliber; + + @Column(name = "opticmagnification", length = Integer.MAX_VALUE) + private String opticmagnification; + + @Column(name = "maintubesize", length = Integer.MAX_VALUE) + private String maintubesize; + + @Column(name = "adjustableobjective", length = Integer.MAX_VALUE) + private String adjustableobjective; + + @Column(name = "objectivesize", length = Integer.MAX_VALUE) + private String objectivesize; + + @Column(name = "opticadjustments", length = Integer.MAX_VALUE) + private String opticadjustments; + + @Column(name = "illuminatedreticle", length = Integer.MAX_VALUE) + private String illuminatedreticle; + + @Column(name = "reticle", length = Integer.MAX_VALUE) + private String reticle; + + @Column(name = "exclusive", length = Integer.MAX_VALUE) + private String exclusive; + + @ColumnDefault("NULL") + @Column(name = "quantity", length = 10) + private String quantity; + + @Column(name = "allocated", length = Integer.MAX_VALUE) + private String allocated; + + @Column(name = "onsale", length = Integer.MAX_VALUE) + private String onsale; + + @Column(name = "price") + private Double price; + + @Column(name = "currentprice") + private Double currentprice; + + @Column(name = "retailmap") + private Double retailmap; + + @Column(name = "fflrequired", length = Integer.MAX_VALUE) + private String fflrequired; + + @Column(name = "sotrequired", length = Integer.MAX_VALUE) + private String sotrequired; + + @Column(name = "exclusivetype", length = Integer.MAX_VALUE) + private String exclusivetype; + + @Column(name = "scopecoverincluded", length = Integer.MAX_VALUE) + private String scopecoverincluded; + + @Column(name = "special", length = Integer.MAX_VALUE) + private String special; + + @Column(name = "sightstype", length = Integer.MAX_VALUE) + private String sightstype; + + @Column(name = "\"case\"", length = Integer.MAX_VALUE) + private String caseField; + + @Column(name = "choke", length = Integer.MAX_VALUE) + private String choke; + + @Column(name = "dbreduction", length = Integer.MAX_VALUE) + private String dbreduction; + + @Column(name = "family", length = Integer.MAX_VALUE) + private String family; + + @Column(name = "finishtype", length = Integer.MAX_VALUE) + private String finishtype; + + @Column(name = "frame", length = Integer.MAX_VALUE) + private String frame; + + @Column(name = "griptype", length = 30) + private String griptype; + + @Column(name = "handgunslidematerial", length = Integer.MAX_VALUE) + private String handgunslidematerial; + + @Column(name = "countryoforigin", length = 4) + private String countryoforigin; + + @Column(name = "itemlength", length = Integer.MAX_VALUE) + private String itemlength; + + @Column(name = "itemwidth", length = Integer.MAX_VALUE) + private String itemwidth; + + @Column(name = "itemheight", length = Integer.MAX_VALUE) + private String itemheight; + + @Column(name = "packagelength") + private Double packagelength; + + @Column(name = "packagewidth") + private Double packagewidth; + + @Column(name = "packageheight") + private Double packageheight; + + @Column(name = "itemgroup", length = 40) + private String itemgroup; + + @ColumnDefault("now()") + @Column(name = "updated_at", nullable = false) + private Instant updatedAt; + + @ColumnDefault("now()") + @Column(name = "created_at", nullable = false) + private Instant createdAt; + + @Column(name = "deleted_at") + private Instant deletedAt; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getItemno() { + return itemno; + } + + public void setItemno(String itemno) { + this.itemno = itemno; + } + + public String getDescription1() { + return description1; + } + + public void setDescription1(String description1) { + this.description1 = description1; + } + + public String getDescription2() { + return description2; + } + + public void setDescription2(String description2) { + this.description2 = description2; + } + + public String getUpc() { + return upc; + } + + public void setUpc(String upc) { + this.upc = upc; + } + + public String getManufacturermodelno() { + return manufacturermodelno; + } + + public void setManufacturermodelno(String manufacturermodelno) { + this.manufacturermodelno = manufacturermodelno; + } + + public Double getMsrp() { + return msrp; + } + + public void setMsrp(Double msrp) { + this.msrp = msrp; + } + + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + public String getCalibergauge() { + return calibergauge; + } + + public void setCalibergauge(String calibergauge) { + this.calibergauge = calibergauge; + } + + public String getManufacturer() { + return manufacturer; + } + + public void setManufacturer(String manufacturer) { + this.manufacturer = manufacturer; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + + public String getBarrellength() { + return barrellength; + } + + public void setBarrellength(String barrellength) { + this.barrellength = barrellength; + } + + public String getCapacity() { + return capacity; + } + + public void setCapacity(String capacity) { + this.capacity = capacity; + } + + public String getFinish() { + return finish; + } + + public void setFinish(String finish) { + this.finish = finish; + } + + public String getOveralllength() { + return overalllength; + } + + public void setOveralllength(String overalllength) { + this.overalllength = overalllength; + } + + public String getReceiver() { + return receiver; + } + + public void setReceiver(String receiver) { + this.receiver = receiver; + } + + public String getSafety() { + return safety; + } + + public void setSafety(String safety) { + this.safety = safety; + } + + public String getSights() { + return sights; + } + + public void setSights(String sights) { + this.sights = sights; + } + + public String getStockframegrips() { + return stockframegrips; + } + + public void setStockframegrips(String stockframegrips) { + this.stockframegrips = stockframegrips; + } + + public String getMagazine() { + return magazine; + } + + public void setMagazine(String magazine) { + this.magazine = magazine; + } + + public String getWeight() { + return weight; + } + + public void setWeight(String weight) { + this.weight = weight; + } + + public String getImagename() { + return imagename; + } + + public void setImagename(String imagename) { + this.imagename = imagename; + } + + public String getChamber() { + return chamber; + } + + public void setChamber(String chamber) { + this.chamber = chamber; + } + + public String getDrilledandtapped() { + return drilledandtapped; + } + + public void setDrilledandtapped(String drilledandtapped) { + this.drilledandtapped = drilledandtapped; + } + + public String getRateoftwist() { + return rateoftwist; + } + + public void setRateoftwist(String rateoftwist) { + this.rateoftwist = rateoftwist; + } + + public String getItemtype() { + return itemtype; + } + + public void setItemtype(String itemtype) { + this.itemtype = itemtype; + } + + public String getAdditionalfeature1() { + return additionalfeature1; + } + + public void setAdditionalfeature1(String additionalfeature1) { + this.additionalfeature1 = additionalfeature1; + } + + public String getAdditionalfeature2() { + return additionalfeature2; + } + + public void setAdditionalfeature2(String additionalfeature2) { + this.additionalfeature2 = additionalfeature2; + } + + public String getAdditionalfeature3() { + return additionalfeature3; + } + + public void setAdditionalfeature3(String additionalfeature3) { + this.additionalfeature3 = additionalfeature3; + } + + public String getShippingweight() { + return shippingweight; + } + + public void setShippingweight(String shippingweight) { + this.shippingweight = shippingweight; + } + + public String getBoundbookmanufacturer() { + return boundbookmanufacturer; + } + + public void setBoundbookmanufacturer(String boundbookmanufacturer) { + this.boundbookmanufacturer = boundbookmanufacturer; + } + + public String getBoundbookmodel() { + return boundbookmodel; + } + + public void setBoundbookmodel(String boundbookmodel) { + this.boundbookmodel = boundbookmodel; + } + + public String getBoundbooktype() { + return boundbooktype; + } + + public void setBoundbooktype(String boundbooktype) { + this.boundbooktype = boundbooktype; + } + + public String getNfathreadpattern() { + return nfathreadpattern; + } + + public void setNfathreadpattern(String nfathreadpattern) { + this.nfathreadpattern = nfathreadpattern; + } + + public String getNfaattachmentmethod() { + return nfaattachmentmethod; + } + + public void setNfaattachmentmethod(String nfaattachmentmethod) { + this.nfaattachmentmethod = nfaattachmentmethod; + } + + public String getNfabaffletype() { + return nfabaffletype; + } + + public void setNfabaffletype(String nfabaffletype) { + this.nfabaffletype = nfabaffletype; + } + + public String getSilencercanbedisassembled() { + return silencercanbedisassembled; + } + + public void setSilencercanbedisassembled(String silencercanbedisassembled) { + this.silencercanbedisassembled = silencercanbedisassembled; + } + + public String getSilencerconstructionmaterial() { + return silencerconstructionmaterial; + } + + public void setSilencerconstructionmaterial(String silencerconstructionmaterial) { + this.silencerconstructionmaterial = silencerconstructionmaterial; + } + + public String getNfadbreduction() { + return nfadbreduction; + } + + public void setNfadbreduction(String nfadbreduction) { + this.nfadbreduction = nfadbreduction; + } + + public String getSilenceroutsidediameter() { + return silenceroutsidediameter; + } + + public void setSilenceroutsidediameter(String silenceroutsidediameter) { + this.silenceroutsidediameter = silenceroutsidediameter; + } + + public String getNfaform3Caliber() { + return nfaform3Caliber; + } + + public void setNfaform3Caliber(String nfaform3Caliber) { + this.nfaform3Caliber = nfaform3Caliber; + } + + public String getOpticmagnification() { + return opticmagnification; + } + + public void setOpticmagnification(String opticmagnification) { + this.opticmagnification = opticmagnification; + } + + public String getMaintubesize() { + return maintubesize; + } + + public void setMaintubesize(String maintubesize) { + this.maintubesize = maintubesize; + } + + public String getAdjustableobjective() { + return adjustableobjective; + } + + public void setAdjustableobjective(String adjustableobjective) { + this.adjustableobjective = adjustableobjective; + } + + public String getObjectivesize() { + return objectivesize; + } + + public void setObjectivesize(String objectivesize) { + this.objectivesize = objectivesize; + } + + public String getOpticadjustments() { + return opticadjustments; + } + + public void setOpticadjustments(String opticadjustments) { + this.opticadjustments = opticadjustments; + } + + public String getIlluminatedreticle() { + return illuminatedreticle; + } + + public void setIlluminatedreticle(String illuminatedreticle) { + this.illuminatedreticle = illuminatedreticle; + } + + public String getReticle() { + return reticle; + } + + public void setReticle(String reticle) { + this.reticle = reticle; + } + + public String getExclusive() { + return exclusive; + } + + public void setExclusive(String exclusive) { + this.exclusive = exclusive; + } + + public String getQuantity() { + return quantity; + } + + public void setQuantity(String quantity) { + this.quantity = quantity; + } + + public String getAllocated() { + return allocated; + } + + public void setAllocated(String allocated) { + this.allocated = allocated; + } + + public String getOnsale() { + return onsale; + } + + public void setOnsale(String onsale) { + this.onsale = onsale; + } + + public Double getPrice() { + return price; + } + + public void setPrice(Double price) { + this.price = price; + } + + public Double getCurrentprice() { + return currentprice; + } + + public void setCurrentprice(Double currentprice) { + this.currentprice = currentprice; + } + + public Double getRetailmap() { + return retailmap; + } + + public void setRetailmap(Double retailmap) { + this.retailmap = retailmap; + } + + public String getFflrequired() { + return fflrequired; + } + + public void setFflrequired(String fflrequired) { + this.fflrequired = fflrequired; + } + + public String getSotrequired() { + return sotrequired; + } + + public void setSotrequired(String sotrequired) { + this.sotrequired = sotrequired; + } + + public String getExclusivetype() { + return exclusivetype; + } + + public void setExclusivetype(String exclusivetype) { + this.exclusivetype = exclusivetype; + } + + public String getScopecoverincluded() { + return scopecoverincluded; + } + + public void setScopecoverincluded(String scopecoverincluded) { + this.scopecoverincluded = scopecoverincluded; + } + + public String getSpecial() { + return special; + } + + public void setSpecial(String special) { + this.special = special; + } + + public String getSightstype() { + return sightstype; + } + + public void setSightstype(String sightstype) { + this.sightstype = sightstype; + } + + public String getCaseField() { + return caseField; + } + + public void setCaseField(String caseField) { + this.caseField = caseField; + } + + public String getChoke() { + return choke; + } + + public void setChoke(String choke) { + this.choke = choke; + } + + public String getDbreduction() { + return dbreduction; + } + + public void setDbreduction(String dbreduction) { + this.dbreduction = dbreduction; + } + + public String getFamily() { + return family; + } + + public void setFamily(String family) { + this.family = family; + } + + public String getFinishtype() { + return finishtype; + } + + public void setFinishtype(String finishtype) { + this.finishtype = finishtype; + } + + public String getFrame() { + return frame; + } + + public void setFrame(String frame) { + this.frame = frame; + } + + public String getGriptype() { + return griptype; + } + + public void setGriptype(String griptype) { + this.griptype = griptype; + } + + public String getHandgunslidematerial() { + return handgunslidematerial; + } + + public void setHandgunslidematerial(String handgunslidematerial) { + this.handgunslidematerial = handgunslidematerial; + } + + public String getCountryoforigin() { + return countryoforigin; + } + + public void setCountryoforigin(String countryoforigin) { + this.countryoforigin = countryoforigin; + } + + public String getItemlength() { + return itemlength; + } + + public void setItemlength(String itemlength) { + this.itemlength = itemlength; + } + + public String getItemwidth() { + return itemwidth; + } + + public void setItemwidth(String itemwidth) { + this.itemwidth = itemwidth; + } + + public String getItemheight() { + return itemheight; + } + + public void setItemheight(String itemheight) { + this.itemheight = itemheight; + } + + public Double getPackagelength() { + return packagelength; + } + + public void setPackagelength(Double packagelength) { + this.packagelength = packagelength; + } + + public Double getPackagewidth() { + return packagewidth; + } + + public void setPackagewidth(Double packagewidth) { + this.packagewidth = packagewidth; + } + + public Double getPackageheight() { + return packageheight; + } + + public void setPackageheight(Double packageheight) { + this.packageheight = packageheight; + } + + public String getItemgroup() { + return itemgroup; + } + + public void setItemgroup(String itemgroup) { + this.itemgroup = itemgroup; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getDeletedAt() { + return deletedAt; + } + + public void setDeletedAt(Instant deletedAt) { + this.deletedAt = deletedAt; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/Manufacturer.java b/src/main/java/group/goforward/ballistic/jpa/Manufacturer.java new file mode 100644 index 0000000..facff3d --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/Manufacturer.java @@ -0,0 +1,85 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.Instant; +import java.util.UUID; + +@Entity +@Table(name = "manufacturer") +public class Manufacturer { + @Id + @Column(name = "id", nullable = false) + private Integer id; + + @Column(name = "name", nullable = false, length = 100) + private String name; + + @ColumnDefault("now()") + @Column(name = "updated_at", nullable = false) + private Instant updatedAt; + + @ColumnDefault("now()") + @Column(name = "created_at", nullable = false) + private Instant createdAt; + + @Column(name = "deleted_at") + private Instant deletedAt; + + @ColumnDefault("gen_random_uuid()") + @Column(name = "uuid") + private UUID uuid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getDeletedAt() { + return deletedAt; + } + + public void setDeletedAt(Instant deletedAt) { + this.deletedAt = deletedAt; + } + + public UUID getUuid() { + return uuid; + } + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/PasswordResetToken.java b/src/main/java/group/goforward/ballistic/jpa/PasswordResetToken.java new file mode 100644 index 0000000..0a1da92 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/PasswordResetToken.java @@ -0,0 +1,47 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; + +import java.time.OffsetDateTime; + +@Entity +@Table(name = "password_reset_tokens") +public class PasswordResetToken { + @Id + @Column(name = "id", nullable = false, length = 40) + private String id; + + @Column(name = "user_id", nullable = false, length = 21) + private String userId; + + @Column(name = "expires_at", nullable = false) + private OffsetDateTime expiresAt; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public OffsetDateTime getExpiresAt() { + return expiresAt; + } + + public void setExpiresAt(OffsetDateTime expiresAt) { + this.expiresAt = expiresAt; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/Post.java b/src/main/java/group/goforward/ballistic/jpa/Post.java new file mode 100644 index 0000000..67f86e8 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/Post.java @@ -0,0 +1,116 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.Instant; + +@Entity +@Table(name = "posts") +public class Post { + @Id + @Column(name = "id", nullable = false, length = 15) + private String id; + + @Column(name = "user_id", nullable = false) + private String userId; + + @Column(name = "title", nullable = false) + private String title; + + @Column(name = "excerpt", nullable = false) + private String excerpt; + + @Column(name = "content", nullable = false, length = Integer.MAX_VALUE) + private String content; + + @ColumnDefault("'draft'") + @Column(name = "status", nullable = false, length = 10) + private String status; + + @Column(name = "tags") + private String tags; + + @ColumnDefault("now()") + @Column(name = "created_at", nullable = false) + private Instant createdAt; + + @Column(name = "updated_at") + private Instant updatedAt; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getExcerpt() { + return excerpt; + } + + public void setExcerpt(String excerpt) { + this.excerpt = excerpt; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getTags() { + return tags; + } + + public void setTags(String tags) { + this.tags = tags; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/Product.java b/src/main/java/group/goforward/ballistic/jpa/Product.java new file mode 100644 index 0000000..bc2a9e9 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/Product.java @@ -0,0 +1,129 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.math.BigDecimal; +import java.time.Instant; + +@Entity +@Table(name = "products") +public class Product { + @Id + @Column(name = "id", nullable = false) + private Integer id; + + @Column(name = "name", nullable = false) + private String name; + + @Column(name = "description", nullable = false, length = Integer.MAX_VALUE) + private String description; + + @Column(name = "price", nullable = false) + private BigDecimal price; + + @Column(name = "reseller_id", nullable = false) + private Integer resellerId; + + @Column(name = "category_id", nullable = false) + private Integer categoryId; + + @ColumnDefault("0") + @Column(name = "stock_qty") + private Integer stockQty; + + @ColumnDefault("now()") + @Column(name = "updated_at", nullable = false) + private Instant updatedAt; + + @ColumnDefault("now()") + @Column(name = "created_at", nullable = false) + private Instant createdAt; + + @Column(name = "deleted_at") + private Instant deletedAt; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public BigDecimal getPrice() { + return price; + } + + public void setPrice(BigDecimal price) { + this.price = price; + } + + public Integer getResellerId() { + return resellerId; + } + + public void setResellerId(Integer resellerId) { + this.resellerId = resellerId; + } + + public Integer getCategoryId() { + return categoryId; + } + + public void setCategoryId(Integer categoryId) { + this.categoryId = categoryId; + } + + public Integer getStockQty() { + return stockQty; + } + + public void setStockQty(Integer stockQty) { + this.stockQty = stockQty; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getDeletedAt() { + return deletedAt; + } + + public void setDeletedAt(Instant deletedAt) { + this.deletedAt = deletedAt; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/ProductFeed.java b/src/main/java/group/goforward/ballistic/jpa/ProductFeed.java new file mode 100644 index 0000000..1bbc637 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/ProductFeed.java @@ -0,0 +1,107 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.Instant; +import java.util.UUID; + +@Entity +@Table(name = "product_feeds") +public class ProductFeed { + @Id + @Column(name = "id", nullable = false) + private Integer id; + + @Column(name = "reseller_id", nullable = false) + private Integer resellerId; + + @Column(name = "feed_url", nullable = false) + private String feedUrl; + + @Column(name = "last_update") + private Instant lastUpdate; + + @ColumnDefault("now()") + @Column(name = "updated_at", nullable = false) + private Instant updatedAt; + + @ColumnDefault("now()") + @Column(name = "created_at", nullable = false) + private Instant createdAt; + + @Column(name = "deleted_at") + private Instant deletedAt; + + @ColumnDefault("gen_random_uuid()") + @Column(name = "uuid") + private UUID uuid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getResellerId() { + return resellerId; + } + + public void setResellerId(Integer resellerId) { + this.resellerId = resellerId; + } + + public String getFeedUrl() { + return feedUrl; + } + + public void setFeedUrl(String feedUrl) { + this.feedUrl = feedUrl; + } + + public Instant getLastUpdate() { + return lastUpdate; + } + + public void setLastUpdate(Instant lastUpdate) { + this.lastUpdate = lastUpdate; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getDeletedAt() { + return deletedAt; + } + + public void setDeletedAt(Instant deletedAt) { + this.deletedAt = deletedAt; + } + + public UUID getUuid() { + return uuid; + } + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/Psa.java b/src/main/java/group/goforward/ballistic/jpa/Psa.java new file mode 100644 index 0000000..f706dc6 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/Psa.java @@ -0,0 +1,359 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.util.UUID; + +@Entity +@Table(name = "psa") +public class Psa { + @Id + @Column(name = "id", nullable = false) + private Integer id; + + @Column(name = "\"SKU\"", length = 50) + private String sku; + + @Column(name = "\"MANUFACTURER_ID\"", length = 50) + private String manufacturerId; + + @Column(name = "\"BRAND_NAME\"", length = 50) + private String brandName; + + @Column(name = "\"PRODUCT_NAME\"") + private String productName; + + @Column(name = "\"LONG_DESCRIPTION\"", length = Integer.MAX_VALUE) + private String longDescription; + + @Column(name = "\"SHORT_DESCRIPTION\"", length = 50) + private String shortDescription; + + @Column(name = "\"DEPARTMENT\"", length = 50) + private String department; + + @Column(name = "\"CATEGORY\"", length = 50) + private String category; + + @Column(name = "\"SUBCATEGORY\"", length = 50) + private String subcategory; + + @Column(name = "\"THUMB_URL\"", length = 50) + private String thumbUrl; + + @Column(name = "\"IMAGE_URL\"", length = 50) + private String imageUrl; + + @Column(name = "\"BUY_LINK\"", length = 128) + private String buyLink; + + @Column(name = "\"KEYWORDS\"", length = 50) + private String keywords; + + @Column(name = "\"REVIEWS\"", length = 50) + private String reviews; + + @Column(name = "\"RETAIL_PRICE\"") + private Float retailPrice; + + @Column(name = "\"SALE_PRICE\"") + private Float salePrice; + + @Column(name = "\"BRAND_PAGE_LINK\"", length = 50) + private String brandPageLink; + + /* @Column(name = "\"BRAND_LOGO_IMAGE\"", length = 50) + private String brandLogoImage;*/ + + @Column(name = "\"PRODUCT_PAGE_VIEW_TRACKING\"", length = 256) + private String productPageViewTracking; + + @Column(name = "\"PARENT_GROUP_ID\"", length = 50) + private String parentGroupId; + + @Column(name = "\"FINELINE\"", length = 50) + private String fineline; + + @Column(name = "\"SUPERFINELINE\"", length = 200) + private String superfineline; + + @Column(name = "\"MODELNUMBER\"", length = 50) + private String modelnumber; + + @Column(name = "\"CALIBER\"", length = 200) + private String caliber; + + @Column(name = "\"UPC\"", length = 100) + private String upc; + + @Column(name = "\"MEDIUM_IMAGE_URL\"", length = 50) + private String mediumImageUrl; + + @Column(name = "\"PRODUCT_CONTENT_WIDGET\"", length = 256) + private String productContentWidget; + + @Column(name = "\"GOOGLE_CATEGORIZATION\"", length = 50) + private String googleCategorization; + + @Column(name = "\"ITEM_BASED_COMMISSION\"", length = 50) + private String itemBasedCommission; + + @ColumnDefault("gen_random_uuid()") + @Column(name = "uuid") + private String uuid; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getSku() { + return sku; + } + + public void setSku(String sku) { + this.sku = sku; + } + + public String getManufacturerId() { + return manufacturerId; + } + + public void setManufacturerId(String manufacturerId) { + this.manufacturerId = manufacturerId; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getLongDescription() { + return longDescription; + } + + public void setLongDescription(String longDescription) { + this.longDescription = longDescription; + } + + public String getShortDescription() { + return shortDescription; + } + + public void setShortDescription(String shortDescription) { + this.shortDescription = shortDescription; + } + + public String getDepartment() { + return department; + } + + public void setDepartment(String department) { + this.department = department; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getSubcategory() { + return subcategory; + } + + public void setSubcategory(String subcategory) { + this.subcategory = subcategory; + } + + public String getThumbUrl() { + return thumbUrl; + } + + public void setThumbUrl(String thumbUrl) { + this.thumbUrl = thumbUrl; + } + + public String getImageUrl() { + return imageUrl; + } + + public void setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + } + + public String getBuyLink() { + return buyLink; + } + + public void setBuyLink(String buyLink) { + this.buyLink = buyLink; + } + + public String getKeywords() { + return keywords; + } + + public void setKeywords(String keywords) { + this.keywords = keywords; + } + + public String getReviews() { + return reviews; + } + + public void setReviews(String reviews) { + this.reviews = reviews; + } + + public Float getRetailPrice() { + return retailPrice; + } + + public void setRetailPrice(Float retailPrice) { + this.retailPrice = retailPrice; + } + + public Float getSalePrice() { + return salePrice; + } + + public void setSalePrice(Float salePrice) { + this.salePrice = salePrice; + } + + public String getBrandPageLink() { + return brandPageLink; + } + + public void setBrandPageLink(String brandPageLink) { + this.brandPageLink = brandPageLink; + } +/* + + public String getBrandLogoImage() { + return brandLogoImage; + } + + public void setBrandLogoImage(String brandLogoImage) { + this.brandLogoImage = brandLogoImage; + } +*/ + + public String getProductPageViewTracking() { + return productPageViewTracking; + } + + public void setProductPageViewTracking(String productPageViewTracking) { + this.productPageViewTracking = productPageViewTracking; + } + + public String getParentGroupId() { + return parentGroupId; + } + + public void setParentGroupId(String parentGroupId) { + this.parentGroupId = parentGroupId; + } + + public String getFineline() { + return fineline; + } + + public void setFineline(String fineline) { + this.fineline = fineline; + } + + public String getSuperfineline() { + return superfineline; + } + + public void setSuperfineline(String superfineline) { + this.superfineline = superfineline; + } + + public String getModelnumber() { + return modelnumber; + } + + public void setModelnumber(String modelnumber) { + this.modelnumber = modelnumber; + } + + public String getCaliber() { + return caliber; + } + + public void setCaliber(String caliber) { + this.caliber = caliber; + } + + public String getUpc() { + return upc; + } + + public void setUpc(String upc) { + this.upc = upc; + } + + public String getMediumImageUrl() { + return mediumImageUrl; + } + + public void setMediumImageUrl(String mediumImageUrl) { + this.mediumImageUrl = mediumImageUrl; + } + + public String getProductContentWidget() { + return productContentWidget; + } + + public void setProductContentWidget(String productContentWidget) { + this.productContentWidget = productContentWidget; + } + + public String getGoogleCategorization() { + return googleCategorization; + } + + public void setGoogleCategorization(String googleCategorization) { + this.googleCategorization = googleCategorization; + } + + public String getItemBasedCommission() { + return itemBasedCommission; + } + + public void setItemBasedCommission(String itemBasedCommission) { + this.itemBasedCommission = itemBasedCommission; + } + + public String getUuid() { + return uuid; + } + + public void setUuid(String uuid) { + this.uuid = uuid; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/PsaOld.java b/src/main/java/group/goforward/ballistic/jpa/PsaOld.java new file mode 100644 index 0000000..c02d5d7 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/PsaOld.java @@ -0,0 +1,23 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; + +@Entity +@Table(name = "psa_old") +public class PsaOld { + @Id + @Column(name = "\"SKU\"", length = 50) + private String sku; + + public String getSku() { + return sku; + } + + public void setSku(String sku) { + this.sku = sku; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/Session.java b/src/main/java/group/goforward/ballistic/jpa/Session.java new file mode 100644 index 0000000..d2673ae --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/Session.java @@ -0,0 +1,73 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.Instant; +import java.time.OffsetDateTime; + +@Entity +@Table(name = "sessions") +public class Session { + @Id + @Column(name = "id", nullable = false) + private String id; + + @Column(name = "user_id", nullable = false, length = 21) + private String userId; + + @Column(name = "expires_at", nullable = false) + private OffsetDateTime expiresAt; + + @ColumnDefault("CURRENT_TIMESTAMP") + @Column(name = "created_at") + private Instant createdAt; + + @ColumnDefault("CURRENT_TIMESTAMP") + @Column(name = "updated_at") + private Instant updatedAt; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public OffsetDateTime getExpiresAt() { + return expiresAt; + } + + public void setExpiresAt(OffsetDateTime expiresAt) { + this.expiresAt = expiresAt; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/State.java b/src/main/java/group/goforward/ballistic/jpa/State.java new file mode 100644 index 0000000..c6b2df2 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/State.java @@ -0,0 +1,45 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; + +@Entity +@Table(name = "states") +public class State { + @Id + @Column(name = "id", nullable = false) + private Integer id; + + @Column(name = "state", length = 50) + private String state; + + @Column(name = "abbreviation", length = 50) + private String abbreviation; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public String getAbbreviation() { + return abbreviation; + } + + public void setAbbreviation(String abbreviation) { + this.abbreviation = abbreviation; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/User.java b/src/main/java/group/goforward/ballistic/jpa/User.java new file mode 100644 index 0000000..501c6fe --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/User.java @@ -0,0 +1,298 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.Instant; +import java.time.LocalDate; +import java.util.UUID; + +@Entity +@Table(name = "users") +public class User { + @Id + @Column(name = "id", nullable = false, length = 21) + private String id; + + @Column(name = "name", length = Integer.MAX_VALUE) + private String name; + + @Column(name = "username", length = 50) + private String username; + + @Column(name = "email", nullable = false) + private String email; + + @Column(name = "first_name", length = 50) + private String firstName; + + @Column(name = "last_name", length = 50) + private String lastName; + + @Column(name = "full_name", length = 50) + private String fullName; + + @Column(name = "profile_picture") + private String profilePicture; + + @Column(name = "image", length = Integer.MAX_VALUE) + private String image; + + @Column(name = "date_of_birth") + private LocalDate dateOfBirth; + + @Column(name = "phone_number", length = 20) + private String phoneNumber; + + @ColumnDefault("CURRENT_TIMESTAMP") + @Column(name = "created_at") + private Instant createdAt; + + @ColumnDefault("CURRENT_TIMESTAMP") + @Column(name = "updated_at") + private Instant updatedAt; + + @ColumnDefault("false") + @Column(name = "is_admin") + private Boolean isAdmin; + + @Column(name = "last_login") + private Instant lastLogin; + + @ColumnDefault("false") + @Column(name = "email_verified", nullable = false) + private Boolean emailVerified = false; + + @ColumnDefault("'public'") + @Column(name = "build_privacy_setting", length = Integer.MAX_VALUE) + private String buildPrivacySetting; + + @ColumnDefault("gen_random_uuid()") + @Column(name = "uuid") + private UUID uuid; + + @Column(name = "discord_id") + private String discordId; + + @Column(name = "hashed_password") + private String hashedPassword; + + @Column(name = "avatar") + private String avatar; + + @Column(name = "stripe_subscription_id", length = 191) + private String stripeSubscriptionId; + + @Column(name = "stripe_price_id", length = 191) + private String stripePriceId; + + @Column(name = "stripe_customer_id", length = 191) + private String stripeCustomerId; + + @Column(name = "stripe_current_period_end") + private Instant stripeCurrentPeriodEnd; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getFullName() { + return fullName; + } + + public void setFullName(String fullName) { + this.fullName = fullName; + } + + public String getProfilePicture() { + return profilePicture; + } + + public void setProfilePicture(String profilePicture) { + this.profilePicture = profilePicture; + } + + public String getImage() { + return image; + } + + public void setImage(String image) { + this.image = image; + } + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public Boolean getIsAdmin() { + return isAdmin; + } + + public void setIsAdmin(Boolean isAdmin) { + this.isAdmin = isAdmin; + } + + public Instant getLastLogin() { + return lastLogin; + } + + public void setLastLogin(Instant lastLogin) { + this.lastLogin = lastLogin; + } + + public Boolean getEmailVerified() { + return emailVerified; + } + + public void setEmailVerified(Boolean emailVerified) { + this.emailVerified = emailVerified; + } + + public String getBuildPrivacySetting() { + return buildPrivacySetting; + } + + public void setBuildPrivacySetting(String buildPrivacySetting) { + this.buildPrivacySetting = buildPrivacySetting; + } + + public UUID getUuid() { + return uuid; + } + + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + + public String getDiscordId() { + return discordId; + } + + public void setDiscordId(String discordId) { + this.discordId = discordId; + } + + public String getHashedPassword() { + return hashedPassword; + } + + public void setHashedPassword(String hashedPassword) { + this.hashedPassword = hashedPassword; + } + + public String getAvatar() { + return avatar; + } + + public void setAvatar(String avatar) { + this.avatar = avatar; + } + + public String getStripeSubscriptionId() { + return stripeSubscriptionId; + } + + public void setStripeSubscriptionId(String stripeSubscriptionId) { + this.stripeSubscriptionId = stripeSubscriptionId; + } + + public String getStripePriceId() { + return stripePriceId; + } + + public void setStripePriceId(String stripePriceId) { + this.stripePriceId = stripePriceId; + } + + public String getStripeCustomerId() { + return stripeCustomerId; + } + + public void setStripeCustomerId(String stripeCustomerId) { + this.stripeCustomerId = stripeCustomerId; + } + + public Instant getStripeCurrentPeriodEnd() { + return stripeCurrentPeriodEnd; + } + + public void setStripeCurrentPeriodEnd(Instant stripeCurrentPeriodEnd) { + this.stripeCurrentPeriodEnd = stripeCurrentPeriodEnd; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/UserActivityLog.java b/src/main/java/group/goforward/ballistic/jpa/UserActivityLog.java new file mode 100644 index 0000000..a7431a0 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/UserActivityLog.java @@ -0,0 +1,60 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import org.hibernate.annotations.ColumnDefault; + +import java.time.Instant; + +@Entity +@Table(name = "user_activity_log") +public class UserActivityLog { + @Id + @Column(name = "id", nullable = false) + private Long id; + + @Column(name = "user_id", nullable = false) + private Long userId; + + @Column(name = "activity", nullable = false, length = Integer.MAX_VALUE) + private String activity; + + @ColumnDefault("CURRENT_TIMESTAMP") + @Column(name = "\"timestamp\"") + private Instant timestamp; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public String getActivity() { + return activity; + } + + public void setActivity(String activity) { + this.activity = activity; + } + + public Instant getTimestamp() { + return timestamp; + } + + public void setTimestamp(Instant timestamp) { + this.timestamp = timestamp; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/jpa/VerificationToken.java b/src/main/java/group/goforward/ballistic/jpa/VerificationToken.java new file mode 100644 index 0000000..ddfc9d1 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/jpa/VerificationToken.java @@ -0,0 +1,47 @@ +package group.goforward.ballistic.jpa; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; + +import java.time.Instant; + +@Entity +@Table(name = "\"verificationTokens\"") +public class VerificationToken { + @Id + @Column(name = "identifier", nullable = false, length = Integer.MAX_VALUE) + private String identifier; + + @Column(name = "token", nullable = false, length = Integer.MAX_VALUE) + private String token; + + @Column(name = "expires", nullable = false) + private Instant expires; + + public String getIdentifier() { + return identifier; + } + + public void setIdentifier(String identifier) { + this.identifier = identifier; + } + + public String getToken() { + return token; + } + + public void setToken(String token) { + this.token = token; + } + + public Instant getExpires() { + return expires; + } + + public void setExpires(Instant expires) { + this.expires = expires; + } + +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/repos/PsaRepository.java b/src/main/java/group/goforward/ballistic/repos/PsaRepository.java new file mode 100644 index 0000000..71316e9 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/repos/PsaRepository.java @@ -0,0 +1,7 @@ +package group.goforward.ballistic.repos; +import group.goforward.ballistic.jpa.Psa; +import org.springframework.data.jpa.repository.JpaRepository; +import java.util.UUID; + +public interface PsaRepository extends JpaRepository { +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/service/PsaService.java b/src/main/java/group/goforward/ballistic/service/PsaService.java new file mode 100644 index 0000000..00796a7 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/service/PsaService.java @@ -0,0 +1,36 @@ +package group.goforward.ballistic.service; +import group.goforward.ballistic.jpa.Psa; +import group.goforward.ballistic.repos.PsaRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +@Service +public class PsaService { + + private final PsaRepository psaRepository; + + @Autowired + public PsaService(PsaRepository psaRepository) { + this.psaRepository = psaRepository; + } + + public List findAll() { + return psaRepository.findAll(); + } + + public Optional findById(UUID id) { + return psaRepository.findById(id); + } + + public Psa save(Psa psa) { + return psaRepository.save(psa); + } + + public void deleteById(UUID id) { + psaRepository.deleteById(id); + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 307e87e..20acc42 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1 +1,11 @@ spring.application.name=ballistic +# Database connection properties +spring.datasource.url=jdbc:postgresql://r710.gofwd.group:5433/ballistic +spring.datasource.username=postgres +spring.datasource.password=cul8rman +spring.datasource.driver-class-name=org.postgresql.Driver + +# Hibernate properties +#spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect