Merge branch 'Branch_db744d63' into ver5

new TransactionItem.java fields
This commit is contained in:
2024-11-17 16:05:11 +01:00
17 changed files with 166 additions and 18 deletions
+13
View File
@@ -11,6 +11,11 @@
"fieldName": "comment", "fieldName": "comment",
"fieldType": "String", "fieldType": "String",
"fieldValidateRules": [] "fieldValidateRules": []
},
{
"fieldName": "locked",
"fieldType": "Boolean",
"fieldValidateRules": []
} }
], ],
"name": "TransactionItem", "name": "TransactionItem",
@@ -39,6 +44,14 @@
"relationshipName": "event", "relationshipName": "event",
"relationshipSide": "left", "relationshipSide": "left",
"relationshipType": "many-to-one" "relationshipType": "many-to-one"
},
{
"otherEntityField": "playerName",
"otherEntityName": "registration",
"otherEntityRelationshipName": "transactionItem",
"relationshipName": "registration",
"relationshipSide": "left",
"relationshipType": "many-to-one"
} }
], ],
"searchEngine": "no", "searchEngine": "no",
+1 -1
View File
@@ -18,7 +18,7 @@
"entities": ["Charge", "Event", "Registration", "Transaction", "UserAccount", "TransactionItem"], "entities": ["Charge", "Event", "Registration", "Transaction", "UserAccount", "TransactionItem"],
"feignClient": null, "feignClient": null,
"jhipsterVersion": "8.7.2", "jhipsterVersion": "8.7.2",
"lastLiquibaseTimestamp": 1731510658000, "lastLiquibaseTimestamp": 1731505842000,
"messageBroker": false, "messageBroker": false,
"microfrontend": null, "microfrontend": null,
"microfrontends": [], "microfrontends": [],
@@ -42,7 +42,7 @@ public class Charge implements Serializable {
private Event event; private Event event;
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JsonIgnoreProperties(value = { "user", "event" }, allowSetters = true) @JsonIgnoreProperties(value = { "user", "event", "transactionItems" }, allowSetters = true)
private Registration registration; private Registration registration;
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@@ -44,7 +44,7 @@ public class Event implements Serializable {
private String comment; private String comment;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "event") @OneToMany(fetch = FetchType.EAGER, mappedBy = "event")
@JsonIgnoreProperties(value = { "event" }, allowSetters = true) @JsonIgnoreProperties(value = { "user", "event", "transactionItems" }, allowSetters = true)
private Set<Registration> registrations = new HashSet<>(); private Set<Registration> registrations = new HashSet<>();
@OneToMany(fetch = FetchType.LAZY, mappedBy = "event") @OneToMany(fetch = FetchType.LAZY, mappedBy = "event")
@@ -5,6 +5,8 @@ import jakarta.persistence.*;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import java.io.Serializable; import java.io.Serializable;
import java.time.ZonedDateTime; import java.time.ZonedDateTime;
import java.util.HashSet;
import java.util.Set;
/** /**
* A Registration. * A Registration.
@@ -44,6 +46,10 @@ public class Registration implements Serializable {
@JsonIgnoreProperties(value = { "registrations", "transactions" }, allowSetters = true) @JsonIgnoreProperties(value = { "registrations", "transactions" }, allowSetters = true)
private Event event; private Event event;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "registration")
@JsonIgnoreProperties(value = { "userAccount", "transaction", "event", "registration" }, allowSetters = true)
private Set<TransactionItem> transactionItems = new HashSet<>();
// jhipster-needle-entity-add-field - JHipster will add fields here // jhipster-needle-entity-add-field - JHipster will add fields here
public Long getId() { public Long getId() {
@@ -137,6 +143,37 @@ public class Registration implements Serializable {
return this; return this;
} }
public Set<TransactionItem> getTransactionItems() {
return this.transactionItems;
}
public void setTransactionItems(Set<TransactionItem> transactionItems) {
if (this.transactionItems != null) {
this.transactionItems.forEach(i -> i.setRegistration(null));
}
if (transactionItems != null) {
transactionItems.forEach(i -> i.setRegistration(this));
}
this.transactionItems = transactionItems;
}
public Registration transactionItems(Set<TransactionItem> transactionItems) {
this.setTransactionItems(transactionItems);
return this;
}
public Registration addTransactionItem(TransactionItem transactionItem) {
this.transactionItems.add(transactionItem);
transactionItem.setRegistration(this);
return this;
}
public Registration removeTransactionItem(TransactionItem transactionItem) {
this.transactionItems.remove(transactionItem);
transactionItem.setRegistration(null);
return this;
}
// jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here // jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here
@Override @Override
@@ -39,7 +39,7 @@ public class Transaction implements Serializable {
private Event event; private Event event;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "transaction", cascade = CascadeType.ALL, orphanRemoval = true) @OneToMany(fetch = FetchType.LAZY, mappedBy = "transaction", cascade = CascadeType.ALL, orphanRemoval = true)
@JsonIgnoreProperties(value = { "userAccount", "transaction", "event" }, allowSetters = true) @JsonIgnoreProperties(value = { "userAccount", "transaction", "event", "registration" }, allowSetters = true)
private Set<TransactionItem> transactionItems = new HashSet<>(); private Set<TransactionItem> transactionItems = new HashSet<>();
// jhipster-needle-entity-add-field - JHipster will add fields here // jhipster-needle-entity-add-field - JHipster will add fields here
@@ -27,6 +27,9 @@ public class TransactionItem implements Serializable {
@Column(name = "comment") @Column(name = "comment")
private String comment; private String comment;
@Column(name = "locked")
private Boolean locked;
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JsonIgnoreProperties(value = { "users", "transactionItems" }, allowSetters = true) @JsonIgnoreProperties(value = { "users", "transactionItems" }, allowSetters = true)
private UserAccount userAccount; private UserAccount userAccount;
@@ -39,6 +42,10 @@ public class TransactionItem implements Serializable {
@JsonIgnoreProperties(value = { "registrations", "transactions" }, allowSetters = true) @JsonIgnoreProperties(value = { "registrations", "transactions" }, allowSetters = true)
private Event event; private Event event;
@ManyToOne(fetch = FetchType.LAZY)
@JsonIgnoreProperties(value = { "user", "event", "transactionItems" }, allowSetters = true)
private Registration registration;
// jhipster-needle-entity-add-field - JHipster will add fields here // jhipster-needle-entity-add-field - JHipster will add fields here
public Long getId() { public Long getId() {
@@ -80,6 +87,19 @@ public class TransactionItem implements Serializable {
this.comment = comment; this.comment = comment;
} }
public Boolean getLocked() {
return this.locked;
}
public TransactionItem locked(Boolean locked) {
this.setLocked(locked);
return this;
}
public void setLocked(Boolean locked) {
this.locked = locked;
}
public UserAccount getUserAccount() { public UserAccount getUserAccount() {
return this.userAccount; return this.userAccount;
} }
@@ -119,6 +139,19 @@ public class TransactionItem implements Serializable {
return this; return this;
} }
public Registration getRegistration() {
return this.registration;
}
public void setRegistration(Registration registration) {
this.registration = registration;
}
public TransactionItem registration(Registration registration) {
this.setRegistration(registration);
return this;
}
// jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here // jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here
@Override @Override
@@ -145,6 +178,7 @@ public class TransactionItem implements Serializable {
"id=" + getId() + "id=" + getId() +
", amount=" + getAmount() + ", amount=" + getAmount() +
", comment='" + getComment() + "'" + ", comment='" + getComment() + "'" +
", locked='" + getLocked() + "'" +
"}"; "}";
} }
} }
@@ -37,7 +37,7 @@ public class UserAccount implements Serializable {
private Set<User> users = new HashSet<>(); private Set<User> users = new HashSet<>();
@OneToMany(fetch = FetchType.LAZY, mappedBy = "userAccount") @OneToMany(fetch = FetchType.LAZY, mappedBy = "userAccount")
@JsonIgnoreProperties(value = { "userAccount", "transaction", "event" }, allowSetters = true) @JsonIgnoreProperties(value = { "userAccount", "transaction", "event", "registration" }, allowSetters = true)
private Set<TransactionItem> transactionItems = new HashSet<>(); private Set<TransactionItem> transactionItems = new HashSet<>();
// jhipster-needle-entity-add-field - JHipster will add fields here // jhipster-needle-entity-add-field - JHipster will add fields here
@@ -27,16 +27,18 @@ public interface TransactionItemRepository extends JpaRepository<TransactionItem
} }
@Query( @Query(
value = "select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event", value = "select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event left join fetch transactionItem.registration",
countQuery = "select count(transactionItem) from TransactionItem transactionItem" countQuery = "select count(transactionItem) from TransactionItem transactionItem"
) )
Page<TransactionItem> findAllWithToOneRelationships(Pageable pageable); Page<TransactionItem> findAllWithToOneRelationships(Pageable pageable);
@Query("select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event") @Query(
"select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event left join fetch transactionItem.registration"
)
List<TransactionItem> findAllWithToOneRelationships(); List<TransactionItem> findAllWithToOneRelationships();
@Query( @Query(
"select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event where transactionItem.id =:id" "select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event left join fetch transactionItem.registration where transactionItem.id =:id"
) )
Optional<TransactionItem> findOneWithToOneRelationships(@Param("id") Long id); Optional<TransactionItem> findOneWithToOneRelationships(@Param("id") Long id);
@@ -127,6 +127,9 @@ public class TransactionItemResource {
if (transactionItem.getComment() != null) { if (transactionItem.getComment() != null) {
existingTransactionItem.setComment(transactionItem.getComment()); existingTransactionItem.setComment(transactionItem.getComment());
} }
if (transactionItem.getLocked() != null) {
existingTransactionItem.setLocked(transactionItem.getLocked());
}
return existingTransactionItem; return existingTransactionItem;
}) })
@@ -20,6 +20,9 @@
<column name="comment" type="varchar(255)"> <column name="comment" type="varchar(255)">
<constraints nullable="true" /> <constraints nullable="true" />
</column> </column>
<column name="locked" type="boolean">
<constraints nullable="true" />
</column>
<column name="user_account_id" type="bigint"> <column name="user_account_id" type="bigint">
<constraints nullable="true" /> <constraints nullable="true" />
</column> </column>
@@ -29,6 +32,9 @@
<column name="event_id" type="bigint"> <column name="event_id" type="bigint">
<constraints nullable="true" /> <constraints nullable="true" />
</column> </column>
<column name="registration_id" type="bigint">
<constraints nullable="true" />
</column>
<!-- jhipster-needle-liquibase-add-column - JHipster will add columns here --> <!-- jhipster-needle-liquibase-add-column - JHipster will add columns here -->
</createTable> </createTable>
</changeSet> </changeSet>
@@ -52,6 +58,7 @@
<column name="id" type="numeric"/> <column name="id" type="numeric"/>
<column name="amount" type="numeric"/> <column name="amount" type="numeric"/>
<column name="comment" type="string"/> <column name="comment" type="string"/>
<column name="locked" type="boolean"/>
<!-- jhipster-needle-liquibase-add-loadcolumn - JHipster (and/or extensions) can add load columns here --> <!-- jhipster-needle-liquibase-add-loadcolumn - JHipster (and/or extensions) can add load columns here -->
</loadData> </loadData>
</changeSet> </changeSet>
@@ -30,5 +30,12 @@
referencedColumnNames="id" referencedColumnNames="id"
referencedTableName="event" referencedTableName="event"
/> />
<addForeignKeyConstraint baseColumnNames="registration_id"
baseTableName="transaction_item"
constraintName="fk_transaction_item__registration_id"
referencedColumnNames="id"
referencedTableName="registration"
/>
</changeSet> </changeSet>
</databaseChangeLog> </databaseChangeLog>
@@ -1,2 +1,2 @@
id;amount;comment id;amount;comment;locked
1 id amount comment locked
2
@@ -2,9 +2,12 @@ package com.sasiedzi.event.domain;
import static com.sasiedzi.event.domain.EventTestSamples.*; import static com.sasiedzi.event.domain.EventTestSamples.*;
import static com.sasiedzi.event.domain.RegistrationTestSamples.*; import static com.sasiedzi.event.domain.RegistrationTestSamples.*;
import static com.sasiedzi.event.domain.TransactionItemTestSamples.*;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import com.sasiedzi.event.web.rest.TestUtil; import com.sasiedzi.event.web.rest.TestUtil;
import java.util.HashSet;
import java.util.Set;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
class RegistrationTest { class RegistrationTest {
@@ -34,4 +37,26 @@ class RegistrationTest {
registration.event(null); registration.event(null);
assertThat(registration.getEvent()).isNull(); assertThat(registration.getEvent()).isNull();
} }
@Test
void transactionItemTest() {
Registration registration = getRegistrationRandomSampleGenerator();
TransactionItem transactionItemBack = getTransactionItemRandomSampleGenerator();
registration.addTransactionItem(transactionItemBack);
assertThat(registration.getTransactionItems()).containsOnly(transactionItemBack);
assertThat(transactionItemBack.getRegistration()).isEqualTo(registration);
registration.removeTransactionItem(transactionItemBack);
assertThat(registration.getTransactionItems()).doesNotContain(transactionItemBack);
assertThat(transactionItemBack.getRegistration()).isNull();
registration.transactionItems(new HashSet<>(Set.of(transactionItemBack)));
assertThat(registration.getTransactionItems()).containsOnly(transactionItemBack);
assertThat(transactionItemBack.getRegistration()).isEqualTo(registration);
registration.setTransactionItems(new HashSet<>());
assertThat(registration.getTransactionItems()).doesNotContain(transactionItemBack);
assertThat(transactionItemBack.getRegistration()).isNull();
}
} }
@@ -49,7 +49,8 @@ public class TransactionItemAsserts {
assertThat(expected) assertThat(expected)
.as("Verify TransactionItem relevant properties") .as("Verify TransactionItem relevant properties")
.satisfies(e -> assertThat(e.getAmount()).as("check amount").usingComparator(bigDecimalCompareTo).isEqualTo(actual.getAmount())) .satisfies(e -> assertThat(e.getAmount()).as("check amount").usingComparator(bigDecimalCompareTo).isEqualTo(actual.getAmount()))
.satisfies(e -> assertThat(e.getComment()).as("check comment").isEqualTo(actual.getComment())); .satisfies(e -> assertThat(e.getComment()).as("check comment").isEqualTo(actual.getComment()))
.satisfies(e -> assertThat(e.getLocked()).as("check locked").isEqualTo(actual.getLocked()));
} }
/** /**
@@ -63,6 +64,7 @@ public class TransactionItemAsserts {
.as("Verify TransactionItem relationships") .as("Verify TransactionItem relationships")
.satisfies(e -> assertThat(e.getUserAccount()).as("check userAccount").isEqualTo(actual.getUserAccount())) .satisfies(e -> assertThat(e.getUserAccount()).as("check userAccount").isEqualTo(actual.getUserAccount()))
.satisfies(e -> assertThat(e.getTransaction()).as("check transaction").isEqualTo(actual.getTransaction())) .satisfies(e -> assertThat(e.getTransaction()).as("check transaction").isEqualTo(actual.getTransaction()))
.satisfies(e -> assertThat(e.getEvent()).as("check event").isEqualTo(actual.getEvent())); .satisfies(e -> assertThat(e.getEvent()).as("check event").isEqualTo(actual.getEvent()))
.satisfies(e -> assertThat(e.getRegistration()).as("check registration").isEqualTo(actual.getRegistration()));
} }
} }
@@ -1,6 +1,7 @@
package com.sasiedzi.event.domain; package com.sasiedzi.event.domain;
import static com.sasiedzi.event.domain.EventTestSamples.*; import static com.sasiedzi.event.domain.EventTestSamples.*;
import static com.sasiedzi.event.domain.RegistrationTestSamples.*;
import static com.sasiedzi.event.domain.TransactionItemTestSamples.*; import static com.sasiedzi.event.domain.TransactionItemTestSamples.*;
import static com.sasiedzi.event.domain.TransactionTestSamples.*; import static com.sasiedzi.event.domain.TransactionTestSamples.*;
import static com.sasiedzi.event.domain.UserAccountTestSamples.*; import static com.sasiedzi.event.domain.UserAccountTestSamples.*;
@@ -60,4 +61,16 @@ class TransactionItemTest {
transactionItem.event(null); transactionItem.event(null);
assertThat(transactionItem.getEvent()).isNull(); assertThat(transactionItem.getEvent()).isNull();
} }
@Test
void registrationTest() {
TransactionItem transactionItem = getTransactionItemRandomSampleGenerator();
Registration registrationBack = getRegistrationRandomSampleGenerator();
transactionItem.setRegistration(registrationBack);
assertThat(transactionItem.getRegistration()).isEqualTo(registrationBack);
transactionItem.registration(null);
assertThat(transactionItem.getRegistration()).isNull();
}
} }
@@ -49,6 +49,9 @@ class TransactionItemResourceIT {
private static final String DEFAULT_COMMENT = "AAAAAAAAAA"; private static final String DEFAULT_COMMENT = "AAAAAAAAAA";
private static final String UPDATED_COMMENT = "BBBBBBBBBB"; private static final String UPDATED_COMMENT = "BBBBBBBBBB";
private static final Boolean DEFAULT_LOCKED = false;
private static final Boolean UPDATED_LOCKED = true;
private static final String ENTITY_API_URL = "/api/transaction-items"; private static final String ENTITY_API_URL = "/api/transaction-items";
private static final String ENTITY_API_URL_ID = ENTITY_API_URL + "/{id}"; private static final String ENTITY_API_URL_ID = ENTITY_API_URL + "/{id}";
@@ -81,7 +84,7 @@ class TransactionItemResourceIT {
* if they test an entity which requires the current entity. * if they test an entity which requires the current entity.
*/ */
public static TransactionItem createEntity() { public static TransactionItem createEntity() {
return new TransactionItem().amount(DEFAULT_AMOUNT).comment(DEFAULT_COMMENT); return new TransactionItem().amount(DEFAULT_AMOUNT).comment(DEFAULT_COMMENT).locked(DEFAULT_LOCKED);
} }
/** /**
@@ -91,7 +94,7 @@ class TransactionItemResourceIT {
* if they test an entity which requires the current entity. * if they test an entity which requires the current entity.
*/ */
public static TransactionItem createUpdatedEntity() { public static TransactionItem createUpdatedEntity() {
return new TransactionItem().amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT); return new TransactionItem().amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT).locked(UPDATED_LOCKED);
} }
@BeforeEach @BeforeEach
@@ -163,7 +166,8 @@ class TransactionItemResourceIT {
.andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE))
.andExpect(jsonPath("$.[*].id").value(hasItem(transactionItem.getId().intValue()))) .andExpect(jsonPath("$.[*].id").value(hasItem(transactionItem.getId().intValue())))
.andExpect(jsonPath("$.[*].amount").value(hasItem(sameNumber(DEFAULT_AMOUNT)))) .andExpect(jsonPath("$.[*].amount").value(hasItem(sameNumber(DEFAULT_AMOUNT))))
.andExpect(jsonPath("$.[*].comment").value(hasItem(DEFAULT_COMMENT))); .andExpect(jsonPath("$.[*].comment").value(hasItem(DEFAULT_COMMENT)))
.andExpect(jsonPath("$.[*].locked").value(hasItem(DEFAULT_LOCKED.booleanValue())));
} }
@SuppressWarnings({ "unchecked" }) @SuppressWarnings({ "unchecked" })
@@ -196,7 +200,8 @@ class TransactionItemResourceIT {
.andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE))
.andExpect(jsonPath("$.id").value(transactionItem.getId().intValue())) .andExpect(jsonPath("$.id").value(transactionItem.getId().intValue()))
.andExpect(jsonPath("$.amount").value(sameNumber(DEFAULT_AMOUNT))) .andExpect(jsonPath("$.amount").value(sameNumber(DEFAULT_AMOUNT)))
.andExpect(jsonPath("$.comment").value(DEFAULT_COMMENT)); .andExpect(jsonPath("$.comment").value(DEFAULT_COMMENT))
.andExpect(jsonPath("$.locked").value(DEFAULT_LOCKED.booleanValue()));
} }
@Test @Test
@@ -218,7 +223,7 @@ class TransactionItemResourceIT {
TransactionItem updatedTransactionItem = transactionItemRepository.findById(transactionItem.getId()).orElseThrow(); TransactionItem updatedTransactionItem = transactionItemRepository.findById(transactionItem.getId()).orElseThrow();
// Disconnect from session so that the updates on updatedTransactionItem are not directly saved in db // Disconnect from session so that the updates on updatedTransactionItem are not directly saved in db
em.detach(updatedTransactionItem); em.detach(updatedTransactionItem);
updatedTransactionItem.amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT); updatedTransactionItem.amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT).locked(UPDATED_LOCKED);
restTransactionItemMockMvc restTransactionItemMockMvc
.perform( .perform(
@@ -303,7 +308,7 @@ class TransactionItemResourceIT {
TransactionItem partialUpdatedTransactionItem = new TransactionItem(); TransactionItem partialUpdatedTransactionItem = new TransactionItem();
partialUpdatedTransactionItem.setId(transactionItem.getId()); partialUpdatedTransactionItem.setId(transactionItem.getId());
partialUpdatedTransactionItem.comment(UPDATED_COMMENT); partialUpdatedTransactionItem.amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT);
restTransactionItemMockMvc restTransactionItemMockMvc
.perform( .perform(
@@ -335,7 +340,7 @@ class TransactionItemResourceIT {
TransactionItem partialUpdatedTransactionItem = new TransactionItem(); TransactionItem partialUpdatedTransactionItem = new TransactionItem();
partialUpdatedTransactionItem.setId(transactionItem.getId()); partialUpdatedTransactionItem.setId(transactionItem.getId());
partialUpdatedTransactionItem.amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT); partialUpdatedTransactionItem.amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT).locked(UPDATED_LOCKED);
restTransactionItemMockMvc restTransactionItemMockMvc
.perform( .perform(