Namespace axr::sdk::Models

namespace axr.sdk.Models

Enums

enum ACLAction

Describes the various permission actions that can be performed against an entity.

Values:

CREATE
DELETE
FULL
READ
SPECIAL
UPDATE
enum BackupStatus

Describes the various states of a backup job.

Values:

SCHEDULED
RUNNING
COMPLETED
FAILED
enum Currency

The form of currency pertaining to the price of a product or service.

Values:

aud
cad
eur
gbp
usd
enum OrderStatus

Describes the various processing states of an Order object.

Values:

CREATED
PENDING
FULFILLED
FAILED
VOIDED
enum PaymentStatus

The current status of a payment.

Values:

CREATED

Indicates that the payment has been created but not sent to the provider for processing.

CANCELED

Indicates that the payment was canceled by the customer.

ACTION_NEEDED

Indicates that action is needed by the customer to proceed.

PENDING

Indicates that the payment is currently pending with the processing provider.

VOIDED

Indicates that the payment was voided.

CONFIRMED

Indicates that the payment was successfully confirmed with the payment processor.

DENIED

Indicates that the payment was denied by the payment processor.

REFUNDED

Indicates that the payment was refunded by the payment processor.

ERROR

Indicates that an error occurred while processing the payment.

enum PaymentMethodStatus

The current status of a payment method.

Values:

CREATED
CANCELED
ACTION_NEEDED
READY
ERROR
enum ProductLicense

The length of time that the product license is good for.

Values:

ANNUAL
MONTH
PERPETUAL
enum PromoCodeType

Values:

CASH
PERCENT
PRODUCT
enum ProviderType

Describes the supported providers that can fulfill payment processing.

Values:

NULL
STRIPE
enum RestoreStatus

Describes the various states of a backup job.

Values:

PENDING
RUNNING
COMPLETED
FAILED
enum Action

Indicates the scaling action that will be performed.

Values:

ADD
REMOVE
enum AppliesTo

Indicates at what level does the scaling policy apply to.

Values:

REGION

The policy applies to individual regions.

ZONE

The policy applies to the entire zone.

enum ScriptLanguage

Describes the type of language the script is written in.

Values:

JAVASCRIPT
TYPESCRIPT
enum ScriptSource

Describes the source that the script originated from.

Values:

DISK
USER
enum ScriptType

Describes the different functional types of supported scripts.

Values:

BACKGROUND_JOB
EVENT_PROCESSOR
MODEL
ROUTE_HANDLER
OTHER
enum DatabaseType

Describes the type of database that a snapshot.

Values:

MONGODB
POSTGRESQLs
enum StorageProvider

Describes the different types of remote storage providers that are available.

Values:

AWS_S3
AZURE
BUNNYCDN
GOOGLE
LOCAL
enum TransactionStatus

Describes the current status of a transaction.

Values:

PENDING

Indicates that the transaction is being edited and/or awaiting approval by one or more parties.

APPROVED

Indicates that both parties have approved the transaction and it is ready for execution.

COMPLETED

Indicates that the transaction executed successfully.

FAILED

Indicates that the transaction failed during processing, cancelled or rejected.

class ACLRecord : public axr.sdk.Object

The ACLRecord interface describes a single permissions entry in an AccessControlList that grants or denies a set of permissions to a single user or role.

Each permission can be one of the following actions:

  • Create - The user or role can create a new record or object.

  • Read - The user or role can read the record or object.

  • Update - The user or role can modify existing records or objects.

  • Delete - The user or role can delete existing records or objects.

  • Special - The user or role has special prilieges to edit the ACL permissions.

  • Full - The user or role has total control over the record or object and supersedes any of the above.

class AccessControlList : public axr.sdk.EntityBase

The access control list provides a generic interface for the storage of user and roles permissions. Each ACL object represents the permission set for a single entity within the system.The entity is identified generically by its universally unique identifier (uuid). Each entry in the ACL records the permissions available to a particular user or role.

Each permission can be one of the following actions:

  • Create - The user or role can create a new record or object.

  • Read - The user or role can read the record or object.

  • Update - The user or role can modify existing records or objects.

  • Delete - The user or role can delete existing records or objects.

  • Special - The user or role has special privileges to edit the ACL permissions.

  • Full - The user or role has total control over the record or object and supersedes any of the above.

For each of the above actions the user or role will be granted either an allow permission or a deny permission. If an allow is granted, the user or role has permission to perform that action. If a deny is set, then the user or role is denied that action.If no explicit allow or deny is set then the user or role will inherit the permission from a parent role or ACL.

ACLs can be chained via single inheritance through the specification of the parentUid. This allows the ability to create complex trees of permissions that can easily inherit control schemes to make the definition of permissions easier.

class Achievement : public axr.sdk.EntityBase

Describes a single achievement that a given user has already unlocked.

REQUIRES: Achievement Services

class AchievementDefinition : public axr.sdk.EntityBase

Describes a single achievement that a user can unlock.

REQUIRES: Achievement Services

class Address : public axr.sdk.Object

