
Security News
Python Adopts Standard Lock File Format for Reproducible Installs
Python has adopted a standardized lock file format to improve reproducibility, security, and tool interoperability across the packaging ecosystem.
@brainnit/adonisjs-scout
Advanced tools
Adonis Scout provides a driver based solution for searching your Lucid models, just like Laravel Scout.
Adonis Scout provides a driver based solution for searching your Lucid models, heavily inspired by Laravel Scout and Scout Elasticsearch Driver.
Use npm or yarn to install the package:
npm -i @brainnit/adonisjs-scout
yarn add @brainnit/adonisjs-scout
Add Scout to the list of service providers at start/app.js
:
const providers = [
// ...
'@brainnit/adonisjs-scout/providers/ScoutProvider'
];
Copy config/index.js
to your app config folder and name it scout.js
. Don't forget to setup your environment variables.
Add @provider:Searchable
trait to your models and define only the methods you want to override to change default behaviour:
/** @type {typeof import('@adonisjs/lucid/src/Lucid/Model')} */
const Model = use('Model');
class User extends Model {
static get traits () {
return ['@provider:Searchable']
}
}
module.exports = Users
A search rule is a class that describes how a search query will be executed and allow you to build complex and reusable searches with the support of the Builder
instance.
To create a search rule use the following command:
adonis make:searchableRule MySearchRule
In the file app/Models/SearchableRules/MySearchRule.js you will find a class definition:
'use strict'
/** @type {typeof import('@brainnit/adonisjs-scout/src/SearchRule')} */
const SearchRule = use('Scout/SearchRule')
class MySearchRule extends SearchRule {
buildQuery () {
return {
'must': {
'match': {
'name': this.builder.query
}
}
}
}
}
module.exports = MySearchRule
To tell Scout about what search rules your model supports, just add the following method:
/**
* Specify what search rules the model supports.
*
* The return value(s) must always class namespaces that will be
* resolved by IoC Container.
*
* @static
*
* @method searchableRules
*
* @return {Array|String} ES6 Class
*/
static searchableRules () {
return ['App/Models/SearchRules/MySearchRule']
}
What else? Please open an Issue for suggestions.
FAQs
Adonis Scout provides a driver based solution for searching your Lucid models, just like Laravel Scout.
The npm package @brainnit/adonisjs-scout receives a total of 76 weekly downloads. As such, @brainnit/adonisjs-scout popularity was classified as not popular.
We found that @brainnit/adonisjs-scout demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Python has adopted a standardized lock file format to improve reproducibility, security, and tool interoperability across the packaging ecosystem.
Security News
OpenGrep has restored fingerprint and metavariable support in JSON and SARIF outputs, making static analysis more effective for CI/CD security automation.
Security News
Security experts warn that recent classification changes obscure the true scope of the NVD backlog as CVE volume hits all-time highs.