Skip to content

VS Code Extension to make working with the App Management APIs for Microsofts Embed App program easier

License

Notifications You must be signed in to change notification settings

SimonOfHH/vscode-fame-handler

Repository files navigation

vscode-fame-handler

This VS Code Extension provides some functionality to make working with App Management APIs for Microsofts Embed App program easier. It's still a work-in-progress, so expect some placeholder etc. in the code.

Usage

Just select the provided view "FAME Handler" and click "Sign in". It'll open up a new browser window and acquire a token for accessing the API.

Sign in sample

Features

  • UI for API results, to inspect
    • Apps
    • Versions
    • Principals
    • Environments
  • Validate manifest.json for new LCS releases
  • Provide new versions, update principals and more with an easy to use interface

more tbd...

Requirements

You need an Azure App registration with the following permissions:

  • Dynamics 365 Business Central -> Delegated permissions -> user_impersonation
  • Microsoft Graph -> Delegated permissions -> User.Read.All (used to provide a lookup from principals to display Usernames)

Status / Implemented features

Overall

  • Provide eay-to-use UI for repository elements
  • Validate manifest.json for new releases

App Management API

The following overview lists the state of features of the App Management API that are covered in this extension.

Entitities

  • App
    • List apps (GET)
  • Country
    • List countries (GET)
    • Get Country (GET)
    • Add or update country (PATCH) (not sure what this is for)
  • Principal
    • List principals (GET)
    • Get principal by ID (GET)
    • Remove principal (DELETE)
    • Add or update principal (PATCH)
  • Version
    • List versions (GET)
      • validate filtering
    • Upload version (POST)
    • Download version (POST)
    • Update version (PATCH) (to be tested)
      • Set availability
      • Mark as incompatible
  • Environment
    • List environments (GET)
  • Environment Hotfix
    • List environment hotfixes (GET)
    • Get environment hotfix (GET) (untested)
    • Schedule environment hotfix (POST) (untested)
    • Update environment hotfix (PATCH) (untested)

Planned / To-Do list

Extension Settings

This extension contributes the following settings:

  • famehandler.api.clientId: The application (client) ID from the AAD App registration
  • famehandler.api.tenantId: Directory (tenant) ID
  • famehandler.defaults.principalSets: A set of preconfigured princiapls for easier assignments

Sample configuration:

"famehandler.api.clientId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"famehandler.api.tenantId": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
"famehandler.defaults.principalSets": {
        "defaults": [
            {
                "countryCode": "DE",
                "values": [
                    {
                        "principalType": "user",
                        "principalId": "00000000-0000-0000-0000-000000000000"
                    },
                    {
                        "principalType": "user",
                        "principalId": "11111111-1111-1111-1111-111111111111"
                    },
                    {
                        "principalType": "user",
                        "principalId": "22222222-2222-2222-2222-222222222222"
                    }
                ]
            },
            {
                "countryCode": "NL",
                "values": [
                    {
                        "principalType": "user",
                        "principalId": "33333333-3333-3333-3333-333333333333"
                    },
                    {
                        "principalType": "user",
                        "principalId": "44444444-4444-4444-4444-444444444444"
                    },
                    {
                        "principalType": "user",
                        "principalId": "55555555-5555-5555-5555-555555555555"
                    }
                ]
            }
        ]
    }

Known Issues

<...>

Release Notes

Users appreciate release notes as you update your extension.

0.0.1

Initial release of vscode-fame-handler extension

Disclaimer

This is my first real VS Code Extension. I have no idea if everything is up to best-practices or what could be better. If you see anything that could be improved feel free to leave me a message or create an issue. Much appreciated.

About

VS Code Extension to make working with the App Management APIs for Microsofts Embed App program easier

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published