lg-april-permissions


Namelg-april-permissions JSON
Version 0.1.14 PyPI version JSON
download
home_page
Summary
upload_time2023-06-04 20:29:48
maintainer
docs_urlNone
authorkmille
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"
}
        
Elapsed time: 0.09140s