Serialized Form
- 
Package api.mpba.rastvdmy.entity
- 
Class api.mpba.rastvdmy.entity.AccessToken
class AccessToken extends Object implements Serializable- 
Serialized Fields
- 
expirationDate
LocalDateTime expirationDate
The expiration date of the access token. This indicates when the token becomes invalid and is no longer usable. - 
id
UUID id
The id of the access token. This serves as the primary key and uniquely identifies the access token. - 
token
String token
The token string. This is the actual token used for authentication and authorization of the user. - 
userProfile
UserProfile userProfile
The user associated with the access token. This establishes a many-to-one relationship with the UserProfile entity, indicating which user the access token belongs to. 
 - 
 
 - 
 - 
Class api.mpba.rastvdmy.entity.BankAccount
class BankAccount extends Object implements Serializable- 
Serialized Fields
- 
accountNumber
String accountNumber
The account number of the bank account. This field is mandatory and should be provided as a valid account number. - 
balance
@Positive(message="Balance should be positive") BigDecimal balance
The balance of the bank account. This should always be positive; validated with a constraint. - 
bankIdentity
BankIdentity bankIdentity
The bank identity associated with the bank account. This establishes a many-to-one relationship with the BankIdentity entity, indicating that a bank account belongs to a specific bank identity. - 
cards
List<Card> cards
List of cards associated with the bank account. This establishes a one-to-many relationship with the Card entity, allowing for multiple cards to be linked to a single bank account. - 
currency
Currency currency
The currency of the bank account. This is represented as an enum, allowing for easy identification of currency types. - 
iban
String iban
The IBAN (International Bank Account Number) of the bank account. This field is mandatory and should be provided as a valid IBAN. - 
id
UUID id
The id of the bank account. This serves as the primary key and uniquely identifies the bank account. - 
paymentsRecipient
List<Payment> paymentsRecipient
Payments received by the bank account. This establishes a one-to-many relationship with the Payment entity, indicating all payments received into this bank account. - 
paymentsSender
List<Payment> paymentsSender
Payments sent from the bank account. This establishes a one-to-many relationship with the Payment entity, indicating all payments initiated from this bank account. 
 - 
 
 - 
 - 
Class api.mpba.rastvdmy.entity.BankIdentity
class BankIdentity extends Object implements Serializable- 
Serialized Fields
- 
bankAccounts
List<BankAccount> bankAccounts
The bank accounts linked to this bank identity. This establishes a one-to-many relationship with the BankAccount entity, allowing for the management of multiple bank accounts under a single bank identity. - 
bankName
String bankName
The name of the bank associated with this bank identity. This field is mandatory and should be provided as a valid bank name. - 
bankNumber
String bankNumber
The number of the bank, which may be used for identification purposes. This field is mandatory and should be provided as a valid bank number. - 
id
UUID id
The id of the bank identity. This serves as the primary key and uniquely identifies the bank identity. - 
swift
String swift
The SWIFT code of the bank. This field is mandatory and identifies the bank in international transactions. - 
userProfile
UserProfile userProfile
The user profile associated with this bank identity. This establishes a many-to-one relationship with the UserProfile entity, indicating that a user can have multiple bank identities. 
 - 
 
 - 
 - 
Class api.mpba.rastvdmy.entity.Card
class Card extends Object implements Serializable- 
Serialized Fields
- 
account
BankAccount account
The bank account associated with the card. This field establishes a many-to-one relationship with the BankAccount entity. - 
cardNumber
String cardNumber
The card number. This field is mandatory and should be provided as a valid card number. - 
category
CardCategory category
The category of the card, indicating its type (e.g., debit, credit). This field uses an enumerated type to define the card's category. - 
cvv
String cvv
The CVV (Card Verification Value) of the card. This field is mandatory and should contain the card's CVV code. - 
expirationDate
LocalDate expirationDate
The expiration date of the card. This field indicates when the card is no longer valid for transactions. - 
id
UUID id
The id of the card. This serves as the primary key and uniquely identifies the card. - 
pin
String pin
The PIN (Personal Identification Number) for the card. This field is mandatory and should be kept secure. - 
senderPayments
List<Payment> senderPayments
The list of payments made with this card as the sender. This field establishes a one-to-many relationship with the Payment entity. - 
startDate
LocalDate startDate
The start date of the card's validity. This field indicates when the card becomes active and valid for use. - 
status
CardStatus status
The status of the card (e.g., active, blocked). This field uses an enumerated type to define the card's status. - 
type
CardType type
The type of the card (e.g., VISA, MASTERCARD). This field uses an enumerated type to specify the card type. 
 - 
 
 - 
 - 
Class api.mpba.rastvdmy.entity.CurrencyData
class CurrencyData extends Object implements Serializable- 
Serialized Fields
- 
currency
String currency
The currency type represented by a string. This field is mandatory and cannot be null. - 
id
UUID id
The id of the currency data. This serves as the primary key and is generated using a UUID strategy. - 
rate
BigDecimal rate
The exchange rate of the currency. This field is mandatory and should contain a valid numerical value. - 
userProfiles
List<UserProfile> userProfiles
The list of users associated with the currency data. This field represents a many-to-many relationship with the UserProfile entity. 
 - 
 
 - 
 - 
