Add this package to your project:
npm i @aac/directory
I recommend adding a helper function in your project so that you don't pass configuration everytime you use the function. Configure the directory:
const {Directory} = require('@aac/directory');
const directory = (props = {query: ''}) => {
const {query = {}} = props;
return new Directory({
credentials: {
api: CLIENTREACH_API_URL,
username: CLIENTREACH_API_USERNAME,
password: CLIENTREACH_API_PASSWORD,
},
specialty: 'addiction-treatment',
listings_path: 'local',
listings_path_use_hierarchical: false,
facilities_path: 'listings',
site_name: 'Project Know',
phone: '',
query,
});
};
Parameter | Descriptions | Default |
---|---|---|
pluginPath. | null | |
seed | Used for generating the facility profile unique ID in the URL for facility pages. Ex: EX: /listings/greenhouse-treatment-center-1868084797 Rehabs (2), Recovery (3), Detox (3) |
2 |
specialty | Used for filtering free posts by specialty. projectknow , detox , drugabuse , recovery , rehab
|
'rehab' |
listings_path | Used for generating the state/city url path. State example: /local/california City example: /local/los-angeles-ca
|
'local' |
listings_path_use_hierarchical | Indicator for generating hierarchical state/city url path. State example: /local/california City example: /local/california/los-angeles
|
false |
facilities_path | Used for generating the facility profile url path. EX: /listings/ greenhouse-treatment-center-1868084797 |
'listings' |
aac_account_id | Used in functions that determine/validate if a facility is AAC or not. There are business compliance cases where we cannot show some data on non-aac facilities. | 'cuJjm8Z5' |
credentials | This object is passed to the ClientReach Class which handles authenticated requests. {username: '', password: ''}
|
null |
site_name | There are helper functions that have output including the site name. | null |
phone | Each directory has a unique CallRail Phone number associated with it. | null |
query | Currently there are helper functions that determine page type based on query parameters, pass the Express context.query if you need those functions. See Directory.getVars for the list of accepted parameters | {} |
-
This package uses the
format: 'legacy'
header on all GET and POST requests. This can debugging issues when issues postman if this header isn't set. This format was originally chosen because the response size is drastically smaller. Those headers can be found here. -
This project requires Node version 14
nvm use 14
Publishing Beta Version (for QA on staging sites)
You must be logged in via CLI (npm login
), and be listed as a collaborator here
-
npm run build
- build files are committed here -
npm version x.x.x-beta.x
- increase using semantic versioning- It is crucial that we add beta.0 at the end of your version. The .0 indicates which beta version it is. When we publish a new fix as beta, we will increment the .0 to .1 and so on.
npm publish --tag beta
- Confirm version on npm page
You must be logged in via CLI (npm login
), and be listed as a collaborator here
-
npm run build
- build files are committed here - Merge pull request into master
-
npm version x.x.x
- increase using semantic versioning npm publish
- Confirm version on npm page