class DatabaseStorageDriver implements StorageDriver, CanDeleteKeys, CanFindByAnyKey (View source)

Properties

protected Application $app
protected Connection $centralDatabase
protected TenantRepository $tenants
protected DomainRepository $domains
protected CachedTenantResolver $cache
protected Tenant $tenant

Methods

__construct(Application $app, Repository $config, CachedTenantResolver $cache)

No description

static Connection
getCentralConnection()

Get the central database connection.

static string
getCentralConnectionName()

No description

findByDomain(string $domain)

Find a tenant using a domain name.

findById(string $id)

Find a tenant using an id.

findBy(string $key, mixed $value)

Find a tenant using an arbitrary key.

void
ensureTenantCanBeCreated(Tenant $tenant)

Ensure a tenant can be created.

withDefaultTenant(Tenant $tenant)

Set default tenant (will be used for get/put when no tenant is supplied).

void
createTenant(Tenant $tenant)

No description

void
updateTenant(Tenant $tenant)

No description

void
deleteTenant(Tenant $tenant)

No description

array
all(array $ids = [])

Get all tenants.

currentTenant()

Get the current tenant.

mixed
get(string $key, Tenant $tenant = null)

Get a value from storage.

void
getMany(array $keys, Tenant $tenant = null)

Get multiple values from storage.

void
put(string $key, mixed $value, Tenant $tenant = null)

Put a value into storage.

void
putMany(array $kvPairs, Tenant $tenant = null)

Put multiple values into storage.

void
deleteMany(array $keys, Tenant $tenant = null)

Delete keys from the storage.

bool
usesCache()

No description

Details

__construct(Application $app, Repository $config, CachedTenantResolver $cache)

No description

Parameters

Application $app
Repository $config
CachedTenantResolver $cache

static Connection getCentralConnection()

Get the central database connection.

Return Value

Connection

static string getCentralConnectionName()

No description

Return Value

string

Tenant findByDomain(string $domain)

Find a tenant using a domain name.

Parameters

string $domain

Return Value

Tenant

Tenant findById(string $id)

Find a tenant using an id.

Parameters

string $id

Return Value

Tenant

Exceptions

TenantCouldNotBeIdentifiedException

Tenant findBy(string $key, mixed $value)

Find a tenant using an arbitrary key.

Parameters

string $key
mixed $value

Return Value

Tenant

Exceptions

TenantDoesNotExistException

void ensureTenantCanBeCreated(Tenant $tenant)

Ensure a tenant can be created.

Parameters

Tenant $tenant

Return Value

void

Exceptions

TenantCannotBeCreatedException

StorageDriver withDefaultTenant(Tenant $tenant)

Set default tenant (will be used for get/put when no tenant is supplied).

Parameters

Tenant $tenant

Return Value

StorageDriver

void createTenant(Tenant $tenant)

No description

Parameters

Tenant $tenant

Return Value

void

void updateTenant(Tenant $tenant)

No description

Parameters

Tenant $tenant

Return Value

void

void deleteTenant(Tenant $tenant)

No description

Parameters

Tenant $tenant

Return Value

void

array all(array $ids = [])

Get all tenants.

Parameters

array $ids

Return Value

array

protected Tenant currentTenant()

Get the current tenant.

Return Value

Tenant

mixed get(string $key, Tenant $tenant = null)

Get a value from storage.

Parameters

string $key
Tenant $tenant

Return Value

mixed

void getMany(array $keys, Tenant $tenant = null)

Get multiple values from storage.

Parameters

array $keys
Tenant $tenant

Return Value

void

void put(string $key, mixed $value, Tenant $tenant = null)

Put a value into storage.

Parameters

string $key
mixed $value
Tenant $tenant

Return Value

void

void putMany(array $kvPairs, Tenant $tenant = null)

Put multiple values into storage.

Parameters

array $kvPairs
Tenant $tenant

Return Value

void

void deleteMany(array $keys, Tenant $tenant = null)

Delete keys from the storage.

Parameters

array $keys
Tenant $tenant

Return Value

void

bool usesCache()

No description

Return Value

bool