This is the AWS layer that provides an API for EPS Prescription Status Update.
packages/specification/
This Open API Specification describes the endpoints, methods and messages.scripts/
Utilities helpful to developers of this specification..devcontainer
Contains a dockerfile and vscode devcontainer definition..github
Contains github workflows that are used for building and deploying from pull requests and releases..vscode
Contains vscode workspace file.
Consumers of the API will find developer documentation on the NHS Digital Developer Hub.
Contributions to this project are welcome from anyone, providing that they conform to the guidelines for contribution and the community code of conduct.
This code is dual licensed under the MIT license and the OGL (Open Government License). Any new work added to this repository must conform to the conditions of these licenses. In particular this means that this project may not depend on GPL-licensed or AGPL-licensed libraries, as these would violate the terms of those libraries' licenses.
The contents of this repository are protected by Crown Copyright (C).
The GitHub Actions require a secret to exist on the repo called "SONAR_TOKEN". This can be obtained from SonarCloud as described here. You will need the "Execute Analysis" permission for the project (NHSDigital_eps-prescription-status-update-api) in order for the token to work.
Some pre-commit hooks are installed as part of the install above, to run basic lint checks and ensure you can't accidentally commit invalid changes. The pre-commit hook uses python package pre-commit and is configured in the file .pre-commit-config.yaml. A combination of these checks are also run in CI.
There are make
commands that are run as part of the CI pipeline and help alias some functionality during development.
install-node
Installs node dependenciesinstall-python
Installs python dependenciesinstall-hooks
Installs git pre commit hooksinstall
Runs all install targets
build-specification
Builds the specification component
clean
Clears up any files that have been generated by building or testing locally.deep-clean
Runs clean target and also removes any node_modules and python libraries installed locally.
lint
Runs lint for all code
publish
Outputs the specification as a single file into thebuild/
directory. This is used when uploading to Apigee, which requires the spec as a single file.
check-licenses
Checks licenses for all packages used - calls check-licenses-node, check-licenses-pythoncheck-licenses-node
Checks licenses for all node codecheck-licenses-python
Checks licenses for all python code