An open API service indexing awesome lists of open source software.

https://github.com/optum/pontifex-api

Typescript Azure Function API for Pontifex. Exposes the ability to create AAD App Registrations and Roles, update request roles, and approve requests via a set of REST APIs
https://github.com/optum/pontifex-api

azure-functions pontifex

Last synced: 10 months ago
JSON representation

Typescript Azure Function API for Pontifex. Exposes the ability to create AAD App Registrations and Roles, update request roles, and approve requests via a set of REST APIs

Awesome Lists containing this project

README

          

[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]



pontifex-api


An Azure Function backend for Pontifex.


Table of Contents



  1. About The Project



  2. Getting Started


  3. Usage

  4. Contributing

  5. License

  6. Maintainers

## About The Project

The Pontifex API layer abstracts away the interactions with Azure AD and supports actions within the pontifex-ui.

(back to top)

### Built With

* [Azure Function](https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview)

(back to top)

## Getting Started

### Prerequisites

1. Install the [Azure Functions Core Tools](https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local?tabs=v4%2Cmacos%2Ccsharp%2Cportal%2Cbash#install-the-azure-functions-core-tools)
2. Install the [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
3. Install Node 16. I recommend using [nvm](https://github.com/nvm-sh/nvm#installing-and-updating)

### Installation

1. Clone the repo
```sh
git clone https://github.com/Optum/pontifex-api.git
```
2. Install NPM packages
```sh
npm install
```
3. Create an Azure AD App Registration with the following Application Permissions:
1. AccessReview.ReadWrite.All
2. AppCatalog.Read.All
3. Application.ReadWrite.OwnedBy
4. AppRoleAssignment.ReadWrite.All
4. Create a CosmosDB Gremlin Instance
5. Update the `local.settings.example.json` with the values from the previous 2 resources and rename it to
be `local. settings.json`
6. run `npm start`

(back to top)

## Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

(back to top)

## License

Distributed under the Apache 2.0 License. See `LICENSE.txt` for more information.

(back to top)

## Maintainers

- Alexander Aavang
- GitHub Enterprise: [aaavang](https://github.com/aaavang)
- Email: alexander.aavang@optum.com, alex.aavang@gmail.com

(back to top)

[contributors-shield]: https://img.shields.io/github/contributors/Optum/pontifex-api.svg?style=for-the-badge
[contributors-url]: https://github.com/Optum/pontifex-api/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/Optum/pontifex-api.svg?style=for-the-badge
[forks-url]: https://github.com/Optum/pontifex-api/network/members
[stars-shield]: https://img.shields.io/github/stars/Optum/pontifex-api.svg?style=for-the-badge
[stars-url]: https://github.com/Optum/pontifex-api/stargazers
[issues-shield]: https://img.shields.io/github/issues/Optum/pontifex-api.svg?style=for-the-badge
[issues-url]: https://github.com/Optum/pontifex-api/issues
[license-shield]: https://img.shields.io/github/license/Optum/pontifex-api.svg?style=for-the-badge
[license-url]: https://github.com/Optum/pontifex-api/blob/master/LICENSE.txt
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[product-screenshot]: images/screenshot.png