Database Structure

You can download DDL scripts for supported databases:

See the overall database schema:

Mobile Utility Server DB Schema

Database Tables

mus_mobile_app Mobile Applications

Contains information related to various mobile apps.

Column Type Description
id INTEGER Primary key for the table, automatically incremented value.
name VARCHAR(255) Name of the application, a machine readable value, such as wlt-demo-app.
display_name VARCHAR(255) Display name of the application, a human readable value, such as Wultra Demo App.
sign_private_key VARCHAR(255) Base64-encoded private key associated with the application. It is used for signing the data on the server side.
sign_public_key VARCHAR(255) Base64-encoded public key associated with the application. It is used by the client applications when verifying data signed on the server side.

Sequence mus_mobile_app_seq responsible for mobile app autoincrements.

mus_mobile_domain Mobile App Domains

Contains information related to pinned domains.

Column Type Description
id INTEGER Primary key for the table, automatically incremented value.
app_id INTEGER Reference to related mobile app entity.
domain VARCHAR(255) Host name of the domain, such as mobile.wultra.com.

Sequence mus_mobile_domain_seq responsible for mobile domain autoincrements.

The tables are relatively small and as a result, do not require indexes. To marginally improve the lookup performance, you can create a foreign index to map the domain to mobile app.

mus_certificate SSL Certificate

Table with TLS/SSL certificate and fingerprints that should be pinned in the mobile app.

Column Type Description
id INTEGER Primary key for the table, automatically incremented value.
pem TEXT Original certificate value in PEM format.
fingerprint VARCHAR(255) Value of the certificate fingerprint.
expires INTEGER Unix timestamp (seconds since Jan 1, 1970) of the certificate expiration.
mobile_domain_id INTEGER Reference to related application domain in the mus_mobile_domain table.

Sequence mus_certificate_seq responsible for SSL certificates and fingerprints autoincrements.

The tables are relatively small and as a result, do not require indexes. To marginally improve the lookup performance, you can create a foreign index for mapping the fingerprint to domain.

mus_user Administrative User

Table with users for basic HTTP authentication.

Column Type Description
id INTEGER Primary key for the table, automatically incremented value.
username VARCHAR(255) Username of the user.
password VARCHAR(255) Password of the user (bcrypt by default, or {SHA-256} prefix for SHA-256).
enabled BOOLEAN Indication if the user is enabled or not.

mus_user_authority Administrative User Authorities

Table with users authorities.

Column Type Description
id INTEGER Primary key for the table, automatically incremented value.
user_id INTEGER Foreign key column referencing users in mus_user table.
authority VARCHAR(255) Name of authority for the user prefixed with ROLE_ (ROLE_ADMIN).

The tables are relatively small and as a result, do not require indexes. To marginally improve the lookup performance, you can create a foreign index to map the user authority to the user.

mus_mobile_app_version Mobile Application Version

Table to force or suggest update of mobile application version.

Column Type Description
id INTEGER Primary key for the table, automatically incremented value.
app_id INTEGER Reference to related mobile app entity.
platform VARCHAR(10) ANDROID, IOS
major_os_version INTEGER For iOS e.g. 12.4.2 it is 12. For Android, it is API level e.g. 29. When null, the rule is applied for all versions.
suggested_version VARCHAR(24) If the application version is lower, update is suggested.
required_version VARCHAR(24) If the application version is lower, update is required.
message_key VARCHAR(255) Together with language identifies row in mus_localized_text

Sequence mus_mobile_app_version_seq responsible for mobile application version autoincrements.

mus_localized_text Localized Text

Table with localized texts.

Column Type Description
message_key VARCHAR(255) Primary composite key for the table.
language VARCHAR(2) Primary composite key for the table. ISO 639-1 two-letter language code.
text TEXT Localized text.
Last updated on Apr 11, 2024 (12:17) Edit on Github Send Feedback
Search

develop

Mobile Utility Server