AdonisJS (starting from V6)
View complete AdonisRC file
shell
node ace inspect:rcfileDependency Injection
Contextual dependencies
ts
import { Disk } from '@adonisjs/drive';
import UserService from '#services/user_service';
import PostService from '#services/post_service';
import { ApplicationService } from '@adonisjs/core/types';
export default class AppProvider {
constructor(protected app: ApplicationService) {}
register() {
this.app.container
.when(UserService)
.asksFor(Disk)
.provide(async (resolver) => {
const driveManager = await resolver.make('drive');
return drive.use('gcs');
});
this.app.container
.when(PostService)
.asksFor(Disk)
.provide(async (resolver) => {
const driveManager = await resolver.make('drive');
return drive.use('s3');
});
}
}