Name | lg-april-permissions JSON |
Version |
0.1.14
JSON |
| download |
home_page | |
Summary | |
upload_time | 2023-06-04 20:29:48 |
maintainer | |
docs_url | None |
author | kmille |
requires_python | >=3.10,<4.0 |
license | |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# buditool
Das Tool dient hauptsächlich zum synchronisieren von Berechtigungen: es schaut in die Postgres-DB (April_Permissions) und schickt API calls an Budibase, um die Berechtigungen zu setzten. Bitte auch die KNOWN ISSUES in tests/bb_test.py lesen! Die entsprechenden Images werden über die CI gebaut und können einfach von unserer Registry gepullt werden:
- buditool --serve: https://git.itsnow.biz/LG-IT/docker-lg-april-permissions
- Postgres mit curl: https://git.itsnow.biz/LG-IT/docker-lg-postgres
- all unsere Images (heißt hier Packges): https://git.itsnow.biz/LG-IT/-/packages
### Features
```bash
kmille@linbox:lg-april-permissions ~/.local/bin/buditool -h
usage: buditool [-h] [-u USER] [--list-apps] [--list-users] [-a ADD_PERMISSIONS] [-r REMOVE_PERMISSIONS] [-s] [-c CONFIG] [--version]
options:
-h, --help show this help message and exit
-u USER, --user USER show user (needs bb user id)
--list-apps list all bb apps
--list-users list all bb users
-a ADD_PERMISSIONS, --add-permissions ADD_PERMISSIONS
add permissions for user (needs bb user id)
-r REMOVE_PERMISSIONS, --remove-permissions REMOVE_PERMISSIONS
remove permissions for user (needs bb user id)
-s, --sync synchronize permissions with db
-c CONFIG, --config CONFIG
config file
--version show version
```
### Configuration (settings.yaml.template)
```yaml
---
bb_base_api_url: "https://bb-test.itsnow.biz/api/public/v1/"
bb_api_key: ""
permissions:
"app_dev_908c8e8aad04477183ee858c3c29f0d5": "BASIC" # Protestbuffet
db_connection: "dbname=aa user=aa host=127.0.0.1 password= port=10002"
```
### Run tests
```bash
kmille@linbox:lg-april-permissions poetry install
Installing dependencies from lock file
No dependencies to install or update
Installing the current project: lg-april-permissions (0.1.0)
kmille@linbox:lg-april-permissions poetry run pytest -x -v -s
============================================================================================================= test session starts =============================================================================================================
platform linux -- Python 3.10.10, pytest-7.2.2, pluggy-1.0.0 -- /home/kmille/.cache/pypoetry/virtualenvs/lg-april-permissions-bzz6vhyK-py3.10/bin/python
cachedir: .pytest_cache
rootdir: /home/kmille/projects/letzte-generation/lg-april-permissions
collected 1 item
tests/bb_test.py::TestAPI::test_roles {}
{}
{'app_908c8e8aad04477183ee858c3c29f0d5': 'BASIC'}
{}
{'app_908c8e8aad04477183ee858c3c29f0d5': 'BASIC'}
{'app_908c8e8aad04477183ee858c3c29f0d5': 'POWER'}
{}
PASSED
============================================================================================================== 1 passed in 3.25s ==============================================================================================================
kmille@linbox:lg-april-permissions
```
### Build and installation
```bash
kmille@linbox:lg-april-permissions poetry build
Building lg-april-permissions (0.1.0)
- Building sdist
- Built lg_april_permissions-0.1.0.tar.gz
- Building wheel
- Built lg_april_permissions-0.1.0-py3-none-any.whl
kmille@linbox:lg-april-permissions pip install --user dist/lg_april_permissions-0.1.0-py3-none-any.whl
Processing ./dist/lg_april_permissions-0.1.0-py3-none-any.whl
Requirement already satisfied: pyyaml<7.0,>=6.0 in /usr/lib/python3.10/site-packages (from lg-april-permissions==0.1.0) (6.0)
Requirement already satisfied: requests<3.0.0,>=2.28.2 in /home/kmille/.local/lib/python3.10/site-packages (from lg-april-permissions==0.1.0) (2.28.2)
Collecting psycopg2-binary<3.0.0,>=2.9.6
Downloading psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 7.4 MB/s eta 0:00:00
Requirement already satisfied: charset-normalizer<4,>=2 in /home/kmille/.local/lib/python3.10/site-packages (from requests<3.0.0,>=2.28.2->lg-april-permissions==0.1.0) (3.1.0)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /home/kmille/.local/lib/python3.10/site-packages (from requests<3.0.0,>=2.28.2->lg-april-permissions==0.1.0) (1.26.15)
Requirement already satisfied: idna<4,>=2.5 in /home/kmille/.local/lib/python3.10/site-packages (from requests<3.0.0,>=2.28.2->lg-april-permissions==0.1.0) (3.4)
Requirement already satisfied: certifi>=2017.4.17 in /home/kmille/.local/lib/python3.10/site-packages (from requests<3.0.0,>=2.28.2->lg-april-permissions==0.1.0) (2022.12.7)
Installing collected packages: psycopg2-binary, lg-april-permissions
WARNING: The script buditool is installed in '/home/kmille/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed lg-april-permissions-0.1.0 psycopg2-binary-2.9.6
```
### Walkthrough
```bash
kmille@linbox:lg-april-permissions ~/.local/bin/buditool -u us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6
{
"data": {
"_id": "us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6",
"email": "abc@mail.com",
"status": "active",
"firstName": "Hans",
"lastName": "Nani",
"forceResetPassword": false,
"roles": {
"app_7c5f5f30d8254721bc04e2c98249f31c": "BASIC"
}
}
}
kmille@linbox:lg-april-permissions ~/.local/bin/buditool --sync
Syncing permissions with database
Processing Bikö 159
Budibase user id: us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6 (Hansi Nani)
Adding permissions for user us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6
Rollen vorher:
{
"app_7c5f5f30d8254721bc04e2c98249f31c": "BASIC"
}
Rollen danach:
{
"app_7c5f5f30d8254721bc04e2c98249f31c": "BASIC",
"app_908c8e8aad04477183ee858c3c29f0d5": "BASIC"
}
kmille@linbox:lg-april-permissions ~/.local/bin/buditool -u us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6
{
"data": {
"_id": "us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6",
"email": "abc@mail.com",
"status": "active",
"firstName": "Hans",
"lastName": "Nani",
"forceResetPassword": false,
"roles": {
"app_7c5f5f30d8254721bc04e2c98249f31c": "BASIC",
"app_908c8e8aad04477183ee858c3c29f0d5": "BASIC"
}
}
}
kmille@linbox:lg-april-permissions ~/.local/bin/buditool -r us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6
Removing permissions for user us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6
Rollen vorher:
{
"app_7c5f5f30d8254721bc04e2c98249f31c": "BASIC",
"app_908c8e8aad04477183ee858c3c29f0d5": "BASIC"
}
Rollen danach:
{
"app_7c5f5f30d8254721bc04e2c98249f31c": "BASIC"
}
kmille@linbox:lg-april-permissions ~/.local/bin/buditool -u us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6
{
"data": {
"_id": "us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6",
"email": "abc@mail.com",
"status": "active",
"firstName": "Hans",
"lastName": "Nani",
"forceResetPassword": false,
"roles": {
"app_7c5f5f30d8254721bc04e2c98249f31c": "BASIC"
}
}
}
```
Raw data
{
"_id": null,
"home_page": "",
"name": "lg-april-permissions",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "kmille",
"author_email": "github@androidloves.me",
"download_url": "https://files.pythonhosted.org/packages/26/eb/d9c499ab67f2397fb35d8a6a57a632f54e73a7b757f429aca2481d07a15b/lg_april_permissions-0.1.14.tar.gz",
"platform": null,
"description": "# buditool\nDas Tool dient haupts\u00e4chlich zum synchronisieren von Berechtigungen: es schaut in die Postgres-DB (April_Permissions) und schickt API calls an Budibase, um die Berechtigungen zu setzten. Bitte auch die KNOWN ISSUES in tests/bb_test.py lesen! Die entsprechenden Images werden \u00fcber die CI gebaut und k\u00f6nnen einfach von unserer Registry gepullt werden:\n- buditool --serve: https://git.itsnow.biz/LG-IT/docker-lg-april-permissions\n- Postgres mit curl: https://git.itsnow.biz/LG-IT/docker-lg-postgres\n- all unsere Images (hei\u00dft hier Packges): https://git.itsnow.biz/LG-IT/-/packages\n\n### Features \n```bash\nkmille@linbox:lg-april-permissions ~/.local/bin/buditool -h\nusage: buditool [-h] [-u USER] [--list-apps] [--list-users] [-a ADD_PERMISSIONS] [-r REMOVE_PERMISSIONS] [-s] [-c CONFIG] [--version]\n\noptions:\n -h, --help show this help message and exit\n -u USER, --user USER show user (needs bb user id)\n --list-apps list all bb apps\n --list-users list all bb users\n -a ADD_PERMISSIONS, --add-permissions ADD_PERMISSIONS\n add permissions for user (needs bb user id)\n -r REMOVE_PERMISSIONS, --remove-permissions REMOVE_PERMISSIONS\n remove permissions for user (needs bb user id)\n -s, --sync synchronize permissions with db\n -c CONFIG, --config CONFIG\n config file\n --version show version\n```\n\n### Configuration (settings.yaml.template)\n```yaml\n---\nbb_base_api_url: \"https://bb-test.itsnow.biz/api/public/v1/\"\nbb_api_key: \"\"\npermissions:\n \"app_dev_908c8e8aad04477183ee858c3c29f0d5\": \"BASIC\" # Protestbuffet\ndb_connection: \"dbname=aa user=aa host=127.0.0.1 password= port=10002\"\n```\n\n\n### Run tests\n```bash\nkmille@linbox:lg-april-permissions poetry install\nInstalling dependencies from lock file\n\nNo dependencies to install or update\n\nInstalling the current project: lg-april-permissions (0.1.0)\nkmille@linbox:lg-april-permissions poetry run pytest -x -v -s\n============================================================================================================= test session starts =============================================================================================================\nplatform linux -- Python 3.10.10, pytest-7.2.2, pluggy-1.0.0 -- /home/kmille/.cache/pypoetry/virtualenvs/lg-april-permissions-bzz6vhyK-py3.10/bin/python\ncachedir: .pytest_cache\nrootdir: /home/kmille/projects/letzte-generation/lg-april-permissions\ncollected 1 item\n\ntests/bb_test.py::TestAPI::test_roles {}\n{}\n{'app_908c8e8aad04477183ee858c3c29f0d5': 'BASIC'}\n{}\n{'app_908c8e8aad04477183ee858c3c29f0d5': 'BASIC'}\n{'app_908c8e8aad04477183ee858c3c29f0d5': 'POWER'}\n{}\nPASSED\n\n============================================================================================================== 1 passed in 3.25s ==============================================================================================================\nkmille@linbox:lg-april-permissions\n```\n\n### Build and installation\n```bash\nkmille@linbox:lg-april-permissions poetry build\nBuilding lg-april-permissions (0.1.0)\n - Building sdist\n - Built lg_april_permissions-0.1.0.tar.gz\n - Building wheel\n - Built lg_april_permissions-0.1.0-py3-none-any.whl\nkmille@linbox:lg-april-permissions pip install --user dist/lg_april_permissions-0.1.0-py3-none-any.whl\nProcessing ./dist/lg_april_permissions-0.1.0-py3-none-any.whl\nRequirement already satisfied: pyyaml<7.0,>=6.0 in /usr/lib/python3.10/site-packages (from lg-april-permissions==0.1.0) (6.0)\nRequirement already satisfied: requests<3.0.0,>=2.28.2 in /home/kmille/.local/lib/python3.10/site-packages (from lg-april-permissions==0.1.0) (2.28.2)\nCollecting psycopg2-binary<3.0.0,>=2.9.6\n Downloading psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)\n \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 3.0/3.0 MB 7.4 MB/s eta 0:00:00\nRequirement already satisfied: charset-normalizer<4,>=2 in /home/kmille/.local/lib/python3.10/site-packages (from requests<3.0.0,>=2.28.2->lg-april-permissions==0.1.0) (3.1.0)\nRequirement already satisfied: urllib3<1.27,>=1.21.1 in /home/kmille/.local/lib/python3.10/site-packages (from requests<3.0.0,>=2.28.2->lg-april-permissions==0.1.0) (1.26.15)\nRequirement already satisfied: idna<4,>=2.5 in /home/kmille/.local/lib/python3.10/site-packages (from requests<3.0.0,>=2.28.2->lg-april-permissions==0.1.0) (3.4)\nRequirement already satisfied: certifi>=2017.4.17 in /home/kmille/.local/lib/python3.10/site-packages (from requests<3.0.0,>=2.28.2->lg-april-permissions==0.1.0) (2022.12.7)\nInstalling collected packages: psycopg2-binary, lg-april-permissions\n WARNING: The script buditool is installed in '/home/kmille/.local/bin' which is not on PATH.\n Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.\nSuccessfully installed lg-april-permissions-0.1.0 psycopg2-binary-2.9.6\n```\n\n\n### Walkthrough\n```bash\nkmille@linbox:lg-april-permissions ~/.local/bin/buditool -u us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6\n{\n \"data\": {\n \"_id\": \"us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6\",\n \"email\": \"abc@mail.com\",\n \"status\": \"active\",\n \"firstName\": \"Hans\",\n \"lastName\": \"Nani\",\n \"forceResetPassword\": false,\n \"roles\": {\n \"app_7c5f5f30d8254721bc04e2c98249f31c\": \"BASIC\"\n }\n }\n}\n\n\nkmille@linbox:lg-april-permissions ~/.local/bin/buditool --sync\nSyncing permissions with database\nProcessing Bik\u00f6 159\n Budibase user id: us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6 (Hansi Nani)\nAdding permissions for user us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6\nRollen vorher:\n{\n \"app_7c5f5f30d8254721bc04e2c98249f31c\": \"BASIC\"\n}\nRollen danach:\n{\n \"app_7c5f5f30d8254721bc04e2c98249f31c\": \"BASIC\",\n \"app_908c8e8aad04477183ee858c3c29f0d5\": \"BASIC\"\n}\n\n\nkmille@linbox:lg-april-permissions ~/.local/bin/buditool -u us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6\n{\n \"data\": {\n \"_id\": \"us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6\",\n \"email\": \"abc@mail.com\",\n \"status\": \"active\",\n \"firstName\": \"Hans\",\n \"lastName\": \"Nani\",\n \"forceResetPassword\": false,\n \"roles\": {\n \"app_7c5f5f30d8254721bc04e2c98249f31c\": \"BASIC\",\n \"app_908c8e8aad04477183ee858c3c29f0d5\": \"BASIC\"\n }\n }\n}\nkmille@linbox:lg-april-permissions ~/.local/bin/buditool -r us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6\nRemoving permissions for user us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6\nRollen vorher:\n{\n \"app_7c5f5f30d8254721bc04e2c98249f31c\": \"BASIC\",\n \"app_908c8e8aad04477183ee858c3c29f0d5\": \"BASIC\"\n}\nRollen danach:\n{\n \"app_7c5f5f30d8254721bc04e2c98249f31c\": \"BASIC\"\n}\nkmille@linbox:lg-april-permissions ~/.local/bin/buditool -u us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6\n{\n \"data\": {\n \"_id\": \"us_ee81b34c-f7ea-4bbd-8faf-d8a83889dff6\",\n \"email\": \"abc@mail.com\",\n \"status\": \"active\",\n \"firstName\": \"Hans\",\n \"lastName\": \"Nani\",\n \"forceResetPassword\": false,\n \"roles\": {\n \"app_7c5f5f30d8254721bc04e2c98249f31c\": \"BASIC\"\n }\n }\n}\n```\n",
"bugtrack_url": null,
"license": "",
"summary": "",
"version": "0.1.14",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5ffd1f57c442e94664eb7b58fc988e7361bfd8df62b5e867babfe10a11a8c964",
"md5": "1a670646153376f702da2257a420a1d8",
"sha256": "942e492f9eaab9ba6065d48be5bd72cc23b49f5f498f9fa047242bfce3011a63"
},
"downloads": -1,
"filename": "lg_april_permissions-0.1.14-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1a670646153376f702da2257a420a1d8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 6611,
"upload_time": "2023-06-04T20:29:46",
"upload_time_iso_8601": "2023-06-04T20:29:46.200022Z",
"url": "https://files.pythonhosted.org/packages/5f/fd/1f57c442e94664eb7b58fc988e7361bfd8df62b5e867babfe10a11a8c964/lg_april_permissions-0.1.14-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "26ebd9c499ab67f2397fb35d8a6a57a632f54e73a7b757f429aca2481d07a15b",
"md5": "1263193451b324370dd1db6a28cbceea",
"sha256": "d4177864f50de234743c7799fc614aaaec76c5bc0c74f477907b9a9161109168"
},
"downloads": -1,
"filename": "lg_april_permissions-0.1.14.tar.gz",
"has_sig": false,
"md5_digest": "1263193451b324370dd1db6a28cbceea",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 5955,
"upload_time": "2023-06-04T20:29:48",
"upload_time_iso_8601": "2023-06-04T20:29:48.184730Z",
"url": "https://files.pythonhosted.org/packages/26/eb/d9c499ab67f2397fb35d8a6a57a632f54e73a7b757f429aca2481d07a15b/lg_april_permissions-0.1.14.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-04 20:29:48",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "lg-april-permissions"
}