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 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 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 ScriptType
Describes the different functional types of supported scripts.
Values:
- BACKGROUND_JOB
- EVENT_PROCESSOR
- MODEL
- ROUTE_HANDLER
- OTHER
- 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 anAccessControlList
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 adeny
permission. If anallow
is granted, the user or role has permission to perform that action. If adeny
is set, then the user or role is denied that action.If no explicitallow
ordeny
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.
- class AssetStorageLocation : public axr.sdk.EntityBase
Defines a single location of remote storage that will be used to maintain assets.
- 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.
- class BackupStorageLocation : public axr.sdk.EntityBase
Defines a single location of remote storage that will be used to maintain backup snapshots.
- 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 samename
.
- 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.
- 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 specificPersonaStatDefinition
that is assocaited with a particularPersona
.
- class PersonaStatDefinition : public axr.sdk.EntityBase
The
PersonaStatDefinition
describes a single statistic that an persona can have.
- 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.Adata
property is provided to allow for an arbitrary storage of any metadata desired by the application. Apresence
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.
- class QuestDefinition : public axr.sdk.EntityBase
Describes a single quest.
- 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.
- 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.
- 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.
- 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
- class UserLink : public axr.sdk.EntityBase
The
UserLink
is a representation of a relationship from one user to another. Relationships have three potential types;block
,follow
, orfriend
. Theblock
type describes a relationship to a user that the individual wishes not to encounter.Thefollow
type describes a person whom the user wishes to encounter again in the future.Thefriend
type describes a person that both users wish to encounter in the future. Afriend
link is automatically made when each user creates afollow
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