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.