diff --git a/.github/readme/strip.svg b/.github/readme/strip.svg new file mode 100644 index 0000000..e2bbc09 --- /dev/null +++ b/.github/readme/strip.svg @@ -0,0 +1 @@ +INTERFACE · DATA API: part of AntelopeJS, hexagonal architecture beyond your own code. A glowing button reads Star AntelopeJS.INTERFACE · DATA APIPart of AntelopeJSHexagonal architecture, beyond your own code.★ Star AntelopeJS \ No newline at end of file diff --git a/README.md b/README.md index f3abb89..6fdb519 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,19 @@ -# `@antelopejs/interface-data-api` +INTERFACE · DATA API: part of AntelopeJS, hexagonal architecture beyond your own code. A glowing button reads Star AntelopeJS.
-npm -License -Discord -Docs + +# `@antelopejs/interface-data-api` + +npm License Discord Documentation Star AntelopeJS + +**CRUD REST endpoints generated from a database table for AntelopeJS, with access rules, validation and pagination.** + +[Documentation](https://interfaces.antelopejs.com/docs/data-api) · [Implementations](#implementations) · [All interfaces and providers](https://github.com/AntelopeJS/antelopejs#ecosystem) +
The AntelopeJS interface that generates CRUD REST endpoints from a database table. Declare a data controller and its fields, and it serves the `get`, `list`, `new`, `edit` and `delete` routes with access rules, validation and pagination. -Part of [AntelopeJS](https://github.com/AntelopeJS/antelopejs). Used by [AntelopeJS DMS](https://github.com/AntelopeJS/dms), the open-source back office for your PostgreSQL, MongoDB or RethinkDB database. - ## What it offers - `DataController` and `@RegisterDataController()` turn a table class into a controller with the default routes you pick from `DefaultRoutes`. @@ -145,6 +148,24 @@ pnpm lint pnpm test ``` +## Part of AntelopeJS + +This package belongs to [AntelopeJS](https://github.com/AntelopeJS/antelopejs), the TypeScript framework where modules depend on contracts and the application chooses the provider. The open-source back office [AntelopeJS DMS](https://github.com/AntelopeJS/dms) is built on it. + + + +| Area | Contracts | Providers | +| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| API | [`interface-api`](https://github.com/AntelopeJS/interface-api) · [`interface-api-util`](https://github.com/AntelopeJS/interface-api-util) · **`interface-data-api`** | [`api`](https://github.com/AntelopeJS/api) | +| Auth | [`interface-auth`](https://github.com/AntelopeJS/interface-auth) | [`auth-jwt`](https://github.com/AntelopeJS/auth-jwt) | +| Database | [`interface-database`](https://github.com/AntelopeJS/interface-database) · [`interface-database-decorators`](https://github.com/AntelopeJS/interface-database-decorators) · [`interface-database-catalog`](https://github.com/AntelopeJS/interface-database-catalog) · [`interface-mongodb`](https://github.com/AntelopeJS/interface-mongodb) · [`interface-rethinkdb`](https://github.com/AntelopeJS/interface-rethinkdb) | [`postgres`](https://github.com/AntelopeJS/postgres) · [`mongodb`](https://github.com/AntelopeJS/mongodb) · [`rethinkdb`](https://github.com/AntelopeJS/rethinkdb) | +| Redis | [`interface-redis`](https://github.com/AntelopeJS/interface-redis) · [`interface-redis-scheduler`](https://github.com/AntelopeJS/interface-redis-scheduler) | [`redis`](https://github.com/AntelopeJS/redis) | +| Email | [`interface-email`](https://github.com/AntelopeJS/interface-email) | [`nodemailer`](https://github.com/AntelopeJS/nodemailer) · [`brevo`](https://github.com/AntelopeJS/brevo) | +| File storage | [`interface-file-storage`](https://github.com/AntelopeJS/interface-file-storage) | [`file-storage-local`](https://github.com/AntelopeJS/file-storage-local) · [`file-storage-s3`](https://github.com/AntelopeJS/file-storage-s3) | +| Payments | [`interface-payment`](https://github.com/AntelopeJS/interface-payment) · [`interface-subscriptions`](https://github.com/AntelopeJS/interface-subscriptions) · [`interface-stripe`](https://github.com/AntelopeJS/interface-stripe) | [`stripe`](https://github.com/AntelopeJS/stripe) · [`mollie`](https://github.com/AntelopeJS/mollie) · [`checkout-com`](https://github.com/AntelopeJS/checkout-com) · [`payment-subscriptions`](https://github.com/AntelopeJS/payment-subscriptions) | + + + ## License [Apache-2.0](./LICENSE) diff --git a/package.json b/package.json index 3e9073a..4f18452 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "@antelopejs/interface-core": "^0.4.0", "@antelopejs/interface-database": "^0.3.0", "@antelopejs/interface-database-decorators": "^0.2.0", - "@antelopejs/tooling-configs": "^0.5.1", + "@antelopejs/tooling-configs": "^0.5.5", "@types/chai": "^4.3.20", "@types/mocha": "^10.0.10", "@types/node": "^22.19.15", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6e9d8fa..0c748e0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,8 +30,8 @@ importers: specifier: ^0.2.0 version: 0.2.0(@antelopejs/interface-api@0.2.0(@antelopejs/interface-core@0.4.0))(@antelopejs/interface-core@0.4.0)(@antelopejs/interface-database@0.3.0(@antelopejs/interface-core@0.4.0)) '@antelopejs/tooling-configs': - specifier: ^0.5.1 - version: 0.5.1(eslint-plugin-perfectionist@5.11.0(eslint@10.10.0(jiti@2.7.0))(typescript@5.9.3))(knip@6.34.0)(oxfmt@0.66.0)(oxlint@1.81.0(oxlint-tsgolint@7.0.2001)) + specifier: ^0.5.5 + version: 0.5.5(eslint-plugin-perfectionist@5.11.0(eslint@10.10.0(jiti@2.7.0))(typescript@5.9.3))(knip@6.34.0)(oxfmt@0.66.0)(oxlint@1.81.0(oxlint-tsgolint@7.0.2001)) '@types/chai': specifier: ^4.3.20 version: 4.3.20 @@ -125,8 +125,8 @@ packages: peerDependencies: '@antelopejs/interface-core': '>=0.2.4 <1.0.0' - '@antelopejs/tooling-configs@0.5.1': - resolution: {integrity: sha512-Q1JWAsMIDy8f6KaTFPAakT+ChWDhQCzJjdszFFam/pUFqBVMgY+Lp1I7bc8SwcWL3CMdHBzgUUEId2od2cB7hQ==} + '@antelopejs/tooling-configs@0.5.5': + resolution: {integrity: sha512-03QagBC3hE4GAtEF+vwEYWvQfD1oqik+3OrvzT6MaII88vwHdWJOiyqUcHW0ul+ujG4GBL5nDO+wmBciTxQB+g==} engines: {node: '>=22.18.0'} hasBin: true peerDependencies: @@ -2843,7 +2843,7 @@ snapshots: dependencies: '@antelopejs/interface-core': 0.4.0 - '@antelopejs/tooling-configs@0.5.1(eslint-plugin-perfectionist@5.11.0(eslint@10.10.0(jiti@2.7.0))(typescript@5.9.3))(knip@6.34.0)(oxfmt@0.66.0)(oxlint@1.81.0(oxlint-tsgolint@7.0.2001))': + '@antelopejs/tooling-configs@0.5.5(eslint-plugin-perfectionist@5.11.0(eslint@10.10.0(jiti@2.7.0))(typescript@5.9.3))(knip@6.34.0)(oxfmt@0.66.0)(oxlint@1.81.0(oxlint-tsgolint@7.0.2001))': dependencies: '@oxlint/plugins': 1.81.0 dts-bundle-generator: 9.5.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..ece6642 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +allowBuilds: + lefthook: false