├── .github ├── ISSUE_TEMPLATE │ ├── ask-question.yml │ ├── bug-report.yml │ └── general-feedback.yml ├── pull_request_template.md └── workflows │ ├── Zapier.yml │ ├── pip_deploy.yml │ └── project.yml ├── .gitignore ├── .gitlab-ci.yml ├── LICENSE ├── README.md ├── docs ├── App.md ├── Apps.md ├── BasicNotification.md ├── BasicNotificationAllOf.md ├── BasicNotificationAllOfAndroidBackgroundLayout.md ├── Button.md ├── CreateNotificationSuccessResponse.md ├── CreateSegmentConflictResponse.md ├── CreateSegmentSuccessResponse.md ├── CreateUserConflictResponse.md ├── CreateUserConflictResponseErrorsInner.md ├── CreateUserConflictResponseErrorsItemsMeta.md ├── DefaultApi.md ├── DeliveryData.md ├── ExportEventsSuccessResponse.md ├── ExportSubscriptionsRequestBody.md ├── ExportSubscriptionsSuccessResponse.md ├── Filter.md ├── FilterExpression.md ├── GenericError.md ├── GenericErrorErrorsInner.md ├── GenericSuccessBoolResponse.md ├── GetNotificationHistoryRequestBody.md ├── GetSegmentsSuccessResponse.md ├── IdentityObject.md ├── LanguageStringMap.md ├── Notification.md ├── NotificationAllOf.md ├── NotificationHistorySuccessResponse.md ├── NotificationSlice.md ├── NotificationTarget.md ├── NotificationWithMeta.md ├── NotificationWithMetaAllOf.md ├── Operator.md ├── OutcomeData.md ├── OutcomesData.md ├── PlatformDeliveryData.md ├── PlatformDeliveryDataEmailAllOf.md ├── PlatformDeliveryDataSmsAllOf.md ├── PropertiesBody.md ├── PropertiesDeltas.md ├── PropertiesObject.md ├── Purchase.md ├── RateLimitError.md ├── RateLimiterError.md ├── Segment.md ├── SegmentData.md ├── SegmentNotificationTarget.md ├── Subscription.md ├── SubscriptionBody.md ├── SubscriptionNotificationTarget.md ├── TransferSubscriptionRequestBody.md ├── UpdateLiveActivityRequest.md ├── UpdateLiveActivitySuccessResponse.md ├── UpdateUserRequest.md ├── User.md ├── UserIdentityBody.md └── WebButton.md ├── onesignal ├── __init__.py ├── api │ ├── __init__.py │ └── default_api.py ├── api_client.py ├── apis │ └── __init__.py ├── configuration.py ├── exceptions.py ├── model │ ├── __init__.py │ ├── app.py │ ├── apps.py │ ├── basic_notification.py │ ├── basic_notification_all_of.py │ ├── basic_notification_all_of_android_background_layout.py │ ├── button.py │ ├── create_notification_success_response.py │ ├── create_segment_conflict_response.py │ ├── create_segment_success_response.py │ ├── create_user_conflict_response.py │ ├── create_user_conflict_response_errors_inner.py │ ├── create_user_conflict_response_errors_items_meta.py │ ├── delivery_data.py │ ├── export_events_success_response.py │ ├── export_subscriptions_request_body.py │ ├── export_subscriptions_success_response.py │ ├── filter.py │ ├── filter_expression.py │ ├── generic_error.py │ ├── generic_success_bool_response.py │ ├── get_notification_history_request_body.py │ ├── get_segments_success_response.py │ ├── identity_object.py │ ├── language_string_map.py │ ├── notification.py │ ├── notification_all_of.py │ ├── notification_history_success_response.py │ ├── notification_slice.py │ ├── notification_target.py │ ├── notification_with_meta.py │ ├── notification_with_meta_all_of.py │ ├── operator.py │ ├── outcome_data.py │ ├── outcomes_data.py │ ├── platform_delivery_data.py │ ├── platform_delivery_data_email_all_of.py │ ├── platform_delivery_data_sms_all_of.py │ ├── properties_body.py │ ├── properties_deltas.py │ ├── properties_object.py │ ├── purchase.py │ ├── rate_limit_error.py │ ├── segment.py │ ├── segment_data.py │ ├── segment_notification_target.py │ ├── subscription.py │ ├── subscription_body.py │ ├── subscription_notification_target.py │ ├── transfer_subscription_request_body.py │ ├── update_live_activity_request.py │ ├── update_live_activity_success_response.py │ ├── update_user_request.py │ ├── user.py │ ├── user_identity_body.py │ └── web_button.py ├── model_utils.py ├── models │ └── __init__.py └── rest.py ├── requirements.txt ├── setup.cfg ├── setup.py ├── test-requirements.txt ├── test ├── __init__.py ├── test_app.py ├── test_apps.py ├── test_basic_notification.py ├── test_basic_notification_all_of.py ├── test_basic_notification_all_of_android_background_layout.py ├── test_button.py ├── test_create_notification_success_response.py ├── test_create_segment_conflict_response.py ├── test_create_segment_success_response.py ├── test_create_user_conflict_response.py ├── test_create_user_conflict_response_errors_inner.py ├── test_create_user_conflict_response_errors_items_meta.py ├── test_default_api.py ├── test_delivery_data.py ├── test_export_events_success_response.py ├── test_export_subscriptions_request_body.py ├── test_export_subscriptions_success_response.py ├── test_filter.py ├── test_filter_expression.py ├── test_generic_error.py ├── test_generic_success_bool_response.py ├── test_get_notification_history_request_body.py ├── test_get_segments_success_response.py ├── test_identity_object.py ├── test_language_string_map.py ├── test_notification.py ├── test_notification_all_of.py ├── test_notification_history_success_response.py ├── test_notification_slice.py ├── test_notification_target.py ├── test_notification_with_meta.py ├── test_notification_with_meta_all_of.py ├── test_operator.py ├── test_outcome_data.py ├── test_outcomes_data.py ├── test_platform_delivery_data.py ├── test_platform_delivery_data_email_all_of.py ├── test_platform_delivery_data_sms_all_of.py ├── test_properties_body.py ├── test_properties_deltas.py ├── test_properties_object.py ├── test_purchase.py ├── test_rate_limit_error.py ├── test_segment.py ├── test_segment_data.py ├── test_segment_notification_target.py ├── test_subscription.py ├── test_subscription_body.py ├── test_subscription_notification_target.py ├── test_transfer_subscription_request_body.py ├── test_update_live_activity_request.py ├── test_update_live_activity_success_response.py ├── test_update_user_request.py ├── test_user.py ├── test_user_identity_body.py └── test_web_button.py └── tox.ini /.github/ISSUE_TEMPLATE/ask-question.yml: -------------------------------------------------------------------------------- 1 | name: 🙋‍♂️ Ask a question 2 | description: Tell us what's on your mind 3 | title: "[Question]: " 4 | labels: ["Question"] 5 | body: 6 | - type: markdown 7 | attributes: 8 | value: | 9 | Having issues integrating this API library? 10 | - type: textarea 11 | id: question 12 | attributes: 13 | label: How can we help? 14 | description: Specific question regarding integrating this API library. 15 | placeholder: How do I...? 16 | validations: 17 | required: true 18 | - type: checkboxes 19 | id: terms 20 | attributes: 21 | label: Code of Conduct 22 | description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/OneSignal/api/blob/main/CONTRIBUTING.md) 23 | options: 24 | - label: I agree to follow this project's Code of Conduct 25 | required: true 26 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug-report.yml: -------------------------------------------------------------------------------- 1 | name: 🪳 Bug report 2 | description: File a bug report 3 | title: "[Bug]: " 4 | labels: ["Bug"] 5 | body: 6 | - type: markdown 7 | attributes: 8 | value: | 9 | Thanks for taking the time to fill out this bug report! 10 | - type: textarea 11 | id: what-happened 12 | attributes: 13 | label: What happened? 14 | description: Provide a thorough description of whats going on. 15 | placeholder: The latest version of the API library throws an exception when creating a notification targetting all Active Users. 16 | validations: 17 | required: true 18 | - type: textarea 19 | id: reproduction-steps 20 | attributes: 21 | label: Steps to reproduce? 22 | description: Provide as much detail as posible to reproduce the issue. 23 | placeholder: | 24 | 1. Install vX.Y.Z of dependency 25 | 2. Run provided code snippet 26 | 3. Note that the app crashes 27 | render: Markdown 28 | validations: 29 | required: true 30 | - type: textarea 31 | id: what-are-expectations 32 | attributes: 33 | label: What did you expect to happen? 34 | description: Also tell us, what did you expect to happen? 35 | placeholder: I expected the API library to properly deserialize any response returned by OneSignal. 36 | validations: 37 | required: true 38 | - type: textarea 39 | id: logs 40 | attributes: 41 | label: Relevant log output 42 | description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. 43 | render: Shell 44 | - type: checkboxes 45 | id: terms 46 | attributes: 47 | label: Code of Conduct 48 | description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/OneSignal/api/blob/main/CONTRIBUTING.md) 49 | options: 50 | - label: I agree to follow this project's Code of Conduct 51 | required: true 52 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/general-feedback.yml: -------------------------------------------------------------------------------- 1 | name: 📣 General feedback 2 | description: Tell us what's on your mind 3 | title: "[Feedback]: " 4 | labels: ["Feedback"] 5 | body: 6 | - type: markdown 7 | attributes: 8 | value: | 9 | Thanks for sharing your valuable feedback! 10 | - type: textarea 11 | id: feedback 12 | attributes: 13 | label: What's on your mind? 14 | description: Feedback regarding this API library. 15 | placeholder: Share your feedback... 16 | validations: 17 | required: true 18 | - type: checkboxes 19 | id: terms 20 | attributes: 21 | label: Code of Conduct 22 | description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/OneSignal/api/blob/main/CONTRIBUTING.md) 23 | options: 24 | - label: I agree to follow this project's Code of Conduct 25 | required: true 26 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | 2 | # READ AND DELETE THIS SECTION BEFORE SUBMITTING PR 3 | * **Fill out each _REQUIRED_ section** 4 | * **Fill out _OPTIONAL_ sections, remove section if it doesn't apply to your PR** 5 | * **Read and fill out each of the checklists below** 6 | * **Remove this section after reading** 7 | 8 | 9 | # Description 10 | ## One Line Summary 11 | **REQUIRED** - Very short description that summaries the changes in this PR. 12 | 13 | ## Details 14 | 15 | ### Motivation 16 | **REQUIRED -** Why is this code change being made? Or what is the goal of this PR? Examples: Fixes a specific bug, provides additional logging to debug future issues, feature to allow X. 17 | 18 | ### Scope 19 | **RECOMMEND - OPTIONAL -** What is intended to be effected. What is known not to change. Example: Notifications are grouped when parameter X is set, not enabled by default. 20 | 21 | ### OPTIONAL - Other 22 | **OPTIONAL -** Feel free to add any other sections or sub-sections that can explain your PR better. 23 | 24 | # Testing 25 | 26 | ## Manual testing 27 | **REQUIRED -** Explain what scenarios were tested and the environment. 28 | 29 | 30 | # Checklist 31 | ## Overview 32 | - [ ] I have filled out all **REQUIRED** sections above 33 | - [ ] PR does one thing 34 | - If it is hard to explain how any codes changes are related to each other then it most likely needs to be more than one PR 35 | - [ ] Any Public API changes are explained in the PR details and conform to existing APIs 36 | 37 | ## Testing 38 | - [ ] I have personally tested this on my device, or explained why that is not possible 39 | 40 | ## Final pass 41 | - [ ] Code is as readable as possible. 42 | - Simplify with less code, followed by splitting up code into well named functions and variables, followed by adding comments to the code. 43 | - [ ] I have reviewed this PR myself, ensuring it meets each checklist item 44 | - WIP (Work In Progress) is ok, but explain what is still in progress and what you would like feedback on. Start the PR title with "WIP" to indicate this. -------------------------------------------------------------------------------- /.github/workflows/Zapier.yml: -------------------------------------------------------------------------------- 1 | # This is an action to close asana tasks that were generated by Github issues 2 | 3 | name: Zapier web hook 4 | 5 | # Controls when the workflow will run 6 | on: 7 | # Triggers the workflow on push or pull request events but only for the "main" branch 8 | issues: 9 | types: [closed] 10 | 11 | permissions: 12 | issues: read 13 | 14 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 15 | jobs: 16 | # This workflow contains a single job called "build" 17 | build: 18 | # The type of runner that the job will run on 19 | runs-on: ubuntu-latest 20 | 21 | # Steps represent a sequence of tasks that will be executed as part of the job 22 | steps: 23 | # Runs a set of commands using the runners shell 24 | - name: Call Zapier web hook to close Asana task 25 | if: ${{ !github.event.issue.pull_request }} 26 | env: 27 | ISSUE_TITLE: ${{ github.event.issue.title }} 28 | run: | 29 | curl --location --request POST 'https://hooks.zapier.com/hooks/catch/12728683/b7009qc/' \ 30 | --header 'Content-Type: application/json' \ 31 | --header 'Accept: application/json' \ 32 | --data-raw '{ 33 | "task_name" : "$ISSUE_TITLE" 34 | }' -------------------------------------------------------------------------------- /.github/workflows/pip_deploy.yml: -------------------------------------------------------------------------------- 1 | name: PIP Release 2 | 3 | on: 4 | push: 5 | branches: [main] 6 | workflow_dispatch: 7 | 8 | jobs: 9 | release: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@master 13 | - name: Set up Python 3.10 14 | uses: actions/setup-python@v3 15 | with: 16 | python-version: "3.10" 17 | - name: Install pypa/build 18 | run: >- 19 | python -m 20 | pip install 21 | build 22 | --user 23 | - name: Build a binary wheel and a source tarball 24 | run: >- 25 | python -m 26 | build 27 | --sdist 28 | --wheel 29 | --outdir dist/ 30 | . 31 | - name: Publish a Python distribution to PyPI 32 | uses: pypa/gh-action-pypi-publish@release/v1 33 | with: 34 | user: __token__ 35 | password: ${{ secrets.PYPI_API_TOKEN }} 36 | verbose: true -------------------------------------------------------------------------------- /.github/workflows/project.yml: -------------------------------------------------------------------------------- 1 | name: Add issues to project 2 | 3 | on: 4 | issues: 5 | types: 6 | - opened 7 | 8 | jobs: 9 | add-to-project: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Add issue to project 13 | uses: actions/add-to-project@v1.0.2 14 | with: 15 | # SDK Server Project 16 | project-url: https://github.com/orgs/OneSignal/projects/11 17 | github-token: ${{ secrets.GH_PROJECTS_TOKEN }} 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | env/ 12 | build/ 13 | develop-eggs/ 14 | dist/ 15 | downloads/ 16 | eggs/ 17 | .eggs/ 18 | lib/ 19 | lib64/ 20 | parts/ 21 | sdist/ 22 | var/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | 27 | # PyInstaller 28 | # Usually these files are written by a python script from a template 29 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 30 | *.manifest 31 | *.spec 32 | 33 | # Installer logs 34 | pip-log.txt 35 | pip-delete-this-directory.txt 36 | 37 | # Unit test / coverage reports 38 | htmlcov/ 39 | .tox/ 40 | .coverage 41 | .coverage.* 42 | .cache 43 | nosetests.xml 44 | coverage.xml 45 | *,cover 46 | .hypothesis/ 47 | venv/ 48 | .venv/ 49 | .python-version 50 | .pytest_cache 51 | 52 | # Translations 53 | *.mo 54 | *.pot 55 | 56 | # Django stuff: 57 | *.log 58 | 59 | # Sphinx documentation 60 | docs/_build/ 61 | 62 | # PyBuilder 63 | target/ 64 | 65 | #Ipython Notebook 66 | .ipynb_checkpoints 67 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | # ref: https://docs.gitlab.com/ee/ci/README.html 2 | 3 | stages: 4 | - test 5 | 6 | .tests: 7 | stage: test 8 | script: 9 | - pip install -r requirements.txt 10 | - pip install -r test-requirements.txt 11 | - pytest --cov=onesignal 12 | 13 | test-3.6: 14 | extends: .tests 15 | image: python:3.6-alpine 16 | test-3.7: 17 | extends: .tests 18 | image: python:3.7-alpine 19 | test-3.8: 20 | extends: .tests 21 | image: python:3.8-alpine 22 | test-3.9: 23 | extends: .tests 24 | image: python:3.9-alpine 25 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Modified MIT License 2 | 3 | Copyright 2022 OneSignal 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | 1. The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | 2. All copies of substantial portions of the Software may only be used in connection 16 | with services provided by OneSignal. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Welcome to @onesignal/python-onesignal 👋

2 |

3 | 4 | Version 5 | 6 | 7 | Documentation 8 | 9 | 10 | Maintenance 11 | 12 | 13 | Twitter: onesignal 14 | 15 |