Class api.mpba.rastvdmy.entity.Message
class Message extends Object implements Serializable- 
Serialized Fields
- 
content
@Size(min=1,max=255,message="Message content must be between 1 and 255 characters") String content
The content of the message. This field stores the text of the message and must be between 1 and 255 characters long. - 
id
UUID id
The id of the message. This serves as the primary key and uniquely identifies the message. - 
receiver
UserProfile receiver
The receiver of the message. This establishes a many-to-one relationship with the UserProfile entity, indicating which user received the message. - 
sender
UserProfile sender
The sender of the message. This establishes a many-to-one relationship with the UserProfile entity, indicating which user sent the message. - 
timestamp
LocalDateTime timestamp
The timestamp of when the message was sent. This field records the exact date and time the message was created and is required. 
 - 
 
 - 
 - 
Class api.mpba.rastvdmy.entity.Payment
class Payment extends Object implements Serializable- 
Serialized Fields
- 
amount
@Positive(message="Amount should be positive") BigDecimal amount
The amount of money being transferred in the payment. This field must be positive and indicates the total payment amount. - 
currency
Currency currency
The currency of the payment. This field specifies the currency in which the payment is made. - 
dateTime
LocalDate dateTime
The date and time of the payment. This field records when the payment was initiated and is required. - 
description
@Size(max=255,message="Description can contain a maximum of 255 characters") String description
A brief description of the payment. This field provides additional details about the payment and can contain a maximum of 255 characters. - 
id
UUID id
The id of the payment. This serves as the primary key and uniquely identifies the payment transaction. - 
recipientAccount
BankAccount recipientAccount
The bank account to which the payment is sent. This establishes a many-to-one relationship with the BankAccount entity, indicating the destination for the funds. - 
recipientName
String recipientName
The name of the recipient of the payment. This field stores the full name of the person or entity receiving the payment. - 
senderAccount
BankAccount senderAccount
The bank account from which the payment is sent. This establishes a many-to-one relationship with the BankAccount entity, indicating the source of funds for the payment. - 
senderCard
Card senderCard
The card used to send the payment. This establishes a many-to-one relationship with the Card entity, indicating which card was used for the transaction. - 
senderName
String senderName
The name of the sender of the payment. This field stores the full name of the person or entity sending the payment. - 
status
FinancialStatus status
The status of the payment. This indicates the current state of the payment (e.g., PENDING, COMPLETED, FAILED). - 
type
PaymentType type
The type of the payment. This specifies the nature of the payment (e.g., TRANSFER, PAYMENT). 
 - 
 
 - 
 - 
Class api.mpba.rastvdmy.entity.UserProfile
class UserProfile extends Object implements Serializable- 
Serialized Fields
- 
accessTokens
List<AccessToken> accessTokens
The access tokens associated with the user. This is a one-to-many relationship with the AccessToken entity, indicating the tokens issued for authentication. - 
avatar
String avatar
The avatar of the user. This field is mandatory and stores the URL or path of the user's avatar image. - 
bankIdentities
List<BankIdentity> bankIdentities
The bank identities associated with the user. This is a one-to-many relationship with the BankIdentity entity, representing the user's linked bank accounts and identities. - 
countryOfOrigin
String countryOfOrigin
The country of origin of the user. This field is mandatory and stores the user's country. - 
currencyData
List<CurrencyData> currencyData
The currencies associated with the user. This is a many-to-many relationship with the CurrencyData entity. - 
dateOfBirth
String dateOfBirth
The date of birth of the user. This field is mandatory and should be formatted as a date string. - 
email
@Email(message="Email should be valid") String email
The email address of the user. This field is mandatory, unique, and should be a valid email format. - 
id
UUID id
The unique identifier for the user profile. This serves as the primary key for the user profile table. - 
name
@Size(min=2,message="Name should have at least 2 characters") String name
The first name of the user. This field is mandatory and should have a minimum of 2 characters. - 
password
String password
The password of the user. This field is mandatory and stores the user's password. - 
phoneNumber
String phoneNumber
The phone number of the user. This field is mandatory and stores the user's contact phone number. - 
receiverMessages
List<Message> receiverMessages
The messages received by the user. This is a one-to-many relationship with the Message entity, where the user is the receiver of the messages. - 
role
UserRole role
The role of the user. This field defines the user's permissions in the system, e.g., ADMIN, USER. - 
senderMessages
List<Message> senderMessages
The messages sent by the user. This is a one-to-many relationship with the Message entity, where the user is the sender of the messages. - 
status
UserStatus status
The status of the user. This indicates whether the user is active, inactive, etc. - 
surname
@Size(min=2,message="Surname should have at least 2 characters") String surname
The surname of the user. This field is mandatory and should have a minimum of 2 characters. 
 - 
 
 - 
 
 - 
 - 
Package api.mpba.rastvdmy.exception
- 
Exception Class api.mpba.rastvdmy.exception.ApplicationException
class ApplicationException extends RuntimeException implements Serializable- 
Serialized Fields
- 
httpStatus
org.springframework.http.HttpStatus httpStatus
The HTTP status code that should be returned when this exception is thrown. - 
message
String message
The message that provides additional information about the exception. This field is final and stores the exception message. 
 - 
 
 - 
 
 -