files-com 1.6.73__tar.gz → 1.6.75__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of files-com might be problematic. Click here for more details.
- {files_com-1.6.73/files_com.egg-info → files_com-1.6.75}/PKG-INFO +1 -1
- files_com-1.6.75/_VERSION +1 -0
- {files_com-1.6.73 → files_com-1.6.75/files_com.egg-info}/PKG-INFO +1 -1
- {files_com-1.6.73 → files_com-1.6.75}/files_com.egg-info/SOURCES.txt +2 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/__init__.py +3 -1
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/__init__.py +1 -0
- files_com-1.6.75/files_sdk/models/partner.py +266 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/permission.py +9 -2
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/sso_strategy.py +2 -1
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/user.py +36 -0
- {files_com-1.6.73 → files_com-1.6.75}/pyproject.toml +1 -1
- files_com-1.6.75/tests/test_partner.py +65 -0
- files_com-1.6.73/_VERSION +0 -1
- {files_com-1.6.73 → files_com-1.6.75}/LICENSE +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/README.md +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_com.egg-info/dependency_links.txt +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_com.egg-info/requires.txt +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_com.egg-info/top_level.txt +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/api.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/api_client.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/error.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/list_obj.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/account_line_item.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/action.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/action_notification_export.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/action_notification_export_result.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/api_key.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/api_request_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/app.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/as2_incoming_message.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/as2_outgoing_message.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/as2_partner.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/as2_station.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/auto.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/automation.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/automation_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/automation_run.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/bandwidth_snapshot.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/behavior.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/bundle.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/bundle_action.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/bundle_download.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/bundle_notification.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/bundle_path.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/bundle_recipient.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/bundle_registration.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/child_site_management_policy.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/clickwrap.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/dns_record.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/email_incoming_message.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/email_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/errors.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/exavault_api_request_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/external_event.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/file.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/file_action.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/file_comment.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/file_comment_reaction.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/file_migration.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/file_migration_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/file_upload_part.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/folder.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/form_field.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/form_field_set.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/ftp_action_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/gpg_key.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/group.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/group_user.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/history.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/history_export.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/history_export_result.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/holiday_region.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/image.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/inbox_recipient.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/inbox_registration.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/inbox_upload.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/invoice.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/invoice_line_item.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/ip_address.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/lock.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/message.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/message_comment.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/message_comment_reaction.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/message_reaction.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/notification.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/outbound_connection_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/payment.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/payment_line_item.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/preview.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/priority.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/project.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/public_hosting_request_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/public_ip_address.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/public_key.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/remote_bandwidth_snapshot.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/remote_mount_backend.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/remote_server.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/remote_server_configuration_file.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/request.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/restore.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/scim_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/session.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/settings_change.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/sftp_action_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/sftp_host_key.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/share_group.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/share_group_member.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/siem_http_destination.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/site.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/snapshot.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/status.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/style.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/sync.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/sync_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/sync_run.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/usage_by_top_level_dir.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/usage_daily_snapshot.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/usage_snapshot.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/user_cipher_use.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/user_lifecycle_rule.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/user_request.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/user_sftp_client_use.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/web_dav_action_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/models/webhook_test.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/path_util.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/files_sdk/util.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/setup.cfg +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_account_line_item.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_action.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_action_notification_export.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_action_notification_export_result.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_api_errors.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_api_key.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_api_request_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_app.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_as2_incoming_message.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_as2_outgoing_message.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_as2_partner.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_as2_station.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_auto.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_automation.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_automation_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_automation_run.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_bandwidth_snapshot.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_behavior.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_bundle.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_bundle_action.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_bundle_download.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_bundle_notification.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_bundle_path.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_bundle_recipient.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_bundle_registration.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_child_site_management_policy.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_clickwrap.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_connection_adapter.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_dns_record.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_email_incoming_message.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_email_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_errors.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_exavault_api_request_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_external_event.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_file.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_file_action.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_file_comment.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_file_comment_reaction.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_file_migration.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_file_migration_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_file_upload_part.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_folder.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_form_field.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_form_field_set.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_ftp_action_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_gpg_key.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_group.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_group_user.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_history.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_history_export.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_history_export_result.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_holiday_region.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_image.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_inbox_recipient.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_inbox_registration.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_inbox_upload.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_invoice.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_invoice_line_item.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_ip_address.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_lock.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_message.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_message_comment.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_message_comment_reaction.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_message_reaction.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_notification.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_outbound_connection_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_path_util.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_payment.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_payment_line_item.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_permission.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_preview.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_priority.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_project.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_public_hosting_request_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_public_ip_address.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_public_key.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_remote_bandwidth_snapshot.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_remote_mount_backend.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_remote_server.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_remote_server_configuration_file.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_request.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_restore.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_scim_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_session.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_settings_change.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_sftp_action_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_sftp_host_key.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_share_group.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_share_group_member.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_siem_http_destination.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_site.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_snapshot.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_sso_strategy.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_status.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_style.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_sync.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_sync_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_sync_run.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_usage_by_top_level_dir.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_usage_daily_snapshot.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_usage_snapshot.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_user.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_user_cipher_use.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_user_lifecycle_rule.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_user_request.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_user_sftp_client_use.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_web_dav_action_log.py +0 -0
- {files_com-1.6.73 → files_com-1.6.75}/tests/test_webhook_test.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.6.75
|
|
@@ -80,6 +80,7 @@ files_sdk/models/message_comment_reaction.py
|
|
|
80
80
|
files_sdk/models/message_reaction.py
|
|
81
81
|
files_sdk/models/notification.py
|
|
82
82
|
files_sdk/models/outbound_connection_log.py
|
|
83
|
+
files_sdk/models/partner.py
|
|
83
84
|
files_sdk/models/payment.py
|
|
84
85
|
files_sdk/models/payment_line_item.py
|
|
85
86
|
files_sdk/models/permission.py
|
|
@@ -187,6 +188,7 @@ tests/test_message_comment_reaction.py
|
|
|
187
188
|
tests/test_message_reaction.py
|
|
188
189
|
tests/test_notification.py
|
|
189
190
|
tests/test_outbound_connection_log.py
|
|
191
|
+
tests/test_partner.py
|
|
190
192
|
tests/test_path_util.py
|
|
191
193
|
tests/test_payment.py
|
|
192
194
|
tests/test_payment_line_item.py
|
|
@@ -63,6 +63,7 @@ import files_sdk.models.message_comment_reaction as message_comment_reaction
|
|
|
63
63
|
import files_sdk.models.message_reaction as message_reaction
|
|
64
64
|
import files_sdk.models.notification as notification
|
|
65
65
|
import files_sdk.models.outbound_connection_log as outbound_connection_log
|
|
66
|
+
import files_sdk.models.partner as partner
|
|
66
67
|
import files_sdk.models.payment as payment
|
|
67
68
|
import files_sdk.models.payment_line_item as payment_line_item
|
|
68
69
|
import files_sdk.models.permission as permission
|
|
@@ -175,6 +176,7 @@ from files_sdk.models.message_comment_reaction import MessageCommentReaction
|
|
|
175
176
|
from files_sdk.models.message_reaction import MessageReaction
|
|
176
177
|
from files_sdk.models.notification import Notification
|
|
177
178
|
from files_sdk.models.outbound_connection_log import OutboundConnectionLog
|
|
179
|
+
from files_sdk.models.partner import Partner
|
|
178
180
|
from files_sdk.models.payment import Payment
|
|
179
181
|
from files_sdk.models.payment_line_item import PaymentLineItem
|
|
180
182
|
from files_sdk.models.permission import Permission
|
|
@@ -229,7 +231,7 @@ session_id = None
|
|
|
229
231
|
source_ip = None
|
|
230
232
|
base_url = "https://app.files.com"
|
|
231
233
|
base_path = "api/rest/v1"
|
|
232
|
-
version = "1.6.
|
|
234
|
+
version = "1.6.75"
|
|
233
235
|
|
|
234
236
|
__version__ = version
|
|
235
237
|
|
|
@@ -68,6 +68,7 @@ from files_sdk.models.message_comment_reaction import MessageCommentReaction
|
|
|
68
68
|
from files_sdk.models.message_reaction import MessageReaction
|
|
69
69
|
from files_sdk.models.notification import Notification
|
|
70
70
|
from files_sdk.models.outbound_connection_log import OutboundConnectionLog
|
|
71
|
+
from files_sdk.models.partner import Partner
|
|
71
72
|
from files_sdk.models.payment import Payment
|
|
72
73
|
from files_sdk.models.payment_line_item import PaymentLineItem
|
|
73
74
|
from files_sdk.models.permission import Permission
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import builtins # noqa: F401
|
|
2
|
+
from files_sdk.api import Api # noqa: F401
|
|
3
|
+
from files_sdk.list_obj import ListObj
|
|
4
|
+
from files_sdk.error import ( # noqa: F401
|
|
5
|
+
InvalidParameterError,
|
|
6
|
+
MissingParameterError,
|
|
7
|
+
NotImplementedError,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class Partner:
|
|
12
|
+
default_attributes = {
|
|
13
|
+
"allow_bypassing_2fa_policies": None, # boolean - Allow users created under this Partner to bypass Two-Factor Authentication policies.
|
|
14
|
+
"allow_credential_changes": None, # boolean - Allow Partner Admins to change or reset credentials for users belonging to this Partner.
|
|
15
|
+
"allow_user_creation": None, # boolean - Allow Partner Admins to create users.
|
|
16
|
+
"id": None, # int64 - The unique ID of the Partner.
|
|
17
|
+
"name": None, # string - The name of the Partner.
|
|
18
|
+
"notes": None, # string - Notes about this Partner.
|
|
19
|
+
"root_folder": None, # string - The root folder path for this Partner.
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
def __init__(self, attributes=None, options=None):
|
|
23
|
+
if not isinstance(attributes, dict):
|
|
24
|
+
attributes = {}
|
|
25
|
+
if not isinstance(options, dict):
|
|
26
|
+
options = {}
|
|
27
|
+
self.set_attributes(attributes)
|
|
28
|
+
self.options = options
|
|
29
|
+
|
|
30
|
+
def set_attributes(self, attributes):
|
|
31
|
+
for attribute, default_value in Partner.default_attributes.items():
|
|
32
|
+
setattr(self, attribute, attributes.get(attribute, default_value))
|
|
33
|
+
|
|
34
|
+
def get_attributes(self):
|
|
35
|
+
return {
|
|
36
|
+
k: getattr(self, k, None)
|
|
37
|
+
for k in Partner.default_attributes
|
|
38
|
+
if getattr(self, k, None) is not None
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
# Parameters:
|
|
42
|
+
# allow_bypassing_2fa_policies - boolean - Allow users created under this Partner to bypass Two-Factor Authentication policies.
|
|
43
|
+
# allow_credential_changes - boolean - Allow Partner Admins to change or reset credentials for users belonging to this Partner.
|
|
44
|
+
# allow_user_creation - boolean - Allow Partner Admins to create users.
|
|
45
|
+
# name - string - The name of the Partner.
|
|
46
|
+
# notes - string - Notes about this Partner.
|
|
47
|
+
# root_folder - string - The root folder path for this Partner.
|
|
48
|
+
def update(self, params=None):
|
|
49
|
+
if not isinstance(params, dict):
|
|
50
|
+
params = {}
|
|
51
|
+
|
|
52
|
+
if hasattr(self, "id") and self.id:
|
|
53
|
+
params["id"] = self.id
|
|
54
|
+
else:
|
|
55
|
+
raise MissingParameterError("Current object doesn't have a id")
|
|
56
|
+
if "id" not in params:
|
|
57
|
+
raise MissingParameterError("Parameter missing: id")
|
|
58
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
59
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
60
|
+
if "name" in params and not isinstance(params["name"], str):
|
|
61
|
+
raise InvalidParameterError("Bad parameter: name must be an str")
|
|
62
|
+
if "notes" in params and not isinstance(params["notes"], str):
|
|
63
|
+
raise InvalidParameterError("Bad parameter: notes must be an str")
|
|
64
|
+
if "root_folder" in params and not isinstance(
|
|
65
|
+
params["root_folder"], str
|
|
66
|
+
):
|
|
67
|
+
raise InvalidParameterError(
|
|
68
|
+
"Bad parameter: root_folder must be an str"
|
|
69
|
+
)
|
|
70
|
+
response, _options = Api.send_request(
|
|
71
|
+
"PATCH",
|
|
72
|
+
"/partners/{id}".format(id=params["id"]),
|
|
73
|
+
params,
|
|
74
|
+
self.options,
|
|
75
|
+
)
|
|
76
|
+
return response.data
|
|
77
|
+
|
|
78
|
+
def delete(self, params=None):
|
|
79
|
+
if not isinstance(params, dict):
|
|
80
|
+
params = {}
|
|
81
|
+
|
|
82
|
+
if hasattr(self, "id") and self.id:
|
|
83
|
+
params["id"] = self.id
|
|
84
|
+
else:
|
|
85
|
+
raise MissingParameterError("Current object doesn't have a id")
|
|
86
|
+
if "id" not in params:
|
|
87
|
+
raise MissingParameterError("Parameter missing: id")
|
|
88
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
89
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
90
|
+
Api.send_request(
|
|
91
|
+
"DELETE",
|
|
92
|
+
"/partners/{id}".format(id=params["id"]),
|
|
93
|
+
params,
|
|
94
|
+
self.options,
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
def destroy(self, params=None):
|
|
98
|
+
self.delete(params)
|
|
99
|
+
|
|
100
|
+
def save(self):
|
|
101
|
+
if hasattr(self, "id") and self.id:
|
|
102
|
+
new_obj = self.update(self.get_attributes())
|
|
103
|
+
self.set_attributes(new_obj.get_attributes())
|
|
104
|
+
return True
|
|
105
|
+
else:
|
|
106
|
+
new_obj = create(self.get_attributes(), self.options)
|
|
107
|
+
self.set_attributes(new_obj.get_attributes())
|
|
108
|
+
return True
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
# Parameters:
|
|
112
|
+
# cursor - string - Used for pagination. When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`. Send one of those cursor value here to resume an existing list from the next available record. Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
|
|
113
|
+
# per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
|
114
|
+
# sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `name`.
|
|
115
|
+
def list(params=None, options=None):
|
|
116
|
+
if not isinstance(params, dict):
|
|
117
|
+
params = {}
|
|
118
|
+
if not isinstance(options, dict):
|
|
119
|
+
options = {}
|
|
120
|
+
if "cursor" in params and not isinstance(params["cursor"], str):
|
|
121
|
+
raise InvalidParameterError("Bad parameter: cursor must be an str")
|
|
122
|
+
if "per_page" in params and not isinstance(params["per_page"], int):
|
|
123
|
+
raise InvalidParameterError("Bad parameter: per_page must be an int")
|
|
124
|
+
if "sort_by" in params and not isinstance(params["sort_by"], dict):
|
|
125
|
+
raise InvalidParameterError("Bad parameter: sort_by must be an dict")
|
|
126
|
+
return ListObj(Partner, "GET", "/partners", params, options)
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
def all(params=None, options=None):
|
|
130
|
+
list(params, options)
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
# Parameters:
|
|
134
|
+
# id (required) - int64 - Partner ID.
|
|
135
|
+
def find(id, params=None, options=None):
|
|
136
|
+
if not isinstance(params, dict):
|
|
137
|
+
params = {}
|
|
138
|
+
if not isinstance(options, dict):
|
|
139
|
+
options = {}
|
|
140
|
+
params["id"] = id
|
|
141
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
142
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
143
|
+
if "id" not in params:
|
|
144
|
+
raise MissingParameterError("Parameter missing: id")
|
|
145
|
+
response, options = Api.send_request(
|
|
146
|
+
"GET", "/partners/{id}".format(id=params["id"]), params, options
|
|
147
|
+
)
|
|
148
|
+
return Partner(response.data, options)
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
def get(id, params=None, options=None):
|
|
152
|
+
find(id, params, options)
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
# Parameters:
|
|
156
|
+
# allow_bypassing_2fa_policies - boolean - Allow users created under this Partner to bypass Two-Factor Authentication policies.
|
|
157
|
+
# allow_credential_changes - boolean - Allow Partner Admins to change or reset credentials for users belonging to this Partner.
|
|
158
|
+
# allow_user_creation - boolean - Allow Partner Admins to create users.
|
|
159
|
+
# name - string - The name of the Partner.
|
|
160
|
+
# notes - string - Notes about this Partner.
|
|
161
|
+
# root_folder - string - The root folder path for this Partner.
|
|
162
|
+
def create(params=None, options=None):
|
|
163
|
+
if not isinstance(params, dict):
|
|
164
|
+
params = {}
|
|
165
|
+
if not isinstance(options, dict):
|
|
166
|
+
options = {}
|
|
167
|
+
if "allow_bypassing_2fa_policies" in params and not isinstance(
|
|
168
|
+
params["allow_bypassing_2fa_policies"], bool
|
|
169
|
+
):
|
|
170
|
+
raise InvalidParameterError(
|
|
171
|
+
"Bad parameter: allow_bypassing_2fa_policies must be an bool"
|
|
172
|
+
)
|
|
173
|
+
if "allow_credential_changes" in params and not isinstance(
|
|
174
|
+
params["allow_credential_changes"], bool
|
|
175
|
+
):
|
|
176
|
+
raise InvalidParameterError(
|
|
177
|
+
"Bad parameter: allow_credential_changes must be an bool"
|
|
178
|
+
)
|
|
179
|
+
if "allow_user_creation" in params and not isinstance(
|
|
180
|
+
params["allow_user_creation"], bool
|
|
181
|
+
):
|
|
182
|
+
raise InvalidParameterError(
|
|
183
|
+
"Bad parameter: allow_user_creation must be an bool"
|
|
184
|
+
)
|
|
185
|
+
if "name" in params and not isinstance(params["name"], str):
|
|
186
|
+
raise InvalidParameterError("Bad parameter: name must be an str")
|
|
187
|
+
if "notes" in params and not isinstance(params["notes"], str):
|
|
188
|
+
raise InvalidParameterError("Bad parameter: notes must be an str")
|
|
189
|
+
if "root_folder" in params and not isinstance(params["root_folder"], str):
|
|
190
|
+
raise InvalidParameterError(
|
|
191
|
+
"Bad parameter: root_folder must be an str"
|
|
192
|
+
)
|
|
193
|
+
response, options = Api.send_request("POST", "/partners", params, options)
|
|
194
|
+
return Partner(response.data, options)
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
# Parameters:
|
|
198
|
+
# allow_bypassing_2fa_policies - boolean - Allow users created under this Partner to bypass Two-Factor Authentication policies.
|
|
199
|
+
# allow_credential_changes - boolean - Allow Partner Admins to change or reset credentials for users belonging to this Partner.
|
|
200
|
+
# allow_user_creation - boolean - Allow Partner Admins to create users.
|
|
201
|
+
# name - string - The name of the Partner.
|
|
202
|
+
# notes - string - Notes about this Partner.
|
|
203
|
+
# root_folder - string - The root folder path for this Partner.
|
|
204
|
+
def update(id, params=None, options=None):
|
|
205
|
+
if not isinstance(params, dict):
|
|
206
|
+
params = {}
|
|
207
|
+
if not isinstance(options, dict):
|
|
208
|
+
options = {}
|
|
209
|
+
params["id"] = id
|
|
210
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
211
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
212
|
+
if "allow_bypassing_2fa_policies" in params and not isinstance(
|
|
213
|
+
params["allow_bypassing_2fa_policies"], bool
|
|
214
|
+
):
|
|
215
|
+
raise InvalidParameterError(
|
|
216
|
+
"Bad parameter: allow_bypassing_2fa_policies must be an bool"
|
|
217
|
+
)
|
|
218
|
+
if "allow_credential_changes" in params and not isinstance(
|
|
219
|
+
params["allow_credential_changes"], bool
|
|
220
|
+
):
|
|
221
|
+
raise InvalidParameterError(
|
|
222
|
+
"Bad parameter: allow_credential_changes must be an bool"
|
|
223
|
+
)
|
|
224
|
+
if "allow_user_creation" in params and not isinstance(
|
|
225
|
+
params["allow_user_creation"], bool
|
|
226
|
+
):
|
|
227
|
+
raise InvalidParameterError(
|
|
228
|
+
"Bad parameter: allow_user_creation must be an bool"
|
|
229
|
+
)
|
|
230
|
+
if "name" in params and not isinstance(params["name"], str):
|
|
231
|
+
raise InvalidParameterError("Bad parameter: name must be an str")
|
|
232
|
+
if "notes" in params and not isinstance(params["notes"], str):
|
|
233
|
+
raise InvalidParameterError("Bad parameter: notes must be an str")
|
|
234
|
+
if "root_folder" in params and not isinstance(params["root_folder"], str):
|
|
235
|
+
raise InvalidParameterError(
|
|
236
|
+
"Bad parameter: root_folder must be an str"
|
|
237
|
+
)
|
|
238
|
+
if "id" not in params:
|
|
239
|
+
raise MissingParameterError("Parameter missing: id")
|
|
240
|
+
response, options = Api.send_request(
|
|
241
|
+
"PATCH", "/partners/{id}".format(id=params["id"]), params, options
|
|
242
|
+
)
|
|
243
|
+
return Partner(response.data, options)
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
def delete(id, params=None, options=None):
|
|
247
|
+
if not isinstance(params, dict):
|
|
248
|
+
params = {}
|
|
249
|
+
if not isinstance(options, dict):
|
|
250
|
+
options = {}
|
|
251
|
+
params["id"] = id
|
|
252
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
253
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
254
|
+
if "id" not in params:
|
|
255
|
+
raise MissingParameterError("Parameter missing: id")
|
|
256
|
+
Api.send_request(
|
|
257
|
+
"DELETE", "/partners/{id}".format(id=params["id"]), params, options
|
|
258
|
+
)
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
def destroy(id, params=None, options=None):
|
|
262
|
+
delete(id, params, options)
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
def new(*args, **kwargs):
|
|
266
|
+
return Partner(*args, **kwargs)
|
|
@@ -16,6 +16,7 @@ class Permission:
|
|
|
16
16
|
"username": None, # string - Username (if applicable)
|
|
17
17
|
"group_id": None, # int64 - Group ID
|
|
18
18
|
"group_name": None, # string - Group name (if applicable)
|
|
19
|
+
"partner_id": None, # int64 - Partner ID (if applicable)
|
|
19
20
|
"permission": None, # string - Permission type. See the table referenced in the documentation for an explanation of each permission.
|
|
20
21
|
"recursive": None, # boolean - Recursive: does this permission apply to subfolders?
|
|
21
22
|
"site_id": None, # int64 - Site ID
|
|
@@ -76,12 +77,13 @@ class Permission:
|
|
|
76
77
|
# Parameters:
|
|
77
78
|
# cursor - string - Used for pagination. When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`. Send one of those cursor value here to resume an existing list from the next available record. Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
|
|
78
79
|
# per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
|
79
|
-
# sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `site_id`, `group_id`, `path`, `user_id` or `id`.
|
|
80
|
-
# filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `path`, `group_id` or `user_id`. Valid field combinations are `[ group_id, path ]`, `[ user_id, path ]`, `[ user_id, group_id ]` or `[ user_id, group_id, path ]`.
|
|
80
|
+
# sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `site_id`, `group_id`, `path`, `user_id`, `partner_id` or `id`.
|
|
81
|
+
# filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `path`, `group_id`, `partner_id` or `user_id`. Valid field combinations are `[ group_id, path ]`, `[ partner_id, path ]`, `[ user_id, path ]`, `[ user_id, group_id ]`, `[ user_id, group_id, path ]`, `[ user_id, group_id, partner_id ]` or `[ user_id, group_id, partner_id, path ]`.
|
|
81
82
|
# filter_prefix - object - If set, return records where the specified field is prefixed by the supplied value. Valid fields are `path`.
|
|
82
83
|
# path - string - Permission path. If provided, will scope all permissions(including upward) to this path.
|
|
83
84
|
# include_groups - boolean - If searching by user or group, also include user's permissions that are inherited from its groups?
|
|
84
85
|
# group_id - string
|
|
86
|
+
# partner_id - string
|
|
85
87
|
# user_id - string
|
|
86
88
|
def list(params=None, options=None):
|
|
87
89
|
if not isinstance(params, dict):
|
|
@@ -112,6 +114,8 @@ def list(params=None, options=None):
|
|
|
112
114
|
)
|
|
113
115
|
if "group_id" in params and not isinstance(params["group_id"], str):
|
|
114
116
|
raise InvalidParameterError("Bad parameter: group_id must be an str")
|
|
117
|
+
if "partner_id" in params and not isinstance(params["partner_id"], str):
|
|
118
|
+
raise InvalidParameterError("Bad parameter: partner_id must be an str")
|
|
115
119
|
if "user_id" in params and not isinstance(params["user_id"], str):
|
|
116
120
|
raise InvalidParameterError("Bad parameter: user_id must be an str")
|
|
117
121
|
return ListObj(Permission, "GET", "/permissions", params, options)
|
|
@@ -126,6 +130,7 @@ def all(params=None, options=None):
|
|
|
126
130
|
# group_id - int64 - Group ID. Provide `group_name` or `group_id`
|
|
127
131
|
# permission - string - Permission type. Can be `admin`, `full`, `readonly`, `writeonly`, `list`, or `history`
|
|
128
132
|
# recursive - boolean - Apply to subfolders recursively?
|
|
133
|
+
# partner_id - int64 - Partner ID if this Permission belongs to a partner.
|
|
129
134
|
# user_id - int64 - User ID. Provide `username` or `user_id`
|
|
130
135
|
# username - string - User username. Provide `username` or `user_id`
|
|
131
136
|
# group_name - string - Group name. Provide `group_name` or `group_id`
|
|
@@ -143,6 +148,8 @@ def create(params=None, options=None):
|
|
|
143
148
|
raise InvalidParameterError("Bad parameter: permission must be an str")
|
|
144
149
|
if "recursive" in params and not isinstance(params["recursive"], bool):
|
|
145
150
|
raise InvalidParameterError("Bad parameter: recursive must be an bool")
|
|
151
|
+
if "partner_id" in params and not isinstance(params["partner_id"], int):
|
|
152
|
+
raise InvalidParameterError("Bad parameter: partner_id must be an int")
|
|
146
153
|
if "user_id" in params and not isinstance(params["user_id"], int):
|
|
147
154
|
raise InvalidParameterError("Bad parameter: user_id must be an int")
|
|
148
155
|
if "username" in params and not isinstance(params["username"], str):
|
|
@@ -26,7 +26,7 @@ class SsoStrategy:
|
|
|
26
26
|
"scim_username": None, # string - SCIM username.
|
|
27
27
|
"scim_oauth_access_token": None, # string - SCIM OAuth Access Token.
|
|
28
28
|
"scim_oauth_access_token_expires_at": None, # string - SCIM OAuth Access Token Expiration Time.
|
|
29
|
-
"subdomain": None, # string - Subdomain
|
|
29
|
+
"subdomain": None, # string - Subdomain or domain name for your auth provider. Example: `https://[subdomain].okta.com/`
|
|
30
30
|
"provision_users": None, # boolean - Auto-provision users?
|
|
31
31
|
"provision_groups": None, # boolean - Auto-provision group membership based on group memberships on the SSO side?
|
|
32
32
|
"deprovision_users": None, # boolean - Auto-deprovision users?
|
|
@@ -47,6 +47,7 @@ class SsoStrategy:
|
|
|
47
47
|
"provision_time_zone": None, # string - Default time zone for auto provisioned users.
|
|
48
48
|
"provision_company": None, # string - Default company for auto provisioned users.
|
|
49
49
|
"provision_require_2fa": None, # string - 2FA required setting for auto provisioned users.
|
|
50
|
+
"provision_filesystem_layout": None, # string - File System layout to use for auto provisioned users.
|
|
50
51
|
"provider_identifier": None, # string - URL-friendly, unique identifier for Azure SAML configuration
|
|
51
52
|
"ldap_base_dn": None, # string - Base DN for looking up users in LDAP server
|
|
52
53
|
"ldap_domain": None, # string - Domain name that will be appended to LDAP usernames
|
|
@@ -28,6 +28,7 @@ class User:
|
|
|
28
28
|
"disabled": None, # boolean - Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date.
|
|
29
29
|
"disabled_expired_or_inactive": None, # boolean - Computed property that returns true if user disabled or expired or inactive.
|
|
30
30
|
"email": None, # email - User email address
|
|
31
|
+
"filesystem_layout": None, # string - File system layout
|
|
31
32
|
"first_login_at": None, # date-time - User's first login time
|
|
32
33
|
"ftp_permission": None, # boolean - Can the user access with FTP/FTPS?
|
|
33
34
|
"group_ids": None, # string - Comma-separated list of group IDs of which this user is a member
|
|
@@ -49,6 +50,7 @@ class User:
|
|
|
49
50
|
"notes": None, # string - Any internal notes on the user
|
|
50
51
|
"notification_daily_send_time": None, # int64 - Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
|
|
51
52
|
"office_integration_enabled": None, # boolean - Enable integration with Office for the web?
|
|
53
|
+
"partner_id": None, # int64 - Partner ID if this user belongs to a Partner
|
|
52
54
|
"password_set_at": None, # date-time - Last time the user's password was set
|
|
53
55
|
"password_validity_days": None, # int64 - Number of days to allow user to use the same password
|
|
54
56
|
"public_keys_count": None, # int64 - Number of public keys associated with this user
|
|
@@ -190,6 +192,7 @@ class User:
|
|
|
190
192
|
# bypass_site_allowed_ips - boolean - Allow this user to skip site-wide IP blacklists?
|
|
191
193
|
# dav_permission - boolean - Can the user connect with WebDAV?
|
|
192
194
|
# disabled - boolean - Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date.
|
|
195
|
+
# filesystem_layout - string - File system layout
|
|
193
196
|
# ftp_permission - boolean - Can the user access with FTP/FTPS?
|
|
194
197
|
# header_text - string - Text to display to the user in the header of the UI
|
|
195
198
|
# language - string - Preferred language
|
|
@@ -198,6 +201,7 @@ class User:
|
|
|
198
201
|
# company - string - User's company
|
|
199
202
|
# notes - string - Any internal notes on the user
|
|
200
203
|
# office_integration_enabled - boolean - Enable integration with Office for the web?
|
|
204
|
+
# partner_id - int64 - Partner ID if this user belongs to a Partner
|
|
201
205
|
# password_validity_days - int64 - Number of days to allow user to use the same password
|
|
202
206
|
# readonly_site_admin - boolean - Is the user an allowed to view all (non-billing) site configuration for this site?
|
|
203
207
|
# receive_admin_alerts - boolean - Should the user receive admin alerts such a certificate expiration notifications and overages?
|
|
@@ -291,6 +295,12 @@ class User:
|
|
|
291
295
|
raise InvalidParameterError(
|
|
292
296
|
"Bad parameter: authentication_method must be an str"
|
|
293
297
|
)
|
|
298
|
+
if "filesystem_layout" in params and not isinstance(
|
|
299
|
+
params["filesystem_layout"], str
|
|
300
|
+
):
|
|
301
|
+
raise InvalidParameterError(
|
|
302
|
+
"Bad parameter: filesystem_layout must be an str"
|
|
303
|
+
)
|
|
294
304
|
if "header_text" in params and not isinstance(
|
|
295
305
|
params["header_text"], str
|
|
296
306
|
):
|
|
@@ -315,6 +325,12 @@ class User:
|
|
|
315
325
|
)
|
|
316
326
|
if "notes" in params and not isinstance(params["notes"], str):
|
|
317
327
|
raise InvalidParameterError("Bad parameter: notes must be an str")
|
|
328
|
+
if "partner_id" in params and not isinstance(
|
|
329
|
+
params["partner_id"], int
|
|
330
|
+
):
|
|
331
|
+
raise InvalidParameterError(
|
|
332
|
+
"Bad parameter: partner_id must be an int"
|
|
333
|
+
)
|
|
318
334
|
if "password_validity_days" in params and not isinstance(
|
|
319
335
|
params["password_validity_days"], int
|
|
320
336
|
):
|
|
@@ -515,6 +531,7 @@ def get(id, params=None, options=None):
|
|
|
515
531
|
# bypass_site_allowed_ips - boolean - Allow this user to skip site-wide IP blacklists?
|
|
516
532
|
# dav_permission - boolean - Can the user connect with WebDAV?
|
|
517
533
|
# disabled - boolean - Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date.
|
|
534
|
+
# filesystem_layout - string - File system layout
|
|
518
535
|
# ftp_permission - boolean - Can the user access with FTP/FTPS?
|
|
519
536
|
# header_text - string - Text to display to the user in the header of the UI
|
|
520
537
|
# language - string - Preferred language
|
|
@@ -523,6 +540,7 @@ def get(id, params=None, options=None):
|
|
|
523
540
|
# company - string - User's company
|
|
524
541
|
# notes - string - Any internal notes on the user
|
|
525
542
|
# office_integration_enabled - boolean - Enable integration with Office for the web?
|
|
543
|
+
# partner_id - int64 - Partner ID if this user belongs to a Partner
|
|
526
544
|
# password_validity_days - int64 - Number of days to allow user to use the same password
|
|
527
545
|
# readonly_site_admin - boolean - Is the user an allowed to view all (non-billing) site configuration for this site?
|
|
528
546
|
# receive_admin_alerts - boolean - Should the user receive admin alerts such a certificate expiration notifications and overages?
|
|
@@ -644,6 +662,12 @@ def create(params=None, options=None):
|
|
|
644
662
|
)
|
|
645
663
|
if "disabled" in params and not isinstance(params["disabled"], bool):
|
|
646
664
|
raise InvalidParameterError("Bad parameter: disabled must be an bool")
|
|
665
|
+
if "filesystem_layout" in params and not isinstance(
|
|
666
|
+
params["filesystem_layout"], str
|
|
667
|
+
):
|
|
668
|
+
raise InvalidParameterError(
|
|
669
|
+
"Bad parameter: filesystem_layout must be an str"
|
|
670
|
+
)
|
|
647
671
|
if "ftp_permission" in params and not isinstance(
|
|
648
672
|
params["ftp_permission"], bool
|
|
649
673
|
):
|
|
@@ -674,6 +698,8 @@ def create(params=None, options=None):
|
|
|
674
698
|
raise InvalidParameterError(
|
|
675
699
|
"Bad parameter: office_integration_enabled must be an bool"
|
|
676
700
|
)
|
|
701
|
+
if "partner_id" in params and not isinstance(params["partner_id"], int):
|
|
702
|
+
raise InvalidParameterError("Bad parameter: partner_id must be an int")
|
|
677
703
|
if "password_validity_days" in params and not isinstance(
|
|
678
704
|
params["password_validity_days"], int
|
|
679
705
|
):
|
|
@@ -844,6 +870,7 @@ def user_2fa_reset(id, params=None, options=None):
|
|
|
844
870
|
# bypass_site_allowed_ips - boolean - Allow this user to skip site-wide IP blacklists?
|
|
845
871
|
# dav_permission - boolean - Can the user connect with WebDAV?
|
|
846
872
|
# disabled - boolean - Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date.
|
|
873
|
+
# filesystem_layout - string - File system layout
|
|
847
874
|
# ftp_permission - boolean - Can the user access with FTP/FTPS?
|
|
848
875
|
# header_text - string - Text to display to the user in the header of the UI
|
|
849
876
|
# language - string - Preferred language
|
|
@@ -852,6 +879,7 @@ def user_2fa_reset(id, params=None, options=None):
|
|
|
852
879
|
# company - string - User's company
|
|
853
880
|
# notes - string - Any internal notes on the user
|
|
854
881
|
# office_integration_enabled - boolean - Enable integration with Office for the web?
|
|
882
|
+
# partner_id - int64 - Partner ID if this user belongs to a Partner
|
|
855
883
|
# password_validity_days - int64 - Number of days to allow user to use the same password
|
|
856
884
|
# readonly_site_admin - boolean - Is the user an allowed to view all (non-billing) site configuration for this site?
|
|
857
885
|
# receive_admin_alerts - boolean - Should the user receive admin alerts such a certificate expiration notifications and overages?
|
|
@@ -977,6 +1005,12 @@ def update(id, params=None, options=None):
|
|
|
977
1005
|
)
|
|
978
1006
|
if "disabled" in params and not isinstance(params["disabled"], bool):
|
|
979
1007
|
raise InvalidParameterError("Bad parameter: disabled must be an bool")
|
|
1008
|
+
if "filesystem_layout" in params and not isinstance(
|
|
1009
|
+
params["filesystem_layout"], str
|
|
1010
|
+
):
|
|
1011
|
+
raise InvalidParameterError(
|
|
1012
|
+
"Bad parameter: filesystem_layout must be an str"
|
|
1013
|
+
)
|
|
980
1014
|
if "ftp_permission" in params and not isinstance(
|
|
981
1015
|
params["ftp_permission"], bool
|
|
982
1016
|
):
|
|
@@ -1007,6 +1041,8 @@ def update(id, params=None, options=None):
|
|
|
1007
1041
|
raise InvalidParameterError(
|
|
1008
1042
|
"Bad parameter: office_integration_enabled must be an bool"
|
|
1009
1043
|
)
|
|
1044
|
+
if "partner_id" in params and not isinstance(params["partner_id"], int):
|
|
1045
|
+
raise InvalidParameterError("Bad parameter: partner_id must be an int")
|
|
1010
1046
|
if "password_validity_days" in params and not isinstance(
|
|
1011
1047
|
params["password_validity_days"], int
|
|
1012
1048
|
):
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import unittest
|
|
2
|
+
import inspect
|
|
3
|
+
import files_sdk
|
|
4
|
+
from tests.base import TestBase
|
|
5
|
+
from files_sdk.models import Partner
|
|
6
|
+
from files_sdk import partner
|
|
7
|
+
|
|
8
|
+
class PartnerTest(TestBase):
|
|
9
|
+
pass
|
|
10
|
+
# Instance Methods
|
|
11
|
+
@unittest.skipUnless(TestBase.mock_server_path_exists("PATCH", "/partners/{id}"), "Mock path does not exist")
|
|
12
|
+
def test_update(self):
|
|
13
|
+
params = {
|
|
14
|
+
"id" : 12345,
|
|
15
|
+
}
|
|
16
|
+
partner = Partner(params)
|
|
17
|
+
partner.update(params)
|
|
18
|
+
|
|
19
|
+
@unittest.skipUnless(TestBase.mock_server_path_exists("DELETE", "/partners/{id}"), "Mock path does not exist")
|
|
20
|
+
def test_delete(self):
|
|
21
|
+
params = {
|
|
22
|
+
"id" : 12345,
|
|
23
|
+
}
|
|
24
|
+
partner = Partner(params)
|
|
25
|
+
partner.delete(params)
|
|
26
|
+
|
|
27
|
+
# Alias of delete
|
|
28
|
+
def test_destroy(self):
|
|
29
|
+
pass
|
|
30
|
+
|
|
31
|
+
# Static Methods
|
|
32
|
+
@unittest.skipUnless(TestBase.mock_server_path_exists("GET", "/partners"), "Mock path does not exist")
|
|
33
|
+
def test_list(self):
|
|
34
|
+
resp = partner.list()
|
|
35
|
+
|
|
36
|
+
@unittest.skipUnless(TestBase.mock_server_path_exists("GET", "/partners/{id}"), "Mock path does not exist")
|
|
37
|
+
def test_find(self):
|
|
38
|
+
id = 12345
|
|
39
|
+
params = {
|
|
40
|
+
"id" : 12345,
|
|
41
|
+
}
|
|
42
|
+
partner.find(id, params)
|
|
43
|
+
|
|
44
|
+
@unittest.skipUnless(TestBase.mock_server_path_exists("POST", "/partners"), "Mock path does not exist")
|
|
45
|
+
def test_create(self):
|
|
46
|
+
resp = partner.create()
|
|
47
|
+
|
|
48
|
+
@unittest.skipUnless(TestBase.mock_server_path_exists("PATCH", "/partners/{id}"), "Mock path does not exist")
|
|
49
|
+
def test_update(self):
|
|
50
|
+
id = 12345
|
|
51
|
+
params = {
|
|
52
|
+
"id" : 12345,
|
|
53
|
+
}
|
|
54
|
+
partner.update(id, params)
|
|
55
|
+
|
|
56
|
+
@unittest.skipUnless(TestBase.mock_server_path_exists("DELETE", "/partners/{id}"), "Mock path does not exist")
|
|
57
|
+
def test_delete(self):
|
|
58
|
+
id = 12345
|
|
59
|
+
params = {
|
|
60
|
+
"id" : 12345,
|
|
61
|
+
}
|
|
62
|
+
partner.delete(id, params)
|
|
63
|
+
|
|
64
|
+
if __name__ == '__main__':
|
|
65
|
+
unittest.main()
|
files_com-1.6.73/_VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1.6.73
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|