Classes
Access log for the accounts app
Class representing a user account in the database
Exception indicating that creating accounts is not allowed
Exception indicating that deleting accounts is not allowed
Exception indicating that the authenticated account is disabled
Exception indicating that an account already exists under this username/email
Exception indicating that the action requires an account to act as
Exception indicating that the requested username is not whitelisted
App for managing accounts and authenticating users.
Exception indicating that admin-level access is required
Provides a base class for apps that use the Authenticator to log auth info
Base class for account/groups containing properties that can be set per-account or per-group
Represents an object that holds an authentication code that can be checked
Exception indicating that the test on the authentication source failed
Describes an external auth source that has a manager and lives in the database
Uses an FTP server for authentication
Uses an IMAP server for authentication
Exception indicating IMAP encountered an error
Exception indicating the IMAP extension does not exist
The basic authentication interface
Exception indicating that the created auth source is invalid
Uses an LDAP server for authentication
Exception indicating that the LDAP connection failed
Exception indicating that LDAP encountered an error
Exception indicating that the LDAP extension does not exist
The regular internal authentication source
Manages configured external authentication sources
Exception indicating that the request is not allowed with the given authentication
The class used to authenticate requests
Exception indicating that the password for an account using external authentication cannot be changed
A client registered for authenticating as an account
App config stored in the database
An object describing a contact method for a user account
Exception indicating that this contact already exists
Pair representing a contact type and value
Exception indicating that this contact is not an email address
Exception indicating that a valid contact value was not given
Exception indicating that an email address must be provided
Exception indicating that crypto cannot be initialized because it already exists
Exception indicating that the account does not have crypto initialized
Exception indicating that the request requires providing crypto details
Exception indicating that server-side crypto is not allowed
Exception indicating that crypto cannot be unlocked because it does not exist
Exception indicating that crypto must be unlocked by the client
Exception indicating that this group membership already exists
Trait allowing objects to store fields encrypted with an account's crypto
A trait for getting a serialized user key with both the ID and auth key
A group of user accounts
Exception indicating that a group already exists with this name
Trait that overrides some BaseObject functions to allow inheriting properties from Groups
Class representing a group membership, joining an account and a group
Exception indicating that this group membership is for a default group and cannot be changed
A value and inherit-source pair
Exception indicating that the specified session is invalid
An object that holds an encrypted copy of an Account's master key
Exception indicating that a new password must be provided
Exception indicating that the old password must be provided
Trait for storage classes that store a optionally-encrypted credential fields
Exception indicating that a password for authentication was required but not given
Exception indicating that the raw (non-hashed) key does not exist in memory
A recovery key allows account recovery by bypassing a password
Exception indicating that a recovery key cannot be generated
Exception indicating that the given recovery key is not valid
Exception indicating that account/group search is not allowed
Implements an account session, the primary implementor of authentication
Exception indicating that the action requires a session to use
Describes an OTP twofactor authentication source for an account
Exception indicating that a two factor code was required but not given
Exception indicating that an unknown account was given
Exception indicating that an unknown authentication source was given
Exception indicating that an unknown client was given
Exception indicating that an unknown contact was given
Exception indicating that an unknown group was given
Exception indicating that the group membership does not exist
Exception indicating that an unknown session was given
Exception indicating that an unknown twofactor was given
Object for tracking used two factor codes, to prevent replay attacks
Whitelist entry for allowing account signups
Core app access log for use without the accounts app installed
Exception indicating that admin-level access is required
Server management/info app included with the framework.
Client error indicating that the database config failed
Client error indicating that the mailer config failed
Exception indicating that the specified mailer object does not exist
Access log for the files app
Exception indicating that an unknown item type was given
A user comment on an item
App config stored in the database
Exception indicating that files cannot be moved across filessytems
Exception indicating that the item was deleted when refreshed from storage
Exception indicating that the item target name already exists
Exception indicating that emailing share links is not allowed
Defines a user-stored file
Helper class for reading/writing streams and files via chunks
App that provides user-facing filesystem services.
A basic filesystem type that stores files as files (revolutionary)
An External Andromeda filesystem is accessible outside Andromeda
Abstract class for a filesystem implementation, with the actual disk functions.
An object that manages and points to a filesystem manager
Exception indicating that the stored filesystem type is not valid
Exception indicating that the given filesystem name is invalid
Exception indicating that the underlying storage connection failed
An Andromeda native filesystem stores only file content.
Implements an encryption layer on top of the native filesystem.
Defines a user-stored folder which groups other items
Exception indicating that the requested download byte range is invalid
Exception indicating that the folder destination is invalid
Exception indicating that the operation is not valid on a root folder
Exception indicating that the given share password is invalid
Exception indicating invalid share target params were given
An abstract class defining a user-created item in a filesystem.
Authenticator class that implements item access rules
Exception indicating that access to the requested item is denied
Exception indicating that only one file/folder access can logged
Exception indicating that item sharing is not allowed
A user-like (or dislike) on an item
Account limits common between total and timed
Concrete class providing timed account limits
Concrete class providing account config and total stats
A fake empty account limits that returns default property values
GroupTotal and AccountTotal have some extra common features not applicable to filesystems
The base type that all limits inherit from.
Filesystem limits common between total and timed
Concrete class providing timed filesystem limits
Concrete class providing filesystem config and total stats
Group limits common between total and timed
Concrete class providing timed group member limits
Concrete class providing group config and total stats
Stores limits whose statistics are specific to a given time period.
Stores an entry of statistics for a Timed limit
The basic kind of limit not subject to a timeperiod, also stores config
Exception indicating that random write access is not allowed
A root folder has no parent or name
A share granting access to an item
Exception indicating that the requested share already exists
Exception indicating that the requested share has expired
Exception indicating that a share was requested for a public item
Exception indicating that sharing to the given target is not allowed
Exception indicating that the absolute URL of a share cannot be determined
Exception indicating that activating the storage failed
A storage that has a base path
Allows FTP to be used as a backend storage
Exception indicating that a random write was requested (FTP does not support it)
Exception indicating that authentication on the FTP server failed
Exception indicating that the FTP server connection failed
Exception indicating that FTP does not support file copy
Exception indicating that the FTP extension is not installed
A storage that uses PHP's fwrapper functions
Exception indicating that the file handle failed to close
Exception indicating that copying the file failed
Exception indicating that creating the file failed
Exception indicating that deleting the file failed
Exception indicating that moving the file failed
Exception indicating that the file handle failed to open
Exception indicating that reading from the file failed
Exception indicating that renaming the file failed
Exception indicating that the file handle failed to seek
Exception indicating that writing to the file failed
Exception indicating that copying the folder failed
Exception indicating that creating the folder failed
Exception indicating that deleting the folder failed
Exception indicating that moving the folder failed
Exception indicating that reading folder contents failed
Exception indicating that renaming the folder failed
Exception indicating that this storage does not support folder functions
Exception indicating that finding free space failed
Exception indicating that the server's public key has changed
Class representing a stat result
Exception indicating that stat failed
A storage on local-disk on the server
Exception indicating only admins can create local storage
A storage that does not support subfolders
Class representing a path and rollback action
Client exception indicating that a write was attempted to a read-only storage
Allows using an S3-compatible server for backend storage
Exception indicating that the S3 SDK is missing
Exception indicating that S3 failed to connect or read the base path
Exception that wraps S3 SDK exceptions
Exception indicating that objects cannot be modified
Allows using an SFTP server for backend storage using phpseclib
Allows using an SMB/CIFS server for backend storage
Exception indicating that SMB failed to connect or read the base path
Exception indicating that the libsmbclient extension is missing
Exception indicating that the SMB state initialization failed
Exception indicating that SSH authentication failed
Exception indicating that the SSH connection failed
A Storage implements the on-disk functions that actually store data.
Base exception indicating a storage failure
Exception indicating that the tested storage is not readable
Exception indicating that the tested storage is not writeable
Trait for storage classes that store a possibly-encrypted username and password
A subfolder has a parent
A category tag placed on an item
Exception indicating that the requested destination folder does not exist
Exception indicating that the requested file does not exist
Exception indicating that the requested filesystem does not exist
Exception indicating that the requested folder does not exist
Exception indicating that the requested item does not exist
Exception indicating that the requested object does not exist
Exception indicating that the requested parent does not exist
Exception indicating that user-added filesystems are not allowed
Exception indicating that an app dependency was not met
Exception indicating that the app is not compatible with this framework version
The base class from which apps must inherit
A singleton object that stores a version field
Andromeda cannot rollback and then commit since database/objects state is not sufficiently reset
The global framework config stored in the database
libsodium wrapper class for authentication-only crypto
libsodium wrapper class for keys
libsodium wrapper class for public-key authenticated crypto
libsodium wrapper class for secret-key authenticated crypto
The base class for representing objects stored in the database.
Exception indicating that the counter exceeded its limit
This class keeps track of performance metrics for the database.
This class implements the PDO database abstraction.
Base class for database initialization exceptions
Base class representing a run-time database error
Exception indicating that database install config failed
Exception indicating that the database connection failed to initialize
Exception indicating that the database configuration is not found
Exception indicating that PDO failed to execute the given query
Exception indicating that the a write was requested to a read-only database
Exception indicating that the singleton was duplicated
Exception indicating that multiple objects were loaded for by unique query
Exception indicating that the requested counter name is not a counter
Stores a value that represents a thread-safe counter
Stores a value that is automatically JSON-encoded
A field that represents a many-to-many relationship with another object.
Represents a reference to a polymorphic object that implements a base class
Stores a reference to another BaseObject
Represents a collection of (non-polymorphic) objects that reference this one.
Represents a basic scalar value stored in the column of a database table
Exception indicating that the database was requested to use an unknkown driver
The base class for join objects managed by an ObjectJoin field type.
Exception indicating the specified field name is invalid
Exception indicating that the requested scalar is null
Provides the basic interfaces between BaseObject and the underlying PDO database
Exception indicating that the requested object is null
Exception indicating that the requested class does not match the loaded object
Minimalistic class for building prepared post-FROM SQL query strings
Exception indicating that the desired row was not deleted
Exception indicating that the desired row was not inserted
Extends StandardObject with interfaces for a singleton object
Extends BaseObject with helpers for some commonly-used interfaces
Exception indicating that decryption failed
Exception indicating that a duplicate singleton was constructed
A name and address pair email recipient
Exception indicating that a mailer was requested but none are configured (or it is disabled)
A configured email service stored in the database
Exception indicating that no recipients were given
The base class for Andromeda exceptions
Internal-only exception used for getting a backtrace
Base class for client requests that are denied (HTTP 403)
Base class for generally invalid client requests (HTTP 400)
Base class for errors caused by the client's request
Base class for client requests referencing something that was not found (HTTP 404)
An exception that can be created by copying the message from another
Class for errors caused by the client's request (custom)
Represents an error log entry in the database
The main error handler/manager
Exception indicating something is not implemented - these are not unexpected server errors (HTTP 501)
Represents an non-exception error from PHP
Base class for server exceptions (errors in server code)
Exception indicating that the server failed to load a configured app
FinalizeOutput requires the database to not already be undergoing a transaction
Exception indicating that an app action does not allow batches
Describes an abstract PHP I/O interface abstraction
An abstracted Input object gathered from an interface
A username and password combination
A file given as a path to an actual file
An input file stream
Exception indicating the int-type setup code is invalid
The interface for using Andromeda over a web server
Exception indicating that the given batch file's syntax is not valid
The interface for using Andromeda via local console
Exception indicating that the parameter cannot be part of $_GET
Exception indicating that the command line usage is incorrect
Exception indicating that the given file is not valid
Exception indicating the given batch sequence has too many actions
Exception indicating the HTTP method used is not allowed
Exception indicating that the app or action parameters are missing
Exception indicating that the remote response is invalid
Exception indicating that the given batch file is not valid
Represents the output to be shown to the user
Class for custom app output routines
Class representing a client input parameter
Base exception indicating a problem with a client parameter
Exception indicating an invalid enum-based paramter
Exception indicating that the parameter failed sanitization or validation
An exception indicating that the requested parameter name does not exist
An exception indicating that the requested parameter has a null value
Exception indicating that an invalid type was requested
A thin class that manages a collection of SafeParam objects
An exception indicating that the app is not installed and needs to be
Describes an app that needs database installation and has upgrade scripts for upgrading the database
Exception indicating an invalid app name was given
Exception indicating that the configured mailer driver is invalid
Exception indicating that the given version string is invalid
Exception indicating that JSON decoding failed
Exception indicating that JSON encoding failed
Converts a JSON failure into an exception
Log entry representing an app action in a request
Log entry representing metrics for an app action
Base class for extended app action logs, supplementing ActionLog
Base class for access logs, providing some common DB functions for user viewing
Log entry representing metrics for a commit
Log entry representing an API request
Log entry representing an metrics for a request
Exception indicating that sending mail failed
The main container class managing API singletons and running apps
Exception indicating that the server is configured as disabled
An exception indicating that the metadata file is missing
Exception indicating that GetInstance() was called on a singleton that has not been constructed
Abstract class implementing a singleton
A class for overriding static methods for unit testing
Simple interface with rollback() and commit()
An exception indicating that the requested action is invalid for this app
Exception indicating that the requested app is invalid
Exception indicating that the configured data directory is not valid
Exception indicating that the database upgrade scripts must be run
Abstract with some global static utility functions
Class for parsing a version string into components