16 | 17 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com 18 | 19 | - API version: 5.1.0 20 | - Package version: 5.1.0-beta1 21 | - Build package: org.openapitools.codegen.languages.PythonClientCodegen 22 | 23 | ## Requirements. 24 | 25 | Python >=3.6 26 | 27 | ## Installation & Usage 28 | ### pip install 29 | ```sh 30 | pip install onesignal-python-api 31 | ``` 32 | 33 | You can also install directly from GitHub using: 34 | 35 | ```sh 36 | pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git 37 | ``` 38 | 39 | You may need to run `pip` with root permission: 40 | ```sh 41 | sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git 42 | ``` 43 | ### Setuptools 44 | 45 | Install via [Setuptools](http://pypi.python.org/pypi/setuptools). 46 | 47 | ```sh 48 | python setup.py install --user 49 | ``` 50 | 51 | To install the package for all users: 52 | ```sh 53 | sudo python setup.py install 54 | ``` 55 | 56 | ## Getting Started 57 | 58 | Please follow the [installation procedure](#installation--usage) and then run the following: 59 | 60 | ```python 61 | import onesignal 62 | from onesignal.api import default_api 63 | 64 | # See configuration.py for a list of all supported configuration parameters. 65 | # Some of the OneSignal endpoints require ORGANIZATION_API_KEY token for authorization, while others require REST_API_KEY. 66 | # We recommend adding both of them in the configuration page so that you will not need to figure it out yourself. 67 | configuration = onesignal.Configuration( 68 | rest_api_key = "YOUR_REST_API_KEY", # App REST API key required for most endpoints 69 | organization_api_key = "YOUR_ORGANIZATION_KEY" # Organization key is only required for creating new apps and other top-level endpoints 70 | ) 71 | 72 | 73 | # Enter a context with an instance of the API client 74 | with onesignal.ApiClient(configuration) as api_client: 75 | # Create an instance of the API class 76 | api_instance = default_api.DefaultApi(api_client) 77 | ``` 78 | 79 | ## Documentation for API Endpoints 80 | 81 | All URIs are relative to *https://api.onesignal.com* 82 | 83 | Class | Method | HTTP request | Description 84 | ------------ | ------------- | ------------- | ------------- 85 | *DefaultApi* | [**cancel_notification**](docs/DefaultApi.md#cancel_notification) | **DELETE** /notifications/{notification_id} | Stop a scheduled or currently outgoing notification 86 | *DefaultApi* | [**create_alias**](docs/DefaultApi.md#create_alias) | **PATCH** /apps/{app_id}/users/by/{alias_label}/{alias_id}/identity | 87 | *DefaultApi* | [**create_alias_by_subscription**](docs/DefaultApi.md#create_alias_by_subscription) | **PATCH** /apps/{app_id}/subscriptions/{subscription_id}/user/identity | 88 | *DefaultApi* | [**create_app**](docs/DefaultApi.md#create_app) | **POST** /apps | Create an app 89 | *DefaultApi* | [**create_notification**](docs/DefaultApi.md#create_notification) | **POST** /notifications | Create notification 90 | *DefaultApi* | [**create_segment**](docs/DefaultApi.md#create_segment) | **POST** /apps/{app_id}/segments | Create Segment 91 | *DefaultApi* | [**create_subscription**](docs/DefaultApi.md#create_subscription) | **POST** /apps/{app_id}/users/by/{alias_label}/{alias_id}/subscriptions | 92 | *DefaultApi* | [**create_user**](docs/DefaultApi.md#create_user) | **POST** /apps/{app_id}/users | 93 | *DefaultApi* | [**delete_alias**](docs/DefaultApi.md#delete_alias) | **DELETE** /apps/{app_id}/users/by/{alias_label}/{alias_id}/identity/{alias_label_to_delete} | 94 | *DefaultApi* | [**delete_segment**](docs/DefaultApi.md#delete_segment) | **DELETE** /apps/{app_id}/segments/{segment_id} | Delete Segment 95 | *DefaultApi* | [**delete_subscription**](docs/DefaultApi.md#delete_subscription) | **DELETE** /apps/{app_id}/subscriptions/{subscription_id} | 96 | *DefaultApi* | [**delete_user**](docs/DefaultApi.md#delete_user) | **DELETE** /apps/{app_id}/users/by/{alias_label}/{alias_id} | 97 | *DefaultApi* | [**export_events**](docs/DefaultApi.md#export_events) | **POST** /notifications/{notification_id}/export_events?app_id={app_id} | Export CSV of Events 98 | *DefaultApi* | [**export_subscriptions**](docs/DefaultApi.md#export_subscriptions) | **POST** /players/csv_export?app_id={app_id} | Export CSV of Subscriptions 99 | *DefaultApi* | [**get_aliases**](docs/DefaultApi.md#get_aliases) | **GET** /apps/{app_id}/users/by/{alias_label}/{alias_id}/identity | 100 | *DefaultApi* | [**get_aliases_by_subscription**](docs/DefaultApi.md#get_aliases_by_subscription) | **GET** /apps/{app_id}/subscriptions/{subscription_id}/user/identity | 101 | *DefaultApi* | [**get_app**](docs/DefaultApi.md#get_app) | **GET** /apps/{app_id} | View an app 102 | *DefaultApi* | [**get_apps**](docs/DefaultApi.md#get_apps) | **GET** /apps | View apps 103 | *DefaultApi* | [**get_notification**](docs/DefaultApi.md#get_notification) | **GET** /notifications/{notification_id} | View notification 104 | *DefaultApi* | [**get_notification_history**](docs/DefaultApi.md#get_notification_history) | **POST** /notifications/{notification_id}/history | Notification History 105 | *DefaultApi* | [**get_notifications**](docs/DefaultApi.md#get_notifications) | **GET** /notifications | View notifications 106 | *DefaultApi* | [**get_outcomes**](docs/DefaultApi.md#get_outcomes) | **GET** /apps/{app_id}/outcomes | View Outcomes 107 | *DefaultApi* | [**get_segments**](docs/DefaultApi.md#get_segments) | **GET** /apps/{app_id}/segments | Get Segments 108 | *DefaultApi* | [**get_user**](docs/DefaultApi.md#get_user) | **GET** /apps/{app_id}/users/by/{alias_label}/{alias_id} | 109 | *DefaultApi* | [**transfer_subscription**](docs/DefaultApi.md#transfer_subscription) | **PATCH** /apps/{app_id}/subscriptions/{subscription_id}/owner | 110 | *DefaultApi* | [**unsubscribe_email_with_token**](docs/DefaultApi.md#unsubscribe_email_with_token) | **POST** /apps/{app_id}/notifications/{notification_id}/unsubscribe | Unsubscribe with token 111 | *DefaultApi* | [**update_app**](docs/DefaultApi.md#update_app) | **PUT** /apps/{app_id} | Update an app 112 | *DefaultApi* | [**update_live_activity**](docs/DefaultApi.md#update_live_activity) | **POST** /apps/{app_id}/live_activities/{activity_id}/notifications | Update a Live Activity via Push 113 | *DefaultApi* | [**update_subscription**](docs/DefaultApi.md#update_subscription) | **PATCH** /apps/{app_id}/subscriptions/{subscription_id} | 114 | *DefaultApi* | [**update_user**](docs/DefaultApi.md#update_user) | **PATCH** /apps/{app_id}/users/by/{alias_label}/{alias_id} | 115 | 116 | 117 | ## Documentation For Models 118 | 119 | - [App](docs/App.md) 120 | - [Apps](docs/Apps.md) 121 | - [BasicNotification](docs/BasicNotification.md) 122 | - [BasicNotificationAllOf](docs/BasicNotificationAllOf.md) 123 | - [BasicNotificationAllOfAndroidBackgroundLayout](docs/BasicNotificationAllOfAndroidBackgroundLayout.md) 124 | - [Button](docs/Button.md) 125 | - [CreateNotificationSuccessResponse](docs/CreateNotificationSuccessResponse.md) 126 | - [CreateSegmentConflictResponse](docs/CreateSegmentConflictResponse.md) 127 | - [CreateSegmentSuccessResponse](docs/CreateSegmentSuccessResponse.md) 128 | - [CreateUserConflictResponse](docs/CreateUserConflictResponse.md) 129 | - [CreateUserConflictResponseErrorsInner](docs/CreateUserConflictResponseErrorsInner.md) 130 | - [CreateUserConflictResponseErrorsItemsMeta](docs/CreateUserConflictResponseErrorsItemsMeta.md) 131 | - [DeliveryData](docs/DeliveryData.md) 132 | - [ExportEventsSuccessResponse](docs/ExportEventsSuccessResponse.md) 133 | - [ExportSubscriptionsRequestBody](docs/ExportSubscriptionsRequestBody.md) 134 | - [ExportSubscriptionsSuccessResponse](docs/ExportSubscriptionsSuccessResponse.md) 135 | - [Filter](docs/Filter.md) 136 | - [FilterExpression](docs/FilterExpression.md) 137 | - [GenericError](docs/GenericError.md) 138 | - [GenericSuccessBoolResponse](docs/GenericSuccessBoolResponse.md) 139 | - [GetNotificationHistoryRequestBody](docs/GetNotificationHistoryRequestBody.md) 140 | - [GetSegmentsSuccessResponse](docs/GetSegmentsSuccessResponse.md) 141 | - [IdentityObject](docs/IdentityObject.md) 142 | - [LanguageStringMap](docs/LanguageStringMap.md) 143 | - [Notification](docs/Notification.md) 144 | - [NotificationAllOf](docs/NotificationAllOf.md) 145 | - [NotificationHistorySuccessResponse](docs/NotificationHistorySuccessResponse.md) 146 | - [NotificationSlice](docs/NotificationSlice.md) 147 | - [NotificationTarget](docs/NotificationTarget.md) 148 | - [NotificationWithMeta](docs/NotificationWithMeta.md) 149 | - [NotificationWithMetaAllOf](docs/NotificationWithMetaAllOf.md) 150 | - [Operator](docs/Operator.md) 151 | - [OutcomeData](docs/OutcomeData.md) 152 | - [OutcomesData](docs/OutcomesData.md) 153 | - [PlatformDeliveryData](docs/PlatformDeliveryData.md) 154 | - [PlatformDeliveryDataEmailAllOf](docs/PlatformDeliveryDataEmailAllOf.md) 155 | - [PlatformDeliveryDataSmsAllOf](docs/PlatformDeliveryDataSmsAllOf.md) 156 | - [PropertiesBody](docs/PropertiesBody.md) 157 | - [PropertiesDeltas](docs/PropertiesDeltas.md) 158 | - [PropertiesObject](docs/PropertiesObject.md) 159 | - [Purchase](docs/Purchase.md) 160 | - [RateLimitError](docs/RateLimitError.md) 161 | - [Segment](docs/Segment.md) 162 | - [SegmentData](docs/SegmentData.md) 163 | - [SegmentNotificationTarget](docs/SegmentNotificationTarget.md) 164 | - [Subscription](docs/Subscription.md) 165 | - [SubscriptionBody](docs/SubscriptionBody.md) 166 | - [SubscriptionNotificationTarget](docs/SubscriptionNotificationTarget.md) 167 | - [TransferSubscriptionRequestBody](docs/TransferSubscriptionRequestBody.md) 168 | - [UpdateLiveActivityRequest](docs/UpdateLiveActivityRequest.md) 169 | - [UpdateLiveActivitySuccessResponse](docs/UpdateLiveActivitySuccessResponse.md) 170 | - [UpdateUserRequest](docs/UpdateUserRequest.md) 171 | - [User](docs/User.md) 172 | - [UserIdentityBody](docs/UserIdentityBody.md) 173 | - [WebButton](docs/WebButton.md) 174 | 175 | 176 | ## Author 177 | 178 | devrel@onesignal.com 179 | 180 | -------------------------------------------------------------------------------- /docs/App.md: -------------------------------------------------------------------------------- 1 | # App 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | | [optional] [readonly] 8 | **name** | **str** | The name of your app, as displayed on your apps list on the dashboard. This can be renamed. | [optional] 9 | **players** | **int** | | [optional] [readonly] 10 | **messageable_players** | **int** | | [optional] [readonly] 11 | **updated_at** | **datetime** | | [optional] [readonly] 12 | **created_at** | **datetime** | | [optional] [readonly] 13 | **android_gcm_sender_id** | **str** | Android: Your Google Project number. Also known as Sender ID. | [optional] 14 | **gcm_key** | **str, none_type** | Android: Your Google Push Messaging Auth Key | [optional] 15 | **chrome_web_origin** | **str, none_type** | Chrome (All Browsers except Safari) (Recommended): The URL to your website. This field is required if you wish to enable web push and specify other web push parameters. | [optional] 16 | **chrome_key** | **str, none_type** | Not for web push. Your Google Push Messaging Auth Key if you use Chrome Apps / Extensions. | [optional] 17 | **chrome_web_default_notification_icon** | **str, none_type** | Chrome (All Browsers except Safari): Your default notification icon. Should be 256x256 pixels, min 80x80. | [optional] 18 | **chrome_web_sub_domain** | **str, none_type** | Chrome (All Browsers except Safari): A subdomain of your choice in order to support Web Push on non-HTTPS websites. This field must be set in order for the chrome_web_gcm_sender_id property to be processed. | [optional] 19 | **apns_env** | **str, none_type** | iOS: Either sandbox or production | [optional] 20 | **apns_p12** | **str** | iOS: Your apple push notification p12 certificate file, converted to a string and Base64 encoded. | [optional] 21 | **apns_p12_password** | **str** | iOS: Required if using p12 certificate. Password for the apns_p12 file. | [optional] 22 | **apns_certificates** | **str, none_type** | | [optional] [readonly] 23 | **safari_apns_certificates** | **str** | | [optional] [readonly] 24 | **safari_apns_p12** | **str** | Safari: Your apple push notification p12 certificate file for Safari Push Notifications, converted to a string and Base64 encoded. | [optional] 25 | **safari_apns_p12_password** | **str** | Safari: Password for safari_apns_p12 file | [optional] 26 | **apns_key_id** | **str, none_type** | iOS: Required if using p8. Unique identifier for the p8 authentication key. | [optional] 27 | **apns_team_id** | **str, none_type** | iOS: Required if using p8. Team ID generated by Apple for your developer account. | [optional] 28 | **apns_bundle_id** | **str, none_type** | iOS: Required if using p8. Bundle ID for your app in the Apple ecosystem. | [optional] 29 | **apns_p8** | **str, none_type** | iOS: Required if using p8. Base64 encoded p8 key | [optional] 30 | **safari_site_origin** | **str, none_type** | Safari (Recommended): The hostname to your website including http(s):// | [optional] 31 | **safari_push_id** | **str, none_type** | | [optional] [readonly] 32 | **safari_icon_16_16** | **str** | | [optional] [readonly] 33 | **safari_icon_32_32** | **str** | | [optional] [readonly] 34 | **safari_icon_64_64** | **str** | | [optional] [readonly] 35 | **safari_icon_128_128** | **str** | | [optional] [readonly] 36 | **safari_icon_256_256** | **str** | Safari: A url for a 256x256 png notification icon. This is the only Safari icon URL you need to provide. | [optional] 37 | **site_name** | **str, none_type** | All Browsers (Recommended): The Site Name. Requires both chrome_web_origin and safari_site_origin to be set to add or update it. | [optional] 38 | **basic_auth_key** | **str, none_type** | | [optional] [readonly] 39 | **organization_id** | **str** | The Id of the Organization you would like to add this app to. | [optional] 40 | **additional_data_is_root_payload** | **bool** | iOS: Notification data (additional data) values will be added to the root of the apns payload when sent to the device. Ignore if you're not using any other plugins, or not using OneSignal SDK methods to read the payload. | [optional] 41 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 42 | 43 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 44 | 45 | 46 | -------------------------------------------------------------------------------- /docs/Apps.md: -------------------------------------------------------------------------------- 1 | # Apps 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **value** | [**[App]**](App.md) | | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /docs/BasicNotificationAllOfAndroidBackgroundLayout.md: -------------------------------------------------------------------------------- 1 | # BasicNotificationAllOfAndroidBackgroundLayout 2 | 3 | Channel: Push Notifications Platform: Android Allowing setting a background image for the notification. This is a JSON object containing the following keys. See our Background Image documentation for image sizes. 4 | 5 | ## Properties 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **image** | **str** | Asset file, android resource name, or URL to remote image. | [optional] 9 | **headings_color** | **str** | Title text color ARGB Hex format. Example(Blue) \"FF0000FF\". | [optional] 10 | **contents_color** | **str** | Body text color ARGB Hex format. Example(Red) \"FFFF0000\". | [optional] 11 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/Button.md: -------------------------------------------------------------------------------- 1 | # Button 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | | 8 | **text** | **str** | | [optional] 9 | **icon** | **str** | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/CreateNotificationSuccessResponse.md: -------------------------------------------------------------------------------- 1 | # CreateNotificationSuccessResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | | [optional] 8 | **external_id** | **str, none_type** | | [optional] 9 | **errors** | **bool, date, datetime, dict, float, int, list, str, none_type** | Errors include the identifiers that are invalid, or that there are no subscribers. | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/CreateSegmentConflictResponse.md: -------------------------------------------------------------------------------- 1 | # CreateSegmentConflictResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **success** | **bool** | | [optional] 8 | **errors** | **[str]** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/CreateSegmentSuccessResponse.md: -------------------------------------------------------------------------------- 1 | # CreateSegmentSuccessResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **success** | **bool** | | [optional] 8 | **id** | **str** | UUID of created segment | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/CreateUserConflictResponse.md: -------------------------------------------------------------------------------- 1 | # CreateUserConflictResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **errors** | [**[CreateUserConflictResponseErrorsInner]**](CreateUserConflictResponseErrorsInner.md) | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/CreateUserConflictResponseErrorsInner.md: -------------------------------------------------------------------------------- 1 | # CreateUserConflictResponseErrorsInner 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **code** | **str** | | [optional] 8 | **title** | **str** | | [optional] 9 | **meta** | [**CreateUserConflictResponseErrorsItemsMeta**](CreateUserConflictResponseErrorsItemsMeta.md) | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/CreateUserConflictResponseErrorsItemsMeta.md: -------------------------------------------------------------------------------- 1 | # CreateUserConflictResponseErrorsItemsMeta 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **conflicting_aliases** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/DeliveryData.md: -------------------------------------------------------------------------------- 1 | # DeliveryData 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **successful** | **int, none_type** | Number of messages delivered to push servers, mobile carriers, or email service providers. | [optional] 8 | **failed** | **int, none_type** | Number of messages sent to unsubscribed devices. | [optional] 9 | **errored** | **int, none_type** | Number of errors reported. | [optional] 10 | **converted** | **int, none_type** | Number of messages that were clicked. | [optional] 11 | **received** | **int, none_type** | Number of devices that received the message. | [optional] 12 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 13 | 14 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 15 | 16 | 17 | -------------------------------------------------------------------------------- /docs/ExportEventsSuccessResponse.md: -------------------------------------------------------------------------------- 1 | # ExportEventsSuccessResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **csv_file_url** | **str** | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/ExportSubscriptionsRequestBody.md: -------------------------------------------------------------------------------- 1 | # ExportSubscriptionsRequestBody 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **extra_fields** | **[str]** | Additional fields that you wish to include. Currently supports location, country, rooted, notification_types, ip, external_user_id, web_auth, and web_p256. | [optional] 8 | **last_active_since** | **str** | Export all devices with a last_active timestamp greater than this time. Unixtime in seconds. | [optional] 9 | **segment_name** | **str** | Export all devices belonging to the segment. | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/ExportSubscriptionsSuccessResponse.md: -------------------------------------------------------------------------------- 1 | # ExportSubscriptionsSuccessResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **csv_file_url** | **str** | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/Filter.md: -------------------------------------------------------------------------------- 1 | # Filter 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **field** | **str** | Required. Name of the field to use as the first operand in the filter expression. | [optional] 8 | **key** | **str** | If `field` is `tag`, this field is *required* to specify `key` inside the tags. | [optional] 9 | **value** | **str** | Constant value to use as the second operand in the filter expression. This value is *required* when the relation operator is a binary operator. | [optional] 10 | **hours_ago** | **str** | If `field` is session-related, this is *required* to specify the number of hours before or after the user's session. | [optional] 11 | **radius** | **float** | If `field` is `location`, this will specify the radius in meters from a provided location point. Use with `lat` and `long`. | [optional] 12 | **lat** | **float** | If `field` is `location`, this is *required* to specify the user's latitude. | [optional] 13 | **long** | **float** | If `field` is `location`, this is *required* to specify the user's longitude. | [optional] 14 | **relation** | **str** | Required. Operator of a filter expression. | [optional] 15 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 16 | 17 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/FilterExpression.md: -------------------------------------------------------------------------------- 1 | # FilterExpression 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **field** | **str** | Required. Name of the field to use as the first operand in the filter expression. | [optional] 8 | **key** | **str** | If `field` is `tag`, this field is *required* to specify `key` inside the tags. | [optional] 9 | **value** | **str** | Constant value to use as the second operand in the filter expression. This value is *required* when the relation operator is a binary operator. | [optional] 10 | **hours_ago** | **str** | If `field` is session-related, this is *required* to specify the number of hours before or after the user's session. | [optional] 11 | **radius** | **float** | If `field` is `location`, this will specify the radius in meters from a provided location point. Use with `lat` and `long`. | [optional] 12 | **lat** | **float** | If `field` is `location`, this is *required* to specify the user's latitude. | [optional] 13 | **long** | **float** | If `field` is `location`, this is *required* to specify the user's longitude. | [optional] 14 | **relation** | **str** | Required. Operator of a filter expression. | [optional] 15 | **operator** | **str** | Strictly, this must be either `\"OR\"`, or `\"AND\"`. It can be used to compose Filters as part of a Filters object. | [optional] 16 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 17 | 18 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 19 | 20 | 21 | -------------------------------------------------------------------------------- /docs/GenericError.md: -------------------------------------------------------------------------------- 1 | # GenericError 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **errors** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] 8 | **success** | **bool** | | [optional] 9 | **reference** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/GenericErrorErrorsInner.md: -------------------------------------------------------------------------------- 1 | # GenericErrorErrorsInner 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **code** | **str** | | [optional] 8 | **title** | **str** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/GenericSuccessBoolResponse.md: -------------------------------------------------------------------------------- 1 | # GenericSuccessBoolResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **success** | **bool** | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/GetNotificationHistoryRequestBody.md: -------------------------------------------------------------------------------- 1 | # GetNotificationHistoryRequestBody 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **events** | **str** | -> \"sent\" - All the devices by player_id that were sent the specified notification_id. Notifications targeting under 1000 recipients will not have \"sent\" events recorded, but will show \"clicked\" events. \"clicked\" - All the devices by `player_id` that clicked the specified notification_id. | [optional] 8 | **email** | **str** | The email address you would like the report sent. | [optional] 9 | **app_id** | **str** | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/GetSegmentsSuccessResponse.md: -------------------------------------------------------------------------------- 1 | # GetSegmentsSuccessResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **total_count** | **int** | The number of Segments in the response. | [optional] 8 | **offset** | **int** | Set with the offset query parameter. Default 0. | [optional] 9 | **limit** | **int** | Maximum number of Segments returned. Default 300. | [optional] 10 | **segments** | [**[SegmentData]**](SegmentData.md) | An array containing the Segment information. | [optional] 11 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/IdentityObject.md: -------------------------------------------------------------------------------- 1 | # IdentityObject 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **any string name** | **str** | any string name can be used but the value must be the correct type | [optional] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /docs/LanguageStringMap.md: -------------------------------------------------------------------------------- 1 | # LanguageStringMap 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **en** | **str** | Text in English. Will be used as a fallback | [optional] 8 | **ar** | **str** | Text in Arabic. | [optional] 9 | **bs** | **str** | Text in Bosnian. | [optional] 10 | **bg** | **str** | Text in Bulgarian. | [optional] 11 | **ca** | **str** | Text in Catalan. | [optional] 12 | **zh_hans** | **str** | Text in Chinese (Simplified). | [optional] 13 | **zh_hant** | **str** | Text in Chinese (Traditional). | [optional] 14 | **zh** | **str** | Alias for zh-Hans. | [optional] 15 | **hr** | **str** | Text in Croatian. | [optional] 16 | **cs** | **str** | Text in Czech. | [optional] 17 | **da** | **str** | Text in Danish. | [optional] 18 | **nl** | **str** | Text in Dutch. | [optional] 19 | **et** | **str** | Text in Estonian. | [optional] 20 | **fi** | **str** | Text in Finnish. | [optional] 21 | **fr** | **str** | Text in French. | [optional] 22 | **ka** | **str** | Text in Georgian. | [optional] 23 | **de** | **str** | Text in German. | [optional] 24 | **el** | **str** | Text in Greek. | [optional] 25 | **hi** | **str** | Text in Hindi. | [optional] 26 | **he** | **str** | Text in Hebrew. | [optional] 27 | **hu** | **str** | Text in Hungarian. | [optional] 28 | **id** | **str** | Text in Indonesian. | [optional] 29 | **it** | **str** | Text in Italian. | [optional] 30 | **ja** | **str** | Text in Japanese. | [optional] 31 | **ko** | **str** | Text in Korean. | [optional] 32 | **lv** | **str** | Text in Latvian. | [optional] 33 | **lt** | **str** | Text in Lithuanian. | [optional] 34 | **ms** | **str** | Text in Malay. | [optional] 35 | **nb** | **str** | Text in Norwegian. | [optional] 36 | **pl** | **str** | Text in Polish. | [optional] 37 | **fa** | **str** | Text in Persian. | [optional] 38 | **pt** | **str** | Text in Portugese. | [optional] 39 | **pa** | **str** | Text in Punjabi. | [optional] 40 | **ro** | **str** | Text in Romanian. | [optional] 41 | **ru** | **str** | Text in Russian. | [optional] 42 | **sr** | **str** | Text in Serbian. | [optional] 43 | **sk** | **str** | Text in Slovak. | [optional] 44 | **es** | **str** | Text in Spanish. | [optional] 45 | **sv** | **str** | Text in Swedish. | [optional] 46 | **th** | **str** | Text in Thai. | [optional] 47 | **tr** | **str** | Text in Turkish. | [optional] 48 | **uk** | **str** | Text in Ukrainian. | [optional] 49 | **vi** | **str** | Text in Vietnamese. | [optional] 50 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 51 | 52 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 53 | 54 | 55 | -------------------------------------------------------------------------------- /docs/NotificationAllOf.md: -------------------------------------------------------------------------------- 1 | # NotificationAllOf 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **send_after** | **datetime, none_type** | Channel: All Schedule notification for future delivery. API defaults to UTC -1100 Examples: All examples are the exact same date & time. \"Thu Sep 24 2015 14:00:00 GMT-0700 (PDT)\" \"September 24th 2015, 2:00:00 pm UTC-07:00\" \"2015-09-24 14:00:00 GMT-0700\" \"Sept 24 2015 14:00:00 GMT-0700\" \"Thu Sep 24 2015 14:00:00 GMT-0700 (Pacific Daylight Time)\" Note: SMS currently only supports send_after parameter. | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/NotificationHistorySuccessResponse.md: -------------------------------------------------------------------------------- 1 | # NotificationHistorySuccessResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **success** | **bool** | | [optional] 8 | **destination_url** | **str** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/NotificationSlice.md: -------------------------------------------------------------------------------- 1 | # NotificationSlice 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **total_count** | **int** | | [optional] 8 | **offset** | **int** | | [optional] 9 | **limit** | **int** | | [optional] 10 | **notifications** | [**[NotificationWithMeta]**](NotificationWithMeta.md) | | [optional] 11 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/NotificationTarget.md: -------------------------------------------------------------------------------- 1 | # NotificationTarget 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **included_segments** | **[str]** | The segment names you want to target. Users in these segments will receive a notification. This targeting parameter is only compatible with excluded_segments. Example: [\"Active Users\", \"Inactive Users\"] | [optional] 8 | **excluded_segments** | **[str]** | Segment that will be excluded when sending. Users in these segments will not receive a notification, even if they were included in included_segments. This targeting parameter is only compatible with included_segments. Example: [\"Active Users\", \"Inactive Users\"] | [optional] 9 | **include_subscription_ids** | **[str], none_type** | Specific subscription ids to send your notification to. _Does not require API Auth Key._ Not compatible with any other targeting parameters. Example: [\"1dd608f2-c6a1-11e3-851d-000c2940e62c\"] Limit of 2,000 entries per REST API call | [optional] 10 | **include_email_tokens** | **[str]** | Recommended for Sending Emails - Target specific email addresses. If an email does not correspond to an existing user, a new user will be created. Example: nick@catfac.ts Limit of 2,000 entries per REST API call | [optional] 11 | **include_phone_numbers** | **[str]** | Recommended for Sending SMS - Target specific phone numbers. The phone number should be in the E.164 format. Phone number should be an existing subscriber on OneSignal. Refer our docs to learn how to add phone numbers to OneSignal. Example phone number: +1999999999 Limit of 2,000 entries per REST API call | [optional] 12 | **include_ios_tokens** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using iOS device tokens. Warning: Only works with Production tokens. All non-alphanumeric characters must be removed from each token. If a token does not correspond to an existing user, a new user will be created. Example: ce777617da7f548fe7a9ab6febb56cf39fba6d38203... Limit of 2,000 entries per REST API call | [optional] 13 | **include_wp_wns_uris** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Windows URIs. If a token does not correspond to an existing user, a new user will be created. Example: http://s.notify.live.net/u/1/bn1/HmQAAACPaLDr-... Limit of 2,000 entries per REST API call | [optional] 14 | **include_amazon_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Amazon ADM registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: amzn1.adm-registration.v1.XpvSSUk0Rc3hTVVV... Limit of 2,000 entries per REST API call | [optional] 15 | **include_chrome_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Chrome App registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call | [optional] 16 | **include_chrome_web_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Chrome Web Push registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call | [optional] 17 | **include_android_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Android device registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call | [optional] 18 | **include_aliases** | **{str: ([str],)}, none_type** | Target specific users by aliases assigned via API. An alias can be an external_id, onesignal_id, or a custom alias. Accepts an object where keys are alias labels and values are arrays of alias IDs to include Example usage: { \"external_id\": [\"exId1\", \"extId2\"], \"internal_label\": [\"id1\", \"id2\"] } Not compatible with any other targeting parameters. REQUIRED: REST API Key Authentication Limit of 2,000 entries per REST API call Note: If targeting push, email, or sms subscribers with same ids, use with target_channel to indicate you are sending a push or email or sms. | [optional] 19 | **target_channel** | **str** | | [optional] 20 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 21 | 22 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 23 | 24 | 25 | -------------------------------------------------------------------------------- /docs/NotificationWithMetaAllOf.md: -------------------------------------------------------------------------------- 1 | # NotificationWithMetaAllOf 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **remaining** | **int** | Number of notifications that have not been sent out yet. This can mean either our system is still processing the notification or you have delayed options set. | [optional] 8 | **successful** | **int** | Number of notifications that were successfully delivered. | [optional] 9 | **failed** | **int** | Number of notifications that could not be delivered due to those devices being unsubscribed. | [optional] 10 | **errored** | **int** | Number of notifications that could not be delivered due to an error. You can find more information by viewing the notification in the dashboard. | [optional] 11 | **converted** | **int** | Number of users who have clicked / tapped on your notification. | [optional] 12 | **queued_at** | **int** | Unix timestamp indicating when the notification was created. | [optional] 13 | **send_after** | **int, none_type** | Unix timestamp indicating when notification delivery should begin. | [optional] 14 | **completed_at** | **int, none_type** | Unix timestamp indicating when notification delivery completed. The delivery duration from start to finish can be calculated with completed_at - send_after. | [optional] 15 | **platform_delivery_stats** | [**PlatformDeliveryData**](PlatformDeliveryData.md) | | [optional] 16 | **received** | **int, none_type** | Confirmed Deliveries number of devices that received the push notification. Paid Feature Only. Free accounts will see 0. | [optional] 17 | **throttle_rate_per_minute** | **int, none_type** | number of push notifications sent per minute. Paid Feature Only. If throttling is not enabled for the app or the notification, and for free accounts, null is returned. Refer to Throttling for more details. | [optional] 18 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 19 | 20 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/Operator.md: -------------------------------------------------------------------------------- 1 | # Operator 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **operator** | **str** | Strictly, this must be either `\"OR\"`, or `\"AND\"`. It can be used to compose Filters as part of a Filters object. | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/OutcomeData.md: -------------------------------------------------------------------------------- 1 | # OutcomeData 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | | 8 | **value** | **int** | | 9 | **aggregation** | **str** | | 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/OutcomesData.md: -------------------------------------------------------------------------------- 1 | # OutcomesData 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **outcomes** | [**[OutcomeData]**](OutcomeData.md) | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/PlatformDeliveryData.md: -------------------------------------------------------------------------------- 1 | # PlatformDeliveryData 2 | 3 | Hash of delivery statistics broken out by target device platform. 4 | 5 | ## Properties 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **edge_web_push** | [**DeliveryData**](DeliveryData.md) | | [optional] 9 | **chrome_web_push** | [**DeliveryData**](DeliveryData.md) | | [optional] 10 | **firefox_web_push** | [**DeliveryData**](DeliveryData.md) | | [optional] 11 | **safari_web_push** | [**DeliveryData**](DeliveryData.md) | | [optional] 12 | **android** | [**DeliveryData**](DeliveryData.md) | | [optional] 13 | **ios** | [**DeliveryData**](DeliveryData.md) | | [optional] 14 | **sms** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] 15 | **email** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] 16 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 17 | 18 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 19 | 20 | 21 | -------------------------------------------------------------------------------- /docs/PlatformDeliveryDataEmailAllOf.md: -------------------------------------------------------------------------------- 1 | # PlatformDeliveryDataEmailAllOf 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **opened** | **int, none_type** | Number of times an email has been opened. | [optional] 8 | **unique_opens** | **int, none_type** | Number of unique recipients who have opened your email. | [optional] 9 | **clicks** | **int, none_type** | Number of clicked links from your email. This can include the recipient clicking email links multiple times. | [optional] 10 | **unique_clicks** | **int, none_type** | Number of unique clicks that your recipients have made on links from your email. | [optional] 11 | **bounced** | **int, none_type** | Number of recipients who registered as a hard or soft bounce and didn't receive your email. | [optional] 12 | **reported_spam** | **int, none_type** | Number of recipients who reported this email as spam. | [optional] 13 | **unsubscribed** | **int, none_type** | Number of recipients who opted out of your emails using the unsubscribe link in this email. | [optional] 14 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 15 | 16 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 17 | 18 | 19 | -------------------------------------------------------------------------------- /docs/PlatformDeliveryDataSmsAllOf.md: -------------------------------------------------------------------------------- 1 | # PlatformDeliveryDataSmsAllOf 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **provider_successful** | **int, none_type** | Number of messages reported as delivered successfully by the SMS service provider. | [optional] 8 | **provider_failed** | **int, none_type** | Number of recipients who didn't receive your message as reported by the SMS service provider. | [optional] 9 | **provider_errored** | **int, none_type** | Number of errors reported by the SMS service provider. | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/PropertiesBody.md: -------------------------------------------------------------------------------- 1 | # PropertiesBody 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **properties** | [**PropertiesObject**](PropertiesObject.md) | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/PropertiesDeltas.md: -------------------------------------------------------------------------------- 1 | # PropertiesDeltas 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **session_time** | **int** | | [optional] 8 | **session_count** | **int** | | [optional] 9 | **purchases** | [**[Purchase]**](Purchase.md) | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/PropertiesObject.md: -------------------------------------------------------------------------------- 1 | # PropertiesObject 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **tags** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional] 8 | **language** | **str** | | [optional] 9 | **timezone_id** | **str** | | [optional] 10 | **lat** | **float** | | [optional] 11 | **long** | **float** | | [optional] 12 | **country** | **str** | | [optional] 13 | **first_active** | **int** | | [optional] 14 | **last_active** | **int** | | [optional] 15 | **amount_spent** | **float** | | [optional] 16 | **purchases** | [**[Purchase]**](Purchase.md) | | [optional] 17 | **ip** | **str** | | [optional] 18 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 19 | 20 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/Purchase.md: -------------------------------------------------------------------------------- 1 | # Purchase 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **sku** | **str** | The unique identifier of the purchased item. | 8 | **amount** | **str** | The amount, in USD, spent purchasing the item. | 9 | **iso** | **str** | The 3-letter ISO 4217 currency code. Required for correct storage and conversion of amount. | 10 | **count** | **int** | | [optional] 11 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/RateLimitError.md: -------------------------------------------------------------------------------- 1 | # RateLimitError 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **errors** | **[str]** | | [optional] 8 | **limit** | **str** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/RateLimiterError.md: -------------------------------------------------------------------------------- 1 | # RateLimiterError 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **errors** | [**[GenericErrorErrorsInner]**](GenericErrorErrorsInner.md) | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/Segment.md: -------------------------------------------------------------------------------- 1 | # Segment 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **name** | **str** | Name of the segment. You'll see this name on the Web UI. | 8 | **filters** | [**[FilterExpression]**](FilterExpression.md) | Filter or operators the segment will have. For a list of available filters with details, please see Send to Users Based on Filters. | 9 | **id** | **str** | UUID of the segment. If left empty, it will be assigned automaticaly. | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/SegmentData.md: -------------------------------------------------------------------------------- 1 | # SegmentData 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | The segment ID | [optional] 8 | **name** | **str** | The segment name | [optional] 9 | **created_at** | **str** | Date segment created | [optional] 10 | **updated_at** | **str** | Date segment last updated | [optional] 11 | **app_id** | **str** | The app id | [optional] 12 | **read_only** | **bool** | Is the segment read only? | [optional] 13 | **is_active** | **bool** | Is the segment active? | [optional] 14 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 15 | 16 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 17 | 18 | 19 | -------------------------------------------------------------------------------- /docs/SegmentNotificationTarget.md: -------------------------------------------------------------------------------- 1 | # SegmentNotificationTarget 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **included_segments** | **[str]** | The segment names you want to target. Users in these segments will receive a notification. This targeting parameter is only compatible with excluded_segments. Example: [\"Active Users\", \"Inactive Users\"] | [optional] 8 | **excluded_segments** | **[str]** | Segment that will be excluded when sending. Users in these segments will not receive a notification, even if they were included in included_segments. This targeting parameter is only compatible with included_segments. Example: [\"Active Users\", \"Inactive Users\"] | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/Subscription.md: -------------------------------------------------------------------------------- 1 | # Subscription 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | | [optional] 8 | **type** | **str** | | [optional] 9 | **token** | **str** | | [optional] 10 | **enabled** | **bool** | | [optional] 11 | **notification_types** | **int** | | [optional] 12 | **session_time** | **int** | | [optional] 13 | **session_count** | **int** | | [optional] 14 | **sdk** | **str** | | [optional] 15 | **device_model** | **str** | | [optional] 16 | **device_os** | **str** | | [optional] 17 | **rooted** | **bool** | | [optional] 18 | **test_type** | **int** | | [optional] 19 | **app_version** | **str** | | [optional] 20 | **net_type** | **int** | | [optional] 21 | **carrier** | **str** | | [optional] 22 | **web_auth** | **str** | | [optional] 23 | **web_p256** | **str** | | [optional] 24 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 25 | 26 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 27 | 28 | 29 | -------------------------------------------------------------------------------- /docs/SubscriptionBody.md: -------------------------------------------------------------------------------- 1 | # SubscriptionBody 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **subscription** | [**Subscription**](Subscription.md) | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/SubscriptionNotificationTarget.md: -------------------------------------------------------------------------------- 1 | # SubscriptionNotificationTarget 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **include_subscription_ids** | **[str], none_type** | Specific subscription ids to send your notification to. _Does not require API Auth Key._ Not compatible with any other targeting parameters. Example: [\"1dd608f2-c6a1-11e3-851d-000c2940e62c\"] Limit of 2,000 entries per REST API call | [optional] 8 | **include_email_tokens** | **[str]** | Recommended for Sending Emails - Target specific email addresses. If an email does not correspond to an existing user, a new user will be created. Example: nick@catfac.ts Limit of 2,000 entries per REST API call | [optional] 9 | **include_phone_numbers** | **[str]** | Recommended for Sending SMS - Target specific phone numbers. The phone number should be in the E.164 format. Phone number should be an existing subscriber on OneSignal. Refer our docs to learn how to add phone numbers to OneSignal. Example phone number: +1999999999 Limit of 2,000 entries per REST API call | [optional] 10 | **include_ios_tokens** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using iOS device tokens. Warning: Only works with Production tokens. All non-alphanumeric characters must be removed from each token. If a token does not correspond to an existing user, a new user will be created. Example: ce777617da7f548fe7a9ab6febb56cf39fba6d38203... Limit of 2,000 entries per REST API call | [optional] 11 | **include_wp_wns_uris** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Windows URIs. If a token does not correspond to an existing user, a new user will be created. Example: http://s.notify.live.net/u/1/bn1/HmQAAACPaLDr-... Limit of 2,000 entries per REST API call | [optional] 12 | **include_amazon_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Amazon ADM registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: amzn1.adm-registration.v1.XpvSSUk0Rc3hTVVV... Limit of 2,000 entries per REST API call | [optional] 13 | **include_chrome_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Chrome App registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call | [optional] 14 | **include_chrome_web_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Chrome Web Push registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call | [optional] 15 | **include_android_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Android device registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call | [optional] 16 | **include_aliases** | **{str: ([str],)}, none_type** | Target specific users by aliases assigned via API. An alias can be an external_id, onesignal_id, or a custom alias. Accepts an object where keys are alias labels and values are arrays of alias IDs to include Example usage: { \"external_id\": [\"exId1\", \"extId2\"], \"internal_label\": [\"id1\", \"id2\"] } Not compatible with any other targeting parameters. REQUIRED: REST API Key Authentication Limit of 2,000 entries per REST API call Note: If targeting push, email, or sms subscribers with same ids, use with target_channel to indicate you are sending a push or email or sms. | [optional] 17 | **target_channel** | **str** | | [optional] 18 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 19 | 20 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/TransferSubscriptionRequestBody.md: -------------------------------------------------------------------------------- 1 | # TransferSubscriptionRequestBody 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **identity** | **{str: (str,)}** | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/UpdateLiveActivityRequest.md: -------------------------------------------------------------------------------- 1 | # UpdateLiveActivityRequest 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **name** | **str** | An internal name to assist with your campaign organization. This does not get displayed in the message itself. | 8 | **event** | **str** | | 9 | **event_updates** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | This must match the ContentState interface you have defined within your Live Activity in your app. | 10 | **contents** | [**LanguageStringMap**](LanguageStringMap.md) | | [optional] 11 | **headings** | [**LanguageStringMap**](LanguageStringMap.md) | | [optional] 12 | **sound** | **str** | Sound file that is included in your app to play instead of the default device notification sound. Omit to disable vibration and sound for the notification. | [optional] 13 | **stale_date** | **int** | Accepts Unix timestamp in seconds. When time reaches the configured stale date, the system considers the Live Activity out of date, and the ActivityState of the Live Activity changes to ActivityState.stale. | [optional] 14 | **dismissal_date** | **int** | Accepts Unix timestamp in seconds; only allowed if event is \"end\" | [optional] 15 | **priority** | **int** | Delivery priority through the the push provider (APNs). Pass 10 for higher priority notifications, or 5 for lower priority notifications. Lower priority notifications are sent based on the power considerations of the end user's device. If not set, defaults to 10. Some providers (APNs) allow for a limited budget of high priority notifications per hour, and if that budget is exceeded, the provider may throttle notification delivery. | [optional] 16 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 17 | 18 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 19 | 20 | 21 | -------------------------------------------------------------------------------- /docs/UpdateLiveActivitySuccessResponse.md: -------------------------------------------------------------------------------- 1 | # UpdateLiveActivitySuccessResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/UpdateUserRequest.md: -------------------------------------------------------------------------------- 1 | # UpdateUserRequest 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **properties** | [**PropertiesObject**](PropertiesObject.md) | | [optional] 8 | **refresh_device_metadata** | **bool** | | [optional] if omitted the server will use the default value of False 9 | **deltas** | [**PropertiesDeltas**](PropertiesDeltas.md) | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/User.md: -------------------------------------------------------------------------------- 1 | # User 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **properties** | [**PropertiesObject**](PropertiesObject.md) | | [optional] 8 | **identity** | [**IdentityObject**](IdentityObject.md) | | [optional] 9 | **subscriptions** | [**[Subscription]**](Subscription.md) | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/UserIdentityBody.md: -------------------------------------------------------------------------------- 1 | # UserIdentityBody 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **identity** | [**IdentityObject**](IdentityObject.md) | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/WebButton.md: -------------------------------------------------------------------------------- 1 | # WebButton 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | | 8 | **text** | **str** | | [optional] 9 | **icon** | **str** | | [optional] 10 | **url** | **str** | | [optional] 11 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | 16 | -------------------------------------------------------------------------------- /onesignal/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | """ 4 | OneSignal 5 | 6 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 7 | 8 | The version of the OpenAPI document: 5.1.0 9 | Contact: devrel@onesignal.com 10 | Generated by: https://openapi-generator.tech 11 | """ 12 | 13 | 14 | __version__ = "5.1.0-beta1" 15 | 16 | # import ApiClient 17 | from onesignal.api_client import ApiClient 18 | 19 | # import Configuration 20 | from onesignal.configuration import Configuration 21 | 22 | # import exceptions 23 | from onesignal.exceptions import OpenApiException 24 | from onesignal.exceptions import ApiAttributeError 25 | from onesignal.exceptions import ApiTypeError 26 | from onesignal.exceptions import ApiValueError 27 | from onesignal.exceptions import ApiKeyError 28 | from onesignal.exceptions import ApiException 29 | -------------------------------------------------------------------------------- /onesignal/api/__init__.py: -------------------------------------------------------------------------------- 1 | # do not import all apis into this module because that uses a lot of memory and stack frames 2 | # if you need the ability to import all apis from one package, import them with 3 | # from onesignal.apis import DefaultApi 4 | -------------------------------------------------------------------------------- /onesignal/apis/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | # flake8: noqa 3 | 4 | # Import all APIs into this package. 5 | # If you have many APIs here with many many models used in each API this may 6 | # raise a `RecursionError`. 7 | # In order to avoid this, import only the API that you directly need like: 8 | # 9 | # from onesignal.api.default_api import DefaultApi 10 | # 11 | # or import this package, but before doing it, use: 12 | # 13 | # import sys 14 | # sys.setrecursionlimit(n) 15 | 16 | # Import APIs into API package: 17 | from onesignal.api.default_api import DefaultApi 18 | -------------------------------------------------------------------------------- /onesignal/exceptions.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | class OpenApiException(Exception): 13 | """The base exception class for all OpenAPIExceptions""" 14 | 15 | 16 | class ApiTypeError(OpenApiException, TypeError): 17 | def __init__(self, msg, path_to_item=None, valid_classes=None, 18 | key_type=None): 19 | """ Raises an exception for TypeErrors 20 | 21 | Args: 22 | msg (str): the exception message 23 | 24 | Keyword Args: 25 | path_to_item (list): a list of keys an indices to get to the 26 | current_item 27 | None if unset 28 | valid_classes (tuple): the primitive classes that current item 29 | should be an instance of 30 | None if unset 31 | key_type (bool): False if our value is a value in a dict 32 | True if it is a key in a dict 33 | False if our item is an item in a list 34 | None if unset 35 | """ 36 | self.path_to_item = path_to_item 37 | self.valid_classes = valid_classes 38 | self.key_type = key_type 39 | full_msg = msg 40 | if path_to_item: 41 | full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) 42 | super(ApiTypeError, self).__init__(full_msg) 43 | 44 | 45 | class ApiValueError(OpenApiException, ValueError): 46 | def __init__(self, msg, path_to_item=None): 47 | """ 48 | Args: 49 | msg (str): the exception message 50 | 51 | Keyword Args: 52 | path_to_item (list) the path to the exception in the 53 | received_data dict. None if unset 54 | """ 55 | 56 | self.path_to_item = path_to_item 57 | full_msg = msg 58 | if path_to_item: 59 | full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) 60 | super(ApiValueError, self).__init__(full_msg) 61 | 62 | 63 | class ApiAttributeError(OpenApiException, AttributeError): 64 | def __init__(self, msg, path_to_item=None): 65 | """ 66 | Raised when an attribute reference or assignment fails. 67 | 68 | Args: 69 | msg (str): the exception message 70 | 71 | Keyword Args: 72 | path_to_item (None/list) the path to the exception in the 73 | received_data dict 74 | """ 75 | self.path_to_item = path_to_item 76 | full_msg = msg 77 | if path_to_item: 78 | full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) 79 | super(ApiAttributeError, self).__init__(full_msg) 80 | 81 | 82 | class ApiKeyError(OpenApiException, KeyError): 83 | def __init__(self, msg, path_to_item=None): 84 | """ 85 | Args: 86 | msg (str): the exception message 87 | 88 | Keyword Args: 89 | path_to_item (None/list) the path to the exception in the 90 | received_data dict 91 | """ 92 | self.path_to_item = path_to_item 93 | full_msg = msg 94 | if path_to_item: 95 | full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) 96 | super(ApiKeyError, self).__init__(full_msg) 97 | 98 | 99 | class ApiException(OpenApiException): 100 | 101 | def __init__(self, status=None, reason=None, http_resp=None): 102 | if http_resp: 103 | self.status = http_resp.status 104 | self.reason = http_resp.reason 105 | self.body = http_resp.data 106 | self.headers = http_resp.getheaders() 107 | else: 108 | self.status = status 109 | self.reason = reason 110 | self.body = None 111 | self.headers = None 112 | 113 | def __str__(self): 114 | """Custom error messages for exception""" 115 | error_message = "Status Code: {0}\n"\ 116 | "Reason: {1}\n".format(self.status, self.reason) 117 | if self.headers: 118 | error_message += "HTTP response headers: {0}\n".format( 119 | self.headers) 120 | 121 | if self.body: 122 | error_message += "HTTP response body: {0}\n".format(self.body) 123 | 124 | return error_message 125 | 126 | 127 | class NotFoundException(ApiException): 128 | 129 | def __init__(self, status=None, reason=None, http_resp=None): 130 | super(NotFoundException, self).__init__(status, reason, http_resp) 131 | 132 | 133 | class UnauthorizedException(ApiException): 134 | 135 | def __init__(self, status=None, reason=None, http_resp=None): 136 | super(UnauthorizedException, self).__init__(status, reason, http_resp) 137 | 138 | 139 | class ForbiddenException(ApiException): 140 | 141 | def __init__(self, status=None, reason=None, http_resp=None): 142 | super(ForbiddenException, self).__init__(status, reason, http_resp) 143 | 144 | 145 | class ServiceException(ApiException): 146 | 147 | def __init__(self, status=None, reason=None, http_resp=None): 148 | super(ServiceException, self).__init__(status, reason, http_resp) 149 | 150 | 151 | def render_path(path_to_item): 152 | """Returns a string representation of a path""" 153 | result = "" 154 | for pth in path_to_item: 155 | if isinstance(pth, int): 156 | result += "[{0}]".format(pth) 157 | else: 158 | result += "['{0}']".format(pth) 159 | return result 160 | -------------------------------------------------------------------------------- /onesignal/model/__init__.py: -------------------------------------------------------------------------------- 1 | # we can not import model classes here because that would create a circular 2 | # reference which would not work in python2 3 | # do not import all models into this module because that uses a lot of memory and stack frames 4 | # if you need the ability to import all models from one package, import them with 5 | # from onesignal.models import ModelA, ModelB 6 | -------------------------------------------------------------------------------- /onesignal/model/export_events_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import re # noqa: F401 13 | import sys # noqa: F401 14 | 15 | from onesignal.model_utils import ( # noqa: F401 16 | ApiTypeError, 17 | ModelComposed, 18 | ModelNormal, 19 | ModelSimple, 20 | cached_property, 21 | change_keys_js_to_python, 22 | convert_js_args_to_python_args, 23 | date, 24 | datetime, 25 | file_type, 26 | none_type, 27 | validate_get_composed_info, 28 | OpenApiModel 29 | ) 30 | from onesignal.exceptions import ApiAttributeError 31 | 32 | 33 | 34 | class ExportEventsSuccessResponse(ModelNormal): 35 | """NOTE: This class is auto generated by OpenAPI Generator. 36 | Ref: https://openapi-generator.tech 37 | 38 | Do not edit the class manually. 39 | 40 | Attributes: 41 | allowed_values (dict): The key is the tuple path to the attribute 42 | and the for var_name this is (var_name,). The value is a dict 43 | with a capitalized key describing the allowed value and an allowed 44 | value. These dicts store the allowed enum values. 45 | attribute_map (dict): The key is attribute name 46 | and the value is json key in definition. 47 | discriminator_value_class_map (dict): A dict to go from the discriminator 48 | variable value to the discriminator class name. 49 | validations (dict): The key is the tuple path to the attribute 50 | and the for var_name this is (var_name,). The value is a dict 51 | that stores validations for max_length, min_length, max_items, 52 | min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, 53 | inclusive_minimum, and regex. 54 | additional_properties_type (tuple): A tuple of classes accepted 55 | as additional properties values. 56 | """ 57 | 58 | allowed_values = { 59 | } 60 | 61 | validations = { 62 | } 63 | 64 | @cached_property 65 | def additional_properties_type(): 66 | """ 67 | This must be a method because a model may have properties that are 68 | of type self, this must run after the class is loaded 69 | """ 70 | return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 71 | 72 | _nullable = False 73 | 74 | @cached_property 75 | def openapi_types(): 76 | """ 77 | This must be a method because a model may have properties that are 78 | of type self, this must run after the class is loaded 79 | 80 | Returns 81 | openapi_types (dict): The key is attribute name 82 | and the value is attribute type. 83 | """ 84 | return { 85 | 'csv_file_url': (str,), # noqa: E501 86 | } 87 | 88 | @cached_property 89 | def discriminator(): 90 | return None 91 | 92 | 93 | attribute_map = { 94 | 'csv_file_url': 'csv_file_url', # noqa: E501 95 | } 96 | 97 | read_only_vars = { 98 | } 99 | 100 | _composed_schemas = {} 101 | 102 | @classmethod 103 | @convert_js_args_to_python_args 104 | def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 105 | """ExportEventsSuccessResponse - a model defined in OpenAPI 106 | 107 | Keyword Args: 108 | _check_type (bool): if True, values for parameters in openapi_types 109 | will be type checked and a TypeError will be 110 | raised if the wrong type is input. 111 | Defaults to True 112 | _path_to_item (tuple/list): This is a list of keys or values to 113 | drill down to the model in received_data 114 | when deserializing a response 115 | _spec_property_naming (bool): True if the variable names in the input data 116 | are serialized names, as specified in the OpenAPI document. 117 | False if the variable names in the input data 118 | are pythonic names, e.g. snake case (default) 119 | _configuration (Configuration): the instance to use when 120 | deserializing a file_type parameter. 121 | If passed, type conversion is attempted 122 | If omitted no type conversion is done. 123 | _visited_composed_classes (tuple): This stores a tuple of 124 | classes that we have traveled through so that 125 | if we see that class again we will not use its 126 | discriminator again. 127 | When traveling through a discriminator, the 128 | composed schema that is 129 | is traveled through is added to this set. 130 | For example if Animal has a discriminator 131 | petType and we pass in "Dog", and the class Dog 132 | allOf includes Animal, we move through Animal 133 | once using the discriminator, and pick Dog. 134 | Then in Dog, we will make an instance of the 135 | Animal class but this time we won't travel 136 | through its discriminator because we passed in 137 | _visited_composed_classes = (Animal,) 138 | csv_file_url (str): [optional] # noqa: E501 139 | """ 140 | 141 | _check_type = kwargs.pop('_check_type', True) 142 | _spec_property_naming = kwargs.pop('_spec_property_naming', True) 143 | _path_to_item = kwargs.pop('_path_to_item', ()) 144 | _configuration = kwargs.pop('_configuration', None) 145 | _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) 146 | 147 | self = super(OpenApiModel, cls).__new__(cls) 148 | 149 | if args: 150 | for arg in args: 151 | if isinstance(arg, dict): 152 | kwargs.update(arg) 153 | else: 154 | raise ApiTypeError( 155 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( 156 | args, 157 | self.__class__.__name__, 158 | ), 159 | path_to_item=_path_to_item, 160 | valid_classes=(self.__class__,), 161 | ) 162 | 163 | self._data_store = {} 164 | self._check_type = _check_type 165 | self._spec_property_naming = _spec_property_naming 166 | self._path_to_item = _path_to_item 167 | self._configuration = _configuration 168 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 169 | 170 | for var_name, var_value in kwargs.items(): 171 | if var_name not in self.attribute_map and \ 172 | self._configuration is not None and \ 173 | self._configuration.discard_unknown_keys and \ 174 | self.additional_properties_type is None: 175 | # discard variable. 176 | continue 177 | setattr(self, var_name, var_value) 178 | return self 179 | 180 | required_properties = set([ 181 | '_data_store', 182 | '_check_type', 183 | '_spec_property_naming', 184 | '_path_to_item', 185 | '_configuration', 186 | '_visited_composed_classes', 187 | ]) 188 | 189 | @convert_js_args_to_python_args 190 | def __init__(self, *args, **kwargs): # noqa: E501 191 | """ExportEventsSuccessResponse - a model defined in OpenAPI 192 | 193 | Keyword Args: 194 | _check_type (bool): if True, values for parameters in openapi_types 195 | will be type checked and a TypeError will be 196 | raised if the wrong type is input. 197 | Defaults to True 198 | _path_to_item (tuple/list): This is a list of keys or values to 199 | drill down to the model in received_data 200 | when deserializing a response 201 | _spec_property_naming (bool): True if the variable names in the input data 202 | are serialized names, as specified in the OpenAPI document. 203 | False if the variable names in the input data 204 | are pythonic names, e.g. snake case (default) 205 | _configuration (Configuration): the instance to use when 206 | deserializing a file_type parameter. 207 | If passed, type conversion is attempted 208 | If omitted no type conversion is done. 209 | _visited_composed_classes (tuple): This stores a tuple of 210 | classes that we have traveled through so that 211 | if we see that class again we will not use its 212 | discriminator again. 213 | When traveling through a discriminator, the 214 | composed schema that is 215 | is traveled through is added to this set. 216 | For example if Animal has a discriminator 217 | petType and we pass in "Dog", and the class Dog 218 | allOf includes Animal, we move through Animal 219 | once using the discriminator, and pick Dog. 220 | Then in Dog, we will make an instance of the 221 | Animal class but this time we won't travel 222 | through its discriminator because we passed in 223 | _visited_composed_classes = (Animal,) 224 | csv_file_url (str): [optional] # noqa: E501 225 | """ 226 | 227 | _check_type = kwargs.pop('_check_type', True) 228 | _spec_property_naming = kwargs.pop('_spec_property_naming', False) 229 | _path_to_item = kwargs.pop('_path_to_item', ()) 230 | _configuration = kwargs.pop('_configuration', None) 231 | _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) 232 | 233 | if args: 234 | for arg in args: 235 | if isinstance(arg, dict): 236 | kwargs.update(arg) 237 | else: 238 | raise ApiTypeError( 239 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( 240 | args, 241 | self.__class__.__name__, 242 | ), 243 | path_to_item=_path_to_item, 244 | valid_classes=(self.__class__,), 245 | ) 246 | 247 | self._data_store = {} 248 | self._check_type = _check_type 249 | self._spec_property_naming = _spec_property_naming 250 | self._path_to_item = _path_to_item 251 | self._configuration = _configuration 252 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 253 | 254 | for var_name, var_value in kwargs.items(): 255 | if var_name not in self.attribute_map and \ 256 | self._configuration is not None and \ 257 | self._configuration.discard_unknown_keys and \ 258 | self.additional_properties_type is None: 259 | # discard variable. 260 | continue 261 | setattr(self, var_name, var_value) 262 | if var_name in self.read_only_vars: 263 | raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " 264 | f"class with read only attributes.") 265 | -------------------------------------------------------------------------------- /onesignal/model/generic_success_bool_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import re # noqa: F401 13 | import sys # noqa: F401 14 | 15 | from onesignal.model_utils import ( # noqa: F401 16 | ApiTypeError, 17 | ModelComposed, 18 | ModelNormal, 19 | ModelSimple, 20 | cached_property, 21 | change_keys_js_to_python, 22 | convert_js_args_to_python_args, 23 | date, 24 | datetime, 25 | file_type, 26 | none_type, 27 | validate_get_composed_info, 28 | OpenApiModel 29 | ) 30 | from onesignal.exceptions import ApiAttributeError 31 | 32 | 33 | 34 | class GenericSuccessBoolResponse(ModelNormal): 35 | """NOTE: This class is auto generated by OpenAPI Generator. 36 | Ref: https://openapi-generator.tech 37 | 38 | Do not edit the class manually. 39 | 40 | Attributes: 41 | allowed_values (dict): The key is the tuple path to the attribute 42 | and the for var_name this is (var_name,). The value is a dict 43 | with a capitalized key describing the allowed value and an allowed 44 | value. These dicts store the allowed enum values. 45 | attribute_map (dict): The key is attribute name 46 | and the value is json key in definition. 47 | discriminator_value_class_map (dict): A dict to go from the discriminator 48 | variable value to the discriminator class name. 49 | validations (dict): The key is the tuple path to the attribute 50 | and the for var_name this is (var_name,). The value is a dict 51 | that stores validations for max_length, min_length, max_items, 52 | min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, 53 | inclusive_minimum, and regex. 54 | additional_properties_type (tuple): A tuple of classes accepted 55 | as additional properties values. 56 | """ 57 | 58 | allowed_values = { 59 | } 60 | 61 | validations = { 62 | } 63 | 64 | @cached_property 65 | def additional_properties_type(): 66 | """ 67 | This must be a method because a model may have properties that are 68 | of type self, this must run after the class is loaded 69 | """ 70 | return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 71 | 72 | _nullable = False 73 | 74 | @cached_property 75 | def openapi_types(): 76 | """ 77 | This must be a method because a model may have properties that are 78 | of type self, this must run after the class is loaded 79 | 80 | Returns 81 | openapi_types (dict): The key is attribute name 82 | and the value is attribute type. 83 | """ 84 | return { 85 | 'success': (bool,), # noqa: E501 86 | } 87 | 88 | @cached_property 89 | def discriminator(): 90 | return None 91 | 92 | 93 | attribute_map = { 94 | 'success': 'success', # noqa: E501 95 | } 96 | 97 | read_only_vars = { 98 | } 99 | 100 | _composed_schemas = {} 101 | 102 | @classmethod 103 | @convert_js_args_to_python_args 104 | def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 105 | """GenericSuccessBoolResponse - a model defined in OpenAPI 106 | 107 | Keyword Args: 108 | _check_type (bool): if True, values for parameters in openapi_types 109 | will be type checked and a TypeError will be 110 | raised if the wrong type is input. 111 | Defaults to True 112 | _path_to_item (tuple/list): This is a list of keys or values to 113 | drill down to the model in received_data 114 | when deserializing a response 115 | _spec_property_naming (bool): True if the variable names in the input data 116 | are serialized names, as specified in the OpenAPI document. 117 | False if the variable names in the input data 118 | are pythonic names, e.g. snake case (default) 119 | _configuration (Configuration): the instance to use when 120 | deserializing a file_type parameter. 121 | If passed, type conversion is attempted 122 | If omitted no type conversion is done. 123 | _visited_composed_classes (tuple): This stores a tuple of 124 | classes that we have traveled through so that 125 | if we see that class again we will not use its 126 | discriminator again. 127 | When traveling through a discriminator, the 128 | composed schema that is 129 | is traveled through is added to this set. 130 | For example if Animal has a discriminator 131 | petType and we pass in "Dog", and the class Dog 132 | allOf includes Animal, we move through Animal 133 | once using the discriminator, and pick Dog. 134 | Then in Dog, we will make an instance of the 135 | Animal class but this time we won't travel 136 | through its discriminator because we passed in 137 | _visited_composed_classes = (Animal,) 138 | success (bool): [optional] # noqa: E501 139 | """ 140 | 141 | _check_type = kwargs.pop('_check_type', True) 142 | _spec_property_naming = kwargs.pop('_spec_property_naming', True) 143 | _path_to_item = kwargs.pop('_path_to_item', ()) 144 | _configuration = kwargs.pop('_configuration', None) 145 | _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) 146 | 147 | self = super(OpenApiModel, cls).__new__(cls) 148 | 149 | if args: 150 | for arg in args: 151 | if isinstance(arg, dict): 152 | kwargs.update(arg) 153 | else: 154 | raise ApiTypeError( 155 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( 156 | args, 157 | self.__class__.__name__, 158 | ), 159 | path_to_item=_path_to_item, 160 | valid_classes=(self.__class__,), 161 | ) 162 | 163 | self._data_store = {} 164 | self._check_type = _check_type 165 | self._spec_property_naming = _spec_property_naming 166 | self._path_to_item = _path_to_item 167 | self._configuration = _configuration 168 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 169 | 170 | for var_name, var_value in kwargs.items(): 171 | if var_name not in self.attribute_map and \ 172 | self._configuration is not None and \ 173 | self._configuration.discard_unknown_keys and \ 174 | self.additional_properties_type is None: 175 | # discard variable. 176 | continue 177 | setattr(self, var_name, var_value) 178 | return self 179 | 180 | required_properties = set([ 181 | '_data_store', 182 | '_check_type', 183 | '_spec_property_naming', 184 | '_path_to_item', 185 | '_configuration', 186 | '_visited_composed_classes', 187 | ]) 188 | 189 | @convert_js_args_to_python_args 190 | def __init__(self, *args, **kwargs): # noqa: E501 191 | """GenericSuccessBoolResponse - a model defined in OpenAPI 192 | 193 | Keyword Args: 194 | _check_type (bool): if True, values for parameters in openapi_types 195 | will be type checked and a TypeError will be 196 | raised if the wrong type is input. 197 | Defaults to True 198 | _path_to_item (tuple/list): This is a list of keys or values to 199 | drill down to the model in received_data 200 | when deserializing a response 201 | _spec_property_naming (bool): True if the variable names in the input data 202 | are serialized names, as specified in the OpenAPI document. 203 | False if the variable names in the input data 204 | are pythonic names, e.g. snake case (default) 205 | _configuration (Configuration): the instance to use when 206 | deserializing a file_type parameter. 207 | If passed, type conversion is attempted 208 | If omitted no type conversion is done. 209 | _visited_composed_classes (tuple): This stores a tuple of 210 | classes that we have traveled through so that 211 | if we see that class again we will not use its 212 | discriminator again. 213 | When traveling through a discriminator, the 214 | composed schema that is 215 | is traveled through is added to this set. 216 | For example if Animal has a discriminator 217 | petType and we pass in "Dog", and the class Dog 218 | allOf includes Animal, we move through Animal 219 | once using the discriminator, and pick Dog. 220 | Then in Dog, we will make an instance of the 221 | Animal class but this time we won't travel 222 | through its discriminator because we passed in 223 | _visited_composed_classes = (Animal,) 224 | success (bool): [optional] # noqa: E501 225 | """ 226 | 227 | _check_type = kwargs.pop('_check_type', True) 228 | _spec_property_naming = kwargs.pop('_spec_property_naming', False) 229 | _path_to_item = kwargs.pop('_path_to_item', ()) 230 | _configuration = kwargs.pop('_configuration', None) 231 | _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) 232 | 233 | if args: 234 | for arg in args: 235 | if isinstance(arg, dict): 236 | kwargs.update(arg) 237 | else: 238 | raise ApiTypeError( 239 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( 240 | args, 241 | self.__class__.__name__, 242 | ), 243 | path_to_item=_path_to_item, 244 | valid_classes=(self.__class__,), 245 | ) 246 | 247 | self._data_store = {} 248 | self._check_type = _check_type 249 | self._spec_property_naming = _spec_property_naming 250 | self._path_to_item = _path_to_item 251 | self._configuration = _configuration 252 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 253 | 254 | for var_name, var_value in kwargs.items(): 255 | if var_name not in self.attribute_map and \ 256 | self._configuration is not None and \ 257 | self._configuration.discard_unknown_keys and \ 258 | self.additional_properties_type is None: 259 | # discard variable. 260 | continue 261 | setattr(self, var_name, var_value) 262 | if var_name in self.read_only_vars: 263 | raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " 264 | f"class with read only attributes.") 265 | -------------------------------------------------------------------------------- /onesignal/model/identity_object.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import re # noqa: F401 13 | import sys # noqa: F401 14 | 15 | from onesignal.model_utils import ( # noqa: F401 16 | ApiTypeError, 17 | ModelComposed, 18 | ModelNormal, 19 | ModelSimple, 20 | cached_property, 21 | change_keys_js_to_python, 22 | convert_js_args_to_python_args, 23 | date, 24 | datetime, 25 | file_type, 26 | none_type, 27 | validate_get_composed_info, 28 | OpenApiModel 29 | ) 30 | from onesignal.exceptions import ApiAttributeError 31 | 32 | 33 | 34 | class IdentityObject(ModelNormal): 35 | """NOTE: This class is auto generated by OpenAPI Generator. 36 | Ref: https://openapi-generator.tech 37 | 38 | Do not edit the class manually. 39 | 40 | Attributes: 41 | allowed_values (dict): The key is the tuple path to the attribute 42 | and the for var_name this is (var_name,). The value is a dict 43 | with a capitalized key describing the allowed value and an allowed 44 | value. These dicts store the allowed enum values. 45 | attribute_map (dict): The key is attribute name 46 | and the value is json key in definition. 47 | discriminator_value_class_map (dict): A dict to go from the discriminator 48 | variable value to the discriminator class name. 49 | validations (dict): The key is the tuple path to the attribute 50 | and the for var_name this is (var_name,). The value is a dict 51 | that stores validations for max_length, min_length, max_items, 52 | min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, 53 | inclusive_minimum, and regex. 54 | additional_properties_type (tuple): A tuple of classes accepted 55 | as additional properties values. 56 | """ 57 | 58 | allowed_values = { 59 | } 60 | 61 | validations = { 62 | } 63 | 64 | @cached_property 65 | def additional_properties_type(): 66 | """ 67 | This must be a method because a model may have properties that are 68 | of type self, this must run after the class is loaded 69 | """ 70 | return (str,) # noqa: E501 71 | 72 | _nullable = False 73 | 74 | @cached_property 75 | def openapi_types(): 76 | """ 77 | This must be a method because a model may have properties that are 78 | of type self, this must run after the class is loaded 79 | 80 | Returns 81 | openapi_types (dict): The key is attribute name 82 | and the value is attribute type. 83 | """ 84 | return { 85 | } 86 | 87 | @cached_property 88 | def discriminator(): 89 | return None 90 | 91 | 92 | attribute_map = { 93 | } 94 | 95 | read_only_vars = { 96 | } 97 | 98 | _composed_schemas = {} 99 | 100 | @classmethod 101 | @convert_js_args_to_python_args 102 | def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 103 | """IdentityObject - a model defined in OpenAPI 104 | 105 | Keyword Args: 106 | _check_type (bool): if True, values for parameters in openapi_types 107 | will be type checked and a TypeError will be 108 | raised if the wrong type is input. 109 | Defaults to True 110 | _path_to_item (tuple/list): This is a list of keys or values to 111 | drill down to the model in received_data 112 | when deserializing a response 113 | _spec_property_naming (bool): True if the variable names in the input data 114 | are serialized names, as specified in the OpenAPI document. 115 | False if the variable names in the input data 116 | are pythonic names, e.g. snake case (default) 117 | _configuration (Configuration): the instance to use when 118 | deserializing a file_type parameter. 119 | If passed, type conversion is attempted 120 | If omitted no type conversion is done. 121 | _visited_composed_classes (tuple): This stores a tuple of 122 | classes that we have traveled through so that 123 | if we see that class again we will not use its 124 | discriminator again. 125 | When traveling through a discriminator, the 126 | composed schema that is 127 | is traveled through is added to this set. 128 | For example if Animal has a discriminator 129 | petType and we pass in "Dog", and the class Dog 130 | allOf includes Animal, we move through Animal 131 | once using the discriminator, and pick Dog. 132 | Then in Dog, we will make an instance of the 133 | Animal class but this time we won't travel 134 | through its discriminator because we passed in 135 | _visited_composed_classes = (Animal,) 136 | """ 137 | 138 | _check_type = kwargs.pop('_check_type', True) 139 | _spec_property_naming = kwargs.pop('_spec_property_naming', True) 140 | _path_to_item = kwargs.pop('_path_to_item', ()) 141 | _configuration = kwargs.pop('_configuration', None) 142 | _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) 143 | 144 | self = super(OpenApiModel, cls).__new__(cls) 145 | 146 | if args: 147 | for arg in args: 148 | if isinstance(arg, dict): 149 | kwargs.update(arg) 150 | else: 151 | raise ApiTypeError( 152 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( 153 | args, 154 | self.__class__.__name__, 155 | ), 156 | path_to_item=_path_to_item, 157 | valid_classes=(self.__class__,), 158 | ) 159 | 160 | self._data_store = {} 161 | self._check_type = _check_type 162 | self._spec_property_naming = _spec_property_naming 163 | self._path_to_item = _path_to_item 164 | self._configuration = _configuration 165 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 166 | 167 | for var_name, var_value in kwargs.items(): 168 | if var_name not in self.attribute_map and \ 169 | self._configuration is not None and \ 170 | self._configuration.discard_unknown_keys and \ 171 | self.additional_properties_type is None: 172 | # discard variable. 173 | continue 174 | setattr(self, var_name, var_value) 175 | return self 176 | 177 | required_properties = set([ 178 | '_data_store', 179 | '_check_type', 180 | '_spec_property_naming', 181 | '_path_to_item', 182 | '_configuration', 183 | '_visited_composed_classes', 184 | ]) 185 | 186 | @convert_js_args_to_python_args 187 | def __init__(self, *args, **kwargs): # noqa: E501 188 | """IdentityObject - a model defined in OpenAPI 189 | 190 | Keyword Args: 191 | _check_type (bool): if True, values for parameters in openapi_types 192 | will be type checked and a TypeError will be 193 | raised if the wrong type is input. 194 | Defaults to True 195 | _path_to_item (tuple/list): This is a list of keys or values to 196 | drill down to the model in received_data 197 | when deserializing a response 198 | _spec_property_naming (bool): True if the variable names in the input data 199 | are serialized names, as specified in the OpenAPI document. 200 | False if the variable names in the input data 201 | are pythonic names, e.g. snake case (default) 202 | _configuration (Configuration): the instance to use when 203 | deserializing a file_type parameter. 204 | If passed, type conversion is attempted 205 | If omitted no type conversion is done. 206 | _visited_composed_classes (tuple): This stores a tuple of 207 | classes that we have traveled through so that 208 | if we see that class again we will not use its 209 | discriminator again. 210 | When traveling through a discriminator, the 211 | composed schema that is 212 | is traveled through is added to this set. 213 | For example if Animal has a discriminator 214 | petType and we pass in "Dog", and the class Dog 215 | allOf includes Animal, we move through Animal 216 | once using the discriminator, and pick Dog. 217 | Then in Dog, we will make an instance of the 218 | Animal class but this time we won't travel 219 | through its discriminator because we passed in 220 | _visited_composed_classes = (Animal,) 221 | """ 222 | 223 | _check_type = kwargs.pop('_check_type', True) 224 | _spec_property_naming = kwargs.pop('_spec_property_naming', False) 225 | _path_to_item = kwargs.pop('_path_to_item', ()) 226 | _configuration = kwargs.pop('_configuration', None) 227 | _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) 228 | 229 | if args: 230 | for arg in args: 231 | if isinstance(arg, dict): 232 | kwargs.update(arg) 233 | else: 234 | raise ApiTypeError( 235 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( 236 | args, 237 | self.__class__.__name__, 238 | ), 239 | path_to_item=_path_to_item, 240 | valid_classes=(self.__class__,), 241 | ) 242 | 243 | self._data_store = {} 244 | self._check_type = _check_type 245 | self._spec_property_naming = _spec_property_naming 246 | self._path_to_item = _path_to_item 247 | self._configuration = _configuration 248 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 249 | 250 | for var_name, var_value in kwargs.items(): 251 | if var_name not in self.attribute_map and \ 252 | self._configuration is not None and \ 253 | self._configuration.discard_unknown_keys and \ 254 | self.additional_properties_type is None: 255 | # discard variable. 256 | continue 257 | setattr(self, var_name, var_value) 258 | if var_name in self.read_only_vars: 259 | raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " 260 | f"class with read only attributes.") 261 | -------------------------------------------------------------------------------- /onesignal/model/update_live_activity_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import re # noqa: F401 13 | import sys # noqa: F401 14 | 15 | from onesignal.model_utils import ( # noqa: F401 16 | ApiTypeError, 17 | ModelComposed, 18 | ModelNormal, 19 | ModelSimple, 20 | cached_property, 21 | change_keys_js_to_python, 22 | convert_js_args_to_python_args, 23 | date, 24 | datetime, 25 | file_type, 26 | none_type, 27 | validate_get_composed_info, 28 | OpenApiModel 29 | ) 30 | from onesignal.exceptions import ApiAttributeError 31 | 32 | 33 | 34 | class UpdateLiveActivitySuccessResponse(ModelNormal): 35 | """NOTE: This class is auto generated by OpenAPI Generator. 36 | Ref: https://openapi-generator.tech 37 | 38 | Do not edit the class manually. 39 | 40 | Attributes: 41 | allowed_values (dict): The key is the tuple path to the attribute 42 | and the for var_name this is (var_name,). The value is a dict 43 | with a capitalized key describing the allowed value and an allowed 44 | value. These dicts store the allowed enum values. 45 | attribute_map (dict): The key is attribute name 46 | and the value is json key in definition. 47 | discriminator_value_class_map (dict): A dict to go from the discriminator 48 | variable value to the discriminator class name. 49 | validations (dict): The key is the tuple path to the attribute 50 | and the for var_name this is (var_name,). The value is a dict 51 | that stores validations for max_length, min_length, max_items, 52 | min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, 53 | inclusive_minimum, and regex. 54 | additional_properties_type (tuple): A tuple of classes accepted 55 | as additional properties values. 56 | """ 57 | 58 | allowed_values = { 59 | } 60 | 61 | validations = { 62 | } 63 | 64 | @cached_property 65 | def additional_properties_type(): 66 | """ 67 | This must be a method because a model may have properties that are 68 | of type self, this must run after the class is loaded 69 | """ 70 | return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 71 | 72 | _nullable = False 73 | 74 | @cached_property 75 | def openapi_types(): 76 | """ 77 | This must be a method because a model may have properties that are 78 | of type self, this must run after the class is loaded 79 | 80 | Returns 81 | openapi_types (dict): The key is attribute name 82 | and the value is attribute type. 83 | """ 84 | return { 85 | 'id': (str,), # noqa: E501 86 | } 87 | 88 | @cached_property 89 | def discriminator(): 90 | return None 91 | 92 | 93 | attribute_map = { 94 | 'id': 'id', # noqa: E501 95 | } 96 | 97 | read_only_vars = { 98 | } 99 | 100 | _composed_schemas = {} 101 | 102 | @classmethod 103 | @convert_js_args_to_python_args 104 | def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 105 | """UpdateLiveActivitySuccessResponse - a model defined in OpenAPI 106 | 107 | Keyword Args: 108 | _check_type (bool): if True, values for parameters in openapi_types 109 | will be type checked and a TypeError will be 110 | raised if the wrong type is input. 111 | Defaults to True 112 | _path_to_item (tuple/list): This is a list of keys or values to 113 | drill down to the model in received_data 114 | when deserializing a response 115 | _spec_property_naming (bool): True if the variable names in the input data 116 | are serialized names, as specified in the OpenAPI document. 117 | False if the variable names in the input data 118 | are pythonic names, e.g. snake case (default) 119 | _configuration (Configuration): the instance to use when 120 | deserializing a file_type parameter. 121 | If passed, type conversion is attempted 122 | If omitted no type conversion is done. 123 | _visited_composed_classes (tuple): This stores a tuple of 124 | classes that we have traveled through so that 125 | if we see that class again we will not use its 126 | discriminator again. 127 | When traveling through a discriminator, the 128 | composed schema that is 129 | is traveled through is added to this set. 130 | For example if Animal has a discriminator 131 | petType and we pass in "Dog", and the class Dog 132 | allOf includes Animal, we move through Animal 133 | once using the discriminator, and pick Dog. 134 | Then in Dog, we will make an instance of the 135 | Animal class but this time we won't travel 136 | through its discriminator because we passed in 137 | _visited_composed_classes = (Animal,) 138 | id (str): [optional] # noqa: E501 139 | """ 140 | 141 | _check_type = kwargs.pop('_check_type', True) 142 | _spec_property_naming = kwargs.pop('_spec_property_naming', True) 143 | _path_to_item = kwargs.pop('_path_to_item', ()) 144 | _configuration = kwargs.pop('_configuration', None) 145 | _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) 146 | 147 | self = super(OpenApiModel, cls).__new__(cls) 148 | 149 | if args: 150 | for arg in args: 151 | if isinstance(arg, dict): 152 | kwargs.update(arg) 153 | else: 154 | raise ApiTypeError( 155 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( 156 | args, 157 | self.__class__.__name__, 158 | ), 159 | path_to_item=_path_to_item, 160 | valid_classes=(self.__class__,), 161 | ) 162 | 163 | self._data_store = {} 164 | self._check_type = _check_type 165 | self._spec_property_naming = _spec_property_naming 166 | self._path_to_item = _path_to_item 167 | self._configuration = _configuration 168 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 169 | 170 | for var_name, var_value in kwargs.items(): 171 | if var_name not in self.attribute_map and \ 172 | self._configuration is not None and \ 173 | self._configuration.discard_unknown_keys and \ 174 | self.additional_properties_type is None: 175 | # discard variable. 176 | continue 177 | setattr(self, var_name, var_value) 178 | return self 179 | 180 | required_properties = set([ 181 | '_data_store', 182 | '_check_type', 183 | '_spec_property_naming', 184 | '_path_to_item', 185 | '_configuration', 186 | '_visited_composed_classes', 187 | ]) 188 | 189 | @convert_js_args_to_python_args 190 | def __init__(self, *args, **kwargs): # noqa: E501 191 | """UpdateLiveActivitySuccessResponse - a model defined in OpenAPI 192 | 193 | Keyword Args: 194 | _check_type (bool): if True, values for parameters in openapi_types 195 | will be type checked and a TypeError will be 196 | raised if the wrong type is input. 197 | Defaults to True 198 | _path_to_item (tuple/list): This is a list of keys or values to 199 | drill down to the model in received_data 200 | when deserializing a response 201 | _spec_property_naming (bool): True if the variable names in the input data 202 | are serialized names, as specified in the OpenAPI document. 203 | False if the variable names in the input data 204 | are pythonic names, e.g. snake case (default) 205 | _configuration (Configuration): the instance to use when 206 | deserializing a file_type parameter. 207 | If passed, type conversion is attempted 208 | If omitted no type conversion is done. 209 | _visited_composed_classes (tuple): This stores a tuple of 210 | classes that we have traveled through so that 211 | if we see that class again we will not use its 212 | discriminator again. 213 | When traveling through a discriminator, the 214 | composed schema that is 215 | is traveled through is added to this set. 216 | For example if Animal has a discriminator 217 | petType and we pass in "Dog", and the class Dog 218 | allOf includes Animal, we move through Animal 219 | once using the discriminator, and pick Dog. 220 | Then in Dog, we will make an instance of the 221 | Animal class but this time we won't travel 222 | through its discriminator because we passed in 223 | _visited_composed_classes = (Animal,) 224 | id (str): [optional] # noqa: E501 225 | """ 226 | 227 | _check_type = kwargs.pop('_check_type', True) 228 | _spec_property_naming = kwargs.pop('_spec_property_naming', False) 229 | _path_to_item = kwargs.pop('_path_to_item', ()) 230 | _configuration = kwargs.pop('_configuration', None) 231 | _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) 232 | 233 | if args: 234 | for arg in args: 235 | if isinstance(arg, dict): 236 | kwargs.update(arg) 237 | else: 238 | raise ApiTypeError( 239 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( 240 | args, 241 | self.__class__.__name__, 242 | ), 243 | path_to_item=_path_to_item, 244 | valid_classes=(self.__class__,), 245 | ) 246 | 247 | self._data_store = {} 248 | self._check_type = _check_type 249 | self._spec_property_naming = _spec_property_naming 250 | self._path_to_item = _path_to_item 251 | self._configuration = _configuration 252 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 253 | 254 | for var_name, var_value in kwargs.items(): 255 | if var_name not in self.attribute_map and \ 256 | self._configuration is not None and \ 257 | self._configuration.discard_unknown_keys and \ 258 | self.additional_properties_type is None: 259 | # discard variable. 260 | continue 261 | setattr(self, var_name, var_value) 262 | if var_name in self.read_only_vars: 263 | raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " 264 | f"class with read only attributes.") 265 | -------------------------------------------------------------------------------- /onesignal/models/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import all models into this package 4 | # if you have many models here with many references from one model to another this may 5 | # raise a RecursionError 6 | # to avoid this, import only the models that you directly need like: 7 | # from from onesignal.model.pet import Pet 8 | # or import this package, but before doing it, use: 9 | # import sys 10 | # sys.setrecursionlimit(n) 11 | 12 | from onesignal.model.app import App 13 | from onesignal.model.apps import Apps 14 | from onesignal.model.basic_notification import BasicNotification 15 | from onesignal.model.basic_notification_all_of import BasicNotificationAllOf 16 | from onesignal.model.basic_notification_all_of_android_background_layout import BasicNotificationAllOfAndroidBackgroundLayout 17 | from onesignal.model.button import Button 18 | from onesignal.model.create_notification_success_response import CreateNotificationSuccessResponse 19 | from onesignal.model.create_segment_conflict_response import CreateSegmentConflictResponse 20 | from onesignal.model.create_segment_success_response import CreateSegmentSuccessResponse 21 | from onesignal.model.create_user_conflict_response import CreateUserConflictResponse 22 | from onesignal.model.create_user_conflict_response_errors_inner import CreateUserConflictResponseErrorsInner 23 | from onesignal.model.create_user_conflict_response_errors_items_meta import CreateUserConflictResponseErrorsItemsMeta 24 | from onesignal.model.delivery_data import DeliveryData 25 | from onesignal.model.export_events_success_response import ExportEventsSuccessResponse 26 | from onesignal.model.export_subscriptions_request_body import ExportSubscriptionsRequestBody 27 | from onesignal.model.export_subscriptions_success_response import ExportSubscriptionsSuccessResponse 28 | from onesignal.model.filter import Filter 29 | from onesignal.model.filter_expression import FilterExpression 30 | from onesignal.model.generic_error import GenericError 31 | from onesignal.model.generic_success_bool_response import GenericSuccessBoolResponse 32 | from onesignal.model.get_notification_history_request_body import GetNotificationHistoryRequestBody 33 | from onesignal.model.get_segments_success_response import GetSegmentsSuccessResponse 34 | from onesignal.model.identity_object import IdentityObject 35 | from onesignal.model.language_string_map import LanguageStringMap 36 | from onesignal.model.notification import Notification 37 | from onesignal.model.notification_all_of import NotificationAllOf 38 | from onesignal.model.notification_history_success_response import NotificationHistorySuccessResponse 39 | from onesignal.model.notification_slice import NotificationSlice 40 | from onesignal.model.notification_target import NotificationTarget 41 | from onesignal.model.notification_with_meta import NotificationWithMeta 42 | from onesignal.model.notification_with_meta_all_of import NotificationWithMetaAllOf 43 | from onesignal.model.operator import Operator 44 | from onesignal.model.outcome_data import OutcomeData 45 | from onesignal.model.outcomes_data import OutcomesData 46 | from onesignal.model.platform_delivery_data import PlatformDeliveryData 47 | from onesignal.model.platform_delivery_data_email_all_of import PlatformDeliveryDataEmailAllOf 48 | from onesignal.model.platform_delivery_data_sms_all_of import PlatformDeliveryDataSmsAllOf 49 | from onesignal.model.properties_body import PropertiesBody 50 | from onesignal.model.properties_deltas import PropertiesDeltas 51 | from onesignal.model.properties_object import PropertiesObject 52 | from onesignal.model.purchase import Purchase 53 | from onesignal.model.rate_limit_error import RateLimitError 54 | from onesignal.model.segment import Segment 55 | from onesignal.model.segment_data import SegmentData 56 | from onesignal.model.segment_notification_target import SegmentNotificationTarget 57 | from onesignal.model.subscription import Subscription 58 | from onesignal.model.subscription_body import SubscriptionBody 59 | from onesignal.model.subscription_notification_target import SubscriptionNotificationTarget 60 | from onesignal.model.transfer_subscription_request_body import TransferSubscriptionRequestBody 61 | from onesignal.model.update_live_activity_request import UpdateLiveActivityRequest 62 | from onesignal.model.update_live_activity_success_response import UpdateLiveActivitySuccessResponse 63 | from onesignal.model.update_user_request import UpdateUserRequest 64 | from onesignal.model.user import User 65 | from onesignal.model.user_identity_body import UserIdentityBody 66 | from onesignal.model.web_button import WebButton 67 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | python_dateutil >= 2.5.3 2 | setuptools >= 21.0.0 3 | urllib3 >= 1.25.3 4 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length=99 3 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | from setuptools import setup, find_packages # noqa: H301 13 | 14 | NAME = "onesignal_python_api" 15 | VERSION = "5.1.0-beta1" 16 | # To install the library, run the following 17 | # 18 | # python setup.py install 19 | # 20 | # prerequisite: setuptools 21 | # http://pypi.python.org/pypi/setuptools 22 | 23 | REQUIRES = [ 24 | "urllib3 >= 1.25.3", 25 | "python-dateutil", 26 | ] 27 | 28 | setup( 29 | name=NAME, 30 | version=VERSION, 31 | description="OneSignal", 32 | author="OneSignal DevRel", 33 | author_email="devrel@onesignal.com", 34 | url="", 35 | keywords=["OpenAPI", "OpenAPI-Generator", "OneSignal"], 36 | python_requires=">=3.6", 37 | install_requires=REQUIRES, 38 | packages=find_packages(exclude=["test", "tests"]), 39 | include_package_data=True, 40 | long_description="""\ 41 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 42 | """ 43 | ) 44 | -------------------------------------------------------------------------------- /test-requirements.txt: -------------------------------------------------------------------------------- 1 | pytest-cov>=2.8.1 2 | -------------------------------------------------------------------------------- /test/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OneSignal/onesignal-python-api/9c9348dc72fbe2e53289f6cd016c72ddfc16bd23/test/__init__.py -------------------------------------------------------------------------------- /test/test_app.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.app import App 17 | 18 | 19 | class TestApp(unittest.TestCase): 20 | """App unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testApp(self): 29 | """Test App""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = App() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_apps.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.app import App 17 | globals()['App'] = App 18 | from onesignal.model.apps import Apps 19 | 20 | 21 | class TestApps(unittest.TestCase): 22 | """Apps unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testApps(self): 31 | """Test Apps""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = Apps() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_basic_notification.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.basic_notification_all_of import BasicNotificationAllOf 17 | from onesignal.model.basic_notification_all_of_android_background_layout import BasicNotificationAllOfAndroidBackgroundLayout 18 | from onesignal.model.button import Button 19 | from onesignal.model.filter_expression import FilterExpression 20 | from onesignal.model.language_string_map import LanguageStringMap 21 | from onesignal.model.notification_target import NotificationTarget 22 | from onesignal.model.web_button import WebButton 23 | globals()['BasicNotificationAllOf'] = BasicNotificationAllOf 24 | globals()['BasicNotificationAllOfAndroidBackgroundLayout'] = BasicNotificationAllOfAndroidBackgroundLayout 25 | globals()['Button'] = Button 26 | globals()['FilterExpression'] = FilterExpression 27 | globals()['LanguageStringMap'] = LanguageStringMap 28 | globals()['NotificationTarget'] = NotificationTarget 29 | globals()['WebButton'] = WebButton 30 | from onesignal.model.basic_notification import BasicNotification 31 | 32 | 33 | class TestBasicNotification(unittest.TestCase): 34 | """BasicNotification unit test stubs""" 35 | 36 | def setUp(self): 37 | pass 38 | 39 | def tearDown(self): 40 | pass 41 | 42 | def testBasicNotification(self): 43 | """Test BasicNotification""" 44 | # FIXME: construct object with mandatory attributes with example values 45 | # model = BasicNotification() # noqa: E501 46 | pass 47 | 48 | 49 | if __name__ == '__main__': 50 | unittest.main() 51 | -------------------------------------------------------------------------------- /test/test_basic_notification_all_of.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.basic_notification_all_of_android_background_layout import BasicNotificationAllOfAndroidBackgroundLayout 17 | from onesignal.model.button import Button 18 | from onesignal.model.filter_expression import FilterExpression 19 | from onesignal.model.language_string_map import LanguageStringMap 20 | from onesignal.model.web_button import WebButton 21 | globals()['BasicNotificationAllOfAndroidBackgroundLayout'] = BasicNotificationAllOfAndroidBackgroundLayout 22 | globals()['Button'] = Button 23 | globals()['FilterExpression'] = FilterExpression 24 | globals()['LanguageStringMap'] = LanguageStringMap 25 | globals()['WebButton'] = WebButton 26 | from onesignal.model.basic_notification_all_of import BasicNotificationAllOf 27 | 28 | 29 | class TestBasicNotificationAllOf(unittest.TestCase): 30 | """BasicNotificationAllOf unit test stubs""" 31 | 32 | def setUp(self): 33 | pass 34 | 35 | def tearDown(self): 36 | pass 37 | 38 | def testBasicNotificationAllOf(self): 39 | """Test BasicNotificationAllOf""" 40 | # FIXME: construct object with mandatory attributes with example values 41 | # model = BasicNotificationAllOf() # noqa: E501 42 | pass 43 | 44 | 45 | if __name__ == '__main__': 46 | unittest.main() 47 | -------------------------------------------------------------------------------- /test/test_basic_notification_all_of_android_background_layout.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.basic_notification_all_of_android_background_layout import BasicNotificationAllOfAndroidBackgroundLayout 17 | 18 | 19 | class TestBasicNotificationAllOfAndroidBackgroundLayout(unittest.TestCase): 20 | """BasicNotificationAllOfAndroidBackgroundLayout unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testBasicNotificationAllOfAndroidBackgroundLayout(self): 29 | """Test BasicNotificationAllOfAndroidBackgroundLayout""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = BasicNotificationAllOfAndroidBackgroundLayout() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_button.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.button import Button 17 | 18 | 19 | class TestButton(unittest.TestCase): 20 | """Button unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testButton(self): 29 | """Test Button""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = Button() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_create_notification_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.create_notification_success_response import CreateNotificationSuccessResponse 17 | 18 | 19 | class TestCreateNotificationSuccessResponse(unittest.TestCase): 20 | """CreateNotificationSuccessResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testCreateNotificationSuccessResponse(self): 29 | """Test CreateNotificationSuccessResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = CreateNotificationSuccessResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_create_segment_conflict_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.create_segment_conflict_response import CreateSegmentConflictResponse 17 | 18 | 19 | class TestCreateSegmentConflictResponse(unittest.TestCase): 20 | """CreateSegmentConflictResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testCreateSegmentConflictResponse(self): 29 | """Test CreateSegmentConflictResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = CreateSegmentConflictResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_create_segment_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.create_segment_success_response import CreateSegmentSuccessResponse 17 | 18 | 19 | class TestCreateSegmentSuccessResponse(unittest.TestCase): 20 | """CreateSegmentSuccessResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testCreateSegmentSuccessResponse(self): 29 | """Test CreateSegmentSuccessResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = CreateSegmentSuccessResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_create_user_conflict_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.create_user_conflict_response_errors_inner import CreateUserConflictResponseErrorsInner 17 | globals()['CreateUserConflictResponseErrorsInner'] = CreateUserConflictResponseErrorsInner 18 | from onesignal.model.create_user_conflict_response import CreateUserConflictResponse 19 | 20 | 21 | class TestCreateUserConflictResponse(unittest.TestCase): 22 | """CreateUserConflictResponse unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testCreateUserConflictResponse(self): 31 | """Test CreateUserConflictResponse""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = CreateUserConflictResponse() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_create_user_conflict_response_errors_inner.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.create_user_conflict_response_errors_items_meta import CreateUserConflictResponseErrorsItemsMeta 17 | globals()['CreateUserConflictResponseErrorsItemsMeta'] = CreateUserConflictResponseErrorsItemsMeta 18 | from onesignal.model.create_user_conflict_response_errors_inner import CreateUserConflictResponseErrorsInner 19 | 20 | 21 | class TestCreateUserConflictResponseErrorsInner(unittest.TestCase): 22 | """CreateUserConflictResponseErrorsInner unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testCreateUserConflictResponseErrorsInner(self): 31 | """Test CreateUserConflictResponseErrorsInner""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = CreateUserConflictResponseErrorsInner() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_create_user_conflict_response_errors_items_meta.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.create_user_conflict_response_errors_items_meta import CreateUserConflictResponseErrorsItemsMeta 17 | 18 | 19 | class TestCreateUserConflictResponseErrorsItemsMeta(unittest.TestCase): 20 | """CreateUserConflictResponseErrorsItemsMeta unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testCreateUserConflictResponseErrorsItemsMeta(self): 29 | """Test CreateUserConflictResponseErrorsItemsMeta""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = CreateUserConflictResponseErrorsItemsMeta() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_default_api.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import unittest 13 | 14 | import onesignal 15 | from onesignal.api.default_api import DefaultApi # noqa: E501 16 | 17 | 18 | class TestDefaultApi(unittest.TestCase): 19 | """DefaultApi unit test stubs""" 20 | 21 | def setUp(self): 22 | self.api = DefaultApi() # noqa: E501 23 | 24 | def tearDown(self): 25 | pass 26 | 27 | def test_cancel_notification(self): 28 | """Test case for cancel_notification 29 | 30 | Stop a scheduled or currently outgoing notification # noqa: E501 31 | """ 32 | pass 33 | 34 | def test_create_alias(self): 35 | """Test case for create_alias 36 | 37 | """ 38 | pass 39 | 40 | def test_create_alias_by_subscription(self): 41 | """Test case for create_alias_by_subscription 42 | 43 | """ 44 | pass 45 | 46 | def test_create_app(self): 47 | """Test case for create_app 48 | 49 | Create an app # noqa: E501 50 | """ 51 | pass 52 | 53 | def test_create_notification(self): 54 | """Test case for create_notification 55 | 56 | Create notification # noqa: E501 57 | """ 58 | pass 59 | 60 | def test_create_segment(self): 61 | """Test case for create_segment 62 | 63 | Create Segment # noqa: E501 64 | """ 65 | pass 66 | 67 | def test_create_subscription(self): 68 | """Test case for create_subscription 69 | 70 | """ 71 | pass 72 | 73 | def test_create_user(self): 74 | """Test case for create_user 75 | 76 | """ 77 | pass 78 | 79 | def test_delete_alias(self): 80 | """Test case for delete_alias 81 | 82 | """ 83 | pass 84 | 85 | def test_delete_segment(self): 86 | """Test case for delete_segment 87 | 88 | Delete Segment # noqa: E501 89 | """ 90 | pass 91 | 92 | def test_delete_subscription(self): 93 | """Test case for delete_subscription 94 | 95 | """ 96 | pass 97 | 98 | def test_delete_user(self): 99 | """Test case for delete_user 100 | 101 | """ 102 | pass 103 | 104 | def test_export_events(self): 105 | """Test case for export_events 106 | 107 | Export CSV of Events # noqa: E501 108 | """ 109 | pass 110 | 111 | def test_export_subscriptions(self): 112 | """Test case for export_subscriptions 113 | 114 | Export CSV of Subscriptions # noqa: E501 115 | """ 116 | pass 117 | 118 | def test_get_aliases(self): 119 | """Test case for get_aliases 120 | 121 | """ 122 | pass 123 | 124 | def test_get_aliases_by_subscription(self): 125 | """Test case for get_aliases_by_subscription 126 | 127 | """ 128 | pass 129 | 130 | def test_get_app(self): 131 | """Test case for get_app 132 | 133 | View an app # noqa: E501 134 | """ 135 | pass 136 | 137 | def test_get_apps(self): 138 | """Test case for get_apps 139 | 140 | View apps # noqa: E501 141 | """ 142 | pass 143 | 144 | def test_get_notification(self): 145 | """Test case for get_notification 146 | 147 | View notification # noqa: E501 148 | """ 149 | pass 150 | 151 | def test_get_notification_history(self): 152 | """Test case for get_notification_history 153 | 154 | Notification History # noqa: E501 155 | """ 156 | pass 157 | 158 | def test_get_notifications(self): 159 | """Test case for get_notifications 160 | 161 | View notifications # noqa: E501 162 | """ 163 | pass 164 | 165 | def test_get_outcomes(self): 166 | """Test case for get_outcomes 167 | 168 | View Outcomes # noqa: E501 169 | """ 170 | pass 171 | 172 | def test_get_segments(self): 173 | """Test case for get_segments 174 | 175 | Get Segments # noqa: E501 176 | """ 177 | pass 178 | 179 | def test_get_user(self): 180 | """Test case for get_user 181 | 182 | """ 183 | pass 184 | 185 | def test_transfer_subscription(self): 186 | """Test case for transfer_subscription 187 | 188 | """ 189 | pass 190 | 191 | def test_unsubscribe_email_with_token(self): 192 | """Test case for unsubscribe_email_with_token 193 | 194 | Unsubscribe with token # noqa: E501 195 | """ 196 | pass 197 | 198 | def test_update_app(self): 199 | """Test case for update_app 200 | 201 | Update an app # noqa: E501 202 | """ 203 | pass 204 | 205 | def test_update_live_activity(self): 206 | """Test case for update_live_activity 207 | 208 | Update a Live Activity via Push # noqa: E501 209 | """ 210 | pass 211 | 212 | def test_update_subscription(self): 213 | """Test case for update_subscription 214 | 215 | """ 216 | pass 217 | 218 | def test_update_user(self): 219 | """Test case for update_user 220 | 221 | """ 222 | pass 223 | 224 | 225 | if __name__ == '__main__': 226 | unittest.main() 227 | -------------------------------------------------------------------------------- /test/test_delivery_data.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.delivery_data import DeliveryData 17 | 18 | 19 | class TestDeliveryData(unittest.TestCase): 20 | """DeliveryData unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testDeliveryData(self): 29 | """Test DeliveryData""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = DeliveryData() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_export_events_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.export_events_success_response import ExportEventsSuccessResponse 17 | 18 | 19 | class TestExportEventsSuccessResponse(unittest.TestCase): 20 | """ExportEventsSuccessResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testExportEventsSuccessResponse(self): 29 | """Test ExportEventsSuccessResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = ExportEventsSuccessResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_export_subscriptions_request_body.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.export_subscriptions_request_body import ExportSubscriptionsRequestBody 17 | 18 | 19 | class TestExportSubscriptionsRequestBody(unittest.TestCase): 20 | """ExportSubscriptionsRequestBody unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testExportSubscriptionsRequestBody(self): 29 | """Test ExportSubscriptionsRequestBody""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = ExportSubscriptionsRequestBody() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_export_subscriptions_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.export_subscriptions_success_response import ExportSubscriptionsSuccessResponse 17 | 18 | 19 | class TestExportSubscriptionsSuccessResponse(unittest.TestCase): 20 | """ExportSubscriptionsSuccessResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testExportSubscriptionsSuccessResponse(self): 29 | """Test ExportSubscriptionsSuccessResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = ExportSubscriptionsSuccessResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_filter.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.filter import Filter 17 | 18 | 19 | class TestFilter(unittest.TestCase): 20 | """Filter unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testFilter(self): 29 | """Test Filter""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = Filter() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_filter_expression.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.filter import Filter 17 | from onesignal.model.operator import Operator 18 | globals()['Filter'] = Filter 19 | globals()['Operator'] = Operator 20 | from onesignal.model.filter_expression import FilterExpression 21 | 22 | 23 | class TestFilterExpression(unittest.TestCase): 24 | """FilterExpression unit test stubs""" 25 | 26 | def setUp(self): 27 | pass 28 | 29 | def tearDown(self): 30 | pass 31 | 32 | def testFilterExpression(self): 33 | """Test FilterExpression""" 34 | # FIXME: construct object with mandatory attributes with example values 35 | # model = FilterExpression() # noqa: E501 36 | pass 37 | 38 | 39 | if __name__ == '__main__': 40 | unittest.main() 41 | -------------------------------------------------------------------------------- /test/test_generic_error.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.generic_error import GenericError 17 | 18 | 19 | class TestGenericError(unittest.TestCase): 20 | """GenericError unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testGenericError(self): 29 | """Test GenericError""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = GenericError() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_generic_success_bool_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.generic_success_bool_response import GenericSuccessBoolResponse 17 | 18 | 19 | class TestGenericSuccessBoolResponse(unittest.TestCase): 20 | """GenericSuccessBoolResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testGenericSuccessBoolResponse(self): 29 | """Test GenericSuccessBoolResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = GenericSuccessBoolResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_get_notification_history_request_body.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.get_notification_history_request_body import GetNotificationHistoryRequestBody 17 | 18 | 19 | class TestGetNotificationHistoryRequestBody(unittest.TestCase): 20 | """GetNotificationHistoryRequestBody unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testGetNotificationHistoryRequestBody(self): 29 | """Test GetNotificationHistoryRequestBody""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = GetNotificationHistoryRequestBody() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_get_segments_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.segment_data import SegmentData 17 | globals()['SegmentData'] = SegmentData 18 | from onesignal.model.get_segments_success_response import GetSegmentsSuccessResponse 19 | 20 | 21 | class TestGetSegmentsSuccessResponse(unittest.TestCase): 22 | """GetSegmentsSuccessResponse unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testGetSegmentsSuccessResponse(self): 31 | """Test GetSegmentsSuccessResponse""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = GetSegmentsSuccessResponse() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_identity_object.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.identity_object import IdentityObject 17 | 18 | 19 | class TestIdentityObject(unittest.TestCase): 20 | """IdentityObject unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testIdentityObject(self): 29 | """Test IdentityObject""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = IdentityObject() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_language_string_map.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.language_string_map import LanguageStringMap 17 | 18 | 19 | class TestLanguageStringMap(unittest.TestCase): 20 | """LanguageStringMap unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testLanguageStringMap(self): 29 | """Test LanguageStringMap""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = LanguageStringMap() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_notification.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.basic_notification import BasicNotification 17 | from onesignal.model.basic_notification_all_of_android_background_layout import BasicNotificationAllOfAndroidBackgroundLayout 18 | from onesignal.model.button import Button 19 | from onesignal.model.filter_expression import FilterExpression 20 | from onesignal.model.language_string_map import LanguageStringMap 21 | from onesignal.model.notification_all_of import NotificationAllOf 22 | from onesignal.model.web_button import WebButton 23 | globals()['BasicNotification'] = BasicNotification 24 | globals()['BasicNotificationAllOfAndroidBackgroundLayout'] = BasicNotificationAllOfAndroidBackgroundLayout 25 | globals()['Button'] = Button 26 | globals()['FilterExpression'] = FilterExpression 27 | globals()['LanguageStringMap'] = LanguageStringMap 28 | globals()['NotificationAllOf'] = NotificationAllOf 29 | globals()['WebButton'] = WebButton 30 | from onesignal.model.notification import Notification 31 | 32 | 33 | class TestNotification(unittest.TestCase): 34 | """Notification unit test stubs""" 35 | 36 | def setUp(self): 37 | pass 38 | 39 | def tearDown(self): 40 | pass 41 | 42 | def testNotification(self): 43 | """Test Notification""" 44 | # FIXME: construct object with mandatory attributes with example values 45 | # model = Notification() # noqa: E501 46 | pass 47 | 48 | 49 | if __name__ == '__main__': 50 | unittest.main() 51 | -------------------------------------------------------------------------------- /test/test_notification_all_of.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.notification_all_of import NotificationAllOf 17 | 18 | 19 | class TestNotificationAllOf(unittest.TestCase): 20 | """NotificationAllOf unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testNotificationAllOf(self): 29 | """Test NotificationAllOf""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = NotificationAllOf() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_notification_history_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.notification_history_success_response import NotificationHistorySuccessResponse 17 | 18 | 19 | class TestNotificationHistorySuccessResponse(unittest.TestCase): 20 | """NotificationHistorySuccessResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testNotificationHistorySuccessResponse(self): 29 | """Test NotificationHistorySuccessResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = NotificationHistorySuccessResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_notification_slice.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.notification_with_meta import NotificationWithMeta 17 | globals()['NotificationWithMeta'] = NotificationWithMeta 18 | from onesignal.model.notification_slice import NotificationSlice 19 | 20 | 21 | class TestNotificationSlice(unittest.TestCase): 22 | """NotificationSlice unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testNotificationSlice(self): 31 | """Test NotificationSlice""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = NotificationSlice() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_notification_target.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.segment_notification_target import SegmentNotificationTarget 17 | from onesignal.model.subscription_notification_target import SubscriptionNotificationTarget 18 | globals()['SegmentNotificationTarget'] = SegmentNotificationTarget 19 | globals()['SubscriptionNotificationTarget'] = SubscriptionNotificationTarget 20 | from onesignal.model.notification_target import NotificationTarget 21 | 22 | 23 | class TestNotificationTarget(unittest.TestCase): 24 | """NotificationTarget unit test stubs""" 25 | 26 | def setUp(self): 27 | pass 28 | 29 | def tearDown(self): 30 | pass 31 | 32 | def testNotificationTarget(self): 33 | """Test NotificationTarget""" 34 | # FIXME: construct object with mandatory attributes with example values 35 | # model = NotificationTarget() # noqa: E501 36 | pass 37 | 38 | 39 | if __name__ == '__main__': 40 | unittest.main() 41 | -------------------------------------------------------------------------------- /test/test_notification_with_meta.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.basic_notification import BasicNotification 17 | from onesignal.model.basic_notification_all_of_android_background_layout import BasicNotificationAllOfAndroidBackgroundLayout 18 | from onesignal.model.button import Button 19 | from onesignal.model.delivery_data import DeliveryData 20 | from onesignal.model.filter_expression import FilterExpression 21 | from onesignal.model.language_string_map import LanguageStringMap 22 | from onesignal.model.notification_with_meta_all_of import NotificationWithMetaAllOf 23 | from onesignal.model.outcome_data import OutcomeData 24 | from onesignal.model.outcomes_data import OutcomesData 25 | from onesignal.model.platform_delivery_data import PlatformDeliveryData 26 | from onesignal.model.web_button import WebButton 27 | globals()['BasicNotification'] = BasicNotification 28 | globals()['BasicNotificationAllOfAndroidBackgroundLayout'] = BasicNotificationAllOfAndroidBackgroundLayout 29 | globals()['Button'] = Button 30 | globals()['DeliveryData'] = DeliveryData 31 | globals()['FilterExpression'] = FilterExpression 32 | globals()['LanguageStringMap'] = LanguageStringMap 33 | globals()['NotificationWithMetaAllOf'] = NotificationWithMetaAllOf 34 | globals()['OutcomeData'] = OutcomeData 35 | globals()['OutcomesData'] = OutcomesData 36 | globals()['PlatformDeliveryData'] = PlatformDeliveryData 37 | globals()['WebButton'] = WebButton 38 | from onesignal.model.notification_with_meta import NotificationWithMeta 39 | 40 | 41 | class TestNotificationWithMeta(unittest.TestCase): 42 | """NotificationWithMeta unit test stubs""" 43 | 44 | def setUp(self): 45 | pass 46 | 47 | def tearDown(self): 48 | pass 49 | 50 | def testNotificationWithMeta(self): 51 | """Test NotificationWithMeta""" 52 | # FIXME: construct object with mandatory attributes with example values 53 | # model = NotificationWithMeta() # noqa: E501 54 | pass 55 | 56 | 57 | if __name__ == '__main__': 58 | unittest.main() 59 | -------------------------------------------------------------------------------- /test/test_notification_with_meta_all_of.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.platform_delivery_data import PlatformDeliveryData 17 | globals()['PlatformDeliveryData'] = PlatformDeliveryData 18 | from onesignal.model.notification_with_meta_all_of import NotificationWithMetaAllOf 19 | 20 | 21 | class TestNotificationWithMetaAllOf(unittest.TestCase): 22 | """NotificationWithMetaAllOf unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testNotificationWithMetaAllOf(self): 31 | """Test NotificationWithMetaAllOf""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = NotificationWithMetaAllOf() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_operator.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.operator import Operator 17 | 18 | 19 | class TestOperator(unittest.TestCase): 20 | """Operator unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testOperator(self): 29 | """Test Operator""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = Operator() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_outcome_data.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.outcome_data import OutcomeData 17 | 18 | 19 | class TestOutcomeData(unittest.TestCase): 20 | """OutcomeData unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testOutcomeData(self): 29 | """Test OutcomeData""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = OutcomeData() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_outcomes_data.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.outcome_data import OutcomeData 17 | globals()['OutcomeData'] = OutcomeData 18 | from onesignal.model.outcomes_data import OutcomesData 19 | 20 | 21 | class TestOutcomesData(unittest.TestCase): 22 | """OutcomesData unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testOutcomesData(self): 31 | """Test OutcomesData""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = OutcomesData() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_platform_delivery_data.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.delivery_data import DeliveryData 17 | from onesignal.model.platform_delivery_data_email_all_of import PlatformDeliveryDataEmailAllOf 18 | from onesignal.model.platform_delivery_data_sms_all_of import PlatformDeliveryDataSmsAllOf 19 | globals()['DeliveryData'] = DeliveryData 20 | globals()['PlatformDeliveryDataEmailAllOf'] = PlatformDeliveryDataEmailAllOf 21 | globals()['PlatformDeliveryDataSmsAllOf'] = PlatformDeliveryDataSmsAllOf 22 | from onesignal.model.platform_delivery_data import PlatformDeliveryData 23 | 24 | 25 | class TestPlatformDeliveryData(unittest.TestCase): 26 | """PlatformDeliveryData unit test stubs""" 27 | 28 | def setUp(self): 29 | pass 30 | 31 | def tearDown(self): 32 | pass 33 | 34 | def testPlatformDeliveryData(self): 35 | """Test PlatformDeliveryData""" 36 | # FIXME: construct object with mandatory attributes with example values 37 | # model = PlatformDeliveryData() # noqa: E501 38 | pass 39 | 40 | 41 | if __name__ == '__main__': 42 | unittest.main() 43 | -------------------------------------------------------------------------------- /test/test_platform_delivery_data_email_all_of.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.platform_delivery_data_email_all_of import PlatformDeliveryDataEmailAllOf 17 | 18 | 19 | class TestPlatformDeliveryDataEmailAllOf(unittest.TestCase): 20 | """PlatformDeliveryDataEmailAllOf unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testPlatformDeliveryDataEmailAllOf(self): 29 | """Test PlatformDeliveryDataEmailAllOf""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = PlatformDeliveryDataEmailAllOf() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_platform_delivery_data_sms_all_of.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.platform_delivery_data_sms_all_of import PlatformDeliveryDataSmsAllOf 17 | 18 | 19 | class TestPlatformDeliveryDataSmsAllOf(unittest.TestCase): 20 | """PlatformDeliveryDataSmsAllOf unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testPlatformDeliveryDataSmsAllOf(self): 29 | """Test PlatformDeliveryDataSmsAllOf""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = PlatformDeliveryDataSmsAllOf() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_properties_body.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.properties_object import PropertiesObject 17 | globals()['PropertiesObject'] = PropertiesObject 18 | from onesignal.model.properties_body import PropertiesBody 19 | 20 | 21 | class TestPropertiesBody(unittest.TestCase): 22 | """PropertiesBody unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testPropertiesBody(self): 31 | """Test PropertiesBody""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = PropertiesBody() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_properties_deltas.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.purchase import Purchase 17 | globals()['Purchase'] = Purchase 18 | from onesignal.model.properties_deltas import PropertiesDeltas 19 | 20 | 21 | class TestPropertiesDeltas(unittest.TestCase): 22 | """PropertiesDeltas unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testPropertiesDeltas(self): 31 | """Test PropertiesDeltas""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = PropertiesDeltas() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_properties_object.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.purchase import Purchase 17 | globals()['Purchase'] = Purchase 18 | from onesignal.model.properties_object import PropertiesObject 19 | 20 | 21 | class TestPropertiesObject(unittest.TestCase): 22 | """PropertiesObject unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testPropertiesObject(self): 31 | """Test PropertiesObject""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = PropertiesObject() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_purchase.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.purchase import Purchase 17 | 18 | 19 | class TestPurchase(unittest.TestCase): 20 | """Purchase unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testPurchase(self): 29 | """Test Purchase""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = Purchase() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_rate_limit_error.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.rate_limit_error import RateLimitError 17 | 18 | 19 | class TestRateLimitError(unittest.TestCase): 20 | """RateLimitError unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testRateLimitError(self): 29 | """Test RateLimitError""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = RateLimitError() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_segment.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.filter_expression import FilterExpression 17 | globals()['FilterExpression'] = FilterExpression 18 | from onesignal.model.segment import Segment 19 | 20 | 21 | class TestSegment(unittest.TestCase): 22 | """Segment unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testSegment(self): 31 | """Test Segment""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = Segment() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_segment_data.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.segment_data import SegmentData 17 | 18 | 19 | class TestSegmentData(unittest.TestCase): 20 | """SegmentData unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testSegmentData(self): 29 | """Test SegmentData""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = SegmentData() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_segment_notification_target.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.segment_notification_target import SegmentNotificationTarget 17 | 18 | 19 | class TestSegmentNotificationTarget(unittest.TestCase): 20 | """SegmentNotificationTarget unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testSegmentNotificationTarget(self): 29 | """Test SegmentNotificationTarget""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = SegmentNotificationTarget() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_subscription.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.subscription import Subscription 17 | 18 | 19 | class TestSubscription(unittest.TestCase): 20 | """Subscription unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testSubscription(self): 29 | """Test Subscription""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = Subscription() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_subscription_body.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.subscription import Subscription 17 | globals()['Subscription'] = Subscription 18 | from onesignal.model.subscription_body import SubscriptionBody 19 | 20 | 21 | class TestSubscriptionBody(unittest.TestCase): 22 | """SubscriptionBody unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testSubscriptionBody(self): 31 | """Test SubscriptionBody""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = SubscriptionBody() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_subscription_notification_target.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.subscription_notification_target import SubscriptionNotificationTarget 17 | 18 | 19 | class TestSubscriptionNotificationTarget(unittest.TestCase): 20 | """SubscriptionNotificationTarget unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testSubscriptionNotificationTarget(self): 29 | """Test SubscriptionNotificationTarget""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = SubscriptionNotificationTarget() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_transfer_subscription_request_body.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.transfer_subscription_request_body import TransferSubscriptionRequestBody 17 | 18 | 19 | class TestTransferSubscriptionRequestBody(unittest.TestCase): 20 | """TransferSubscriptionRequestBody unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testTransferSubscriptionRequestBody(self): 29 | """Test TransferSubscriptionRequestBody""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = TransferSubscriptionRequestBody() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_update_live_activity_request.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.language_string_map import LanguageStringMap 17 | globals()['LanguageStringMap'] = LanguageStringMap 18 | from onesignal.model.update_live_activity_request import UpdateLiveActivityRequest 19 | 20 | 21 | class TestUpdateLiveActivityRequest(unittest.TestCase): 22 | """UpdateLiveActivityRequest unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testUpdateLiveActivityRequest(self): 31 | """Test UpdateLiveActivityRequest""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = UpdateLiveActivityRequest() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_update_live_activity_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.update_live_activity_success_response import UpdateLiveActivitySuccessResponse 17 | 18 | 19 | class TestUpdateLiveActivitySuccessResponse(unittest.TestCase): 20 | """UpdateLiveActivitySuccessResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testUpdateLiveActivitySuccessResponse(self): 29 | """Test UpdateLiveActivitySuccessResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = UpdateLiveActivitySuccessResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_update_user_request.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.properties_deltas import PropertiesDeltas 17 | from onesignal.model.properties_object import PropertiesObject 18 | globals()['PropertiesDeltas'] = PropertiesDeltas 19 | globals()['PropertiesObject'] = PropertiesObject 20 | from onesignal.model.update_user_request import UpdateUserRequest 21 | 22 | 23 | class TestUpdateUserRequest(unittest.TestCase): 24 | """UpdateUserRequest unit test stubs""" 25 | 26 | def setUp(self): 27 | pass 28 | 29 | def tearDown(self): 30 | pass 31 | 32 | def testUpdateUserRequest(self): 33 | """Test UpdateUserRequest""" 34 | # FIXME: construct object with mandatory attributes with example values 35 | # model = UpdateUserRequest() # noqa: E501 36 | pass 37 | 38 | 39 | if __name__ == '__main__': 40 | unittest.main() 41 | -------------------------------------------------------------------------------- /test/test_user.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.identity_object import IdentityObject 17 | from onesignal.model.properties_object import PropertiesObject 18 | from onesignal.model.subscription import Subscription 19 | globals()['IdentityObject'] = IdentityObject 20 | globals()['PropertiesObject'] = PropertiesObject 21 | globals()['Subscription'] = Subscription 22 | from onesignal.model.user import User 23 | 24 | 25 | class TestUser(unittest.TestCase): 26 | """User unit test stubs""" 27 | 28 | def setUp(self): 29 | pass 30 | 31 | def tearDown(self): 32 | pass 33 | 34 | def testUser(self): 35 | """Test User""" 36 | # FIXME: construct object with mandatory attributes with example values 37 | # model = User() # noqa: E501 38 | pass 39 | 40 | 41 | if __name__ == '__main__': 42 | unittest.main() 43 | -------------------------------------------------------------------------------- /test/test_user_identity_body.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.identity_object import IdentityObject 17 | globals()['IdentityObject'] = IdentityObject 18 | from onesignal.model.user_identity_body import UserIdentityBody 19 | 20 | 21 | class TestUserIdentityBody(unittest.TestCase): 22 | """UserIdentityBody unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testUserIdentityBody(self): 31 | """Test UserIdentityBody""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = UserIdentityBody() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_web_button.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.1.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.web_button import WebButton 17 | 18 | 19 | class TestWebButton(unittest.TestCase): 20 | """WebButton unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testWebButton(self): 29 | """Test WebButton""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = WebButton() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | envlist = py3 3 | 4 | [testenv] 5 | deps=-r{toxinidir}/requirements.txt 6 | -r{toxinidir}/test-requirements.txt 7 | 8 | commands= 9 | pytest --cov=onesignal 10 | --------------------------------------------------------------------------------