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

FTP

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

FTP

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

S3

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

SMB

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

Tag

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

CLI

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