SaaS
What this extension does
Section titled “What this extension does”SaaS enables multi-tenant applications with account-aware data isolation.
It provides:
- account lifecycle and status management,
- account-aware persistence helpers,
- UI and remote modules for tenant operations.
<dependency>
<groupId>tools.dynamia.modules</groupId>
<artifactId>tools.dynamia.modules.saas.api</artifactId>
<version>26.4.0</version>
</dependency>
<dependency>
<groupId>tools.dynamia.modules</groupId>
<artifactId>tools.dynamia.modules.saas.jpa</artifactId>
<version>26.4.0</version>
</dependency>
<dependency>
<groupId>tools.dynamia.modules</groupId>
<artifactId>tools.dynamia.modules.saas</artifactId>
<version>26.4.0</version>
</dependency>
<dependency>
<groupId>tools.dynamia.modules</groupId>
<artifactId>tools.dynamia.modules.saas.ui</artifactId>
<version>26.4.0</version>
</dependency>
<dependency>
<groupId>tools.dynamia.modules</groupId>
<artifactId>tools.dynamia.modules.saas.remote</artifactId>
<version>26.4.0</version>
</dependency>
Gradle
Section titled “Gradle”implementation 'tools.dynamia.modules:tools.dynamia.modules.saas.api:26.4.0'
implementation 'tools.dynamia.modules:tools.dynamia.modules.saas.jpa:26.4.0'
implementation 'tools.dynamia.modules:tools.dynamia.modules.saas:26.4.0'
implementation 'tools.dynamia.modules:tools.dynamia.modules.saas.ui:26.4.0'
implementation 'tools.dynamia.modules:tools.dynamia.modules.saas.remote:26.4.0'
Frontend package
Section titled “Frontend package”pnpm add @dynamia-tools/saas-sdk @dynamia-tools/sdkimport { DynamiaClient } from '@dynamia-tools/sdk';import { SaasApi } from '@dynamia-tools/saas-sdk';
const client = new DynamiaClient({ baseUrl: import.meta.env.VITE_API_URL, token: '...' });const saas = new SaasApi(client.http);
const account = await saas.getAccount('account-uuid');console.log(account.name, account.status);Java usage example
Section titled “Java usage example”import jakarta.persistence.Entity;import jakarta.validation.constraints.NotNull;import tools.dynamia.modules.saas.api.AccountAware;
@Entitypublic class Person implements AccountAware {
@NotNull private Long accountId;
@Override public Long getAccountId() { return accountId; }
@Override public void setAccountId(Long accountId) { this.accountId = accountId; }}