Describes a physical mailing address.

REQUIRES: Purchasing Services

class AppleReceipt : public axr.sdk.ModelBase

Describes an in-app product purchase made with the Apple Store.

class ArchetypeActivation : public axr.sdk.ModelBase

Describes whether or not a archetype should be enabled for the given persona.

REQUIRES: Progression Services

class ArchetypeDefinition : public axr.sdk.EntityBase

An archetype is a specific subset of one or more skill trees that a persona can elect to follow.

REQUIRES: Progression Services

class Asset : public axr.sdk.EntityBase

Describes a single digital asset that has been stored on a remote storage provider.

REQUIRES: Asset Services

class AssetStorageLocation : public axr.sdk.EntityBase

Defines a single location of remote storage that will be used to maintain assets.

REQUIRES: Asset Services

class AssignServerInstance : public axr.sdk.Object

Describes a request to assign a new server instance for a given session.

class AuthToken : public axr.sdk.ModelBase

Describes an authorization token as returned by account services.

class Backup : public axr.sdk.EntityBase

Describes a single backup job to be executed immediately or on a schedule.

REQUIRES: Backup Services

class BackupStorageLocation : public axr.sdk.EntityBase

Defines a single location of remote storage that will be used to maintain backup snapshots.

REQUIRES: Backup Services

class Contact : public axr.sdk.EntityBase

Describes a single person or entity that may be contacted about an account.

REQUIRES: Purchasing Services

class Criteria : public axr.sdk.ModelBase

Describes a single statistic by which to filter all matchmaking search results. Each criteria must have a corresponding Statistic object with the same name.

class Event : public axr.sdk.ModelBase

Describes a single telemetry event. A telemetry event is when something occurs in the system.

REQUIRES: Telemetry Services

class GoogleReceipt : public axr.sdk.ModelBase

Describes an in-app product purchase made with the Google Play store.

class LaunchProfile : public axr.sdk.EntityBase

Describes a grouped series of command arguments belonging to a Product to apply to the Product upon launching through AXR’s launcher.

REQUIRES: Purchasing Services

class Leaderboard : public axr.sdk.EntityBase

Describes a single leaderboard.

REQUIRES: Leaderboard Services

class LeaderboardRecord : public axr.sdk.EntityBase

Describes a user’s single score record within a given leaderboard.

REQUIRES: Leaderboard Services

class Message : public axr.sdk.EntityBase

The Message is a persistent message or notification that is sent from one user to another.

REQUIRES: Social Services

class NewUser : public axr.sdk.ModelBase

The object that is returned when a new user is created containing the user and authentication token.

class Order : public axr.sdk.EntityBase

A detailed list of products and services that a customer wishes to or has purchased.

REQUIRES: Purchasing Services

class OrderItem : public axr.sdk.Object

A line item of an order for a particular service or product.

class Organization : public axr.sdk.EntityBase

Describes a collection of users that all have the same role. Roles are used to grant permissions.

REQUIRES: Account Services Enterprise

class Payment : public axr.sdk.EntityBase

Tracks the lifecycle of a payment for a given customer.

REQUIRES: Purchasing Services

class PaymentMethod : public axr.sdk.EntityBase

Stores information needed to make a payment on behalf of a customer.

REQUIRES: Purchasing Services

class Persona : public axr.sdk.EntityBase

An Persona is a unique persona of a user within the system. Users can have multiple personas per account and the persona can have associated data such as inventory, progress, achievements, etc.

REQUIRES: Persona Services

class PersonaResource : public axr.sdk.EntityBase

Describes a single resource associated with a specific user or persona.

class PersonaStat : public axr.sdk.EntityBase

The PersonaStat is an instance of a specific PersonaStatDefinition that is assocaited with a particular Persona.

REQUIRES: Persona Services

class PersonaStatDefinition : public axr.sdk.EntityBase

The PersonaStatDefinition describes a single statistic that an persona can have.

REQUIRES: Persona Services

class Product : public axr.sdk.EntityBase

Describes a single product that can be purchased by a customer.

REQUIRES: Purchasing Services

class ProductCategory : public axr.sdk.EntityBase

Describes a group of products that have similar characteristics.

REQUIRES: Purchasing Services

class ProductFeature : public axr.sdk.EntityBase

Describes a group of products that have similar characteristics.

REQUIRES: Purchasing Services

class Profile : public axr.sdk.EntityBase

An Profile is an object containing a user’s specific social metadata and information. Each profile can have an alias name by which to identify the user other than their real name.A data property is provided to allow for an arbitrary storage of any metadata desired by the application. A presence property is also provided for storing the applications-specific current online state of the user.

REQUIRES: Social Services

class PromoCode : public axr.sdk.EntityBase

A promotional code that can be applied to an order to obtain a pricing discount, cash back or free product.

REQUIRES: Purchasing Services

class Purchase : public axr.sdk.EntityBase

Describes a single product that has been purchased by a user.

REQUIRES: Purchasing Services

class Quest : public axr.sdk.EntityBase

