Download the PHP package nubitio/admin-bundle without Composer

On this page you can find all versions of the php package nubitio/admin-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package admin-bundle

nubitio/admin-bundle

One-line backend for the Nubit admin stack. Install it, point @nubitio/react-admin at your API, and you have a CRUD admin system.

Registers automatically:

Setup

  1. Import the routes (config/routes/nubit_admin.yaml):

  2. Wire the firewall (config/packages/security.yaml) — the bundle cannot define firewalls for you. Apps with more than one user provider (e.g. an extra admin firewall) must also alias the one the API uses, otherwise autowiring is ambiguous:

  3. Create the refresh-token table: bin/console make:migration && bin/console doctrine:migrations:migrate (the bundle's RefreshToken entity is auto-mapped).

Session profile (GET /api/me)

The React SessionProvider calls this on boot. Default response:

app_profile Extra blocks
internal none (single-org panel)
saas tenant (when TenantContext is set), features (from FeatureCheckerInterface::getEntitlements())
hybrid same as saas — branch/context fields come from a custom MeResponseBuilderInterface

Alias MeResponseBuilderInterface to add application-specific fields without forking the route.

Embedded lines (master-detail forms)

Line entities that belong to a parent document use #[EmbeddedLines] on the Doctrine class — the bundle registers GET /api/{lines} returning a plain JSON array for SmartCrud formDetail reload (no Hydra envelope, no custom controller).

Import embedded line routes in addition to the bundle routes:

On the parent processor, extend AbstractEmbeddedLinesProcessor to bind lines before persist. Frontend:

Runtime config (GET /api/runtime-config, opt-in)

Separate from /api/me: UI flags, defaults, capabilities, onboarding state — free-form JSON defined by the application. Enable the route, implement the provider, alias it:

On the React side, useRuntimeConfig() from @nubitio/react-admin fetches the payload (RuntimeConfig is Record<string, unknown> — type it per app). Disabled by default so internal skeletons work with zero config.

Configuration (defaults shown)

Audit trail (opt-in)

audit.enabled: true records field-level before/after diffs for entities marked #[Nubit\ApiPlatform\Attribute\Auditable] (creates, updates, deletes — captured from the Doctrine change set, written to nubit_audit_log in the same request, attributed to the authenticated user). Serve them to the AuditTrailPanel in @nubitio/react-admin:

GET /api/audit-trail/{resource}/{id} returns newest-first entries in the panel shape: [{ id, timestamp, user, action, changes: { field: { before, after } } }]. Relations collapse to their id; ignored_fields are excluded from diffs; collection contents are not audited. Create the table with a migration and schedule bin/console nubit:audit:purge.

Media library (opt-in)

media.enabled: true exposes a ready-made upload pipeline matching fileField() / imageField() in @nubitio/react-admin (instant upload — the form submits only the media IRI):

Storage is local disk by default (zero config). For S3 (or anything Flysystem speaks), point media.storage.filesystem at a FilesystemOperator service — e.g. with oneup/flysystem-bundle:

To serve direct S3/CDN URLs instead of streaming through PHP, implement Nubit\AdminBundle\Media\MediaUrlResolverInterface and alias it in services.yaml. Create the table with a migration (doctrine:migrations:diff picks up nubit_media once enabled). Reference uploads from your entities as a plain ManyToOne to Nubit\AdminBundle\Media\Entity\Media.

Clients

Web (@nubitio/core) — works out of the box: login stores HttpOnly cookies; CoreProvider auto-refreshes via auth/refresh.

Android / API — send response_mode: "json" on login (or the X-Client-Type: android header on every auth call):

Refresh with { "refreshToken": "..." } in the body; send Authorization: Bearer <token> on every request.

Extension points

Hook Purpose
MeResponseBuilderInterface Shape GET /api/me (session profile for @nubitio/react-admin) — alias your implementation to add branch, currency, or domain context
RuntimeConfigProviderInterface Shape GET /api/runtime-config (UI flags, defaults, capabilities) — alias your implementation; enable with runtime_config: true
TokenClaimsProviderInterface Add claims (user id, role, branch, tenant) to JWTs and shape the login response user payload — alias your implementation over the default
LoginResponseDecoratorInterface Attach extra cookies to the web login/refresh response (e.g. a Mercure subscriber JWT) — autoconfigured by interface
RefreshTokenStoreInterface Swap the Doctrine store for Redis/other
MediaUrlResolverInterface Emit direct S3/CDN URLs for media instead of the streaming route
GridVirtualFieldInterface Grid fields without ORM mapping — autoconfigured by interface
Nubit\Platform tenant/feature/quota aliases Override for multi-tenant SaaS

License

MIT


All versions of admin-bundle with dependencies

PHP Build Version
Package Version
Requires php Version >=8.3
api-platform/core Version ^4.1
doctrine/orm Version ^3.0
firebase/php-jwt Version ^7.0
league/flysystem Version ^3.0
nubitio/api-platform Version 0.*
nubitio/platform Version 0.*
nubitio/tenant-bundle Version 0.*
psr/log Version ^3.0
symfony/config Version ^7.4 || ^8.0
symfony/console Version ^7.4 || ^8.0
symfony/dependency-injection Version ^7.4 || ^8.0
symfony/doctrine-bridge Version ^7.4 || ^8.0
symfony/http-foundation Version ^7.4 || ^8.0
symfony/http-kernel Version ^7.4 || ^8.0
symfony/mime Version ^7.4 || ^8.0
symfony/password-hasher Version ^7.4 || ^8.0
symfony/routing Version ^7.4 || ^8.0
symfony/security-bundle Version ^7.4 || ^8.0
symfony/security-core Version ^7.4 || ^8.0
symfony/security-http Version ^7.4 || ^8.0
symfony/serializer Version ^7.4 || ^8.0
symfony/string Version ^7.4 || ^8.0
symfony/translation-contracts Version ^3.0
symfony/uid Version ^7.4 || ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package nubitio/admin-bundle contains the following files

Loading the files please wait ...