Tracks the progress of a specific quest for a given persona or user.

REQUIRES: Quest Services

class QuestDefinition : public axr.sdk.EntityBase

Describes a single quest.

REQUIRES: Quest Services

class QuestProgress : public axr.sdk.ModelBase

Tracks the persona’s progress of a single requirement for a given quest.

class Resource : public axr.sdk.EntityBase

Describes an single resource type of the virtual economy.

class ResourceCost : public axr.sdk.Object

Describes a single cost for a resource.

class ResourceDefaults : public axr.sdk.Object

Describes a set of properties that new inventory resources will be given on creation.

class Restore : public axr.sdk.EntityBase

Describes a single backup job to be executed immediately or on a schedule.

REQUIRES: Backup Services

class Role : public axr.sdk.EntityBase

Describes a collection of users that all have the same role. Roles are used to grant permissions.

REQUIRES: Account Services

class ScalingPolicy : public axr.sdk.EntityBase

Defines a single policy that determines how one or more zones will scale the number of available shards.

REQUIRES: Virtual World Services

class Script : public axr.sdk.EntityBase

Defines a script that can be loaded into a service at runtime and perform one of the following behaviors:

  • Background Job

  • Data Model

  • Event Processor

  • Route Handler

class ServerInstance : public axr.sdk.EntityBase

Describes a single dedicated server instance.

REQUIRES: Server Instance Services

class ServiceStatus : public axr.sdk.Object

Describes the health status of a single platform service.

class ServiceStatusList : public axr.sdk.Object

Describes the health status of all deployed services in the platform cluster.

class Session : public axr.sdk.EntityBase

A session is describes a real-time interaction between a group of one or more players.

REQUIRES: Session Services

class Shard : public axr.sdk.EntityBase

A shard is a representation of a zone with a physical/network location that players can connect to. Shards have a one-to-one relationship with game server instances.

REQUIRES: Virtual World Services

class Skill : public axr.sdk.EntityBase

Tracks the progress of a specific skill for a given persona and archetype.

REQUIRES: Progression Services

class SkillDefinition : public axr.sdk.EntityBase

Describes a single trackable concept within the product that a persona can make progress towards and complete. A skill can be any talent, level, skill or other trackable concept.

REQUIRES: Progression Services

class SkillRequirementProgress : public axr.sdk.ModelBase

Tracks the persona’s progress of a single requirement for a given skill.

class Snapshot : public axr.sdk.EntityBase

Defines a single backup snapshot of a database that has been taken.

REQUIRES: Backup Services

class Statistic : public axr.sdk.ModelBase

Describes a single metric by which users will be compared and filtered.

class Team : public axr.sdk.ModelBase

Describes a single team of players involved in a session.

class Ticket : public axr.sdk.EntityBase

Describes one or more users wishing to find another group of users to match against.

REQUIRES: Matchmaking Services

class TransactionApproval : public axr.sdk.Object

Describes the approval status of all parties of a transaction.

class Transaction : public axr.sdk.EntityBase

Describes a transfer of resources two parties, a sender and a receiver. Transactions may include resources owned by both sender and recipient.In such cases, a trade is performed.In the event that the sender or recipient are specified as null, the transaction will perform a populate or consume action, respectively.

If the user creating the transaction is the sender, their approval is automatically implied and granted. If the recipient makes any changes to the transaction the sender must approve those changes before proceeding.In the event a transaction is created by a trusted role user and both sender/receiver approval is set as true, the transaction is automatically executed without notifying the affected parties.

Cancelled or completed transactions cannot be modified. Cancelled transactions will not be executed. Only transactions that have been approved by both parties (or a trusted role) will be executed.

Cancelled or failed transactions may be periodically removed from the database.Transactions with any other state are permanently stored.

A note on performance.Given the sheer volume of transactions and the speed at which they must be processed, record level ACLs are not used.Instead, class-level ACLs are used with explicit permission verification implemented as code.

class User : public axr.sdk.EntityBase

Describes a single authorized user in the AcceleratXR ecosystem.

REQUIRES: Account Services

The UserLink is a representation of a relationship from one user to another. Relationships have three potential types; block, follow, or friend. The block type describes a relationship to a user that the individual wishes not to encounter.The follow type describes a person whom the user wishes to encounter again in the future.The friend type describes a person that both users wish to encounter in the future. A friend link is automatically made when each user creates a follow link to each other.

REQUIRES: Socail Services

class UserSecret : public axr.sdk.EntityBase

Provides a single method of authentication for a given user. A user may have multiple secrets tied to their user account. This makes it possible to handle multiple types of authentication methods such as password, two-step authentication, pre-shared key and more.

REQUIRES: Account Services

class Wallet : public axr.sdk.EntityBase

Manages information about the current account balance and payment information for a given customer.

The uid of this object should map to a user or organization’s uid.

REQUIRES: Purchasing Services

class Zone : public axr.sdk.EntityBase

A zone is a representation of a particular place or region in a virtual world. Zones can be connected to others, creating a network of traversable spaces.

REQUIRES: Virtual World Services