diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..172bf79
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,34 @@
+name: CI
+
+# Runs on PRs and pushes to the default branch. We use `pull_request` (never
+# `pull_request_target`), so secrets are NOT exposed to pull requests from forks.
+on:
+ pull_request:
+ push:
+ branches: [main, master]
+
+permissions:
+ contents: read
+
+concurrency:
+ group: ci-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: jiro4989/setup-nim-action@v2
+ with:
+ nim-version: 'stable'
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+ - name: Install dependencies
+ run: nimble install -dy
+ - name: Run unit tests
+ run: nim c -r tests/test_sso.nim
+ - name: Run integration tests
+ run: nim c -d:ssl -r tests/test_sso_integration.nim
+ env:
+ FASTCOMMENTS_API_KEY: ${{ secrets.FASTCOMMENTS_API_KEY }}
+ FASTCOMMENTS_TENANT_ID: ${{ secrets.FASTCOMMENTS_TENANT_ID }}
diff --git a/.gitignore b/.gitignore
index e3aab4f..cad6144 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,3 +22,4 @@ tests/test_sso_integration
# OpenAPI Generator metadata
.openapi-generator/
.openapi-generator-ignore
+openapi-generator-cli.jar
diff --git a/README.md b/README.md
index 108ec23..b0212f8 100644
--- a/README.md
+++ b/README.md
@@ -28,8 +28,10 @@ This library contains the generated API client and the SSO utilities to make wor
### Public vs Secured APIs
-For the API client, there are two API modules, `api_default` and `api_public`. The `api_default` contains methods that require your API key, and `api_public` contains api calls
-that can be made directly from a browser/mobile device/etc without authentication.
+For the API client, there are three API modules, `api_default`, `api_public`, and `api_moderation`. The `api_default` contains methods that require your API key, and `api_public` contains api calls
+that can be made directly from a browser/mobile device/etc without authentication. The `api_moderation` module contains methods for the moderator dashboard.
+
+The `api_moderation` methods cover listing, counting, searching, and exporting comments and their logs; moderation actions like removing/restoring comments, flagging, setting review/spam/approval status, adjusting votes, and reopening/closing threads; bans (banning a user from a comment, undoing a ban, pre-ban summaries, ban status and preferences, and banned-user counts); and badges & trust (awarding/removing a badge, listing manual badges, getting/setting a user's trust factor, and fetching a user's internal profile). Every `api_moderation` method accepts an `sso` parameter so the call is authenticated as an SSO moderator.
## Quick Start
@@ -122,10 +124,40 @@ if response.isSome:
echo "Found ", resp.comments.get().len, " comments"
```
+### Using Moderation APIs (ModerationAPI)
+
+Moderation endpoints power the moderator dashboard and are authenticated with an SSO token for the acting moderator:
+
+```nim
+import httpclient
+import fastcomments
+import fastcomments/apis/api_moderation
+
+let client = newHttpClient()
+
+# List comments in the moderation dashboard
+let (response, httpResponse) = getApiComments(
+ httpClient = client,
+ page = 0,
+ count = 30,
+ textSearch = "",
+ byIPFromComment = "",
+ filters = "",
+ searchFilters = "",
+ sorts = "",
+ demo = false,
+ sso = "your-sso-token"
+)
+
+if response.isSome:
+ let resp = response.get()
+ echo "Found ", resp.comments.len, " comments"
+```
+
### Common Issues
1. **401 authentication error**: Make sure you set the `x-api-key` header on your HttpClient before making DefaultAPI requests: `client.headers["x-api-key"] = "your-api-key"`
-2. **Wrong API class**: Use `api_default` for server-side authenticated requests, `api_public` for client-side/public requests.
+2. **Wrong API class**: Use `api_default` for server-side authenticated requests, `api_public` for client-side/public requests, and `api_moderation` for moderator dashboard requests.
## Making API Calls
diff --git a/client/README.md b/client/README.md
index fc81f21..bcaecc6 100644
--- a/client/README.md
+++ b/client/README.md
@@ -7,8 +7,8 @@ No description provided (generated by Openapi Generator https://github.com/opena
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://openapis.org) from a remote server, you can easily generate an API client.
- API version: 0.0.0
-- Package version: 1.1.0
- - Generator version: 7.19.0-SNAPSHOT
+- Package version: 1.1.1
+ - Generator version: 7.23.0-SNAPSHOT
- Build package: org.openapitools.codegen.languages.NimClientCodegen
## Installation
@@ -139,26 +139,86 @@ api_default | updateTenant | **PATCH** /api/v1/tenants/{id} |
api_default | updateTenantPackage | **PATCH** /api/v1/tenant-packages/{id} |
api_default | updateTenantUser | **PATCH** /api/v1/tenant-users/{id} |
api_default | updateUserBadge | **PUT** /api/v1/user-badges/{id} |
+api_moderation | deleteModerationVote | **DELETE** /auth/my-account/moderate-comments/vote/{commentId}/{voteId} |
+api_moderation | getApiComments | **GET** /auth/my-account/moderate-comments/api/comments |
+api_moderation | getApiExportStatus | **GET** /auth/my-account/moderate-comments/api/export/status |
+api_moderation | getApiIds | **GET** /auth/my-account/moderate-comments/api/ids |
+api_moderation | getBanUsersFromComment | **GET** /auth/my-account/moderate-comments/ban-users/from-comment/{commentId} |
+api_moderation | getCommentBanStatus | **GET** /auth/my-account/moderate-comments/get-comment-ban-status/{commentId} |
+api_moderation | getCommentChildren | **GET** /auth/my-account/moderate-comments/comment-children/{commentId} |
+api_moderation | getCount | **GET** /auth/my-account/moderate-comments/count |
+api_moderation | getCounts | **GET** /auth/my-account/moderate-comments/banned-users/counts |
+api_moderation | getLogs | **GET** /auth/my-account/moderate-comments/logs/{commentId} |
+api_moderation | getManualBadges | **GET** /auth/my-account/moderate-comments/get-manual-badges |
+api_moderation | getManualBadgesForUser | **GET** /auth/my-account/moderate-comments/get-manual-badges-for-user |
+api_moderation | getModerationComment | **GET** /auth/my-account/moderate-comments/comment/{commentId} |
+api_moderation | getModerationCommentText | **GET** /auth/my-account/moderate-comments/get-comment-text/{commentId} |
+api_moderation | getPreBanSummary | **GET** /auth/my-account/moderate-comments/pre-ban-summary/{commentId} |
+api_moderation | getSearchCommentsSummary | **GET** /auth/my-account/moderate-comments/search/comments/summary |
+api_moderation | getSearchPages | **GET** /auth/my-account/moderate-comments/search/pages |
+api_moderation | getSearchSites | **GET** /auth/my-account/moderate-comments/search/sites |
+api_moderation | getSearchSuggest | **GET** /auth/my-account/moderate-comments/search/suggest |
+api_moderation | getSearchUsers | **GET** /auth/my-account/moderate-comments/search/users |
+api_moderation | getTrustFactor | **GET** /auth/my-account/moderate-comments/get-trust-factor |
+api_moderation | getUserBanPreference | **GET** /auth/my-account/moderate-comments/user-ban-preference |
+api_moderation | getUserInternalProfile | **GET** /auth/my-account/moderate-comments/get-user-internal-profile |
+api_moderation | postAdjustCommentVotes | **POST** /auth/my-account/moderate-comments/adjust-comment-votes/{commentId} |
+api_moderation | postApiExport | **POST** /auth/my-account/moderate-comments/api/export |
+api_moderation | postBanUserFromComment | **POST** /auth/my-account/moderate-comments/ban-user/from-comment/{commentId} |
+api_moderation | postBanUserUndo | **POST** /auth/my-account/moderate-comments/ban-user/undo |
+api_moderation | postBulkPreBanSummary | **POST** /auth/my-account/moderate-comments/bulk-pre-ban-summary |
+api_moderation | postCommentsByIds | **POST** /auth/my-account/moderate-comments/comments-by-ids |
+api_moderation | postFlagComment | **POST** /auth/my-account/moderate-comments/flag-comment/{commentId} |
+api_moderation | postRemoveComment | **POST** /auth/my-account/moderate-comments/remove-comment/{commentId} |
+api_moderation | postRestoreDeletedComment | **POST** /auth/my-account/moderate-comments/restore-deleted-comment/{commentId} |
+api_moderation | postSetCommentApprovalStatus | **POST** /auth/my-account/moderate-comments/set-comment-approval-status/{commentId} |
+api_moderation | postSetCommentReviewStatus | **POST** /auth/my-account/moderate-comments/set-comment-review-status/{commentId} |
+api_moderation | postSetCommentSpamStatus | **POST** /auth/my-account/moderate-comments/set-comment-spam-status/{commentId} |
+api_moderation | postSetCommentText | **POST** /auth/my-account/moderate-comments/set-comment-text/{commentId} |
+api_moderation | postUnFlagComment | **POST** /auth/my-account/moderate-comments/un-flag-comment/{commentId} |
+api_moderation | postVote | **POST** /auth/my-account/moderate-comments/vote/{commentId} |
+api_moderation | putAwardBadge | **PUT** /auth/my-account/moderate-comments/award-badge |
+api_moderation | putCloseThread | **PUT** /auth/my-account/moderate-comments/close-thread |
+api_moderation | putRemoveBadge | **PUT** /auth/my-account/moderate-comments/remove-badge |
+api_moderation | putReopenThread | **PUT** /auth/my-account/moderate-comments/reopen-thread |
+api_moderation | setTrustFactor | **PUT** /auth/my-account/moderate-comments/set-trust-factor |
api_public | blockFromCommentPublic | **POST** /block-from-comment/{commentId} |
api_public | checkedCommentsForBlocked | **GET** /check-blocked-comments |
api_public | createCommentPublic | **POST** /comments/{tenantId} |
api_public | createFeedPostPublic | **POST** /feed-posts/{tenantId} |
+api_public | createV1PageReact | **POST** /page-reacts/v1/likes/{tenantId} |
+api_public | createV2PageReact | **POST** /page-reacts/v2/{tenantId} |
api_public | deleteCommentPublic | **DELETE** /comments/{tenantId}/{commentId} |
api_public | deleteCommentVote | **DELETE** /comments/{tenantId}/{commentId}/vote/{voteId} |
api_public | deleteFeedPostPublic | **DELETE** /feed-posts/{tenantId}/{postId} |
+api_public | deleteV1PageReact | **DELETE** /page-reacts/v1/likes/{tenantId} |
+api_public | deleteV2PageReact | **DELETE** /page-reacts/v2/{tenantId} |
api_public | flagCommentPublic | **POST** /flag-comment/{commentId} |
api_public | getCommentText | **GET** /comments/{tenantId}/{commentId}/text |
api_public | getCommentVoteUserNames | **GET** /comments/{tenantId}/{commentId}/votes |
+api_public | getCommentsForUser | **GET** /comments-for-user |
api_public | getCommentsPublic | **GET** /comments/{tenantId} |
api_public | getEventLog | **GET** /event-log/{tenantId} |
api_public | getFeedPostsPublic | **GET** /feed-posts/{tenantId} |
api_public | getFeedPostsStats | **GET** /feed-posts/{tenantId}/stats |
+api_public | getGifLarge | **GET** /gifs/get-large/{tenantId} |
+api_public | getGifsSearch | **GET** /gifs/search/{tenantId} |
+api_public | getGifsTrending | **GET** /gifs/trending/{tenantId} |
api_public | getGlobalEventLog | **GET** /event-log/global/{tenantId} |
+api_public | getOfflineUsers | **GET** /pages/{tenantId}/users/offline |
+api_public | getOnlineUsers | **GET** /pages/{tenantId}/users/online |
+api_public | getPagesPublic | **GET** /pages/{tenantId} |
+api_public | getTranslations | **GET** /translations/{namespace}/{component} |
api_public | getUserNotificationCount | **GET** /user-notifications/get-count |
api_public | getUserNotifications | **GET** /user-notifications |
api_public | getUserPresenceStatuses | **GET** /user-presence-status |
api_public | getUserReactsPublic | **GET** /feed-posts/{tenantId}/user-reacts |
+api_public | getUsersInfo | **GET** /pages/{tenantId}/users/info |
+api_public | getV1PageLikes | **GET** /page-reacts/v1/likes/{tenantId} |
+api_public | getV2PageReactUsers | **GET** /page-reacts/v2/{tenantId}/list |
+api_public | getV2PageReacts | **GET** /page-reacts/v2/{tenantId} |
api_public | lockComment | **POST** /comments/{tenantId}/{commentId}/lock |
+api_public | logoutPublic | **PUT** /auth/logout |
api_public | pinComment | **POST** /comments/{tenantId}/{commentId}/pin |
api_public | reactFeedPostPublic | **POST** /feed-posts/{tenantId}/react/{postId} |
api_public | resetUserNotificationCount | **POST** /user-notifications/reset-count |
diff --git a/client/fastcomments.nim b/client/fastcomments.nim
index c1c700f..cb782f5 100644
--- a/client/fastcomments.nim
+++ b/client/fastcomments.nim
@@ -9,9 +9,14 @@
# Models
import fastcomments/models/model_api_audit_log
+import fastcomments/models/model_api_ban_user_change_log
+import fastcomments/models/model_api_ban_user_changed_values
+import fastcomments/models/model_api_banned_user
+import fastcomments/models/model_api_banned_user_with_multi_match_info
import fastcomments/models/model_api_comment
import fastcomments/models/model_api_comment_base
import fastcomments/models/model_api_comment_base_meta
+import fastcomments/models/model_api_comment_common_banned_user
import fastcomments/models/model_api_create_user_badge_response
import fastcomments/models/model_api_domain_configuration
import fastcomments/models/model_api_empty_response
@@ -23,8 +28,11 @@ import fastcomments/models/model_api_get_user_badge_progress_list_response
import fastcomments/models/model_api_get_user_badge_progress_response
import fastcomments/models/model_api_get_user_badge_response
import fastcomments/models/model_api_get_user_badges_response
+import fastcomments/models/model_api_moderate_get_user_ban_preferences_response
+import fastcomments/models/model_api_moderate_user_ban_preferences
import fastcomments/models/model_api_page
import fastcomments/models/model_apisso_user
+import fastcomments/models/model_api_save_comment_response
import fastcomments/models/model_api_status
import fastcomments/models/model_api_tenant
import fastcomments/models/model_api_tenant_daily_usage
@@ -32,16 +40,17 @@ import fastcomments/models/model_api_ticket
import fastcomments/models/model_api_ticket_detail
import fastcomments/models/model_api_ticket_file
import fastcomments/models/model_api_user_subscription
-import fastcomments/models/model_add_domain_config200response
-import fastcomments/models/model_add_domain_config200response_any_of
import fastcomments/models/model_add_domain_config_params
-import fastcomments/models/model_add_hash_tag200response
-import fastcomments/models/model_add_hash_tags_bulk200response
+import fastcomments/models/model_add_domain_config_response
+import fastcomments/models/model_add_domain_config_response_any_of
import fastcomments/models/model_add_page_api_response
import fastcomments/models/model_add_sso_user_api_response
-import fastcomments/models/model_aggregate_question_results200response
+import fastcomments/models/model_adjust_comment_votes_params
+import fastcomments/models/model_adjust_votes_response
import fastcomments/models/model_aggregate_question_results_response
+import fastcomments/models/model_aggregate_response
import fastcomments/models/model_aggregate_time_bucket
+import fastcomments/models/model_aggregation_api_error
import fastcomments/models/model_aggregation_item
import fastcomments/models/model_aggregation_op_type
import fastcomments/models/model_aggregation_operation
@@ -50,24 +59,30 @@ import fastcomments/models/model_aggregation_request_sort
import fastcomments/models/model_aggregation_response
import fastcomments/models/model_aggregation_response_stats
import fastcomments/models/model_aggregation_value
+import fastcomments/models/model_award_user_badge_response
+import fastcomments/models/model_ban_user_from_comment_result
+import fastcomments/models/model_ban_user_undo_params
+import fastcomments/models/model_banned_user_match
+import fastcomments/models/model_banned_user_match_matched_on_value
+import fastcomments/models/model_banned_user_match_type
import fastcomments/models/model_billing_info
import fastcomments/models/model_block_from_comment_params
-import fastcomments/models/model_block_from_comment_public200response
import fastcomments/models/model_block_success
+import fastcomments/models/model_build_moderation_filter_params
+import fastcomments/models/model_build_moderation_filter_response
import fastcomments/models/model_bulk_aggregate_question_item
-import fastcomments/models/model_bulk_aggregate_question_results200response
import fastcomments/models/model_bulk_aggregate_question_results_request
import fastcomments/models/model_bulk_aggregate_question_results_response
import fastcomments/models/model_bulk_create_hash_tags_body
import fastcomments/models/model_bulk_create_hash_tags_body_tags_inner
import fastcomments/models/model_bulk_create_hash_tags_response
+import fastcomments/models/model_bulk_create_hash_tags_response_results_inner
+import fastcomments/models/model_bulk_pre_ban_params
+import fastcomments/models/model_bulk_pre_ban_summary
import fastcomments/models/model_change_comment_pin_status_response
-import fastcomments/models/model_change_ticket_state200response
import fastcomments/models/model_change_ticket_state_body
import fastcomments/models/model_change_ticket_state_response
import fastcomments/models/model_check_blocked_comments_response
-import fastcomments/models/model_checked_comments_for_blocked200response
-import fastcomments/models/model_combine_comments_with_question_results200response
import fastcomments/models/model_combine_question_results_with_comments_response
import fastcomments/models/model_comment_data
import fastcomments/models/model_comment_html_rendering_mode
@@ -82,56 +97,42 @@ import fastcomments/models/model_comment_user_badge_info
import fastcomments/models/model_comment_user_hash_tag_info
import fastcomments/models/model_comment_user_mention_info
import fastcomments/models/model_commenter_name_formats
+import fastcomments/models/model_comments_by_ids_params
import fastcomments/models/model_create_api_page_data
import fastcomments/models/model_create_apisso_user_data
import fastcomments/models/model_create_api_user_subscription_data
import fastcomments/models/model_create_comment_params
-import fastcomments/models/model_create_comment_public200response
-import fastcomments/models/model_create_email_template200response
import fastcomments/models/model_create_email_template_body
import fastcomments/models/model_create_email_template_response
-import fastcomments/models/model_create_feed_post200response
import fastcomments/models/model_create_feed_post_params
-import fastcomments/models/model_create_feed_post_public200response
import fastcomments/models/model_create_feed_post_response
import fastcomments/models/model_create_feed_posts_response
import fastcomments/models/model_create_hash_tag_body
import fastcomments/models/model_create_hash_tag_response
-import fastcomments/models/model_create_moderator200response
import fastcomments/models/model_create_moderator_body
import fastcomments/models/model_create_moderator_response
-import fastcomments/models/model_create_question_config200response
import fastcomments/models/model_create_question_config_body
import fastcomments/models/model_create_question_config_response
-import fastcomments/models/model_create_question_result200response
import fastcomments/models/model_create_question_result_body
import fastcomments/models/model_create_question_result_response
import fastcomments/models/model_create_subscription_api_response
-import fastcomments/models/model_create_tenant200response
import fastcomments/models/model_create_tenant_body
-import fastcomments/models/model_create_tenant_package200response
import fastcomments/models/model_create_tenant_package_body
import fastcomments/models/model_create_tenant_package_response
import fastcomments/models/model_create_tenant_response
-import fastcomments/models/model_create_tenant_user200response
import fastcomments/models/model_create_tenant_user_body
import fastcomments/models/model_create_tenant_user_response
-import fastcomments/models/model_create_ticket200response
import fastcomments/models/model_create_ticket_body
import fastcomments/models/model_create_ticket_response
-import fastcomments/models/model_create_user_badge200response
import fastcomments/models/model_create_user_badge_params
+import fastcomments/models/model_create_v1_page_react
import fastcomments/models/model_custom_config_parameters
import fastcomments/models/model_custom_email_template
-import fastcomments/models/model_delete_comment200response
import fastcomments/models/model_delete_comment_action
-import fastcomments/models/model_delete_comment_public200response
import fastcomments/models/model_delete_comment_result
-import fastcomments/models/model_delete_comment_vote200response
-import fastcomments/models/model_delete_domain_config200response
-import fastcomments/models/model_delete_feed_post_public200response
-import fastcomments/models/model_delete_feed_post_public200response_any_of
-import fastcomments/models/model_delete_hash_tag_request
+import fastcomments/models/model_delete_domain_config_response
+import fastcomments/models/model_delete_feed_post_public_response
+import fastcomments/models/model_delete_hash_tag_request_body
import fastcomments/models/model_delete_page_api_response
import fastcomments/models/model_delete_sso_user_api_response
import fastcomments/models/model_delete_subscription_api_response
@@ -150,126 +151,124 @@ import fastcomments/models/model_feed_post_stats
import fastcomments/models/model_feed_posts_stats_response
import fastcomments/models/model_find_comments_by_range_item
import fastcomments/models/model_find_comments_by_range_response
-import fastcomments/models/model_flag_comment200response
-import fastcomments/models/model_flag_comment_public200response
import fastcomments/models/model_flag_comment_response
-import fastcomments/models/model_get_audit_logs200response
import fastcomments/models/model_get_audit_logs_response
-import fastcomments/models/model_get_cached_notification_count200response
+import fastcomments/models/model_get_banned_users_count_response
+import fastcomments/models/model_get_banned_users_from_comment_response
import fastcomments/models/model_get_cached_notification_count_response
-import fastcomments/models/model_get_comment200response
-import fastcomments/models/model_get_comment_text200response
-import fastcomments/models/model_get_comment_vote_user_names200response
+import fastcomments/models/model_get_comment_ban_status_response
+import fastcomments/models/model_get_comment_text_response
import fastcomments/models/model_get_comment_vote_user_names_success_response
-import fastcomments/models/model_get_comments200response
-import fastcomments/models/model_get_comments_public200response
+import fastcomments/models/model_get_comments_for_user_response
import fastcomments/models/model_get_comments_response_public_comment
import fastcomments/models/model_get_comments_response_with_presence_public_comment
-import fastcomments/models/model_get_domain_config200response
-import fastcomments/models/model_get_domain_configs200response
-import fastcomments/models/model_get_domain_configs200response_any_of
-import fastcomments/models/model_get_domain_configs200response_any_of1
-import fastcomments/models/model_get_email_template200response
-import fastcomments/models/model_get_email_template_definitions200response
+import fastcomments/models/model_get_domain_config_response
+import fastcomments/models/model_get_domain_configs_response
+import fastcomments/models/model_get_domain_configs_response_any_of
+import fastcomments/models/model_get_domain_configs_response_any_of1
import fastcomments/models/model_get_email_template_definitions_response
-import fastcomments/models/model_get_email_template_render_errors200response
import fastcomments/models/model_get_email_template_render_errors_response
import fastcomments/models/model_get_email_template_response
-import fastcomments/models/model_get_email_templates200response
import fastcomments/models/model_get_email_templates_response
-import fastcomments/models/model_get_event_log200response
import fastcomments/models/model_get_event_log_response
-import fastcomments/models/model_get_feed_posts200response
-import fastcomments/models/model_get_feed_posts_public200response
import fastcomments/models/model_get_feed_posts_response
-import fastcomments/models/model_get_feed_posts_stats200response
-import fastcomments/models/model_get_hash_tags200response
+import fastcomments/models/model_get_gifs_search_response
+import fastcomments/models/model_get_gifs_trending_response
import fastcomments/models/model_get_hash_tags_response
-import fastcomments/models/model_get_moderator200response
import fastcomments/models/model_get_moderator_response
-import fastcomments/models/model_get_moderators200response
import fastcomments/models/model_get_moderators_response
import fastcomments/models/model_get_my_notifications_response
-import fastcomments/models/model_get_notification_count200response
import fastcomments/models/model_get_notification_count_response
-import fastcomments/models/model_get_notifications200response
import fastcomments/models/model_get_notifications_response
import fastcomments/models/model_get_page_by_urlid_api_response
import fastcomments/models/model_get_pages_api_response
-import fastcomments/models/model_get_pending_webhook_event_count200response
import fastcomments/models/model_get_pending_webhook_event_count_response
-import fastcomments/models/model_get_pending_webhook_events200response
import fastcomments/models/model_get_pending_webhook_events_response
import fastcomments/models/model_get_public_feed_posts_response
-import fastcomments/models/model_get_question_config200response
+import fastcomments/models/model_get_public_pages_response
import fastcomments/models/model_get_question_config_response
-import fastcomments/models/model_get_question_configs200response
import fastcomments/models/model_get_question_configs_response
-import fastcomments/models/model_get_question_result200response
import fastcomments/models/model_get_question_result_response
-import fastcomments/models/model_get_question_results200response
import fastcomments/models/model_get_question_results_response
import fastcomments/models/model_get_sso_user_by_email_api_response
import fastcomments/models/model_get_sso_user_by_id_api_response
-import fastcomments/models/model_get_sso_users200response
+import fastcomments/models/model_get_sso_users_response
import fastcomments/models/model_get_subscriptions_api_response
-import fastcomments/models/model_get_tenant200response
-import fastcomments/models/model_get_tenant_daily_usages200response
import fastcomments/models/model_get_tenant_daily_usages_response
-import fastcomments/models/model_get_tenant_package200response
+import fastcomments/models/model_get_tenant_manual_badges_response
import fastcomments/models/model_get_tenant_package_response
-import fastcomments/models/model_get_tenant_packages200response
import fastcomments/models/model_get_tenant_packages_response
import fastcomments/models/model_get_tenant_response
-import fastcomments/models/model_get_tenant_user200response
import fastcomments/models/model_get_tenant_user_response
-import fastcomments/models/model_get_tenant_users200response
import fastcomments/models/model_get_tenant_users_response
-import fastcomments/models/model_get_tenants200response
import fastcomments/models/model_get_tenants_response
-import fastcomments/models/model_get_ticket200response
import fastcomments/models/model_get_ticket_response
-import fastcomments/models/model_get_tickets200response
import fastcomments/models/model_get_tickets_response
-import fastcomments/models/model_get_user200response
-import fastcomments/models/model_get_user_badge200response
-import fastcomments/models/model_get_user_badge_progress_by_id200response
-import fastcomments/models/model_get_user_badge_progress_list200response
-import fastcomments/models/model_get_user_badges200response
-import fastcomments/models/model_get_user_notification_count200response
+import fastcomments/models/model_get_translations_response
+import fastcomments/models/model_get_user_internal_profile_response
+import fastcomments/models/model_get_user_internal_profile_response_profile
+import fastcomments/models/model_get_user_manual_badges_response
import fastcomments/models/model_get_user_notification_count_response
-import fastcomments/models/model_get_user_notifications200response
-import fastcomments/models/model_get_user_presence_statuses200response
import fastcomments/models/model_get_user_presence_statuses_response
-import fastcomments/models/model_get_user_reacts_public200response
import fastcomments/models/model_get_user_response
-import fastcomments/models/model_get_votes200response
-import fastcomments/models/model_get_votes_for_user200response
+import fastcomments/models/model_get_user_trust_factor_response
+import fastcomments/models/model_get_v1_page_likes
+import fastcomments/models/model_get_v2_page_react_users_response
+import fastcomments/models/model_get_v2_page_reacts
import fastcomments/models/model_get_votes_for_user_response
import fastcomments/models/model_get_votes_response
+import fastcomments/models/model_gif_get_large_response
import fastcomments/models/model_gif_rating
+import fastcomments/models/model_gif_search_internal_error
+import fastcomments/models/model_gif_search_response
+import fastcomments/models/model_gif_search_response_images_inner_inner
import fastcomments/models/model_header_account_notification
import fastcomments/models/model_header_state
import fastcomments/models/model_ignored_response
import fastcomments/models/model_image_content_profanity_level
+import fastcomments/models/model_imported_agent_approval_notification_frequency
import fastcomments/models/model_imported_site_type
import fastcomments/models/model_live_event
import fastcomments/models/model_live_event_extra_info
import fastcomments/models/model_live_event_type
-import fastcomments/models/model_lock_comment200response
import fastcomments/models/model_media_asset
import fastcomments/models/model_mention_auto_complete_mode
import fastcomments/models/model_meta_item
+import fastcomments/models/model_moderation_api_child_comments_response
+import fastcomments/models/model_moderation_api_comment
+import fastcomments/models/model_moderation_api_comment_log
+import fastcomments/models/model_moderation_api_comment_response
+import fastcomments/models/model_moderation_api_count_comments_response
+import fastcomments/models/model_moderation_api_get_comment_ids_response
+import fastcomments/models/model_moderation_api_get_comments_response
+import fastcomments/models/model_moderation_api_get_logs_response
+import fastcomments/models/model_moderation_comment_search_response
+import fastcomments/models/model_moderation_export_response
+import fastcomments/models/model_moderation_export_status_response
+import fastcomments/models/model_moderation_filter
+import fastcomments/models/model_moderation_page_search_projected
+import fastcomments/models/model_moderation_page_search_response
+import fastcomments/models/model_moderation_site_search_projected
+import fastcomments/models/model_moderation_site_search_response
+import fastcomments/models/model_moderation_suggest_response
+import fastcomments/models/model_moderation_user_search_projected
+import fastcomments/models/model_moderation_user_search_response
import fastcomments/models/model_moderator
import fastcomments/models/model_notification_and_count
import fastcomments/models/model_notification_object_type
import fastcomments/models/model_notification_type
+import fastcomments/models/model_page_user_entry
+import fastcomments/models/model_page_users_info_response
+import fastcomments/models/model_page_users_offline_response
+import fastcomments/models/model_page_users_online_response
+import fastcomments/models/model_pages_sort_by
import fastcomments/models/model_patch_domain_config_params
-import fastcomments/models/model_patch_hash_tag200response
+import fastcomments/models/model_patch_domain_config_response
import fastcomments/models/model_patch_page_api_response
import fastcomments/models/model_patch_sso_user_api_response
import fastcomments/models/model_pending_comment_to_sync_outbound
-import fastcomments/models/model_pin_comment200response
+import fastcomments/models/model_post_remove_comment_response
+import fastcomments/models/model_pre_ban_summary
import fastcomments/models/model_pub_sub_comment
import fastcomments/models/model_pub_sub_comment_base
import fastcomments/models/model_pub_sub_vote
@@ -280,7 +279,9 @@ import fastcomments/models/model_public_block_from_comment_params
import fastcomments/models/model_public_comment
import fastcomments/models/model_public_comment_base
import fastcomments/models/model_public_feed_posts_response
+import fastcomments/models/model_public_page
import fastcomments/models/model_public_vote
+import fastcomments/models/model_put_domain_config_response
import fastcomments/models/model_put_sso_user_api_response
import fastcomments/models/model_query_predicate
import fastcomments/models/model_query_predicate_value
@@ -293,11 +294,10 @@ import fastcomments/models/model_question_result_aggregation_overall
import fastcomments/models/model_question_sub_question_visibility
import fastcomments/models/model_question_when_save
import fastcomments/models/model_react_body_params
-import fastcomments/models/model_react_feed_post_public200response
import fastcomments/models/model_react_feed_post_response
import fastcomments/models/model_record_string_before_string_or_null_after_string_or_null_value
-import fastcomments/models/model_record_string_string_or_number_value
-import fastcomments/models/model_render_email_template200response
+import fastcomments/models/model_remove_comment_action_response
+import fastcomments/models/model_remove_user_badge_response
import fastcomments/models/model_render_email_template_body
import fastcomments/models/model_render_email_template_response
import fastcomments/models/model_renderable_user_notification
@@ -305,26 +305,27 @@ import fastcomments/models/model_repeat_comment_check_ignored_reason
import fastcomments/models/model_repeat_comment_handling_action
import fastcomments/models/model_replace_tenant_package_body
import fastcomments/models/model_replace_tenant_user_body
-import fastcomments/models/model_reset_user_notifications200response
import fastcomments/models/model_reset_user_notifications_response
import fastcomments/models/model_sort_dir
import fastcomments/models/model_sso_security_level
-import fastcomments/models/model_save_comment200response
-import fastcomments/models/model_save_comment_response
import fastcomments/models/model_save_comment_response_optimized
+import fastcomments/models/model_save_comments_bulk_response
import fastcomments/models/model_save_comments_response_with_presence
-import fastcomments/models/model_search_users200response
import fastcomments/models/model_search_users_response
+import fastcomments/models/model_search_users_result
import fastcomments/models/model_search_users_sectioned_response
-import fastcomments/models/model_set_comment_text200response
+import fastcomments/models/model_set_comment_approved_response
+import fastcomments/models/model_set_comment_text_params
+import fastcomments/models/model_set_comment_text_response
import fastcomments/models/model_set_comment_text_result
+import fastcomments/models/model_set_user_trust_factor_response
import fastcomments/models/model_size_preset
import fastcomments/models/model_sort_directions
import fastcomments/models/model_spam_rule
import fastcomments/models/model_tos_config
+import fastcomments/models/model_tenant_badge
import fastcomments/models/model_tenant_hash_tag
import fastcomments/models/model_tenant_package
-import fastcomments/models/model_un_block_comment_public200response
import fastcomments/models/model_un_block_from_comment_params
import fastcomments/models/model_unblock_success
import fastcomments/models/model_updatable_comment_params
@@ -344,9 +345,10 @@ import fastcomments/models/model_update_subscription_api_response
import fastcomments/models/model_update_tenant_body
import fastcomments/models/model_update_tenant_package_body
import fastcomments/models/model_update_tenant_user_body
-import fastcomments/models/model_update_user_badge200response
import fastcomments/models/model_update_user_badge_params
-import fastcomments/models/model_update_user_notification_status200response
+import fastcomments/models/model_update_user_notification_comment_subscription_status_response
+import fastcomments/models/model_update_user_notification_page_subscription_status_response
+import fastcomments/models/model_update_user_notification_status_response
import fastcomments/models/model_upload_image_response
import fastcomments/models/model_user
import fastcomments/models/model_user_badge
@@ -360,17 +362,22 @@ import fastcomments/models/model_user_search_result
import fastcomments/models/model_user_search_section
import fastcomments/models/model_user_search_section_result
import fastcomments/models/model_user_session_info
+import fastcomments/models/model_users_list_location
import fastcomments/models/model_vote_body_params
-import fastcomments/models/model_vote_comment200response
import fastcomments/models/model_vote_delete_response
import fastcomments/models/model_vote_response
import fastcomments/models/model_vote_response_user
import fastcomments/models/model_vote_style
export model_api_audit_log
+export model_api_ban_user_change_log
+export model_api_ban_user_changed_values
+export model_api_banned_user
+export model_api_banned_user_with_multi_match_info
export model_api_comment
export model_api_comment_base
export model_api_comment_base_meta
+export model_api_comment_common_banned_user
export model_api_create_user_badge_response
export model_api_domain_configuration
export model_api_empty_response
@@ -382,8 +389,11 @@ export model_api_get_user_badge_progress_list_response
export model_api_get_user_badge_progress_response
export model_api_get_user_badge_response
export model_api_get_user_badges_response
+export model_api_moderate_get_user_ban_preferences_response
+export model_api_moderate_user_ban_preferences
export model_api_page
export model_apisso_user
+export model_api_save_comment_response
export model_api_status
export model_api_tenant
export model_api_tenant_daily_usage
@@ -391,16 +401,17 @@ export model_api_ticket
export model_api_ticket_detail
export model_api_ticket_file
export model_api_user_subscription
-export model_add_domain_config200response
-export model_add_domain_config200response_any_of
export model_add_domain_config_params
-export model_add_hash_tag200response
-export model_add_hash_tags_bulk200response
+export model_add_domain_config_response
+export model_add_domain_config_response_any_of
export model_add_page_api_response
export model_add_sso_user_api_response
-export model_aggregate_question_results200response
+export model_adjust_comment_votes_params
+export model_adjust_votes_response
export model_aggregate_question_results_response
+export model_aggregate_response
export model_aggregate_time_bucket
+export model_aggregation_api_error
export model_aggregation_item
export model_aggregation_op_type
export model_aggregation_operation
@@ -409,24 +420,30 @@ export model_aggregation_request_sort
export model_aggregation_response
export model_aggregation_response_stats
export model_aggregation_value
+export model_award_user_badge_response
+export model_ban_user_from_comment_result
+export model_ban_user_undo_params
+export model_banned_user_match
+export model_banned_user_match_matched_on_value
+export model_banned_user_match_type
export model_billing_info
export model_block_from_comment_params
-export model_block_from_comment_public200response
export model_block_success
+export model_build_moderation_filter_params
+export model_build_moderation_filter_response
export model_bulk_aggregate_question_item
-export model_bulk_aggregate_question_results200response
export model_bulk_aggregate_question_results_request
export model_bulk_aggregate_question_results_response
export model_bulk_create_hash_tags_body
export model_bulk_create_hash_tags_body_tags_inner
export model_bulk_create_hash_tags_response
+export model_bulk_create_hash_tags_response_results_inner
+export model_bulk_pre_ban_params
+export model_bulk_pre_ban_summary
export model_change_comment_pin_status_response
-export model_change_ticket_state200response
export model_change_ticket_state_body
export model_change_ticket_state_response
export model_check_blocked_comments_response
-export model_checked_comments_for_blocked200response
-export model_combine_comments_with_question_results200response
export model_combine_question_results_with_comments_response
export model_comment_data
export model_comment_html_rendering_mode
@@ -441,56 +458,42 @@ export model_comment_user_badge_info
export model_comment_user_hash_tag_info
export model_comment_user_mention_info
export model_commenter_name_formats
+export model_comments_by_ids_params
export model_create_api_page_data
export model_create_apisso_user_data
export model_create_api_user_subscription_data
export model_create_comment_params
-export model_create_comment_public200response
-export model_create_email_template200response
export model_create_email_template_body
export model_create_email_template_response
-export model_create_feed_post200response
export model_create_feed_post_params
-export model_create_feed_post_public200response
export model_create_feed_post_response
export model_create_feed_posts_response
export model_create_hash_tag_body
export model_create_hash_tag_response
-export model_create_moderator200response
export model_create_moderator_body
export model_create_moderator_response
-export model_create_question_config200response
export model_create_question_config_body
export model_create_question_config_response
-export model_create_question_result200response
export model_create_question_result_body
export model_create_question_result_response
export model_create_subscription_api_response
-export model_create_tenant200response
export model_create_tenant_body
-export model_create_tenant_package200response
export model_create_tenant_package_body
export model_create_tenant_package_response
export model_create_tenant_response
-export model_create_tenant_user200response
export model_create_tenant_user_body
export model_create_tenant_user_response
-export model_create_ticket200response
export model_create_ticket_body
export model_create_ticket_response
-export model_create_user_badge200response
export model_create_user_badge_params
+export model_create_v1_page_react
export model_custom_config_parameters
export model_custom_email_template
-export model_delete_comment200response
export model_delete_comment_action
-export model_delete_comment_public200response
export model_delete_comment_result
-export model_delete_comment_vote200response
-export model_delete_domain_config200response
-export model_delete_feed_post_public200response
-export model_delete_feed_post_public200response_any_of
-export model_delete_hash_tag_request
+export model_delete_domain_config_response
+export model_delete_feed_post_public_response
+export model_delete_hash_tag_request_body
export model_delete_page_api_response
export model_delete_sso_user_api_response
export model_delete_subscription_api_response
@@ -509,126 +512,124 @@ export model_feed_post_stats
export model_feed_posts_stats_response
export model_find_comments_by_range_item
export model_find_comments_by_range_response
-export model_flag_comment200response
-export model_flag_comment_public200response
export model_flag_comment_response
-export model_get_audit_logs200response
export model_get_audit_logs_response
-export model_get_cached_notification_count200response
+export model_get_banned_users_count_response
+export model_get_banned_users_from_comment_response
export model_get_cached_notification_count_response
-export model_get_comment200response
-export model_get_comment_text200response
-export model_get_comment_vote_user_names200response
+export model_get_comment_ban_status_response
+export model_get_comment_text_response
export model_get_comment_vote_user_names_success_response
-export model_get_comments200response
-export model_get_comments_public200response
+export model_get_comments_for_user_response
export model_get_comments_response_public_comment
export model_get_comments_response_with_presence_public_comment
-export model_get_domain_config200response
-export model_get_domain_configs200response
-export model_get_domain_configs200response_any_of
-export model_get_domain_configs200response_any_of1
-export model_get_email_template200response
-export model_get_email_template_definitions200response
+export model_get_domain_config_response
+export model_get_domain_configs_response
+export model_get_domain_configs_response_any_of
+export model_get_domain_configs_response_any_of1
export model_get_email_template_definitions_response
-export model_get_email_template_render_errors200response
export model_get_email_template_render_errors_response
export model_get_email_template_response
-export model_get_email_templates200response
export model_get_email_templates_response
-export model_get_event_log200response
export model_get_event_log_response
-export model_get_feed_posts200response
-export model_get_feed_posts_public200response
export model_get_feed_posts_response
-export model_get_feed_posts_stats200response
-export model_get_hash_tags200response
+export model_get_gifs_search_response
+export model_get_gifs_trending_response
export model_get_hash_tags_response
-export model_get_moderator200response
export model_get_moderator_response
-export model_get_moderators200response
export model_get_moderators_response
export model_get_my_notifications_response
-export model_get_notification_count200response
export model_get_notification_count_response
-export model_get_notifications200response
export model_get_notifications_response
export model_get_page_by_urlid_api_response
export model_get_pages_api_response
-export model_get_pending_webhook_event_count200response
export model_get_pending_webhook_event_count_response
-export model_get_pending_webhook_events200response
export model_get_pending_webhook_events_response
export model_get_public_feed_posts_response
-export model_get_question_config200response
+export model_get_public_pages_response
export model_get_question_config_response
-export model_get_question_configs200response
export model_get_question_configs_response
-export model_get_question_result200response
export model_get_question_result_response
-export model_get_question_results200response
export model_get_question_results_response
export model_get_sso_user_by_email_api_response
export model_get_sso_user_by_id_api_response
-export model_get_sso_users200response
+export model_get_sso_users_response
export model_get_subscriptions_api_response
-export model_get_tenant200response
-export model_get_tenant_daily_usages200response
export model_get_tenant_daily_usages_response
-export model_get_tenant_package200response
+export model_get_tenant_manual_badges_response
export model_get_tenant_package_response
-export model_get_tenant_packages200response
export model_get_tenant_packages_response
export model_get_tenant_response
-export model_get_tenant_user200response
export model_get_tenant_user_response
-export model_get_tenant_users200response
export model_get_tenant_users_response
-export model_get_tenants200response
export model_get_tenants_response
-export model_get_ticket200response
export model_get_ticket_response
-export model_get_tickets200response
export model_get_tickets_response
-export model_get_user200response
-export model_get_user_badge200response
-export model_get_user_badge_progress_by_id200response
-export model_get_user_badge_progress_list200response
-export model_get_user_badges200response
-export model_get_user_notification_count200response
+export model_get_translations_response
+export model_get_user_internal_profile_response
+export model_get_user_internal_profile_response_profile
+export model_get_user_manual_badges_response
export model_get_user_notification_count_response
-export model_get_user_notifications200response
-export model_get_user_presence_statuses200response
export model_get_user_presence_statuses_response
-export model_get_user_reacts_public200response
export model_get_user_response
-export model_get_votes200response
-export model_get_votes_for_user200response
+export model_get_user_trust_factor_response
+export model_get_v1_page_likes
+export model_get_v2_page_react_users_response
+export model_get_v2_page_reacts
export model_get_votes_for_user_response
export model_get_votes_response
+export model_gif_get_large_response
export model_gif_rating
+export model_gif_search_internal_error
+export model_gif_search_response
+export model_gif_search_response_images_inner_inner
export model_header_account_notification
export model_header_state
export model_ignored_response
export model_image_content_profanity_level
+export model_imported_agent_approval_notification_frequency
export model_imported_site_type
export model_live_event
export model_live_event_extra_info
export model_live_event_type
-export model_lock_comment200response
export model_media_asset
export model_mention_auto_complete_mode
export model_meta_item
+export model_moderation_api_child_comments_response
+export model_moderation_api_comment
+export model_moderation_api_comment_log
+export model_moderation_api_comment_response
+export model_moderation_api_count_comments_response
+export model_moderation_api_get_comment_ids_response
+export model_moderation_api_get_comments_response
+export model_moderation_api_get_logs_response
+export model_moderation_comment_search_response
+export model_moderation_export_response
+export model_moderation_export_status_response
+export model_moderation_filter
+export model_moderation_page_search_projected
+export model_moderation_page_search_response
+export model_moderation_site_search_projected
+export model_moderation_site_search_response
+export model_moderation_suggest_response
+export model_moderation_user_search_projected
+export model_moderation_user_search_response
export model_moderator
export model_notification_and_count
export model_notification_object_type
export model_notification_type
+export model_page_user_entry
+export model_page_users_info_response
+export model_page_users_offline_response
+export model_page_users_online_response
+export model_pages_sort_by
export model_patch_domain_config_params
-export model_patch_hash_tag200response
+export model_patch_domain_config_response
export model_patch_page_api_response
export model_patch_sso_user_api_response
export model_pending_comment_to_sync_outbound
-export model_pin_comment200response
+export model_post_remove_comment_response
+export model_pre_ban_summary
export model_pub_sub_comment
export model_pub_sub_comment_base
export model_pub_sub_vote
@@ -639,7 +640,9 @@ export model_public_block_from_comment_params
export model_public_comment
export model_public_comment_base
export model_public_feed_posts_response
+export model_public_page
export model_public_vote
+export model_put_domain_config_response
export model_put_sso_user_api_response
export model_query_predicate
export model_query_predicate_value
@@ -652,11 +655,10 @@ export model_question_result_aggregation_overall
export model_question_sub_question_visibility
export model_question_when_save
export model_react_body_params
-export model_react_feed_post_public200response
export model_react_feed_post_response
export model_record_string_before_string_or_null_after_string_or_null_value
-export model_record_string_string_or_number_value
-export model_render_email_template200response
+export model_remove_comment_action_response
+export model_remove_user_badge_response
export model_render_email_template_body
export model_render_email_template_response
export model_renderable_user_notification
@@ -664,26 +666,27 @@ export model_repeat_comment_check_ignored_reason
export model_repeat_comment_handling_action
export model_replace_tenant_package_body
export model_replace_tenant_user_body
-export model_reset_user_notifications200response
export model_reset_user_notifications_response
export model_sort_dir
export model_sso_security_level
-export model_save_comment200response
-export model_save_comment_response
export model_save_comment_response_optimized
+export model_save_comments_bulk_response
export model_save_comments_response_with_presence
-export model_search_users200response
export model_search_users_response
+export model_search_users_result
export model_search_users_sectioned_response
-export model_set_comment_text200response
+export model_set_comment_approved_response
+export model_set_comment_text_params
+export model_set_comment_text_response
export model_set_comment_text_result
+export model_set_user_trust_factor_response
export model_size_preset
export model_sort_directions
export model_spam_rule
export model_tos_config
+export model_tenant_badge
export model_tenant_hash_tag
export model_tenant_package
-export model_un_block_comment_public200response
export model_un_block_from_comment_params
export model_unblock_success
export model_updatable_comment_params
@@ -703,9 +706,10 @@ export model_update_subscription_api_response
export model_update_tenant_body
export model_update_tenant_package_body
export model_update_tenant_user_body
-export model_update_user_badge200response
export model_update_user_badge_params
-export model_update_user_notification_status200response
+export model_update_user_notification_comment_subscription_status_response
+export model_update_user_notification_page_subscription_status_response
+export model_update_user_notification_status_response
export model_upload_image_response
export model_user
export model_user_badge
@@ -719,8 +723,8 @@ export model_user_search_result
export model_user_search_section
export model_user_search_section_result
export model_user_session_info
+export model_users_list_location
export model_vote_body_params
-export model_vote_comment200response
export model_vote_delete_response
export model_vote_response
export model_vote_response_user
@@ -728,7 +732,9 @@ export model_vote_style
# APIs
import fastcomments/apis/api_default
+import fastcomments/apis/api_moderation
import fastcomments/apis/api_public
export api_default
+export api_moderation
export api_public
diff --git a/client/fastcomments/apis/api_default.nim b/client/fastcomments/apis/api_default.nim
index cfdff02..cf35ffc 100644
--- a/client/fastcomments/apis/api_default.nim
+++ b/client/fastcomments/apis/api_default.nim
@@ -18,118 +18,121 @@ import tables
import typetraits
import uri
+import ../models/model_api_create_user_badge_response
+import ../models/model_api_empty_response
+import ../models/model_api_empty_success_response
+import ../models/model_api_error
+import ../models/model_api_get_comment_response
+import ../models/model_api_get_comments_response
+import ../models/model_api_get_user_badge_progress_list_response
+import ../models/model_api_get_user_badge_progress_response
+import ../models/model_api_get_user_badge_response
+import ../models/model_api_get_user_badges_response
+import ../models/model_api_save_comment_response
import ../models/model_add_domain_config_params
-import ../models/model_add_domain_config200response
-import ../models/model_add_hash_tag200response
-import ../models/model_add_hash_tags_bulk200response
+import ../models/model_add_domain_config_response
import ../models/model_add_page_api_response
import ../models/model_add_sso_user_api_response
-import ../models/model_aggregate_question_results200response
+import ../models/model_aggregate_question_results_response
+import ../models/model_aggregate_response
import ../models/model_aggregate_time_bucket
import ../models/model_aggregation_request
-import ../models/model_aggregation_response
import ../models/model_block_from_comment_params
-import ../models/model_block_from_comment_public200response
+import ../models/model_block_success
import ../models/model_bulk_aggregate_question_results_request
-import ../models/model_bulk_aggregate_question_results200response
+import ../models/model_bulk_aggregate_question_results_response
import ../models/model_bulk_create_hash_tags_body
+import ../models/model_bulk_create_hash_tags_response
import ../models/model_change_ticket_state_body
-import ../models/model_change_ticket_state200response
-import ../models/model_combine_comments_with_question_results200response
+import ../models/model_change_ticket_state_response
+import ../models/model_combine_question_results_with_comments_response
import ../models/model_create_api_page_data
import ../models/model_create_apisso_user_data
import ../models/model_create_api_user_subscription_data
import ../models/model_create_comment_params
import ../models/model_create_email_template_body
-import ../models/model_create_email_template200response
+import ../models/model_create_email_template_response
import ../models/model_create_feed_post_params
-import ../models/model_create_feed_post200response
+import ../models/model_create_feed_posts_response
import ../models/model_create_hash_tag_body
+import ../models/model_create_hash_tag_response
import ../models/model_create_moderator_body
-import ../models/model_create_moderator200response
+import ../models/model_create_moderator_response
import ../models/model_create_question_config_body
-import ../models/model_create_question_config200response
+import ../models/model_create_question_config_response
import ../models/model_create_question_result_body
-import ../models/model_create_question_result200response
+import ../models/model_create_question_result_response
import ../models/model_create_subscription_api_response
import ../models/model_create_tenant_body
import ../models/model_create_tenant_package_body
-import ../models/model_create_tenant_package200response
+import ../models/model_create_tenant_package_response
+import ../models/model_create_tenant_response
import ../models/model_create_tenant_user_body
-import ../models/model_create_tenant_user200response
-import ../models/model_create_tenant200response
+import ../models/model_create_tenant_user_response
import ../models/model_create_ticket_body
-import ../models/model_create_ticket200response
+import ../models/model_create_ticket_response
import ../models/model_create_user_badge_params
-import ../models/model_create_user_badge200response
-import ../models/model_delete_comment_vote200response
-import ../models/model_delete_comment200response
-import ../models/model_delete_domain_config200response
-import ../models/model_delete_hash_tag_request
+import ../models/model_delete_comment_result
+import ../models/model_delete_domain_config_response
+import ../models/model_delete_hash_tag_request_body
import ../models/model_delete_page_api_response
import ../models/model_delete_sso_user_api_response
import ../models/model_delete_subscription_api_response
import ../models/model_feed_post
-import ../models/model_flag_comment_public200response
-import ../models/model_flag_comment200response
-import ../models/model_get_audit_logs200response
-import ../models/model_get_cached_notification_count200response
-import ../models/model_get_comment200response
-import ../models/model_get_comments200response
-import ../models/model_get_domain_config200response
-import ../models/model_get_domain_configs200response
-import ../models/model_get_email_template_definitions200response
-import ../models/model_get_email_template_render_errors200response
-import ../models/model_get_email_template200response
-import ../models/model_get_email_templates200response
-import ../models/model_get_feed_posts200response
-import ../models/model_get_hash_tags200response
-import ../models/model_get_moderator200response
-import ../models/model_get_moderators200response
-import ../models/model_get_notification_count200response
-import ../models/model_get_notifications200response
+import ../models/model_flag_comment_response
+import ../models/model_get_audit_logs_response
+import ../models/model_get_cached_notification_count_response
+import ../models/model_get_domain_config_response
+import ../models/model_get_domain_configs_response
+import ../models/model_get_email_template_definitions_response
+import ../models/model_get_email_template_render_errors_response
+import ../models/model_get_email_template_response
+import ../models/model_get_email_templates_response
+import ../models/model_get_feed_posts_response
+import ../models/model_get_hash_tags_response
+import ../models/model_get_moderator_response
+import ../models/model_get_moderators_response
+import ../models/model_get_notification_count_response
+import ../models/model_get_notifications_response
import ../models/model_get_page_by_urlid_api_response
import ../models/model_get_pages_api_response
-import ../models/model_get_pending_webhook_event_count200response
-import ../models/model_get_pending_webhook_events200response
-import ../models/model_get_question_config200response
-import ../models/model_get_question_configs200response
-import ../models/model_get_question_result200response
-import ../models/model_get_question_results200response
+import ../models/model_get_pending_webhook_event_count_response
+import ../models/model_get_pending_webhook_events_response
+import ../models/model_get_question_config_response
+import ../models/model_get_question_configs_response
+import ../models/model_get_question_result_response
+import ../models/model_get_question_results_response
import ../models/model_get_sso_user_by_email_api_response
import ../models/model_get_sso_user_by_id_api_response
-import ../models/model_get_sso_users200response
+import ../models/model_get_sso_users_response
import ../models/model_get_subscriptions_api_response
-import ../models/model_get_tenant_daily_usages200response
-import ../models/model_get_tenant_package200response
-import ../models/model_get_tenant_packages200response
-import ../models/model_get_tenant_user200response
-import ../models/model_get_tenant_users200response
-import ../models/model_get_tenant200response
-import ../models/model_get_tenants200response
-import ../models/model_get_ticket200response
-import ../models/model_get_tickets200response
-import ../models/model_get_user_badge_progress_by_id200response
-import ../models/model_get_user_badge_progress_list200response
-import ../models/model_get_user_badge200response
-import ../models/model_get_user_badges200response
-import ../models/model_get_user200response
-import ../models/model_get_votes_for_user200response
-import ../models/model_get_votes200response
+import ../models/model_get_tenant_daily_usages_response
+import ../models/model_get_tenant_package_response
+import ../models/model_get_tenant_packages_response
+import ../models/model_get_tenant_response
+import ../models/model_get_tenant_user_response
+import ../models/model_get_tenant_users_response
+import ../models/model_get_tenants_response
+import ../models/model_get_ticket_response
+import ../models/model_get_tickets_response
+import ../models/model_get_user_response
+import ../models/model_get_votes_for_user_response
+import ../models/model_get_votes_response
import ../models/model_patch_domain_config_params
-import ../models/model_patch_hash_tag200response
+import ../models/model_patch_domain_config_response
import ../models/model_patch_page_api_response
import ../models/model_patch_sso_user_api_response
+import ../models/model_put_domain_config_response
import ../models/model_put_sso_user_api_response
import ../models/model_render_email_template_body
-import ../models/model_render_email_template200response
+import ../models/model_render_email_template_response
import ../models/model_replace_tenant_package_body
import ../models/model_replace_tenant_user_body
import ../models/model_sort_dir
-import ../models/model_save_comment200response
+import ../models/model_save_comments_bulk_response
import ../models/model_sort_directions
-import ../models/model_un_block_comment_public200response
import ../models/model_un_block_from_comment_params
+import ../models/model_unblock_success
import ../models/model_updatable_comment_params
import ../models/model_update_api_page_data
import ../models/model_update_apisso_user_data
@@ -137,6 +140,7 @@ import ../models/model_update_api_user_subscription_data
import ../models/model_update_domain_config_params
import ../models/model_update_email_template_body
import ../models/model_update_hash_tag_body
+import ../models/model_update_hash_tag_response
import ../models/model_update_moderator_body
import ../models/model_update_notification_body
import ../models/model_update_question_config_body
@@ -146,8 +150,8 @@ import ../models/model_update_tenant_body
import ../models/model_update_tenant_package_body
import ../models/model_update_tenant_user_body
import ../models/model_update_user_badge_params
-import ../models/model_update_user_badge200response
-import ../models/model_vote_comment200response
+import ../models/model_vote_delete_response
+import ../models/model_vote_response
const basepath = "https://fastcomments.com"
@@ -164,7 +168,7 @@ template constructResult[T](response: Response): untyped =
(none(T.typedesc), response)
-proc addDomainConfig*(httpClient: HttpClient, tenantId: string, addDomainConfigParams: AddDomainConfigParams): (Option[AddDomainConfig_200_response], Response) =
+proc addDomainConfig*(httpClient: HttpClient, tenantId: string, addDomainConfigParams: AddDomainConfigParams): (Option[AddDomainConfigResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -172,10 +176,10 @@ proc addDomainConfig*(httpClient: HttpClient, tenantId: string, addDomainConfigP
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/domain-configs" & "?" & url_encoded_query_params, $(%addDomainConfigParams))
- constructResult[AddDomainConfig_200_response](response)
+ constructResult[AddDomainConfigResponse](response)
-proc addHashTag*(httpClient: HttpClient, tenantId: string, createHashTagBody: CreateHashTagBody): (Option[AddHashTag_200_response], Response) =
+proc addHashTag*(httpClient: HttpClient, tenantId: string, createHashTagBody: CreateHashTagBody): (Option[CreateHashTagResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -184,10 +188,10 @@ proc addHashTag*(httpClient: HttpClient, tenantId: string, createHashTagBody: Cr
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/hash-tags" & "?" & url_encoded_query_params, $(%createHashTagBody))
- constructResult[AddHashTag_200_response](response)
+ constructResult[CreateHashTagResponse](response)
-proc addHashTagsBulk*(httpClient: HttpClient, tenantId: string, bulkCreateHashTagsBody: BulkCreateHashTagsBody): (Option[AddHashTagsBulk_200_response], Response) =
+proc addHashTagsBulk*(httpClient: HttpClient, tenantId: string, bulkCreateHashTagsBody: BulkCreateHashTagsBody): (Option[BulkCreateHashTagsResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -196,7 +200,7 @@ proc addHashTagsBulk*(httpClient: HttpClient, tenantId: string, bulkCreateHashTa
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/hash-tags/bulk" & "?" & url_encoded_query_params, $(%bulkCreateHashTagsBody))
- constructResult[AddHashTagsBulk_200_response](response)
+ constructResult[BulkCreateHashTagsResponse](response)
proc addPage*(httpClient: HttpClient, tenantId: string, createAPIPageData: CreateAPIPageData): (Option[AddPageAPIResponse], Response) =
@@ -221,7 +225,7 @@ proc addSSOUser*(httpClient: HttpClient, tenantId: string, createAPISSOUserData:
constructResult[AddSSOUserAPIResponse](response)
-proc aggregate*(httpClient: HttpClient, tenantId: string, aggregationRequest: AggregationRequest, parentTenantId: string, includeStats: bool): (Option[AggregationResponse], Response) =
+proc aggregate*(httpClient: HttpClient, tenantId: string, aggregationRequest: AggregationRequest, parentTenantId: string, includeStats: bool): (Option[AggregateResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -233,10 +237,10 @@ proc aggregate*(httpClient: HttpClient, tenantId: string, aggregationRequest: Ag
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/aggregate" & "?" & url_encoded_query_params, $(%aggregationRequest))
- constructResult[AggregationResponse](response)
+ constructResult[AggregateResponse](response)
-proc aggregateQuestionResults*(httpClient: HttpClient, tenantId: string, questionId: string, questionIds: seq[string], urlId: string, timeBucket: AggregateTimeBucket, startDate: string, forceRecalculate: bool): (Option[AggregateQuestionResults_200_response], Response) =
+proc aggregateQuestionResults*(httpClient: HttpClient, tenantId: string, questionId: string, questionIds: seq[string], urlId: string, timeBucket: AggregateTimeBucket, startDate: string, forceRecalculate: bool): (Option[AggregateQuestionResultsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -255,10 +259,10 @@ proc aggregateQuestionResults*(httpClient: HttpClient, tenantId: string, questio
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/question-results-aggregation" & "?" & url_encoded_query_params)
- constructResult[AggregateQuestionResults_200_response](response)
+ constructResult[AggregateQuestionResultsResponse](response)
-proc blockUserFromComment*(httpClient: HttpClient, tenantId: string, id: string, blockFromCommentParams: BlockFromCommentParams, userId: string, anonUserId: string): (Option[BlockFromCommentPublic_200_response], Response) =
+proc blockUserFromComment*(httpClient: HttpClient, tenantId: string, id: string, blockFromCommentParams: BlockFromCommentParams, userId: string, anonUserId: string): (Option[BlockSuccess], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -270,10 +274,10 @@ proc blockUserFromComment*(httpClient: HttpClient, tenantId: string, id: string,
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/api/v1/comments/{id}/block" & "?" & url_encoded_query_params, $(%blockFromCommentParams))
- constructResult[BlockFromCommentPublic_200_response](response)
+ constructResult[BlockSuccess](response)
-proc bulkAggregateQuestionResults*(httpClient: HttpClient, tenantId: string, bulkAggregateQuestionResultsRequest: BulkAggregateQuestionResultsRequest, forceRecalculate: bool): (Option[BulkAggregateQuestionResults_200_response], Response) =
+proc bulkAggregateQuestionResults*(httpClient: HttpClient, tenantId: string, bulkAggregateQuestionResultsRequest: BulkAggregateQuestionResultsRequest, forceRecalculate: bool): (Option[BulkAggregateQuestionResultsResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -283,10 +287,10 @@ proc bulkAggregateQuestionResults*(httpClient: HttpClient, tenantId: string, bul
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/question-results-aggregation/bulk" & "?" & url_encoded_query_params, $(%bulkAggregateQuestionResultsRequest))
- constructResult[BulkAggregateQuestionResults_200_response](response)
+ constructResult[BulkAggregateQuestionResultsResponse](response)
-proc changeTicketState*(httpClient: HttpClient, tenantId: string, userId: string, id: string, changeTicketStateBody: ChangeTicketStateBody): (Option[ChangeTicketState_200_response], Response) =
+proc changeTicketState*(httpClient: HttpClient, tenantId: string, userId: string, id: string, changeTicketStateBody: ChangeTicketStateBody): (Option[ChangeTicketStateResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -295,10 +299,10 @@ proc changeTicketState*(httpClient: HttpClient, tenantId: string, userId: string
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.patch(basepath & fmt"/api/v1/tickets/{id}/state" & "?" & url_encoded_query_params, $(%changeTicketStateBody))
- constructResult[ChangeTicketState_200_response](response)
+ constructResult[ChangeTicketStateResponse](response)
-proc combineCommentsWithQuestionResults*(httpClient: HttpClient, tenantId: string, questionId: string, questionIds: seq[string], urlId: string, startDate: string, forceRecalculate: bool, minValue: float64, maxValue: float64, limit: float64): (Option[CombineCommentsWithQuestionResults_200_response], Response) =
+proc combineCommentsWithQuestionResults*(httpClient: HttpClient, tenantId: string, questionId: string, questionIds: seq[string], urlId: string, startDate: string, forceRecalculate: bool, minValue: float64, maxValue: float64, limit: float64): (Option[CombineQuestionResultsWithCommentsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -321,10 +325,10 @@ proc combineCommentsWithQuestionResults*(httpClient: HttpClient, tenantId: strin
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/question-results-aggregation/combine/comments" & "?" & url_encoded_query_params)
- constructResult[CombineCommentsWithQuestionResults_200_response](response)
+ constructResult[CombineQuestionResultsWithCommentsResponse](response)
-proc createEmailTemplate*(httpClient: HttpClient, tenantId: string, createEmailTemplateBody: CreateEmailTemplateBody): (Option[CreateEmailTemplate_200_response], Response) =
+proc createEmailTemplate*(httpClient: HttpClient, tenantId: string, createEmailTemplateBody: CreateEmailTemplateBody): (Option[CreateEmailTemplateResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -332,10 +336,10 @@ proc createEmailTemplate*(httpClient: HttpClient, tenantId: string, createEmailT
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/email-templates" & "?" & url_encoded_query_params, $(%createEmailTemplateBody))
- constructResult[CreateEmailTemplate_200_response](response)
+ constructResult[CreateEmailTemplateResponse](response)
-proc createFeedPost*(httpClient: HttpClient, tenantId: string, createFeedPostParams: CreateFeedPostParams, broadcastId: string, isLive: bool, doSpamCheck: bool, skipDupCheck: bool): (Option[CreateFeedPost_200_response], Response) =
+proc createFeedPost*(httpClient: HttpClient, tenantId: string, createFeedPostParams: CreateFeedPostParams, broadcastId: string, isLive: bool, doSpamCheck: bool, skipDupCheck: bool): (Option[CreateFeedPostsResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -351,10 +355,10 @@ proc createFeedPost*(httpClient: HttpClient, tenantId: string, createFeedPostPar
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/feed-posts" & "?" & url_encoded_query_params, $(%createFeedPostParams))
- constructResult[CreateFeedPost_200_response](response)
+ constructResult[CreateFeedPostsResponse](response)
-proc createModerator*(httpClient: HttpClient, tenantId: string, createModeratorBody: CreateModeratorBody): (Option[CreateModerator_200_response], Response) =
+proc createModerator*(httpClient: HttpClient, tenantId: string, createModeratorBody: CreateModeratorBody): (Option[CreateModeratorResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -362,10 +366,10 @@ proc createModerator*(httpClient: HttpClient, tenantId: string, createModeratorB
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/moderators" & "?" & url_encoded_query_params, $(%createModeratorBody))
- constructResult[CreateModerator_200_response](response)
+ constructResult[CreateModeratorResponse](response)
-proc createQuestionConfig*(httpClient: HttpClient, tenantId: string, createQuestionConfigBody: CreateQuestionConfigBody): (Option[CreateQuestionConfig_200_response], Response) =
+proc createQuestionConfig*(httpClient: HttpClient, tenantId: string, createQuestionConfigBody: CreateQuestionConfigBody): (Option[CreateQuestionConfigResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -373,10 +377,10 @@ proc createQuestionConfig*(httpClient: HttpClient, tenantId: string, createQuest
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/question-configs" & "?" & url_encoded_query_params, $(%createQuestionConfigBody))
- constructResult[CreateQuestionConfig_200_response](response)
+ constructResult[CreateQuestionConfigResponse](response)
-proc createQuestionResult*(httpClient: HttpClient, tenantId: string, createQuestionResultBody: CreateQuestionResultBody): (Option[CreateQuestionResult_200_response], Response) =
+proc createQuestionResult*(httpClient: HttpClient, tenantId: string, createQuestionResultBody: CreateQuestionResultBody): (Option[CreateQuestionResultResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -384,7 +388,7 @@ proc createQuestionResult*(httpClient: HttpClient, tenantId: string, createQuest
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/question-results" & "?" & url_encoded_query_params, $(%createQuestionResultBody))
- constructResult[CreateQuestionResult_200_response](response)
+ constructResult[CreateQuestionResultResponse](response)
proc createSubscription*(httpClient: HttpClient, tenantId: string, createAPIUserSubscriptionData: CreateAPIUserSubscriptionData): (Option[CreateSubscriptionAPIResponse], Response) =
@@ -398,7 +402,7 @@ proc createSubscription*(httpClient: HttpClient, tenantId: string, createAPIUser
constructResult[CreateSubscriptionAPIResponse](response)
-proc createTenant*(httpClient: HttpClient, tenantId: string, createTenantBody: CreateTenantBody): (Option[CreateTenant_200_response], Response) =
+proc createTenant*(httpClient: HttpClient, tenantId: string, createTenantBody: CreateTenantBody): (Option[CreateTenantResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -406,10 +410,10 @@ proc createTenant*(httpClient: HttpClient, tenantId: string, createTenantBody: C
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/tenants" & "?" & url_encoded_query_params, $(%createTenantBody))
- constructResult[CreateTenant_200_response](response)
+ constructResult[CreateTenantResponse](response)
-proc createTenantPackage*(httpClient: HttpClient, tenantId: string, createTenantPackageBody: CreateTenantPackageBody): (Option[CreateTenantPackage_200_response], Response) =
+proc createTenantPackage*(httpClient: HttpClient, tenantId: string, createTenantPackageBody: CreateTenantPackageBody): (Option[CreateTenantPackageResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -417,10 +421,10 @@ proc createTenantPackage*(httpClient: HttpClient, tenantId: string, createTenant
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/tenant-packages" & "?" & url_encoded_query_params, $(%createTenantPackageBody))
- constructResult[CreateTenantPackage_200_response](response)
+ constructResult[CreateTenantPackageResponse](response)
-proc createTenantUser*(httpClient: HttpClient, tenantId: string, createTenantUserBody: CreateTenantUserBody): (Option[CreateTenantUser_200_response], Response) =
+proc createTenantUser*(httpClient: HttpClient, tenantId: string, createTenantUserBody: CreateTenantUserBody): (Option[CreateTenantUserResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -428,10 +432,10 @@ proc createTenantUser*(httpClient: HttpClient, tenantId: string, createTenantUse
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/tenant-users" & "?" & url_encoded_query_params, $(%createTenantUserBody))
- constructResult[CreateTenantUser_200_response](response)
+ constructResult[CreateTenantUserResponse](response)
-proc createTicket*(httpClient: HttpClient, tenantId: string, userId: string, createTicketBody: CreateTicketBody): (Option[CreateTicket_200_response], Response) =
+proc createTicket*(httpClient: HttpClient, tenantId: string, userId: string, createTicketBody: CreateTicketBody): (Option[CreateTicketResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -440,10 +444,10 @@ proc createTicket*(httpClient: HttpClient, tenantId: string, userId: string, cre
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/tickets" & "?" & url_encoded_query_params, $(%createTicketBody))
- constructResult[CreateTicket_200_response](response)
+ constructResult[CreateTicketResponse](response)
-proc createUserBadge*(httpClient: HttpClient, tenantId: string, createUserBadgeParams: CreateUserBadgeParams): (Option[CreateUserBadge_200_response], Response) =
+proc createUserBadge*(httpClient: HttpClient, tenantId: string, createUserBadgeParams: CreateUserBadgeParams): (Option[APICreateUserBadgeResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -451,10 +455,10 @@ proc createUserBadge*(httpClient: HttpClient, tenantId: string, createUserBadgeP
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/user-badges" & "?" & url_encoded_query_params, $(%createUserBadgeParams))
- constructResult[CreateUserBadge_200_response](response)
+ constructResult[APICreateUserBadgeResponse](response)
-proc createVote*(httpClient: HttpClient, tenantId: string, commentId: string, direction: string, userId: string, anonUserId: string): (Option[VoteComment_200_response], Response) =
+proc createVote*(httpClient: HttpClient, tenantId: string, commentId: string, direction: string, userId: string, anonUserId: string): (Option[VoteResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -467,10 +471,10 @@ proc createVote*(httpClient: HttpClient, tenantId: string, commentId: string, di
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/votes" & "?" & url_encoded_query_params)
- constructResult[VoteComment_200_response](response)
+ constructResult[VoteResponse](response)
-proc deleteComment*(httpClient: HttpClient, tenantId: string, id: string, contextUserId: string, isLive: bool): (Option[DeleteComment_200_response], Response) =
+proc deleteComment*(httpClient: HttpClient, tenantId: string, id: string, contextUserId: string, isLive: bool): (Option[DeleteCommentResult], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -481,51 +485,51 @@ proc deleteComment*(httpClient: HttpClient, tenantId: string, id: string, contex
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/api/v1/comments/{id}" & "?" & url_encoded_query_params)
- constructResult[DeleteComment_200_response](response)
+ constructResult[DeleteCommentResult](response)
-proc deleteDomainConfig*(httpClient: HttpClient, tenantId: string, domain: string): (Option[DeleteDomainConfig_200_response], Response) =
+proc deleteDomainConfig*(httpClient: HttpClient, tenantId: string, domain: string): (Option[DeleteDomainConfigResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/api/v1/domain-configs/{domain}" & "?" & url_encoded_query_params)
- constructResult[DeleteDomainConfig_200_response](response)
+ constructResult[DeleteDomainConfigResponse](response)
-proc deleteEmailTemplate*(httpClient: HttpClient, tenantId: string, id: string): (Option[FlagCommentPublic_200_response], Response) =
+proc deleteEmailTemplate*(httpClient: HttpClient, tenantId: string, id: string): (Option[APIEmptyResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/api/v1/email-templates/{id}" & "?" & url_encoded_query_params)
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc deleteEmailTemplateRenderError*(httpClient: HttpClient, tenantId: string, id: string, errorId: string): (Option[FlagCommentPublic_200_response], Response) =
+proc deleteEmailTemplateRenderError*(httpClient: HttpClient, tenantId: string, id: string, errorId: string): (Option[APIEmptyResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/api/v1/email-templates/{id}/render-errors/{errorId}" & "?" & url_encoded_query_params)
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc deleteHashTag*(httpClient: HttpClient, tag: string, tenantId: string, deleteHashTagRequest: DeleteHashTagRequest): (Option[FlagCommentPublic_200_response], Response) =
+proc deleteHashTag*(httpClient: HttpClient, tag: string, tenantId: string, deleteHashTagRequestBody: DeleteHashTagRequestBody): (Option[APIEmptyResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
if $tenantId != "":
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
- let response = httpClient.request(basepath & fmt"/api/v1/hash-tags/{tag}" & "?" & url_encoded_query_params, httpMethod = HttpDelete, body = $(%deleteHashTagRequest))
- constructResult[FlagCommentPublic_200_response](response)
+ let response = httpClient.request(basepath & fmt"/api/v1/hash-tags/{tag}" & "?" & url_encoded_query_params, httpMethod = HttpDelete, body = $(%deleteHashTagRequestBody))
+ constructResult[APIEmptyResponse](response)
-proc deleteModerator*(httpClient: HttpClient, tenantId: string, id: string, sendEmail: string): (Option[FlagCommentPublic_200_response], Response) =
+proc deleteModerator*(httpClient: HttpClient, tenantId: string, id: string, sendEmail: string): (Option[APIEmptyResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -534,17 +538,17 @@ proc deleteModerator*(httpClient: HttpClient, tenantId: string, id: string, send
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/api/v1/moderators/{id}" & "?" & url_encoded_query_params)
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc deleteNotificationCount*(httpClient: HttpClient, tenantId: string, id: string): (Option[FlagCommentPublic_200_response], Response) =
+proc deleteNotificationCount*(httpClient: HttpClient, tenantId: string, id: string): (Option[APIEmptyResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/api/v1/notification-count/{id}" & "?" & url_encoded_query_params)
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
proc deletePage*(httpClient: HttpClient, tenantId: string, id: string): (Option[DeletePageAPIResponse], Response) =
@@ -557,34 +561,34 @@ proc deletePage*(httpClient: HttpClient, tenantId: string, id: string): (Option[
constructResult[DeletePageAPIResponse](response)
-proc deletePendingWebhookEvent*(httpClient: HttpClient, tenantId: string, id: string): (Option[FlagCommentPublic_200_response], Response) =
+proc deletePendingWebhookEvent*(httpClient: HttpClient, tenantId: string, id: string): (Option[APIEmptyResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/api/v1/pending-webhook-events/{id}" & "?" & url_encoded_query_params)
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc deleteQuestionConfig*(httpClient: HttpClient, tenantId: string, id: string): (Option[FlagCommentPublic_200_response], Response) =
+proc deleteQuestionConfig*(httpClient: HttpClient, tenantId: string, id: string): (Option[APIEmptyResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/api/v1/question-configs/{id}" & "?" & url_encoded_query_params)
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc deleteQuestionResult*(httpClient: HttpClient, tenantId: string, id: string): (Option[FlagCommentPublic_200_response], Response) =
+proc deleteQuestionResult*(httpClient: HttpClient, tenantId: string, id: string): (Option[APIEmptyResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/api/v1/question-results/{id}" & "?" & url_encoded_query_params)
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
proc deleteSSOUser*(httpClient: HttpClient, tenantId: string, id: string, deleteComments: bool, commentDeleteMode: string): (Option[DeleteSSOUserAPIResponse], Response) =
@@ -613,7 +617,7 @@ proc deleteSubscription*(httpClient: HttpClient, tenantId: string, id: string, u
constructResult[DeleteSubscriptionAPIResponse](response)
-proc deleteTenant*(httpClient: HttpClient, tenantId: string, id: string, sure: string): (Option[FlagCommentPublic_200_response], Response) =
+proc deleteTenant*(httpClient: HttpClient, tenantId: string, id: string, sure: string): (Option[APIEmptyResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -622,20 +626,20 @@ proc deleteTenant*(httpClient: HttpClient, tenantId: string, id: string, sure: s
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/api/v1/tenants/{id}" & "?" & url_encoded_query_params)
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc deleteTenantPackage*(httpClient: HttpClient, tenantId: string, id: string): (Option[FlagCommentPublic_200_response], Response) =
+proc deleteTenantPackage*(httpClient: HttpClient, tenantId: string, id: string): (Option[APIEmptyResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/api/v1/tenant-packages/{id}" & "?" & url_encoded_query_params)
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc deleteTenantUser*(httpClient: HttpClient, tenantId: string, id: string, deleteComments: string, commentDeleteMode: string): (Option[FlagCommentPublic_200_response], Response) =
+proc deleteTenantUser*(httpClient: HttpClient, tenantId: string, id: string, deleteComments: string, commentDeleteMode: string): (Option[APIEmptyResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -646,20 +650,20 @@ proc deleteTenantUser*(httpClient: HttpClient, tenantId: string, id: string, del
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/api/v1/tenant-users/{id}" & "?" & url_encoded_query_params)
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc deleteUserBadge*(httpClient: HttpClient, tenantId: string, id: string): (Option[UpdateUserBadge_200_response], Response) =
+proc deleteUserBadge*(httpClient: HttpClient, tenantId: string, id: string): (Option[APIEmptySuccessResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/api/v1/user-badges/{id}" & "?" & url_encoded_query_params)
- constructResult[UpdateUserBadge_200_response](response)
+ constructResult[APIEmptySuccessResponse](response)
-proc deleteVote*(httpClient: HttpClient, tenantId: string, id: string, editKey: string): (Option[DeleteCommentVote_200_response], Response) =
+proc deleteVote*(httpClient: HttpClient, tenantId: string, id: string, editKey: string): (Option[VoteDeleteResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -668,10 +672,10 @@ proc deleteVote*(httpClient: HttpClient, tenantId: string, id: string, editKey:
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/api/v1/votes/{id}" & "?" & url_encoded_query_params)
- constructResult[DeleteCommentVote_200_response](response)
+ constructResult[VoteDeleteResponse](response)
-proc flagComment*(httpClient: HttpClient, tenantId: string, id: string, userId: string, anonUserId: string): (Option[FlagComment_200_response], Response) =
+proc flagComment*(httpClient: HttpClient, tenantId: string, id: string, userId: string, anonUserId: string): (Option[FlagCommentResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -682,10 +686,10 @@ proc flagComment*(httpClient: HttpClient, tenantId: string, id: string, userId:
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/api/v1/comments/{id}/flag" & "?" & url_encoded_query_params)
- constructResult[FlagComment_200_response](response)
+ constructResult[FlagCommentResponse](response)
-proc getAuditLogs*(httpClient: HttpClient, tenantId: string, limit: float64, skip: float64, order: SORTDIR, after: float64, before: float64): (Option[GetAuditLogs_200_response], Response) =
+proc getAuditLogs*(httpClient: HttpClient, tenantId: string, limit: float64, skip: float64, order: SORTDIR, after: float64, before: float64): (Option[GetAuditLogsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -702,30 +706,30 @@ proc getAuditLogs*(httpClient: HttpClient, tenantId: string, limit: float64, ski
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/audit-logs" & "?" & url_encoded_query_params)
- constructResult[GetAuditLogs_200_response](response)
+ constructResult[GetAuditLogsResponse](response)
-proc getCachedNotificationCount*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetCachedNotificationCount_200_response], Response) =
+proc getCachedNotificationCount*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetCachedNotificationCountResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/notification-count/{id}" & "?" & url_encoded_query_params)
- constructResult[GetCachedNotificationCount_200_response](response)
+ constructResult[GetCachedNotificationCountResponse](response)
-proc getComment*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetComment_200_response], Response) =
+proc getComment*(httpClient: HttpClient, tenantId: string, id: string): (Option[APIGetCommentResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/comments/{id}" & "?" & url_encoded_query_params)
- constructResult[GetComment_200_response](response)
+ constructResult[APIGetCommentResponse](response)
-proc getComments*(httpClient: HttpClient, tenantId: string, page: int, limit: int, skip: int, asTree: bool, skipChildren: int, limitChildren: int, maxTreeDepth: int, urlId: string, userId: string, anonUserId: string, contextUserId: string, hashTag: string, parentId: string, direction: SortDirections): (Option[GetComments_200_response], Response) =
+proc getComments*(httpClient: HttpClient, tenantId: string, page: int, limit: int, skip: int, asTree: bool, skipChildren: int, limitChildren: int, maxTreeDepth: int, urlId: string, userId: string, anonUserId: string, contextUserId: string, hashTag: string, parentId: string, direction: SortDirections, fromDate: int64, toDate: int64): (Option[APIGetCommentsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -757,53 +761,57 @@ proc getComments*(httpClient: HttpClient, tenantId: string, page: int, limit: in
query_params_list.add(("parentId", $parentId))
if $direction != "":
query_params_list.add(("direction", $direction))
+ if $fromDate != "":
+ query_params_list.add(("fromDate", $fromDate))
+ if $toDate != "":
+ query_params_list.add(("toDate", $toDate))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/comments" & "?" & url_encoded_query_params)
- constructResult[GetComments_200_response](response)
+ constructResult[APIGetCommentsResponse](response)
-proc getDomainConfig*(httpClient: HttpClient, tenantId: string, domain: string): (Option[GetDomainConfig_200_response], Response) =
+proc getDomainConfig*(httpClient: HttpClient, tenantId: string, domain: string): (Option[GetDomainConfigResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/domain-configs/{domain}" & "?" & url_encoded_query_params)
- constructResult[GetDomainConfig_200_response](response)
+ constructResult[GetDomainConfigResponse](response)
-proc getDomainConfigs*(httpClient: HttpClient, tenantId: string): (Option[GetDomainConfigs_200_response], Response) =
+proc getDomainConfigs*(httpClient: HttpClient, tenantId: string): (Option[GetDomainConfigsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/domain-configs" & "?" & url_encoded_query_params)
- constructResult[GetDomainConfigs_200_response](response)
+ constructResult[GetDomainConfigsResponse](response)
-proc getEmailTemplate*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetEmailTemplate_200_response], Response) =
+proc getEmailTemplate*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetEmailTemplateResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/email-templates/{id}" & "?" & url_encoded_query_params)
- constructResult[GetEmailTemplate_200_response](response)
+ constructResult[GetEmailTemplateResponse](response)
-proc getEmailTemplateDefinitions*(httpClient: HttpClient, tenantId: string): (Option[GetEmailTemplateDefinitions_200_response], Response) =
+proc getEmailTemplateDefinitions*(httpClient: HttpClient, tenantId: string): (Option[GetEmailTemplateDefinitionsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/email-templates/definitions" & "?" & url_encoded_query_params)
- constructResult[GetEmailTemplateDefinitions_200_response](response)
+ constructResult[GetEmailTemplateDefinitionsResponse](response)
-proc getEmailTemplateRenderErrors*(httpClient: HttpClient, tenantId: string, id: string, skip: float64): (Option[GetEmailTemplateRenderErrors_200_response], Response) =
+proc getEmailTemplateRenderErrors*(httpClient: HttpClient, tenantId: string, id: string, skip: float64): (Option[GetEmailTemplateRenderErrorsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -812,10 +820,10 @@ proc getEmailTemplateRenderErrors*(httpClient: HttpClient, tenantId: string, id:
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/email-templates/{id}/render-errors" & "?" & url_encoded_query_params)
- constructResult[GetEmailTemplateRenderErrors_200_response](response)
+ constructResult[GetEmailTemplateRenderErrorsResponse](response)
-proc getEmailTemplates*(httpClient: HttpClient, tenantId: string, skip: float64): (Option[GetEmailTemplates_200_response], Response) =
+proc getEmailTemplates*(httpClient: HttpClient, tenantId: string, skip: float64): (Option[GetEmailTemplatesResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -824,10 +832,10 @@ proc getEmailTemplates*(httpClient: HttpClient, tenantId: string, skip: float64)
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/email-templates" & "?" & url_encoded_query_params)
- constructResult[GetEmailTemplates_200_response](response)
+ constructResult[GetEmailTemplatesResponse](response)
-proc getFeedPosts*(httpClient: HttpClient, tenantId: string, afterId: string, limit: int, tags: seq[string]): (Option[GetFeedPosts_200_response], Response) =
+proc getFeedPosts*(httpClient: HttpClient, tenantId: string, afterId: string, limit: int, tags: seq[string]): (Option[GetFeedPostsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -840,10 +848,10 @@ proc getFeedPosts*(httpClient: HttpClient, tenantId: string, afterId: string, li
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/feed-posts" & "?" & url_encoded_query_params)
- constructResult[GetFeedPosts_200_response](response)
+ constructResult[GetFeedPostsResponse](response)
-proc getHashTags*(httpClient: HttpClient, tenantId: string, page: float64): (Option[GetHashTags_200_response], Response) =
+proc getHashTags*(httpClient: HttpClient, tenantId: string, page: float64): (Option[GetHashTagsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -852,20 +860,20 @@ proc getHashTags*(httpClient: HttpClient, tenantId: string, page: float64): (Opt
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/hash-tags" & "?" & url_encoded_query_params)
- constructResult[GetHashTags_200_response](response)
+ constructResult[GetHashTagsResponse](response)
-proc getModerator*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetModerator_200_response], Response) =
+proc getModerator*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetModeratorResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/moderators/{id}" & "?" & url_encoded_query_params)
- constructResult[GetModerator_200_response](response)
+ constructResult[GetModeratorResponse](response)
-proc getModerators*(httpClient: HttpClient, tenantId: string, skip: float64): (Option[GetModerators_200_response], Response) =
+proc getModerators*(httpClient: HttpClient, tenantId: string, skip: float64): (Option[GetModeratorsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -874,10 +882,10 @@ proc getModerators*(httpClient: HttpClient, tenantId: string, skip: float64): (O
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/moderators" & "?" & url_encoded_query_params)
- constructResult[GetModerators_200_response](response)
+ constructResult[GetModeratorsResponse](response)
-proc getNotificationCount*(httpClient: HttpClient, tenantId: string, userId: string, urlId: string, fromCommentId: string, viewed: bool, `type`: string): (Option[GetNotificationCount_200_response], Response) =
+proc getNotificationCount*(httpClient: HttpClient, tenantId: string, userId: string, urlId: string, fromCommentId: string, viewed: bool, `type`: string): (Option[GetNotificationCountResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -894,10 +902,10 @@ proc getNotificationCount*(httpClient: HttpClient, tenantId: string, userId: str
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/notifications/count" & "?" & url_encoded_query_params)
- constructResult[GetNotificationCount_200_response](response)
+ constructResult[GetNotificationCountResponse](response)
-proc getNotifications*(httpClient: HttpClient, tenantId: string, userId: string, urlId: string, fromCommentId: string, viewed: bool, `type`: string, skip: float64): (Option[GetNotifications_200_response], Response) =
+proc getNotifications*(httpClient: HttpClient, tenantId: string, userId: string, urlId: string, fromCommentId: string, viewed: bool, `type`: string, skip: float64): (Option[GetNotificationsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -916,7 +924,7 @@ proc getNotifications*(httpClient: HttpClient, tenantId: string, userId: string,
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/notifications" & "?" & url_encoded_query_params)
- constructResult[GetNotifications_200_response](response)
+ constructResult[GetNotificationsResponse](response)
proc getPageByURLId*(httpClient: HttpClient, tenantId: string, urlId: string): (Option[GetPageByURLIdAPIResponse], Response) =
@@ -940,7 +948,7 @@ proc getPages*(httpClient: HttpClient, tenantId: string): (Option[GetPagesAPIRes
constructResult[GetPagesAPIResponse](response)
-proc getPendingWebhookEventCount*(httpClient: HttpClient, tenantId: string, commentId: string, externalId: string, eventType: string, `type`: string, domain: string, attemptCountGT: float64): (Option[GetPendingWebhookEventCount_200_response], Response) =
+proc getPendingWebhookEventCount*(httpClient: HttpClient, tenantId: string, commentId: string, externalId: string, eventType: string, `type`: string, domain: string, attemptCountGT: float64): (Option[GetPendingWebhookEventCountResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -959,10 +967,10 @@ proc getPendingWebhookEventCount*(httpClient: HttpClient, tenantId: string, comm
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/pending-webhook-events/count" & "?" & url_encoded_query_params)
- constructResult[GetPendingWebhookEventCount_200_response](response)
+ constructResult[GetPendingWebhookEventCountResponse](response)
-proc getPendingWebhookEvents*(httpClient: HttpClient, tenantId: string, commentId: string, externalId: string, eventType: string, `type`: string, domain: string, attemptCountGT: float64, skip: float64): (Option[GetPendingWebhookEvents_200_response], Response) =
+proc getPendingWebhookEvents*(httpClient: HttpClient, tenantId: string, commentId: string, externalId: string, eventType: string, `type`: string, domain: string, attemptCountGT: float64, skip: float64): (Option[GetPendingWebhookEventsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -983,20 +991,20 @@ proc getPendingWebhookEvents*(httpClient: HttpClient, tenantId: string, commentI
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/pending-webhook-events" & "?" & url_encoded_query_params)
- constructResult[GetPendingWebhookEvents_200_response](response)
+ constructResult[GetPendingWebhookEventsResponse](response)
-proc getQuestionConfig*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetQuestionConfig_200_response], Response) =
+proc getQuestionConfig*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetQuestionConfigResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/question-configs/{id}" & "?" & url_encoded_query_params)
- constructResult[GetQuestionConfig_200_response](response)
+ constructResult[GetQuestionConfigResponse](response)
-proc getQuestionConfigs*(httpClient: HttpClient, tenantId: string, skip: float64): (Option[GetQuestionConfigs_200_response], Response) =
+proc getQuestionConfigs*(httpClient: HttpClient, tenantId: string, skip: float64): (Option[GetQuestionConfigsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1005,20 +1013,20 @@ proc getQuestionConfigs*(httpClient: HttpClient, tenantId: string, skip: float64
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/question-configs" & "?" & url_encoded_query_params)
- constructResult[GetQuestionConfigs_200_response](response)
+ constructResult[GetQuestionConfigsResponse](response)
-proc getQuestionResult*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetQuestionResult_200_response], Response) =
+proc getQuestionResult*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetQuestionResultResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/question-results/{id}" & "?" & url_encoded_query_params)
- constructResult[GetQuestionResult_200_response](response)
+ constructResult[GetQuestionResultResponse](response)
-proc getQuestionResults*(httpClient: HttpClient, tenantId: string, urlId: string, userId: string, startDate: string, questionId: string, questionIds: string, skip: float64): (Option[GetQuestionResults_200_response], Response) =
+proc getQuestionResults*(httpClient: HttpClient, tenantId: string, urlId: string, userId: string, startDate: string, questionId: string, questionIds: string, skip: float64): (Option[GetQuestionResultsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1037,7 +1045,7 @@ proc getQuestionResults*(httpClient: HttpClient, tenantId: string, urlId: string
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/question-results" & "?" & url_encoded_query_params)
- constructResult[GetQuestionResults_200_response](response)
+ constructResult[GetQuestionResultsResponse](response)
proc getSSOUserByEmail*(httpClient: HttpClient, tenantId: string, email: string): (Option[GetSSOUserByEmailAPIResponse], Response) =
@@ -1060,7 +1068,7 @@ proc getSSOUserById*(httpClient: HttpClient, tenantId: string, id: string): (Opt
constructResult[GetSSOUserByIdAPIResponse](response)
-proc getSSOUsers*(httpClient: HttpClient, tenantId: string, skip: int): (Option[GetSSOUsers_200_response], Response) =
+proc getSSOUsers*(httpClient: HttpClient, tenantId: string, skip: int): (Option[GetSSOUsersResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1069,7 +1077,7 @@ proc getSSOUsers*(httpClient: HttpClient, tenantId: string, skip: int): (Option[
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/sso-users" & "?" & url_encoded_query_params)
- constructResult[GetSSOUsers_200_response](response)
+ constructResult[GetSSOUsersResponse](response)
proc getSubscriptions*(httpClient: HttpClient, tenantId: string, userId: string): (Option[GetSubscriptionsAPIResponse], Response) =
@@ -1084,17 +1092,17 @@ proc getSubscriptions*(httpClient: HttpClient, tenantId: string, userId: string)
constructResult[GetSubscriptionsAPIResponse](response)
-proc getTenant*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetTenant_200_response], Response) =
+proc getTenant*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetTenantResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/tenants/{id}" & "?" & url_encoded_query_params)
- constructResult[GetTenant_200_response](response)
+ constructResult[GetTenantResponse](response)
-proc getTenantDailyUsages*(httpClient: HttpClient, tenantId: string, yearNumber: float64, monthNumber: float64, dayNumber: float64, skip: float64): (Option[GetTenantDailyUsages_200_response], Response) =
+proc getTenantDailyUsages*(httpClient: HttpClient, tenantId: string, yearNumber: float64, monthNumber: float64, dayNumber: float64, skip: float64): (Option[GetTenantDailyUsagesResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1109,20 +1117,20 @@ proc getTenantDailyUsages*(httpClient: HttpClient, tenantId: string, yearNumber:
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/tenant-daily-usage" & "?" & url_encoded_query_params)
- constructResult[GetTenantDailyUsages_200_response](response)
+ constructResult[GetTenantDailyUsagesResponse](response)
-proc getTenantPackage*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetTenantPackage_200_response], Response) =
+proc getTenantPackage*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetTenantPackageResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/tenant-packages/{id}" & "?" & url_encoded_query_params)
- constructResult[GetTenantPackage_200_response](response)
+ constructResult[GetTenantPackageResponse](response)
-proc getTenantPackages*(httpClient: HttpClient, tenantId: string, skip: float64): (Option[GetTenantPackages_200_response], Response) =
+proc getTenantPackages*(httpClient: HttpClient, tenantId: string, skip: float64): (Option[GetTenantPackagesResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1131,20 +1139,20 @@ proc getTenantPackages*(httpClient: HttpClient, tenantId: string, skip: float64)
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/tenant-packages" & "?" & url_encoded_query_params)
- constructResult[GetTenantPackages_200_response](response)
+ constructResult[GetTenantPackagesResponse](response)
-proc getTenantUser*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetTenantUser_200_response], Response) =
+proc getTenantUser*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetTenantUserResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/tenant-users/{id}" & "?" & url_encoded_query_params)
- constructResult[GetTenantUser_200_response](response)
+ constructResult[GetTenantUserResponse](response)
-proc getTenantUsers*(httpClient: HttpClient, tenantId: string, skip: float64): (Option[GetTenantUsers_200_response], Response) =
+proc getTenantUsers*(httpClient: HttpClient, tenantId: string, skip: float64): (Option[GetTenantUsersResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1153,10 +1161,10 @@ proc getTenantUsers*(httpClient: HttpClient, tenantId: string, skip: float64): (
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/tenant-users" & "?" & url_encoded_query_params)
- constructResult[GetTenantUsers_200_response](response)
+ constructResult[GetTenantUsersResponse](response)
-proc getTenants*(httpClient: HttpClient, tenantId: string, meta: string, skip: float64): (Option[GetTenants_200_response], Response) =
+proc getTenants*(httpClient: HttpClient, tenantId: string, meta: string, skip: float64): (Option[GetTenantsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1167,10 +1175,10 @@ proc getTenants*(httpClient: HttpClient, tenantId: string, meta: string, skip: f
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/tenants" & "?" & url_encoded_query_params)
- constructResult[GetTenants_200_response](response)
+ constructResult[GetTenantsResponse](response)
-proc getTicket*(httpClient: HttpClient, tenantId: string, id: string, userId: string): (Option[GetTicket_200_response], Response) =
+proc getTicket*(httpClient: HttpClient, tenantId: string, id: string, userId: string): (Option[GetTicketResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1179,10 +1187,10 @@ proc getTicket*(httpClient: HttpClient, tenantId: string, id: string, userId: st
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/tickets/{id}" & "?" & url_encoded_query_params)
- constructResult[GetTicket_200_response](response)
+ constructResult[GetTicketResponse](response)
-proc getTickets*(httpClient: HttpClient, tenantId: string, userId: string, state: float64, skip: float64, limit: float64): (Option[GetTickets_200_response], Response) =
+proc getTickets*(httpClient: HttpClient, tenantId: string, userId: string, state: float64, skip: float64, limit: float64): (Option[GetTicketsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1197,50 +1205,50 @@ proc getTickets*(httpClient: HttpClient, tenantId: string, userId: string, state
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/tickets" & "?" & url_encoded_query_params)
- constructResult[GetTickets_200_response](response)
+ constructResult[GetTicketsResponse](response)
-proc getUser*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetUser_200_response], Response) =
+proc getUser*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetUserResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/users/{id}" & "?" & url_encoded_query_params)
- constructResult[GetUser_200_response](response)
+ constructResult[GetUserResponse](response)
-proc getUserBadge*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetUserBadge_200_response], Response) =
+proc getUserBadge*(httpClient: HttpClient, tenantId: string, id: string): (Option[APIGetUserBadgeResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/user-badges/{id}" & "?" & url_encoded_query_params)
- constructResult[GetUserBadge_200_response](response)
+ constructResult[APIGetUserBadgeResponse](response)
-proc getUserBadgeProgressById*(httpClient: HttpClient, tenantId: string, id: string): (Option[GetUserBadgeProgressById_200_response], Response) =
+proc getUserBadgeProgressById*(httpClient: HttpClient, tenantId: string, id: string): (Option[APIGetUserBadgeProgressResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/user-badge-progress/{id}" & "?" & url_encoded_query_params)
- constructResult[GetUserBadgeProgressById_200_response](response)
+ constructResult[APIGetUserBadgeProgressResponse](response)
-proc getUserBadgeProgressByUserId*(httpClient: HttpClient, tenantId: string, userId: string): (Option[GetUserBadgeProgressById_200_response], Response) =
+proc getUserBadgeProgressByUserId*(httpClient: HttpClient, tenantId: string, userId: string): (Option[APIGetUserBadgeProgressResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/api/v1/user-badge-progress/user/{userId}" & "?" & url_encoded_query_params)
- constructResult[GetUserBadgeProgressById_200_response](response)
+ constructResult[APIGetUserBadgeProgressResponse](response)
-proc getUserBadgeProgressList*(httpClient: HttpClient, tenantId: string, userId: string, limit: float64, skip: float64): (Option[GetUserBadgeProgressList_200_response], Response) =
+proc getUserBadgeProgressList*(httpClient: HttpClient, tenantId: string, userId: string, limit: float64, skip: float64): (Option[APIGetUserBadgeProgressListResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1253,10 +1261,10 @@ proc getUserBadgeProgressList*(httpClient: HttpClient, tenantId: string, userId:
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/user-badge-progress" & "?" & url_encoded_query_params)
- constructResult[GetUserBadgeProgressList_200_response](response)
+ constructResult[APIGetUserBadgeProgressListResponse](response)
-proc getUserBadges*(httpClient: HttpClient, tenantId: string, userId: string, badgeId: string, `type`: float64, displayedOnComments: bool, limit: float64, skip: float64): (Option[GetUserBadges_200_response], Response) =
+proc getUserBadges*(httpClient: HttpClient, tenantId: string, userId: string, badgeId: string, `type`: float64, displayedOnComments: bool, limit: float64, skip: float64): (Option[APIGetUserBadgesResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1275,10 +1283,10 @@ proc getUserBadges*(httpClient: HttpClient, tenantId: string, userId: string, ba
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/user-badges" & "?" & url_encoded_query_params)
- constructResult[GetUserBadges_200_response](response)
+ constructResult[APIGetUserBadgesResponse](response)
-proc getVotes*(httpClient: HttpClient, tenantId: string, urlId: string): (Option[GetVotes_200_response], Response) =
+proc getVotes*(httpClient: HttpClient, tenantId: string, urlId: string): (Option[GetVotesResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1286,10 +1294,10 @@ proc getVotes*(httpClient: HttpClient, tenantId: string, urlId: string): (Option
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/votes" & "?" & url_encoded_query_params)
- constructResult[GetVotes_200_response](response)
+ constructResult[GetVotesResponse](response)
-proc getVotesForUser*(httpClient: HttpClient, tenantId: string, urlId: string, userId: string, anonUserId: string): (Option[GetVotesForUser_200_response], Response) =
+proc getVotesForUser*(httpClient: HttpClient, tenantId: string, urlId: string, userId: string, anonUserId: string): (Option[GetVotesForUserResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1301,10 +1309,10 @@ proc getVotesForUser*(httpClient: HttpClient, tenantId: string, urlId: string, u
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/api/v1/votes/for-user" & "?" & url_encoded_query_params)
- constructResult[GetVotesForUser_200_response](response)
+ constructResult[GetVotesForUserResponse](response)
-proc patchDomainConfig*(httpClient: HttpClient, tenantId: string, domainToUpdate: string, patchDomainConfigParams: PatchDomainConfigParams): (Option[GetDomainConfig_200_response], Response) =
+proc patchDomainConfig*(httpClient: HttpClient, tenantId: string, domainToUpdate: string, patchDomainConfigParams: PatchDomainConfigParams): (Option[PatchDomainConfigResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1312,10 +1320,10 @@ proc patchDomainConfig*(httpClient: HttpClient, tenantId: string, domainToUpdate
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.patch(basepath & fmt"/api/v1/domain-configs/{domainToUpdate}" & "?" & url_encoded_query_params, $(%patchDomainConfigParams))
- constructResult[GetDomainConfig_200_response](response)
+ constructResult[PatchDomainConfigResponse](response)
-proc patchHashTag*(httpClient: HttpClient, tag: string, tenantId: string, updateHashTagBody: UpdateHashTagBody): (Option[PatchHashTag_200_response], Response) =
+proc patchHashTag*(httpClient: HttpClient, tag: string, tenantId: string, updateHashTagBody: UpdateHashTagBody): (Option[UpdateHashTagResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1324,7 +1332,7 @@ proc patchHashTag*(httpClient: HttpClient, tag: string, tenantId: string, update
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.patch(basepath & fmt"/api/v1/hash-tags/{tag}" & "?" & url_encoded_query_params, $(%updateHashTagBody))
- constructResult[PatchHashTag_200_response](response)
+ constructResult[UpdateHashTagResponse](response)
proc patchPage*(httpClient: HttpClient, tenantId: string, id: string, updateAPIPageData: UpdateAPIPageData): (Option[PatchPageAPIResponse], Response) =
@@ -1351,7 +1359,7 @@ proc patchSSOUser*(httpClient: HttpClient, tenantId: string, id: string, updateA
constructResult[PatchSSOUserAPIResponse](response)
-proc putDomainConfig*(httpClient: HttpClient, tenantId: string, domainToUpdate: string, updateDomainConfigParams: UpdateDomainConfigParams): (Option[GetDomainConfig_200_response], Response) =
+proc putDomainConfig*(httpClient: HttpClient, tenantId: string, domainToUpdate: string, updateDomainConfigParams: UpdateDomainConfigParams): (Option[PutDomainConfigResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1359,7 +1367,7 @@ proc putDomainConfig*(httpClient: HttpClient, tenantId: string, domainToUpdate:
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.put(basepath & fmt"/api/v1/domain-configs/{domainToUpdate}" & "?" & url_encoded_query_params, $(%updateDomainConfigParams))
- constructResult[GetDomainConfig_200_response](response)
+ constructResult[PutDomainConfigResponse](response)
proc putSSOUser*(httpClient: HttpClient, tenantId: string, id: string, updateAPISSOUserData: UpdateAPISSOUserData, updateComments: bool): (Option[PutSSOUserAPIResponse], Response) =
@@ -1375,7 +1383,7 @@ proc putSSOUser*(httpClient: HttpClient, tenantId: string, id: string, updateAPI
constructResult[PutSSOUserAPIResponse](response)
-proc renderEmailTemplate*(httpClient: HttpClient, tenantId: string, renderEmailTemplateBody: RenderEmailTemplateBody, locale: string): (Option[RenderEmailTemplate_200_response], Response) =
+proc renderEmailTemplate*(httpClient: HttpClient, tenantId: string, renderEmailTemplateBody: RenderEmailTemplateBody, locale: string): (Option[RenderEmailTemplateResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1385,10 +1393,10 @@ proc renderEmailTemplate*(httpClient: HttpClient, tenantId: string, renderEmailT
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/email-templates/render" & "?" & url_encoded_query_params, $(%renderEmailTemplateBody))
- constructResult[RenderEmailTemplate_200_response](response)
+ constructResult[RenderEmailTemplateResponse](response)
-proc replaceTenantPackage*(httpClient: HttpClient, tenantId: string, id: string, replaceTenantPackageBody: ReplaceTenantPackageBody): (Option[FlagCommentPublic_200_response], Response) =
+proc replaceTenantPackage*(httpClient: HttpClient, tenantId: string, id: string, replaceTenantPackageBody: ReplaceTenantPackageBody): (Option[APIEmptyResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1396,10 +1404,10 @@ proc replaceTenantPackage*(httpClient: HttpClient, tenantId: string, id: string,
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.put(basepath & fmt"/api/v1/tenant-packages/{id}" & "?" & url_encoded_query_params, $(%replaceTenantPackageBody))
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc replaceTenantUser*(httpClient: HttpClient, tenantId: string, id: string, replaceTenantUserBody: ReplaceTenantUserBody, updateComments: string): (Option[FlagCommentPublic_200_response], Response) =
+proc replaceTenantUser*(httpClient: HttpClient, tenantId: string, id: string, replaceTenantUserBody: ReplaceTenantUserBody, updateComments: string): (Option[APIEmptyResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1409,10 +1417,10 @@ proc replaceTenantUser*(httpClient: HttpClient, tenantId: string, id: string, re
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.put(basepath & fmt"/api/v1/tenant-users/{id}" & "?" & url_encoded_query_params, $(%replaceTenantUserBody))
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc saveComment*(httpClient: HttpClient, tenantId: string, createCommentParams: CreateCommentParams, isLive: bool, doSpamCheck: bool, sendEmails: bool, populateNotifications: bool): (Option[SaveComment_200_response], Response) =
+proc saveComment*(httpClient: HttpClient, tenantId: string, createCommentParams: CreateCommentParams, isLive: bool, doSpamCheck: bool, sendEmails: bool, populateNotifications: bool): (Option[APISaveCommentResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1428,10 +1436,10 @@ proc saveComment*(httpClient: HttpClient, tenantId: string, createCommentParams:
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/comments" & "?" & url_encoded_query_params, $(%createCommentParams))
- constructResult[SaveComment_200_response](response)
+ constructResult[APISaveCommentResponse](response)
-proc saveCommentsBulk*(httpClient: HttpClient, tenantId: string, createCommentParams: seq[CreateCommentParams], isLive: bool, doSpamCheck: bool, sendEmails: bool, populateNotifications: bool): (Option[seq[SaveComment_200_response]], Response) =
+proc saveCommentsBulk*(httpClient: HttpClient, tenantId: string, createCommentParams: seq[CreateCommentParams], isLive: bool, doSpamCheck: bool, sendEmails: bool, populateNotifications: bool): (Option[seq[SaveCommentsBulkResponse]], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1447,10 +1455,10 @@ proc saveCommentsBulk*(httpClient: HttpClient, tenantId: string, createCommentPa
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/api/v1/comments/bulk" & "?" & url_encoded_query_params, $(%createCommentParams))
- constructResult[seq[SaveComment_200_response]](response)
+ constructResult[seq[SaveCommentsBulkResponse]](response)
-proc sendInvite*(httpClient: HttpClient, tenantId: string, id: string, fromName: string): (Option[FlagCommentPublic_200_response], Response) =
+proc sendInvite*(httpClient: HttpClient, tenantId: string, id: string, fromName: string): (Option[APIEmptyResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1458,10 +1466,10 @@ proc sendInvite*(httpClient: HttpClient, tenantId: string, id: string, fromName:
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/api/v1/moderators/{id}/send-invite" & "?" & url_encoded_query_params)
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc sendLoginLink*(httpClient: HttpClient, tenantId: string, id: string, redirectURL: string): (Option[FlagCommentPublic_200_response], Response) =
+proc sendLoginLink*(httpClient: HttpClient, tenantId: string, id: string, redirectURL: string): (Option[APIEmptyResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1470,10 +1478,10 @@ proc sendLoginLink*(httpClient: HttpClient, tenantId: string, id: string, redire
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/api/v1/tenant-users/{id}/send-login-link" & "?" & url_encoded_query_params)
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc unBlockUserFromComment*(httpClient: HttpClient, tenantId: string, id: string, unBlockFromCommentParams: UnBlockFromCommentParams, userId: string, anonUserId: string): (Option[UnBlockCommentPublic_200_response], Response) =
+proc unBlockUserFromComment*(httpClient: HttpClient, tenantId: string, id: string, unBlockFromCommentParams: UnBlockFromCommentParams, userId: string, anonUserId: string): (Option[UnblockSuccess], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1485,10 +1493,10 @@ proc unBlockUserFromComment*(httpClient: HttpClient, tenantId: string, id: strin
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/api/v1/comments/{id}/un-block" & "?" & url_encoded_query_params, $(%unBlockFromCommentParams))
- constructResult[UnBlockCommentPublic_200_response](response)
+ constructResult[UnblockSuccess](response)
-proc unFlagComment*(httpClient: HttpClient, tenantId: string, id: string, userId: string, anonUserId: string): (Option[FlagComment_200_response], Response) =
+proc unFlagComment*(httpClient: HttpClient, tenantId: string, id: string, userId: string, anonUserId: string): (Option[FlagCommentResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -1499,10 +1507,10 @@ proc unFlagComment*(httpClient: HttpClient, tenantId: string, id: string, userId
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/api/v1/comments/{id}/un-flag" & "?" & url_encoded_query_params)
- constructResult[FlagComment_200_response](response)
+ constructResult[FlagCommentResponse](response)
-proc updateComment*(httpClient: HttpClient, tenantId: string, id: string, updatableCommentParams: UpdatableCommentParams, contextUserId: string, doSpamCheck: bool, isLive: bool): (Option[FlagCommentPublic_200_response], Response) =
+proc updateComment*(httpClient: HttpClient, tenantId: string, id: string, updatableCommentParams: UpdatableCommentParams, contextUserId: string, doSpamCheck: bool, isLive: bool): (Option[APIEmptyResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1516,10 +1524,10 @@ proc updateComment*(httpClient: HttpClient, tenantId: string, id: string, updata
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.patch(basepath & fmt"/api/v1/comments/{id}" & "?" & url_encoded_query_params, $(%updatableCommentParams))
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc updateEmailTemplate*(httpClient: HttpClient, tenantId: string, id: string, updateEmailTemplateBody: UpdateEmailTemplateBody): (Option[FlagCommentPublic_200_response], Response) =
+proc updateEmailTemplate*(httpClient: HttpClient, tenantId: string, id: string, updateEmailTemplateBody: UpdateEmailTemplateBody): (Option[APIEmptyResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1527,10 +1535,10 @@ proc updateEmailTemplate*(httpClient: HttpClient, tenantId: string, id: string,
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.patch(basepath & fmt"/api/v1/email-templates/{id}" & "?" & url_encoded_query_params, $(%updateEmailTemplateBody))
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc updateFeedPost*(httpClient: HttpClient, tenantId: string, id: string, feedPost: FeedPost): (Option[FlagCommentPublic_200_response], Response) =
+proc updateFeedPost*(httpClient: HttpClient, tenantId: string, id: string, feedPost: FeedPost): (Option[APIEmptyResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1538,10 +1546,10 @@ proc updateFeedPost*(httpClient: HttpClient, tenantId: string, id: string, feedP
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.patch(basepath & fmt"/api/v1/feed-posts/{id}" & "?" & url_encoded_query_params, $(%feedPost))
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc updateModerator*(httpClient: HttpClient, tenantId: string, id: string, updateModeratorBody: UpdateModeratorBody): (Option[FlagCommentPublic_200_response], Response) =
+proc updateModerator*(httpClient: HttpClient, tenantId: string, id: string, updateModeratorBody: UpdateModeratorBody): (Option[APIEmptyResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1549,10 +1557,10 @@ proc updateModerator*(httpClient: HttpClient, tenantId: string, id: string, upda
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.patch(basepath & fmt"/api/v1/moderators/{id}" & "?" & url_encoded_query_params, $(%updateModeratorBody))
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc updateNotification*(httpClient: HttpClient, tenantId: string, id: string, updateNotificationBody: UpdateNotificationBody, userId: string): (Option[FlagCommentPublic_200_response], Response) =
+proc updateNotification*(httpClient: HttpClient, tenantId: string, id: string, updateNotificationBody: UpdateNotificationBody, userId: string): (Option[APIEmptyResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1562,10 +1570,10 @@ proc updateNotification*(httpClient: HttpClient, tenantId: string, id: string, u
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.patch(basepath & fmt"/api/v1/notifications/{id}" & "?" & url_encoded_query_params, $(%updateNotificationBody))
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc updateQuestionConfig*(httpClient: HttpClient, tenantId: string, id: string, updateQuestionConfigBody: UpdateQuestionConfigBody): (Option[FlagCommentPublic_200_response], Response) =
+proc updateQuestionConfig*(httpClient: HttpClient, tenantId: string, id: string, updateQuestionConfigBody: UpdateQuestionConfigBody): (Option[APIEmptyResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1573,10 +1581,10 @@ proc updateQuestionConfig*(httpClient: HttpClient, tenantId: string, id: string,
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.patch(basepath & fmt"/api/v1/question-configs/{id}" & "?" & url_encoded_query_params, $(%updateQuestionConfigBody))
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc updateQuestionResult*(httpClient: HttpClient, tenantId: string, id: string, updateQuestionResultBody: UpdateQuestionResultBody): (Option[FlagCommentPublic_200_response], Response) =
+proc updateQuestionResult*(httpClient: HttpClient, tenantId: string, id: string, updateQuestionResultBody: UpdateQuestionResultBody): (Option[APIEmptyResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1584,7 +1592,7 @@ proc updateQuestionResult*(httpClient: HttpClient, tenantId: string, id: string,
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.patch(basepath & fmt"/api/v1/question-results/{id}" & "?" & url_encoded_query_params, $(%updateQuestionResultBody))
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
proc updateSubscription*(httpClient: HttpClient, tenantId: string, id: string, updateAPIUserSubscriptionData: UpdateAPIUserSubscriptionData, userId: string): (Option[UpdateSubscriptionAPIResponse], Response) =
@@ -1600,7 +1608,7 @@ proc updateSubscription*(httpClient: HttpClient, tenantId: string, id: string, u
constructResult[UpdateSubscriptionAPIResponse](response)
-proc updateTenant*(httpClient: HttpClient, tenantId: string, id: string, updateTenantBody: UpdateTenantBody): (Option[FlagCommentPublic_200_response], Response) =
+proc updateTenant*(httpClient: HttpClient, tenantId: string, id: string, updateTenantBody: UpdateTenantBody): (Option[APIEmptyResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1608,10 +1616,10 @@ proc updateTenant*(httpClient: HttpClient, tenantId: string, id: string, updateT
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.patch(basepath & fmt"/api/v1/tenants/{id}" & "?" & url_encoded_query_params, $(%updateTenantBody))
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc updateTenantPackage*(httpClient: HttpClient, tenantId: string, id: string, updateTenantPackageBody: UpdateTenantPackageBody): (Option[FlagCommentPublic_200_response], Response) =
+proc updateTenantPackage*(httpClient: HttpClient, tenantId: string, id: string, updateTenantPackageBody: UpdateTenantPackageBody): (Option[APIEmptyResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1619,10 +1627,10 @@ proc updateTenantPackage*(httpClient: HttpClient, tenantId: string, id: string,
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.patch(basepath & fmt"/api/v1/tenant-packages/{id}" & "?" & url_encoded_query_params, $(%updateTenantPackageBody))
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc updateTenantUser*(httpClient: HttpClient, tenantId: string, id: string, updateTenantUserBody: UpdateTenantUserBody, updateComments: string): (Option[FlagCommentPublic_200_response], Response) =
+proc updateTenantUser*(httpClient: HttpClient, tenantId: string, id: string, updateTenantUserBody: UpdateTenantUserBody, updateComments: string): (Option[APIEmptyResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1632,10 +1640,10 @@ proc updateTenantUser*(httpClient: HttpClient, tenantId: string, id: string, upd
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.patch(basepath & fmt"/api/v1/tenant-users/{id}" & "?" & url_encoded_query_params, $(%updateTenantUserBody))
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc updateUserBadge*(httpClient: HttpClient, tenantId: string, id: string, updateUserBadgeParams: UpdateUserBadgeParams): (Option[UpdateUserBadge_200_response], Response) =
+proc updateUserBadge*(httpClient: HttpClient, tenantId: string, id: string, updateUserBadgeParams: UpdateUserBadgeParams): (Option[APIEmptySuccessResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -1643,5 +1651,5 @@ proc updateUserBadge*(httpClient: HttpClient, tenantId: string, id: string, upda
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.put(basepath & fmt"/api/v1/user-badges/{id}" & "?" & url_encoded_query_params, $(%updateUserBadgeParams))
- constructResult[UpdateUserBadge_200_response](response)
+ constructResult[APIEmptySuccessResponse](response)
diff --git a/client/fastcomments/apis/api_moderation.nim b/client/fastcomments/apis/api_moderation.nim
new file mode 100644
index 0000000..a82c758
--- /dev/null
+++ b/client/fastcomments/apis/api_moderation.nim
@@ -0,0 +1,688 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import httpclient
+import json
+import logging
+import marshal
+import options
+import strformat
+import strutils
+import tables
+import typetraits
+import uri
+
+import ../models/model_api_empty_response
+import ../models/model_api_error
+import ../models/model_api_moderate_get_user_ban_preferences_response
+import ../models/model_adjust_comment_votes_params
+import ../models/model_adjust_votes_response
+import ../models/model_award_user_badge_response
+import ../models/model_ban_user_from_comment_result
+import ../models/model_ban_user_undo_params
+import ../models/model_bulk_pre_ban_params
+import ../models/model_bulk_pre_ban_summary
+import ../models/model_comments_by_ids_params
+import ../models/model_get_banned_users_count_response
+import ../models/model_get_banned_users_from_comment_response
+import ../models/model_get_comment_ban_status_response
+import ../models/model_get_comment_text_response
+import ../models/model_get_tenant_manual_badges_response
+import ../models/model_get_user_internal_profile_response
+import ../models/model_get_user_manual_badges_response
+import ../models/model_get_user_trust_factor_response
+import ../models/model_moderation_api_child_comments_response
+import ../models/model_moderation_api_comment_response
+import ../models/model_moderation_api_count_comments_response
+import ../models/model_moderation_api_get_comment_ids_response
+import ../models/model_moderation_api_get_comments_response
+import ../models/model_moderation_api_get_logs_response
+import ../models/model_moderation_comment_search_response
+import ../models/model_moderation_export_response
+import ../models/model_moderation_export_status_response
+import ../models/model_moderation_page_search_response
+import ../models/model_moderation_site_search_response
+import ../models/model_moderation_suggest_response
+import ../models/model_moderation_user_search_response
+import ../models/model_post_remove_comment_response
+import ../models/model_pre_ban_summary
+import ../models/model_remove_user_badge_response
+import ../models/model_set_comment_approved_response
+import ../models/model_set_comment_text_params
+import ../models/model_set_comment_text_response
+import ../models/model_set_user_trust_factor_response
+import ../models/model_vote_delete_response
+import ../models/model_vote_response
+
+const basepath = "https://fastcomments.com"
+
+template constructResult[T](response: Response): untyped =
+ if response.code in {Http200, Http201, Http202, Http204, Http206}:
+ try:
+ (some(to(parseJson(response.body), T)), response)
+ except JsonParsingError:
+ # The server returned a malformed response though the response code is 2XX
+ # TODO: need better error handling
+ error("JsonParsingError")
+ (none(T.typedesc), response)
+ else:
+ (none(T.typedesc), response)
+
+
+proc deleteModerationVote*(httpClient: HttpClient, commentId: string, voteId: string, sso: string): (Option[VoteDeleteResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.delete(basepath & fmt"/auth/my-account/moderate-comments/vote/{commentId}/{voteId}" & "?" & url_encoded_query_params)
+ constructResult[VoteDeleteResponse](response)
+
+
+proc getApiComments*(httpClient: HttpClient, page: float64, count: float64, textSearch: string, byIPFromComment: string, filters: string, searchFilters: string, sorts: string, demo: bool, sso: string): (Option[ModerationAPIGetCommentsResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $page != "":
+ query_params_list.add(("page", $page))
+ if $count != "":
+ query_params_list.add(("count", $count))
+ if $textSearch != "":
+ query_params_list.add(("text-search", $textSearch))
+ if $byIPFromComment != "":
+ query_params_list.add(("byIPFromComment", $byIPFromComment))
+ if $filters != "":
+ query_params_list.add(("filters", $filters))
+ if $searchFilters != "":
+ query_params_list.add(("searchFilters", $searchFilters))
+ if $sorts != "":
+ query_params_list.add(("sorts", $sorts))
+ if $demo != "":
+ query_params_list.add(("demo", $demo))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/auth/my-account/moderate-comments/api/comments" & "?" & url_encoded_query_params)
+ constructResult[ModerationAPIGetCommentsResponse](response)
+
+
+proc getApiExportStatus*(httpClient: HttpClient, batchJobId: string, sso: string): (Option[ModerationExportStatusResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $batchJobId != "":
+ query_params_list.add(("batchJobId", $batchJobId))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/auth/my-account/moderate-comments/api/export/status" & "?" & url_encoded_query_params)
+ constructResult[ModerationExportStatusResponse](response)
+
+
+proc getApiIds*(httpClient: HttpClient, textSearch: string, byIPFromComment: string, filters: string, searchFilters: string, afterId: string, demo: bool, sso: string): (Option[ModerationAPIGetCommentIdsResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $textSearch != "":
+ query_params_list.add(("text-search", $textSearch))
+ if $byIPFromComment != "":
+ query_params_list.add(("byIPFromComment", $byIPFromComment))
+ if $filters != "":
+ query_params_list.add(("filters", $filters))
+ if $searchFilters != "":
+ query_params_list.add(("searchFilters", $searchFilters))
+ if $afterId != "":
+ query_params_list.add(("afterId", $afterId))
+ if $demo != "":
+ query_params_list.add(("demo", $demo))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/auth/my-account/moderate-comments/api/ids" & "?" & url_encoded_query_params)
+ constructResult[ModerationAPIGetCommentIdsResponse](response)
+
+
+proc getBanUsersFromComment*(httpClient: HttpClient, commentId: string, sso: string): (Option[GetBannedUsersFromCommentResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/auth/my-account/moderate-comments/ban-users/from-comment/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[GetBannedUsersFromCommentResponse](response)
+
+
+proc getCommentBanStatus*(httpClient: HttpClient, commentId: string, sso: string): (Option[GetCommentBanStatusResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/auth/my-account/moderate-comments/get-comment-ban-status/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[GetCommentBanStatusResponse](response)
+
+
+proc getCommentChildren*(httpClient: HttpClient, commentId: string, sso: string): (Option[ModerationAPIChildCommentsResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/auth/my-account/moderate-comments/comment-children/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[ModerationAPIChildCommentsResponse](response)
+
+
+proc getCount*(httpClient: HttpClient, textSearch: string, byIPFromComment: string, filter: string, searchFilters: string, demo: bool, sso: string): (Option[ModerationAPICountCommentsResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $textSearch != "":
+ query_params_list.add(("text-search", $textSearch))
+ if $byIPFromComment != "":
+ query_params_list.add(("byIPFromComment", $byIPFromComment))
+ if $filter != "":
+ query_params_list.add(("filter", $filter))
+ if $searchFilters != "":
+ query_params_list.add(("searchFilters", $searchFilters))
+ if $demo != "":
+ query_params_list.add(("demo", $demo))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/auth/my-account/moderate-comments/count" & "?" & url_encoded_query_params)
+ constructResult[ModerationAPICountCommentsResponse](response)
+
+
+proc getCounts*(httpClient: HttpClient, sso: string): (Option[GetBannedUsersCountResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/auth/my-account/moderate-comments/banned-users/counts" & "?" & url_encoded_query_params)
+ constructResult[GetBannedUsersCountResponse](response)
+
+
+proc getLogs*(httpClient: HttpClient, commentId: string, sso: string): (Option[ModerationAPIGetLogsResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/auth/my-account/moderate-comments/logs/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[ModerationAPIGetLogsResponse](response)
+
+
+proc getManualBadges*(httpClient: HttpClient, sso: string): (Option[GetTenantManualBadgesResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/auth/my-account/moderate-comments/get-manual-badges" & "?" & url_encoded_query_params)
+ constructResult[GetTenantManualBadgesResponse](response)
+
+
+proc getManualBadgesForUser*(httpClient: HttpClient, badgesUserId: string, commentId: string, sso: string): (Option[GetUserManualBadgesResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $badgesUserId != "":
+ query_params_list.add(("badgesUserId", $badgesUserId))
+ if $commentId != "":
+ query_params_list.add(("commentId", $commentId))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/auth/my-account/moderate-comments/get-manual-badges-for-user" & "?" & url_encoded_query_params)
+ constructResult[GetUserManualBadgesResponse](response)
+
+
+proc getModerationComment*(httpClient: HttpClient, commentId: string, includeEmail: bool, includeIP: bool, sso: string): (Option[ModerationAPICommentResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $includeEmail != "":
+ query_params_list.add(("includeEmail", $includeEmail))
+ if $includeIP != "":
+ query_params_list.add(("includeIP", $includeIP))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/auth/my-account/moderate-comments/comment/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[ModerationAPICommentResponse](response)
+
+
+proc getModerationCommentText*(httpClient: HttpClient, commentId: string, sso: string): (Option[GetCommentTextResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/auth/my-account/moderate-comments/get-comment-text/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[GetCommentTextResponse](response)
+
+
+proc getPreBanSummary*(httpClient: HttpClient, commentId: string, includeByUserIdAndEmail: bool, includeByIP: bool, includeByEmailDomain: bool, sso: string): (Option[PreBanSummary], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $includeByUserIdAndEmail != "":
+ query_params_list.add(("includeByUserIdAndEmail", $includeByUserIdAndEmail))
+ if $includeByIP != "":
+ query_params_list.add(("includeByIP", $includeByIP))
+ if $includeByEmailDomain != "":
+ query_params_list.add(("includeByEmailDomain", $includeByEmailDomain))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/auth/my-account/moderate-comments/pre-ban-summary/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[PreBanSummary](response)
+
+
+proc getSearchCommentsSummary*(httpClient: HttpClient, value: string, filters: string, searchFilters: string, sso: string): (Option[ModerationCommentSearchResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $value != "":
+ query_params_list.add(("value", $value))
+ if $filters != "":
+ query_params_list.add(("filters", $filters))
+ if $searchFilters != "":
+ query_params_list.add(("searchFilters", $searchFilters))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/auth/my-account/moderate-comments/search/comments/summary" & "?" & url_encoded_query_params)
+ constructResult[ModerationCommentSearchResponse](response)
+
+
+proc getSearchPages*(httpClient: HttpClient, value: string, sso: string): (Option[ModerationPageSearchResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $value != "":
+ query_params_list.add(("value", $value))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/auth/my-account/moderate-comments/search/pages" & "?" & url_encoded_query_params)
+ constructResult[ModerationPageSearchResponse](response)
+
+
+proc getSearchSites*(httpClient: HttpClient, value: string, sso: string): (Option[ModerationSiteSearchResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $value != "":
+ query_params_list.add(("value", $value))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/auth/my-account/moderate-comments/search/sites" & "?" & url_encoded_query_params)
+ constructResult[ModerationSiteSearchResponse](response)
+
+
+proc getSearchSuggest*(httpClient: HttpClient, textSearch: string, sso: string): (Option[ModerationSuggestResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $textSearch != "":
+ query_params_list.add(("text-search", $textSearch))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/auth/my-account/moderate-comments/search/suggest" & "?" & url_encoded_query_params)
+ constructResult[ModerationSuggestResponse](response)
+
+
+proc getSearchUsers*(httpClient: HttpClient, value: string, sso: string): (Option[ModerationUserSearchResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $value != "":
+ query_params_list.add(("value", $value))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/auth/my-account/moderate-comments/search/users" & "?" & url_encoded_query_params)
+ constructResult[ModerationUserSearchResponse](response)
+
+
+proc getTrustFactor*(httpClient: HttpClient, userId: string, sso: string): (Option[GetUserTrustFactorResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $userId != "":
+ query_params_list.add(("userId", $userId))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/auth/my-account/moderate-comments/get-trust-factor" & "?" & url_encoded_query_params)
+ constructResult[GetUserTrustFactorResponse](response)
+
+
+proc getUserBanPreference*(httpClient: HttpClient, sso: string): (Option[APIModerateGetUserBanPreferencesResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/auth/my-account/moderate-comments/user-ban-preference" & "?" & url_encoded_query_params)
+ constructResult[APIModerateGetUserBanPreferencesResponse](response)
+
+
+proc getUserInternalProfile*(httpClient: HttpClient, commentId: string, sso: string): (Option[GetUserInternalProfileResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $commentId != "":
+ query_params_list.add(("commentId", $commentId))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/auth/my-account/moderate-comments/get-user-internal-profile" & "?" & url_encoded_query_params)
+ constructResult[GetUserInternalProfileResponse](response)
+
+
+proc postAdjustCommentVotes*(httpClient: HttpClient, commentId: string, adjustCommentVotesParams: AdjustCommentVotesParams, sso: string): (Option[AdjustVotesResponse], Response) =
+ ##
+ httpClient.headers["Content-Type"] = "application/json"
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & fmt"/auth/my-account/moderate-comments/adjust-comment-votes/{commentId}" & "?" & url_encoded_query_params, $(%adjustCommentVotesParams))
+ constructResult[AdjustVotesResponse](response)
+
+
+proc postApiExport*(httpClient: HttpClient, textSearch: string, byIPFromComment: string, filters: string, searchFilters: string, sorts: string, sso: string): (Option[ModerationExportResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $textSearch != "":
+ query_params_list.add(("text-search", $textSearch))
+ if $byIPFromComment != "":
+ query_params_list.add(("byIPFromComment", $byIPFromComment))
+ if $filters != "":
+ query_params_list.add(("filters", $filters))
+ if $searchFilters != "":
+ query_params_list.add(("searchFilters", $searchFilters))
+ if $sorts != "":
+ query_params_list.add(("sorts", $sorts))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & "/auth/my-account/moderate-comments/api/export" & "?" & url_encoded_query_params)
+ constructResult[ModerationExportResponse](response)
+
+
+proc postBanUserFromComment*(httpClient: HttpClient, commentId: string, banEmail: bool, banEmailDomain: bool, banIP: bool, deleteAllUsersComments: bool, bannedUntil: string, isShadowBan: bool, updateId: string, banReason: string, sso: string): (Option[BanUserFromCommentResult], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $banEmail != "":
+ query_params_list.add(("banEmail", $banEmail))
+ if $banEmailDomain != "":
+ query_params_list.add(("banEmailDomain", $banEmailDomain))
+ if $banIP != "":
+ query_params_list.add(("banIP", $banIP))
+ if $deleteAllUsersComments != "":
+ query_params_list.add(("deleteAllUsersComments", $deleteAllUsersComments))
+ if $bannedUntil != "":
+ query_params_list.add(("bannedUntil", $bannedUntil))
+ if $isShadowBan != "":
+ query_params_list.add(("isShadowBan", $isShadowBan))
+ if $updateId != "":
+ query_params_list.add(("updateId", $updateId))
+ if $banReason != "":
+ query_params_list.add(("banReason", $banReason))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & fmt"/auth/my-account/moderate-comments/ban-user/from-comment/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[BanUserFromCommentResult](response)
+
+
+proc postBanUserUndo*(httpClient: HttpClient, banUserUndoParams: BanUserUndoParams, sso: string): (Option[APIEmptyResponse], Response) =
+ ##
+ httpClient.headers["Content-Type"] = "application/json"
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & "/auth/my-account/moderate-comments/ban-user/undo" & "?" & url_encoded_query_params, $(%banUserUndoParams))
+ constructResult[APIEmptyResponse](response)
+
+
+proc postBulkPreBanSummary*(httpClient: HttpClient, bulkPreBanParams: BulkPreBanParams, includeByUserIdAndEmail: bool, includeByIP: bool, includeByEmailDomain: bool, sso: string): (Option[BulkPreBanSummary], Response) =
+ ##
+ httpClient.headers["Content-Type"] = "application/json"
+ var query_params_list: seq[(string, string)] = @[]
+ if $includeByUserIdAndEmail != "":
+ query_params_list.add(("includeByUserIdAndEmail", $includeByUserIdAndEmail))
+ if $includeByIP != "":
+ query_params_list.add(("includeByIP", $includeByIP))
+ if $includeByEmailDomain != "":
+ query_params_list.add(("includeByEmailDomain", $includeByEmailDomain))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & "/auth/my-account/moderate-comments/bulk-pre-ban-summary" & "?" & url_encoded_query_params, $(%bulkPreBanParams))
+ constructResult[BulkPreBanSummary](response)
+
+
+proc postCommentsByIds*(httpClient: HttpClient, commentsByIdsParams: CommentsByIdsParams, sso: string): (Option[ModerationAPIChildCommentsResponse], Response) =
+ ##
+ httpClient.headers["Content-Type"] = "application/json"
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & "/auth/my-account/moderate-comments/comments-by-ids" & "?" & url_encoded_query_params, $(%commentsByIdsParams))
+ constructResult[ModerationAPIChildCommentsResponse](response)
+
+
+proc postFlagComment*(httpClient: HttpClient, commentId: string, sso: string): (Option[APIEmptyResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & fmt"/auth/my-account/moderate-comments/flag-comment/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[APIEmptyResponse](response)
+
+
+proc postRemoveComment*(httpClient: HttpClient, commentId: string, sso: string): (Option[PostRemoveCommentResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & fmt"/auth/my-account/moderate-comments/remove-comment/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[PostRemoveCommentResponse](response)
+
+
+proc postRestoreDeletedComment*(httpClient: HttpClient, commentId: string, sso: string): (Option[APIEmptyResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & fmt"/auth/my-account/moderate-comments/restore-deleted-comment/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[APIEmptyResponse](response)
+
+
+proc postSetCommentApprovalStatus*(httpClient: HttpClient, commentId: string, approved: bool, sso: string): (Option[SetCommentApprovedResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $approved != "":
+ query_params_list.add(("approved", $approved))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & fmt"/auth/my-account/moderate-comments/set-comment-approval-status/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[SetCommentApprovedResponse](response)
+
+
+proc postSetCommentReviewStatus*(httpClient: HttpClient, commentId: string, reviewed: bool, sso: string): (Option[APIEmptyResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $reviewed != "":
+ query_params_list.add(("reviewed", $reviewed))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & fmt"/auth/my-account/moderate-comments/set-comment-review-status/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[APIEmptyResponse](response)
+
+
+proc postSetCommentSpamStatus*(httpClient: HttpClient, commentId: string, spam: bool, permNotSpam: bool, sso: string): (Option[APIEmptyResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $spam != "":
+ query_params_list.add(("spam", $spam))
+ if $permNotSpam != "":
+ query_params_list.add(("permNotSpam", $permNotSpam))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & fmt"/auth/my-account/moderate-comments/set-comment-spam-status/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[APIEmptyResponse](response)
+
+
+proc postSetCommentText*(httpClient: HttpClient, commentId: string, setCommentTextParams: SetCommentTextParams, sso: string): (Option[SetCommentTextResponse], Response) =
+ ##
+ httpClient.headers["Content-Type"] = "application/json"
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & fmt"/auth/my-account/moderate-comments/set-comment-text/{commentId}" & "?" & url_encoded_query_params, $(%setCommentTextParams))
+ constructResult[SetCommentTextResponse](response)
+
+
+proc postUnFlagComment*(httpClient: HttpClient, commentId: string, sso: string): (Option[APIEmptyResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & fmt"/auth/my-account/moderate-comments/un-flag-comment/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[APIEmptyResponse](response)
+
+
+proc postVote*(httpClient: HttpClient, commentId: string, direction: string, sso: string): (Option[VoteResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $direction != "":
+ query_params_list.add(("direction", $direction))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & fmt"/auth/my-account/moderate-comments/vote/{commentId}" & "?" & url_encoded_query_params)
+ constructResult[VoteResponse](response)
+
+
+proc putAwardBadge*(httpClient: HttpClient, badgeId: string, userId: string, commentId: string, broadcastId: string, sso: string): (Option[AwardUserBadgeResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("badgeId", $badgeId))
+ if $userId != "":
+ query_params_list.add(("userId", $userId))
+ if $commentId != "":
+ query_params_list.add(("commentId", $commentId))
+ if $broadcastId != "":
+ query_params_list.add(("broadcastId", $broadcastId))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.put(basepath & "/auth/my-account/moderate-comments/award-badge" & "?" & url_encoded_query_params)
+ constructResult[AwardUserBadgeResponse](response)
+
+
+proc putCloseThread*(httpClient: HttpClient, urlId: string, sso: string): (Option[APIEmptyResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("urlId", $urlId))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.put(basepath & "/auth/my-account/moderate-comments/close-thread" & "?" & url_encoded_query_params)
+ constructResult[APIEmptyResponse](response)
+
+
+proc putRemoveBadge*(httpClient: HttpClient, badgeId: string, userId: string, commentId: string, broadcastId: string, sso: string): (Option[RemoveUserBadgeResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("badgeId", $badgeId))
+ if $userId != "":
+ query_params_list.add(("userId", $userId))
+ if $commentId != "":
+ query_params_list.add(("commentId", $commentId))
+ if $broadcastId != "":
+ query_params_list.add(("broadcastId", $broadcastId))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.put(basepath & "/auth/my-account/moderate-comments/remove-badge" & "?" & url_encoded_query_params)
+ constructResult[RemoveUserBadgeResponse](response)
+
+
+proc putReopenThread*(httpClient: HttpClient, urlId: string, sso: string): (Option[APIEmptyResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("urlId", $urlId))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.put(basepath & "/auth/my-account/moderate-comments/reopen-thread" & "?" & url_encoded_query_params)
+ constructResult[APIEmptyResponse](response)
+
+
+proc setTrustFactor*(httpClient: HttpClient, userId: string, trustFactor: string, sso: string): (Option[SetUserTrustFactorResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $userId != "":
+ query_params_list.add(("userId", $userId))
+ if $trustFactor != "":
+ query_params_list.add(("trustFactor", $trustFactor))
+ if $sso != "":
+ query_params_list.add(("sso", $sso))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.put(basepath & "/auth/my-account/moderate-comments/set-trust-factor" & "?" & url_encoded_query_params)
+ constructResult[SetUserTrustFactorResponse](response)
+
diff --git a/client/fastcomments/apis/api_public.nim b/client/fastcomments/apis/api_public.nim
index 1df55dd..76bd07d 100644
--- a/client/fastcomments/apis/api_public.nim
+++ b/client/fastcomments/apis/api_public.nim
@@ -18,44 +18,59 @@ import tables
import typetraits
import uri
+import ../models/model_api_empty_response
import ../models/model_api_error
-import ../models/model_block_from_comment_public200response
-import ../models/model_checked_comments_for_blocked200response
+import ../models/model_block_success
+import ../models/model_change_comment_pin_status_response
+import ../models/model_check_blocked_comments_response
import ../models/model_comment_data
import ../models/model_comment_text_update_request
-import ../models/model_create_comment_public200response
import ../models/model_create_feed_post_params
-import ../models/model_create_feed_post_public200response
-import ../models/model_delete_comment_public200response
-import ../models/model_delete_comment_vote200response
-import ../models/model_delete_feed_post_public200response
-import ../models/model_flag_comment_public200response
-import ../models/model_get_comment_text200response
-import ../models/model_get_comment_vote_user_names200response
-import ../models/model_get_comments_public200response
-import ../models/model_get_event_log200response
-import ../models/model_get_feed_posts_public200response
-import ../models/model_get_feed_posts_stats200response
-import ../models/model_get_user_notification_count200response
-import ../models/model_get_user_notifications200response
-import ../models/model_get_user_presence_statuses200response
-import ../models/model_get_user_reacts_public200response
-import ../models/model_lock_comment200response
-import ../models/model_pin_comment200response
+import ../models/model_create_feed_post_response
+import ../models/model_create_v1_page_react
+import ../models/model_delete_feed_post_public_response
+import ../models/model_feed_posts_stats_response
+import ../models/model_get_comment_vote_user_names_success_response
+import ../models/model_get_comments_for_user_response
+import ../models/model_get_comments_response_with_presence_public_comment
+import ../models/model_get_event_log_response
+import ../models/model_get_gifs_search_response
+import ../models/model_get_gifs_trending_response
+import ../models/model_get_my_notifications_response
+import ../models/model_get_public_pages_response
+import ../models/model_get_translations_response
+import ../models/model_get_user_notification_count_response
+import ../models/model_get_user_presence_statuses_response
+import ../models/model_get_v1_page_likes
+import ../models/model_get_v2_page_react_users_response
+import ../models/model_get_v2_page_reacts
+import ../models/model_gif_get_large_response
+import ../models/model_page_users_info_response
+import ../models/model_page_users_offline_response
+import ../models/model_page_users_online_response
+import ../models/model_pages_sort_by
+import ../models/model_public_api_delete_comment_response
+import ../models/model_public_api_get_comment_text_response
+import ../models/model_public_api_set_comment_text_response
import ../models/model_public_block_from_comment_params
+import ../models/model_public_feed_posts_response
import ../models/model_react_body_params
-import ../models/model_react_feed_post_public200response
-import ../models/model_reset_user_notifications200response
-import ../models/model_search_users200response
-import ../models/model_set_comment_text200response
+import ../models/model_react_feed_post_response
+import ../models/model_reset_user_notifications_response
+import ../models/model_save_comments_response_with_presence
+import ../models/model_search_users_result
import ../models/model_size_preset
import ../models/model_sort_directions
-import ../models/model_un_block_comment_public200response
+import ../models/model_unblock_success
import ../models/model_update_feed_post_params
-import ../models/model_update_user_notification_status200response
+import ../models/model_update_user_notification_comment_subscription_status_response
+import ../models/model_update_user_notification_page_subscription_status_response
+import ../models/model_update_user_notification_status_response
import ../models/model_upload_image_response
+import ../models/model_user_reacts_response
import ../models/model_vote_body_params
-import ../models/model_vote_comment200response
+import ../models/model_vote_delete_response
+import ../models/model_vote_response
const basepath = "https://fastcomments.com"
@@ -72,7 +87,7 @@ template constructResult[T](response: Response): untyped =
(none(T.typedesc), response)
-proc blockFromCommentPublic*(httpClient: HttpClient, tenantId: string, commentId: string, publicBlockFromCommentParams: PublicBlockFromCommentParams, sso: string): (Option[BlockFromCommentPublic_200_response], Response) =
+proc blockFromCommentPublic*(httpClient: HttpClient, tenantId: string, commentId: string, publicBlockFromCommentParams: PublicBlockFromCommentParams, sso: string): (Option[BlockSuccess], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -82,10 +97,10 @@ proc blockFromCommentPublic*(httpClient: HttpClient, tenantId: string, commentId
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/block-from-comment/{commentId}" & "?" & url_encoded_query_params, $(%publicBlockFromCommentParams))
- constructResult[BlockFromCommentPublic_200_response](response)
+ constructResult[BlockSuccess](response)
-proc checkedCommentsForBlocked*(httpClient: HttpClient, tenantId: string, commentIds: string, sso: string): (Option[CheckedCommentsForBlocked_200_response], Response) =
+proc checkedCommentsForBlocked*(httpClient: HttpClient, tenantId: string, commentIds: string, sso: string): (Option[CheckBlockedCommentsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -95,10 +110,10 @@ proc checkedCommentsForBlocked*(httpClient: HttpClient, tenantId: string, commen
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/check-blocked-comments" & "?" & url_encoded_query_params)
- constructResult[CheckedCommentsForBlocked_200_response](response)
+ constructResult[CheckBlockedCommentsResponse](response)
-proc createCommentPublic*(httpClient: HttpClient, tenantId: string, urlId: string, broadcastId: string, commentData: CommentData, sessionId: string, sso: string): (Option[CreateCommentPublic_200_response], Response) =
+proc createCommentPublic*(httpClient: HttpClient, tenantId: string, urlId: string, broadcastId: string, commentData: CommentData, sessionId: string, sso: string): (Option[SaveCommentsResponseWithPresence], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -111,10 +126,10 @@ proc createCommentPublic*(httpClient: HttpClient, tenantId: string, urlId: strin
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/comments/{tenantId}" & "?" & url_encoded_query_params, $(%commentData))
- constructResult[CreateCommentPublic_200_response](response)
+ constructResult[SaveCommentsResponseWithPresence](response)
-proc createFeedPostPublic*(httpClient: HttpClient, tenantId: string, createFeedPostParams: CreateFeedPostParams, broadcastId: string, sso: string): (Option[CreateFeedPostPublic_200_response], Response) =
+proc createFeedPostPublic*(httpClient: HttpClient, tenantId: string, createFeedPostParams: CreateFeedPostParams, broadcastId: string, sso: string): (Option[CreateFeedPostResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -125,10 +140,35 @@ proc createFeedPostPublic*(httpClient: HttpClient, tenantId: string, createFeedP
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/feed-posts/{tenantId}" & "?" & url_encoded_query_params, $(%createFeedPostParams))
- constructResult[CreateFeedPostPublic_200_response](response)
+ constructResult[CreateFeedPostResponse](response)
-proc deleteCommentPublic*(httpClient: HttpClient, tenantId: string, commentId: string, broadcastId: string, editKey: string, sso: string): (Option[DeleteCommentPublic_200_response], Response) =
+proc createV1PageReact*(httpClient: HttpClient, tenantId: string, urlId: string, title: string): (Option[CreateV1PageReact], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("urlId", $urlId))
+ if $title != "":
+ query_params_list.add(("title", $title))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & fmt"/page-reacts/v1/likes/{tenantId}" & "?" & url_encoded_query_params)
+ constructResult[CreateV1PageReact](response)
+
+
+proc createV2PageReact*(httpClient: HttpClient, tenantId: string, urlId: string, id: string, title: string): (Option[CreateV1PageReact], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("urlId", $urlId))
+ query_params_list.add(("id", $id))
+ if $title != "":
+ query_params_list.add(("title", $title))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.post(basepath & fmt"/page-reacts/v2/{tenantId}" & "?" & url_encoded_query_params)
+ constructResult[CreateV1PageReact](response)
+
+
+proc deleteCommentPublic*(httpClient: HttpClient, tenantId: string, commentId: string, broadcastId: string, editKey: string, sso: string): (Option[PublicAPIDeleteCommentResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("broadcastId", $broadcastId))
@@ -139,10 +179,10 @@ proc deleteCommentPublic*(httpClient: HttpClient, tenantId: string, commentId: s
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/comments/{tenantId}/{commentId}" & "?" & url_encoded_query_params)
- constructResult[DeleteCommentPublic_200_response](response)
+ constructResult[PublicAPIDeleteCommentResponse](response)
-proc deleteCommentVote*(httpClient: HttpClient, tenantId: string, commentId: string, voteId: string, urlId: string, broadcastId: string, editKey: string, sso: string): (Option[DeleteCommentVote_200_response], Response) =
+proc deleteCommentVote*(httpClient: HttpClient, tenantId: string, commentId: string, voteId: string, urlId: string, broadcastId: string, editKey: string, sso: string): (Option[VoteDeleteResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("urlId", $urlId))
@@ -154,10 +194,10 @@ proc deleteCommentVote*(httpClient: HttpClient, tenantId: string, commentId: str
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/comments/{tenantId}/{commentId}/vote/{voteId}" & "?" & url_encoded_query_params)
- constructResult[DeleteCommentVote_200_response](response)
+ constructResult[VoteDeleteResponse](response)
-proc deleteFeedPostPublic*(httpClient: HttpClient, tenantId: string, postId: string, broadcastId: string, sso: string): (Option[DeleteFeedPostPublic_200_response], Response) =
+proc deleteFeedPostPublic*(httpClient: HttpClient, tenantId: string, postId: string, broadcastId: string, sso: string): (Option[DeleteFeedPostPublicResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
if $broadcastId != "":
@@ -167,10 +207,31 @@ proc deleteFeedPostPublic*(httpClient: HttpClient, tenantId: string, postId: str
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.delete(basepath & fmt"/feed-posts/{tenantId}/{postId}" & "?" & url_encoded_query_params)
- constructResult[DeleteFeedPostPublic_200_response](response)
+ constructResult[DeleteFeedPostPublicResponse](response)
-proc flagCommentPublic*(httpClient: HttpClient, tenantId: string, commentId: string, isFlagged: bool, sso: string): (Option[FlagCommentPublic_200_response], Response) =
+proc deleteV1PageReact*(httpClient: HttpClient, tenantId: string, urlId: string): (Option[CreateV1PageReact], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("urlId", $urlId))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.delete(basepath & fmt"/page-reacts/v1/likes/{tenantId}" & "?" & url_encoded_query_params)
+ constructResult[CreateV1PageReact](response)
+
+
+proc deleteV2PageReact*(httpClient: HttpClient, tenantId: string, urlId: string, id: string): (Option[CreateV1PageReact], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("urlId", $urlId))
+ query_params_list.add(("id", $id))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.delete(basepath & fmt"/page-reacts/v2/{tenantId}" & "?" & url_encoded_query_params)
+ constructResult[CreateV1PageReact](response)
+
+
+proc flagCommentPublic*(httpClient: HttpClient, tenantId: string, commentId: string, isFlagged: bool, sso: string): (Option[APIEmptyResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -180,10 +241,10 @@ proc flagCommentPublic*(httpClient: HttpClient, tenantId: string, commentId: str
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/flag-comment/{commentId}" & "?" & url_encoded_query_params)
- constructResult[FlagCommentPublic_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc getCommentText*(httpClient: HttpClient, tenantId: string, commentId: string, editKey: string, sso: string): (Option[GetCommentText_200_response], Response) =
+proc getCommentText*(httpClient: HttpClient, tenantId: string, commentId: string, editKey: string, sso: string): (Option[PublicAPIGetCommentTextResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
if $editKey != "":
@@ -193,10 +254,10 @@ proc getCommentText*(httpClient: HttpClient, tenantId: string, commentId: string
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/comments/{tenantId}/{commentId}/text" & "?" & url_encoded_query_params)
- constructResult[GetCommentText_200_response](response)
+ constructResult[PublicAPIGetCommentTextResponse](response)
-proc getCommentVoteUserNames*(httpClient: HttpClient, tenantId: string, commentId: string, dir: int, sso: string): (Option[GetCommentVoteUserNames_200_response], Response) =
+proc getCommentVoteUserNames*(httpClient: HttpClient, tenantId: string, commentId: string, dir: int, sso: string): (Option[GetCommentVoteUserNamesSuccessResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("dir", $dir))
@@ -205,10 +266,33 @@ proc getCommentVoteUserNames*(httpClient: HttpClient, tenantId: string, commentI
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/comments/{tenantId}/{commentId}/votes" & "?" & url_encoded_query_params)
- constructResult[GetCommentVoteUserNames_200_response](response)
+ constructResult[GetCommentVoteUserNamesSuccessResponse](response)
-proc getCommentsPublic*(httpClient: HttpClient, tenantId: string, urlId: string, page: int, direction: SortDirections, sso: string, skip: int, skipChildren: int, limit: int, limitChildren: int, countChildren: bool, fetchPageForCommentId: string, includeConfig: bool, countAll: bool, includei10n: bool, locale: string, modules: string, isCrawler: bool, includeNotificationCount: bool, asTree: bool, maxTreeDepth: int, useFullTranslationIds: bool, parentId: string, searchText: string, hashTags: seq[string], userId: string, customConfigStr: string, afterCommentId: string, beforeCommentId: string): (Option[GetCommentsPublic_200_response], Response) =
+proc getCommentsForUser*(httpClient: HttpClient, userId: string, direction: SortDirections, repliesToUserId: string, page: float64, includei10n: bool, locale: string, isCrawler: bool): (Option[GetCommentsForUserResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $userId != "":
+ query_params_list.add(("userId", $userId))
+ if $direction != "":
+ query_params_list.add(("direction", $direction))
+ if $repliesToUserId != "":
+ query_params_list.add(("repliesToUserId", $repliesToUserId))
+ if $page != "":
+ query_params_list.add(("page", $page))
+ if $includei10n != "":
+ query_params_list.add(("includei10n", $includei10n))
+ if $locale != "":
+ query_params_list.add(("locale", $locale))
+ if $isCrawler != "":
+ query_params_list.add(("isCrawler", $isCrawler))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & "/comments-for-user" & "?" & url_encoded_query_params)
+ constructResult[GetCommentsForUserResponse](response)
+
+
+proc getCommentsPublic*(httpClient: HttpClient, tenantId: string, urlId: string, page: int, direction: SortDirections, sso: string, skip: int, skipChildren: int, limit: int, limitChildren: int, countChildren: bool, fetchPageForCommentId: string, includeConfig: bool, countAll: bool, includei10n: bool, locale: string, modules: string, isCrawler: bool, includeNotificationCount: bool, asTree: bool, maxTreeDepth: int, useFullTranslationIds: bool, parentId: string, searchText: string, hashTags: seq[string], userId: string, customConfigStr: string, afterCommentId: string, beforeCommentId: string): (Option[GetCommentsResponseWithPresencePublicComment], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("urlId", $urlId))
@@ -267,23 +351,24 @@ proc getCommentsPublic*(httpClient: HttpClient, tenantId: string, urlId: string,
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/comments/{tenantId}" & "?" & url_encoded_query_params)
- constructResult[GetCommentsPublic_200_response](response)
+ constructResult[GetCommentsResponseWithPresencePublicComment](response)
-proc getEventLog*(httpClient: HttpClient, tenantId: string, urlId: string, userIdWS: string, startTime: int64, endTime: int64): (Option[GetEventLog_200_response], Response) =
+proc getEventLog*(httpClient: HttpClient, tenantId: string, urlId: string, userIdWS: string, startTime: int64, endTime: int64): (Option[GetEventLogResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("urlId", $urlId))
query_params_list.add(("userIdWS", $userIdWS))
query_params_list.add(("startTime", $startTime))
- query_params_list.add(("endTime", $endTime))
+ if $endTime != "":
+ query_params_list.add(("endTime", $endTime))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/event-log/{tenantId}" & "?" & url_encoded_query_params)
- constructResult[GetEventLog_200_response](response)
+ constructResult[GetEventLogResponse](response)
-proc getFeedPostsPublic*(httpClient: HttpClient, tenantId: string, afterId: string, limit: int, tags: seq[string], sso: string, isCrawler: bool, includeUserInfo: bool): (Option[GetFeedPostsPublic_200_response], Response) =
+proc getFeedPostsPublic*(httpClient: HttpClient, tenantId: string, afterId: string, limit: int, tags: seq[string], sso: string, isCrawler: bool, includeUserInfo: bool): (Option[PublicFeedPostsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
if $afterId != "":
@@ -301,10 +386,10 @@ proc getFeedPostsPublic*(httpClient: HttpClient, tenantId: string, afterId: stri
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/feed-posts/{tenantId}" & "?" & url_encoded_query_params)
- constructResult[GetFeedPostsPublic_200_response](response)
+ constructResult[PublicFeedPostsResponse](response)
-proc getFeedPostsStats*(httpClient: HttpClient, tenantId: string, postIds: seq[string], sso: string): (Option[GetFeedPostsStats_200_response], Response) =
+proc getFeedPostsStats*(httpClient: HttpClient, tenantId: string, postIds: seq[string], sso: string): (Option[FeedPostsStatsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("postIds", $postIds.join(",")))
@@ -313,23 +398,125 @@ proc getFeedPostsStats*(httpClient: HttpClient, tenantId: string, postIds: seq[s
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/feed-posts/{tenantId}/stats" & "?" & url_encoded_query_params)
- constructResult[GetFeedPostsStats_200_response](response)
+ constructResult[FeedPostsStatsResponse](response)
+
+
+proc getGifLarge*(httpClient: HttpClient, tenantId: string, largeInternalURLSanitized: string): (Option[GifGetLargeResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("largeInternalURLSanitized", $largeInternalURLSanitized))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/gifs/get-large/{tenantId}" & "?" & url_encoded_query_params)
+ constructResult[GifGetLargeResponse](response)
-proc getGlobalEventLog*(httpClient: HttpClient, tenantId: string, urlId: string, userIdWS: string, startTime: int64, endTime: int64): (Option[GetEventLog_200_response], Response) =
+proc getGifsSearch*(httpClient: HttpClient, tenantId: string, search: string, locale: string, rating: string, page: float64): (Option[GetGifsSearchResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("search", $search))
+ if $locale != "":
+ query_params_list.add(("locale", $locale))
+ if $rating != "":
+ query_params_list.add(("rating", $rating))
+ if $page != "":
+ query_params_list.add(("page", $page))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/gifs/search/{tenantId}" & "?" & url_encoded_query_params)
+ constructResult[GetGifsSearchResponse](response)
+
+
+proc getGifsTrending*(httpClient: HttpClient, tenantId: string, locale: string, rating: string, page: float64): (Option[GetGifsTrendingResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $locale != "":
+ query_params_list.add(("locale", $locale))
+ if $rating != "":
+ query_params_list.add(("rating", $rating))
+ if $page != "":
+ query_params_list.add(("page", $page))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/gifs/trending/{tenantId}" & "?" & url_encoded_query_params)
+ constructResult[GetGifsTrendingResponse](response)
+
+
+proc getGlobalEventLog*(httpClient: HttpClient, tenantId: string, urlId: string, userIdWS: string, startTime: int64, endTime: int64): (Option[GetEventLogResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("urlId", $urlId))
query_params_list.add(("userIdWS", $userIdWS))
query_params_list.add(("startTime", $startTime))
- query_params_list.add(("endTime", $endTime))
+ if $endTime != "":
+ query_params_list.add(("endTime", $endTime))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/event-log/global/{tenantId}" & "?" & url_encoded_query_params)
- constructResult[GetEventLog_200_response](response)
+ constructResult[GetEventLogResponse](response)
+
+
+proc getOfflineUsers*(httpClient: HttpClient, tenantId: string, urlId: string, afterName: string, afterUserId: string): (Option[PageUsersOfflineResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("urlId", $urlId))
+ if $afterName != "":
+ query_params_list.add(("afterName", $afterName))
+ if $afterUserId != "":
+ query_params_list.add(("afterUserId", $afterUserId))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/pages/{tenantId}/users/offline" & "?" & url_encoded_query_params)
+ constructResult[PageUsersOfflineResponse](response)
+
+
+proc getOnlineUsers*(httpClient: HttpClient, tenantId: string, urlId: string, afterName: string, afterUserId: string): (Option[PageUsersOnlineResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("urlId", $urlId))
+ if $afterName != "":
+ query_params_list.add(("afterName", $afterName))
+ if $afterUserId != "":
+ query_params_list.add(("afterUserId", $afterUserId))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/pages/{tenantId}/users/online" & "?" & url_encoded_query_params)
+ constructResult[PageUsersOnlineResponse](response)
+
+
+proc getPagesPublic*(httpClient: HttpClient, tenantId: string, cursor: string, limit: int, q: string, sortBy: PagesSortBy, hasComments: bool): (Option[GetPublicPagesResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $cursor != "":
+ query_params_list.add(("cursor", $cursor))
+ if $limit != "":
+ query_params_list.add(("limit", $limit))
+ if $q != "":
+ query_params_list.add(("q", $q))
+ if $sortBy != "":
+ query_params_list.add(("sortBy", $sortBy))
+ if $hasComments != "":
+ query_params_list.add(("hasComments", $hasComments))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/pages/{tenantId}" & "?" & url_encoded_query_params)
+ constructResult[GetPublicPagesResponse](response)
+
+
+proc getTranslations*(httpClient: HttpClient, namespace: string, component: string, locale: string, useFullTranslationIds: bool): (Option[GetTranslationsResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ if $locale != "":
+ query_params_list.add(("locale", $locale))
+ if $useFullTranslationIds != "":
+ query_params_list.add(("useFullTranslationIds", $useFullTranslationIds))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+ let response = httpClient.get(basepath & fmt"/translations/{namespace}/{component}" & "?" & url_encoded_query_params)
+ constructResult[GetTranslationsResponse](response)
-proc getUserNotificationCount*(httpClient: HttpClient, tenantId: string, sso: string): (Option[GetUserNotificationCount_200_response], Response) =
+
+proc getUserNotificationCount*(httpClient: HttpClient, tenantId: string, sso: string): (Option[GetUserNotificationCountResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -338,13 +525,15 @@ proc getUserNotificationCount*(httpClient: HttpClient, tenantId: string, sso: st
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/user-notifications/get-count" & "?" & url_encoded_query_params)
- constructResult[GetUserNotificationCount_200_response](response)
+ constructResult[GetUserNotificationCountResponse](response)
-proc getUserNotifications*(httpClient: HttpClient, tenantId: string, pageSize: int, afterId: string, includeContext: bool, afterCreatedAt: int64, unreadOnly: bool, dmOnly: bool, noDm: bool, includeTranslations: bool, sso: string): (Option[GetUserNotifications_200_response], Response) =
+proc getUserNotifications*(httpClient: HttpClient, tenantId: string, urlId: string, pageSize: int, afterId: string, includeContext: bool, afterCreatedAt: int64, unreadOnly: bool, dmOnly: bool, noDm: bool, includeTranslations: bool, includeTenantNotifications: bool, sso: string): (Option[GetMyNotificationsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
+ if $urlId != "":
+ query_params_list.add(("urlId", $urlId))
if $pageSize != "":
query_params_list.add(("pageSize", $pageSize))
if $afterId != "":
@@ -361,15 +550,17 @@ proc getUserNotifications*(httpClient: HttpClient, tenantId: string, pageSize: i
query_params_list.add(("noDm", $noDm))
if $includeTranslations != "":
query_params_list.add(("includeTranslations", $includeTranslations))
+ if $includeTenantNotifications != "":
+ query_params_list.add(("includeTenantNotifications", $includeTenantNotifications))
if $sso != "":
query_params_list.add(("sso", $sso))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/user-notifications" & "?" & url_encoded_query_params)
- constructResult[GetUserNotifications_200_response](response)
+ constructResult[GetMyNotificationsResponse](response)
-proc getUserPresenceStatuses*(httpClient: HttpClient, tenantId: string, urlIdWS: string, userIds: string): (Option[GetUserPresenceStatuses_200_response], Response) =
+proc getUserPresenceStatuses*(httpClient: HttpClient, tenantId: string, urlIdWS: string, userIds: string): (Option[GetUserPresenceStatusesResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -378,10 +569,10 @@ proc getUserPresenceStatuses*(httpClient: HttpClient, tenantId: string, urlIdWS:
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & "/user-presence-status" & "?" & url_encoded_query_params)
- constructResult[GetUserPresenceStatuses_200_response](response)
+ constructResult[GetUserPresenceStatusesResponse](response)
-proc getUserReactsPublic*(httpClient: HttpClient, tenantId: string, postIds: seq[string], sso: string): (Option[GetUserReactsPublic_200_response], Response) =
+proc getUserReactsPublic*(httpClient: HttpClient, tenantId: string, postIds: seq[string], sso: string): (Option[UserReactsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
if postIds.len > 0:
@@ -391,10 +582,51 @@ proc getUserReactsPublic*(httpClient: HttpClient, tenantId: string, postIds: seq
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/feed-posts/{tenantId}/user-reacts" & "?" & url_encoded_query_params)
- constructResult[GetUserReactsPublic_200_response](response)
+ constructResult[UserReactsResponse](response)
+
+
+proc getUsersInfo*(httpClient: HttpClient, tenantId: string, ids: string): (Option[PageUsersInfoResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("ids", $ids))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/pages/{tenantId}/users/info" & "?" & url_encoded_query_params)
+ constructResult[PageUsersInfoResponse](response)
+
+
+proc getV1PageLikes*(httpClient: HttpClient, tenantId: string, urlId: string): (Option[GetV1PageLikes], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("urlId", $urlId))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/page-reacts/v1/likes/{tenantId}" & "?" & url_encoded_query_params)
+ constructResult[GetV1PageLikes](response)
+
+proc getV2PageReactUsers*(httpClient: HttpClient, tenantId: string, urlId: string, id: string): (Option[GetV2PageReactUsersResponse], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("urlId", $urlId))
+ query_params_list.add(("id", $id))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/page-reacts/v2/{tenantId}/list" & "?" & url_encoded_query_params)
+ constructResult[GetV2PageReactUsersResponse](response)
-proc lockComment*(httpClient: HttpClient, tenantId: string, commentId: string, broadcastId: string, sso: string): (Option[LockComment_200_response], Response) =
+
+proc getV2PageReacts*(httpClient: HttpClient, tenantId: string, urlId: string): (Option[GetV2PageReacts], Response) =
+ ##
+ var query_params_list: seq[(string, string)] = @[]
+ query_params_list.add(("urlId", $urlId))
+ let url_encoded_query_params = encodeQuery(query_params_list)
+
+ let response = httpClient.get(basepath & fmt"/page-reacts/v2/{tenantId}" & "?" & url_encoded_query_params)
+ constructResult[GetV2PageReacts](response)
+
+
+proc lockComment*(httpClient: HttpClient, tenantId: string, commentId: string, broadcastId: string, sso: string): (Option[APIEmptyResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("broadcastId", $broadcastId))
@@ -403,10 +635,17 @@ proc lockComment*(httpClient: HttpClient, tenantId: string, commentId: string, b
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/comments/{tenantId}/{commentId}/lock" & "?" & url_encoded_query_params)
- constructResult[LockComment_200_response](response)
+ constructResult[APIEmptyResponse](response)
+
+
+proc logoutPublic*(httpClient: HttpClient): (Option[APIEmptyResponse], Response) =
+ ##
+
+ let response = httpClient.put(basepath & "/auth/logout")
+ constructResult[APIEmptyResponse](response)
-proc pinComment*(httpClient: HttpClient, tenantId: string, commentId: string, broadcastId: string, sso: string): (Option[PinComment_200_response], Response) =
+proc pinComment*(httpClient: HttpClient, tenantId: string, commentId: string, broadcastId: string, sso: string): (Option[ChangeCommentPinStatusResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("broadcastId", $broadcastId))
@@ -415,10 +654,10 @@ proc pinComment*(httpClient: HttpClient, tenantId: string, commentId: string, br
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/comments/{tenantId}/{commentId}/pin" & "?" & url_encoded_query_params)
- constructResult[PinComment_200_response](response)
+ constructResult[ChangeCommentPinStatusResponse](response)
-proc reactFeedPostPublic*(httpClient: HttpClient, tenantId: string, postId: string, reactBodyParams: ReactBodyParams, isUndo: bool, broadcastId: string, sso: string): (Option[ReactFeedPostPublic_200_response], Response) =
+proc reactFeedPostPublic*(httpClient: HttpClient, tenantId: string, postId: string, reactBodyParams: ReactBodyParams, isUndo: bool, broadcastId: string, sso: string): (Option[ReactFeedPostResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -431,10 +670,10 @@ proc reactFeedPostPublic*(httpClient: HttpClient, tenantId: string, postId: stri
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/feed-posts/{tenantId}/react/{postId}" & "?" & url_encoded_query_params, $(%reactBodyParams))
- constructResult[ReactFeedPostPublic_200_response](response)
+ constructResult[ReactFeedPostResponse](response)
-proc resetUserNotificationCount*(httpClient: HttpClient, tenantId: string, sso: string): (Option[ResetUserNotifications_200_response], Response) =
+proc resetUserNotificationCount*(httpClient: HttpClient, tenantId: string, sso: string): (Option[ResetUserNotificationsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -443,10 +682,10 @@ proc resetUserNotificationCount*(httpClient: HttpClient, tenantId: string, sso:
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/user-notifications/reset-count" & "?" & url_encoded_query_params)
- constructResult[ResetUserNotifications_200_response](response)
+ constructResult[ResetUserNotificationsResponse](response)
-proc resetUserNotifications*(httpClient: HttpClient, tenantId: string, afterId: string, afterCreatedAt: int64, unreadOnly: bool, dmOnly: bool, noDm: bool, sso: string): (Option[ResetUserNotifications_200_response], Response) =
+proc resetUserNotifications*(httpClient: HttpClient, tenantId: string, afterId: string, afterCreatedAt: int64, unreadOnly: bool, dmOnly: bool, noDm: bool, sso: string): (Option[ResetUserNotificationsResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -465,10 +704,10 @@ proc resetUserNotifications*(httpClient: HttpClient, tenantId: string, afterId:
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & "/user-notifications/reset" & "?" & url_encoded_query_params)
- constructResult[ResetUserNotifications_200_response](response)
+ constructResult[ResetUserNotificationsResponse](response)
-proc searchUsers*(httpClient: HttpClient, tenantId: string, urlId: string, usernameStartsWith: string, mentionGroupIds: seq[string], sso: string, searchSection: string): (Option[SearchUsers_200_response], Response) =
+proc searchUsers*(httpClient: HttpClient, tenantId: string, urlId: string, usernameStartsWith: string, mentionGroupIds: seq[string], sso: string, searchSection: string): (Option[SearchUsersResult], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("urlId", $urlId))
@@ -483,10 +722,10 @@ proc searchUsers*(httpClient: HttpClient, tenantId: string, urlId: string, usern
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.get(basepath & fmt"/user-search/{tenantId}" & "?" & url_encoded_query_params)
- constructResult[SearchUsers_200_response](response)
+ constructResult[SearchUsersResult](response)
-proc setCommentText*(httpClient: HttpClient, tenantId: string, commentId: string, broadcastId: string, commentTextUpdateRequest: CommentTextUpdateRequest, editKey: string, sso: string): (Option[SetCommentText_200_response], Response) =
+proc setCommentText*(httpClient: HttpClient, tenantId: string, commentId: string, broadcastId: string, commentTextUpdateRequest: CommentTextUpdateRequest, editKey: string, sso: string): (Option[PublicAPISetCommentTextResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -498,10 +737,10 @@ proc setCommentText*(httpClient: HttpClient, tenantId: string, commentId: string
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/comments/{tenantId}/{commentId}/update-text" & "?" & url_encoded_query_params, $(%commentTextUpdateRequest))
- constructResult[SetCommentText_200_response](response)
+ constructResult[PublicAPISetCommentTextResponse](response)
-proc unBlockCommentPublic*(httpClient: HttpClient, tenantId: string, commentId: string, publicBlockFromCommentParams: PublicBlockFromCommentParams, sso: string): (Option[UnBlockCommentPublic_200_response], Response) =
+proc unBlockCommentPublic*(httpClient: HttpClient, tenantId: string, commentId: string, publicBlockFromCommentParams: PublicBlockFromCommentParams, sso: string): (Option[UnblockSuccess], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -510,10 +749,10 @@ proc unBlockCommentPublic*(httpClient: HttpClient, tenantId: string, commentId:
query_params_list.add(("sso", $sso))
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.request(basepath & fmt"/block-from-comment/{commentId}" & "?" & url_encoded_query_params, httpMethod = HttpDelete, body = $(%publicBlockFromCommentParams))
- constructResult[UnBlockCommentPublic_200_response](response)
+ constructResult[UnblockSuccess](response)
-proc unLockComment*(httpClient: HttpClient, tenantId: string, commentId: string, broadcastId: string, sso: string): (Option[LockComment_200_response], Response) =
+proc unLockComment*(httpClient: HttpClient, tenantId: string, commentId: string, broadcastId: string, sso: string): (Option[APIEmptyResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("broadcastId", $broadcastId))
@@ -522,10 +761,10 @@ proc unLockComment*(httpClient: HttpClient, tenantId: string, commentId: string,
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/comments/{tenantId}/{commentId}/unlock" & "?" & url_encoded_query_params)
- constructResult[LockComment_200_response](response)
+ constructResult[APIEmptyResponse](response)
-proc unPinComment*(httpClient: HttpClient, tenantId: string, commentId: string, broadcastId: string, sso: string): (Option[PinComment_200_response], Response) =
+proc unPinComment*(httpClient: HttpClient, tenantId: string, commentId: string, broadcastId: string, sso: string): (Option[ChangeCommentPinStatusResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("broadcastId", $broadcastId))
@@ -534,10 +773,10 @@ proc unPinComment*(httpClient: HttpClient, tenantId: string, commentId: string,
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/comments/{tenantId}/{commentId}/unpin" & "?" & url_encoded_query_params)
- constructResult[PinComment_200_response](response)
+ constructResult[ChangeCommentPinStatusResponse](response)
-proc updateFeedPostPublic*(httpClient: HttpClient, tenantId: string, postId: string, updateFeedPostParams: UpdateFeedPostParams, broadcastId: string, sso: string): (Option[CreateFeedPostPublic_200_response], Response) =
+proc updateFeedPostPublic*(httpClient: HttpClient, tenantId: string, postId: string, updateFeedPostParams: UpdateFeedPostParams, broadcastId: string, sso: string): (Option[CreateFeedPostResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -548,10 +787,10 @@ proc updateFeedPostPublic*(httpClient: HttpClient, tenantId: string, postId: str
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.put(basepath & fmt"/feed-posts/{tenantId}/{postId}" & "?" & url_encoded_query_params, $(%updateFeedPostParams))
- constructResult[CreateFeedPostPublic_200_response](response)
+ constructResult[CreateFeedPostResponse](response)
-proc updateUserNotificationCommentSubscriptionStatus*(httpClient: HttpClient, tenantId: string, notificationId: string, optedInOrOut: string, commentId: string, sso: string): (Option[UpdateUserNotificationStatus_200_response], Response) =
+proc updateUserNotificationCommentSubscriptionStatus*(httpClient: HttpClient, tenantId: string, notificationId: string, optedInOrOut: string, commentId: string, sso: string): (Option[UpdateUserNotificationCommentSubscriptionStatusResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -561,10 +800,10 @@ proc updateUserNotificationCommentSubscriptionStatus*(httpClient: HttpClient, te
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/user-notifications/{notificationId}/mark-opted/{optedInOrOut}" & "?" & url_encoded_query_params)
- constructResult[UpdateUserNotificationStatus_200_response](response)
+ constructResult[UpdateUserNotificationCommentSubscriptionStatusResponse](response)
-proc updateUserNotificationPageSubscriptionStatus*(httpClient: HttpClient, tenantId: string, urlId: string, url: string, pageTitle: string, subscribedOrUnsubscribed: string, sso: string): (Option[UpdateUserNotificationStatus_200_response], Response) =
+proc updateUserNotificationPageSubscriptionStatus*(httpClient: HttpClient, tenantId: string, urlId: string, url: string, pageTitle: string, subscribedOrUnsubscribed: string, sso: string): (Option[UpdateUserNotificationPageSubscriptionStatusResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -576,10 +815,10 @@ proc updateUserNotificationPageSubscriptionStatus*(httpClient: HttpClient, tenan
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/user-notifications/set-subscription-state/{subscribedOrUnsubscribed}" & "?" & url_encoded_query_params)
- constructResult[UpdateUserNotificationStatus_200_response](response)
+ constructResult[UpdateUserNotificationPageSubscriptionStatusResponse](response)
-proc updateUserNotificationStatus*(httpClient: HttpClient, tenantId: string, notificationId: string, newStatus: string, sso: string): (Option[UpdateUserNotificationStatus_200_response], Response) =
+proc updateUserNotificationStatus*(httpClient: HttpClient, tenantId: string, notificationId: string, newStatus: string, sso: string): (Option[UpdateUserNotificationStatusResponse], Response) =
##
var query_params_list: seq[(string, string)] = @[]
query_params_list.add(("tenantId", $tenantId))
@@ -588,7 +827,7 @@ proc updateUserNotificationStatus*(httpClient: HttpClient, tenantId: string, not
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/user-notifications/{notificationId}/mark/{newStatus}" & "?" & url_encoded_query_params)
- constructResult[UpdateUserNotificationStatus_200_response](response)
+ constructResult[UpdateUserNotificationStatusResponse](response)
proc uploadImage*(httpClient: HttpClient, tenantId: string, file: string, sizePreset: SizePreset, urlId: string): (Option[UploadImageResponse], Response) =
@@ -608,7 +847,7 @@ proc uploadImage*(httpClient: HttpClient, tenantId: string, file: string, sizePr
constructResult[UploadImageResponse](response)
-proc voteComment*(httpClient: HttpClient, tenantId: string, commentId: string, urlId: string, broadcastId: string, voteBodyParams: VoteBodyParams, sessionId: string, sso: string): (Option[VoteComment_200_response], Response) =
+proc voteComment*(httpClient: HttpClient, tenantId: string, commentId: string, urlId: string, broadcastId: string, voteBodyParams: VoteBodyParams, sessionId: string, sso: string): (Option[VoteResponse], Response) =
##
httpClient.headers["Content-Type"] = "application/json"
var query_params_list: seq[(string, string)] = @[]
@@ -621,5 +860,5 @@ proc voteComment*(httpClient: HttpClient, tenantId: string, commentId: string, u
let url_encoded_query_params = encodeQuery(query_params_list)
let response = httpClient.post(basepath & fmt"/comments/{tenantId}/{commentId}/vote" & "?" & url_encoded_query_params, $(%voteBodyParams))
- constructResult[VoteComment_200_response](response)
+ constructResult[VoteResponse](response)
diff --git a/client/fastcomments/models/model_add_domain_config200response.nim b/client/fastcomments/models/model_add_domain_config200response.nim
deleted file mode 100644
index 8a04e04..0000000
--- a/client/fastcomments/models/model_add_domain_config200response.nim
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_add_domain_config200response_any_of
-import model_any_type
-import model_get_domain_configs200response_any_of1
-
-# AnyOf type
-type AddDomainConfig200responseKind* {.pure.} = enum
- GetDomainConfigs200responseAnyOf1Variant
- AddDomainConfig200responseAnyOfVariant
-
-type AddDomainConfig200response* = object
- ##
- case kind*: AddDomainConfig200responseKind
- of AddDomainConfig200responseKind.GetDomainConfigs200responseAnyOf1Variant:
- GetDomainConfigs_200_response_anyOf_1Value*: GetDomainConfigs200responseAnyOf1
- of AddDomainConfig200responseKind.AddDomainConfig200responseAnyOfVariant:
- AddDomainConfig_200_response_anyOfValue*: AddDomainConfig200responseAnyOf
-
-proc to*(node: JsonNode, T: typedesc[AddDomainConfig200response]): AddDomainConfig200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return AddDomainConfig200response(kind: AddDomainConfig200responseKind.GetDomainConfigs200responseAnyOf1Variant, GetDomainConfigs_200_response_anyOf_1Value: to(node, GetDomainConfigs200responseAnyOf1))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetDomainConfigs200responseAnyOf1: ", e.msg
- try:
- return AddDomainConfig200response(kind: AddDomainConfig200responseKind.AddDomainConfig200responseAnyOfVariant, AddDomainConfig_200_response_anyOfValue: to(node, AddDomainConfig200responseAnyOf))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as AddDomainConfig200responseAnyOf: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of AddDomainConfig200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_add_domain_config200response_any_of.nim b/client/fastcomments/models/model_add_domain_config200response_any_of.nim
deleted file mode 100644
index 1d92c52..0000000
--- a/client/fastcomments/models/model_add_domain_config200response_any_of.nim
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_any_type
-
-type AddDomainConfig200responseAnyOf* = object
- ##
- configuration*: Option[JsonNode]
- status*: Option[JsonNode]
-
diff --git a/client/fastcomments/models/model_add_domain_config_params.nim b/client/fastcomments/models/model_add_domain_config_params.nim
index d1d3719..0c4e3cb 100644
--- a/client/fastcomments/models/model_add_domain_config_params.nim
+++ b/client/fastcomments/models/model_add_domain_config_params.nim
@@ -23,3 +23,40 @@ type AddDomainConfigParams* = object
footerUnsubscribeURL*: Option[string]
emailHeaders*: Option[Table[string, string]] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for AddDomainConfigParams with custom field names
+proc to*(node: JsonNode, T: typedesc[AddDomainConfigParams]): AddDomainConfigParams =
+ result = AddDomainConfigParams()
+ if node.kind == JObject:
+ if node.hasKey("domain"):
+ result.domain = to(node["domain"], string)
+ if node.hasKey("emailFromName") and node["emailFromName"].kind != JNull:
+ result.emailFromName = some(to(node["emailFromName"], typeof(result.emailFromName.get())))
+ if node.hasKey("emailFromEmail") and node["emailFromEmail"].kind != JNull:
+ result.emailFromEmail = some(to(node["emailFromEmail"], typeof(result.emailFromEmail.get())))
+ if node.hasKey("logoSrc") and node["logoSrc"].kind != JNull:
+ result.logoSrc = some(to(node["logoSrc"], typeof(result.logoSrc.get())))
+ if node.hasKey("logoSrc100px") and node["logoSrc100px"].kind != JNull:
+ result.logoSrc100px = some(to(node["logoSrc100px"], typeof(result.logoSrc100px.get())))
+ if node.hasKey("footerUnsubscribeURL") and node["footerUnsubscribeURL"].kind != JNull:
+ result.footerUnsubscribeURL = some(to(node["footerUnsubscribeURL"], typeof(result.footerUnsubscribeURL.get())))
+ if node.hasKey("emailHeaders") and node["emailHeaders"].kind != JNull:
+ result.emailHeaders = some(to(node["emailHeaders"], typeof(result.emailHeaders.get())))
+
+# Custom JSON serialization for AddDomainConfigParams with custom field names
+proc `%`*(obj: AddDomainConfigParams): JsonNode =
+ result = newJObject()
+ result["domain"] = %obj.domain
+ if obj.emailFromName.isSome():
+ result["emailFromName"] = %obj.emailFromName.get()
+ if obj.emailFromEmail.isSome():
+ result["emailFromEmail"] = %obj.emailFromEmail.get()
+ if obj.logoSrc.isSome():
+ result["logoSrc"] = %obj.logoSrc.get()
+ if obj.logoSrc100px.isSome():
+ result["logoSrc100px"] = %obj.logoSrc100px.get()
+ if obj.footerUnsubscribeURL.isSome():
+ result["footerUnsubscribeURL"] = %obj.footerUnsubscribeURL.get()
+ if obj.emailHeaders.isSome():
+ result["emailHeaders"] = %obj.emailHeaders.get()
+
diff --git a/client/fastcomments/models/model_add_domain_config_response.nim b/client/fastcomments/models/model_add_domain_config_response.nim
new file mode 100644
index 0000000..a8ae5aa
--- /dev/null
+++ b/client/fastcomments/models/model_add_domain_config_response.nim
@@ -0,0 +1,45 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_add_domain_config_response_any_of
+import model_any_type
+import model_get_domain_configs_response_any_of1
+
+# AnyOf type
+type AddDomainConfigResponseKind* {.pure.} = enum
+ GetDomainConfigsResponseAnyOf1Variant
+ AddDomainConfigResponseAnyOfVariant
+
+type AddDomainConfigResponse* = object
+ ##
+ case kind*: AddDomainConfigResponseKind
+ of AddDomainConfigResponseKind.GetDomainConfigsResponseAnyOf1Variant:
+ GetDomainConfigsResponse_anyOf_1Value*: GetDomainConfigsResponseAnyOf1
+ of AddDomainConfigResponseKind.AddDomainConfigResponseAnyOfVariant:
+ AddDomainConfigResponse_anyOfValue*: AddDomainConfigResponseAnyOf
+
+proc to*(node: JsonNode, T: typedesc[AddDomainConfigResponse]): AddDomainConfigResponse =
+ ## Custom deserializer for anyOf type - tries each variant
+ try:
+ return AddDomainConfigResponse(kind: AddDomainConfigResponseKind.GetDomainConfigsResponseAnyOf1Variant, GetDomainConfigsResponse_anyOf_1Value: to(node, GetDomainConfigsResponseAnyOf1))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as GetDomainConfigsResponseAnyOf1: ", e.msg
+ try:
+ return AddDomainConfigResponse(kind: AddDomainConfigResponseKind.AddDomainConfigResponseAnyOfVariant, AddDomainConfigResponse_anyOfValue: to(node, AddDomainConfigResponseAnyOf))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as AddDomainConfigResponseAnyOf: ", e.msg
+ raise newException(ValueError, "Unable to deserialize into any variant of AddDomainConfigResponse. JSON: " & $node)
+
diff --git a/client/fastcomments/models/model_add_domain_config_response_any_of.nim b/client/fastcomments/models/model_add_domain_config_response_any_of.nim
new file mode 100644
index 0000000..343cd46
--- /dev/null
+++ b/client/fastcomments/models/model_add_domain_config_response_any_of.nim
@@ -0,0 +1,39 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_any_type
+
+type AddDomainConfigResponseAnyOf* = object
+ ##
+ configuration*: Option[JsonNode]
+ status*: Option[JsonNode]
+
+
+# Custom JSON deserialization for AddDomainConfigResponseAnyOf with custom field names
+proc to*(node: JsonNode, T: typedesc[AddDomainConfigResponseAnyOf]): AddDomainConfigResponseAnyOf =
+ result = AddDomainConfigResponseAnyOf()
+ if node.kind == JObject:
+ if node.hasKey("configuration") and node["configuration"].kind != JNull:
+ result.configuration = some(to(node["configuration"], typeof(result.configuration.get())))
+ if node.hasKey("status") and node["status"].kind != JNull:
+ result.status = some(to(node["status"], typeof(result.status.get())))
+
+# Custom JSON serialization for AddDomainConfigResponseAnyOf with custom field names
+proc `%`*(obj: AddDomainConfigResponseAnyOf): JsonNode =
+ result = newJObject()
+ if obj.configuration.isSome():
+ result["configuration"] = %obj.configuration.get()
+ if obj.status.isSome():
+ result["status"] = %obj.status.get()
+
diff --git a/client/fastcomments/models/model_add_hash_tags_bulk200response.nim b/client/fastcomments/models/model_add_hash_tags_bulk200response.nim
deleted file mode 100644
index e431d23..0000000
--- a/client/fastcomments/models/model_add_hash_tags_bulk200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_add_hash_tag200response
-import model_api_error
-import model_api_status
-import model_bulk_create_hash_tags_response
-import model_custom_config_parameters
-
-# AnyOf type
-type AddHashTagsBulk200responseKind* {.pure.} = enum
- BulkCreateHashTagsResponseVariant
- APIErrorVariant
-
-type AddHashTagsBulk200response* = object
- ##
- case kind*: AddHashTagsBulk200responseKind
- of AddHashTagsBulk200responseKind.BulkCreateHashTagsResponseVariant:
- BulkCreateHashTagsResponseValue*: BulkCreateHashTagsResponse
- of AddHashTagsBulk200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[AddHashTagsBulk200response]): AddHashTagsBulk200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return AddHashTagsBulk200response(kind: AddHashTagsBulk200responseKind.BulkCreateHashTagsResponseVariant, BulkCreateHashTagsResponseValue: to(node, BulkCreateHashTagsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as BulkCreateHashTagsResponse: ", e.msg
- try:
- return AddHashTagsBulk200response(kind: AddHashTagsBulk200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of AddHashTagsBulk200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_add_page_api_response.nim b/client/fastcomments/models/model_add_page_api_response.nim
index 8edb09b..3b8bd59 100644
--- a/client/fastcomments/models/model_add_page_api_response.nim
+++ b/client/fastcomments/models/model_add_page_api_response.nim
@@ -21,3 +21,28 @@ type AddPageAPIResponse* = object
page*: Option[APIPage]
status*: string
+
+# Custom JSON deserialization for AddPageAPIResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[AddPageAPIResponse]): AddPageAPIResponse =
+ result = AddPageAPIResponse()
+ if node.kind == JObject:
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("page") and node["page"].kind != JNull:
+ result.page = some(to(node["page"], typeof(result.page.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for AddPageAPIResponse with custom field names
+proc `%`*(obj: AddPageAPIResponse): JsonNode =
+ result = newJObject()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ if obj.page.isSome():
+ result["page"] = %obj.page.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_add_sso_user_api_response.nim b/client/fastcomments/models/model_add_sso_user_api_response.nim
index aa04fea..75a16b6 100644
--- a/client/fastcomments/models/model_add_sso_user_api_response.nim
+++ b/client/fastcomments/models/model_add_sso_user_api_response.nim
@@ -21,3 +21,28 @@ type AddSSOUserAPIResponse* = object
user*: Option[APISSOUser]
status*: string
+
+# Custom JSON deserialization for AddSSOUserAPIResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[AddSSOUserAPIResponse]): AddSSOUserAPIResponse =
+ result = AddSSOUserAPIResponse()
+ if node.kind == JObject:
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("user") and node["user"].kind != JNull:
+ result.user = some(to(node["user"], typeof(result.user.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for AddSSOUserAPIResponse with custom field names
+proc `%`*(obj: AddSSOUserAPIResponse): JsonNode =
+ result = newJObject()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ if obj.user.isSome():
+ result["user"] = %obj.user.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_adjust_comment_votes_params.nim b/client/fastcomments/models/model_adjust_comment_votes_params.nim
new file mode 100644
index 0000000..b191c53
--- /dev/null
+++ b/client/fastcomments/models/model_adjust_comment_votes_params.nim
@@ -0,0 +1,32 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type AdjustCommentVotesParams* = object
+ ##
+ adjustVoteAmount*: float64
+
+
+# Custom JSON deserialization for AdjustCommentVotesParams with custom field names
+proc to*(node: JsonNode, T: typedesc[AdjustCommentVotesParams]): AdjustCommentVotesParams =
+ result = AdjustCommentVotesParams()
+ if node.kind == JObject:
+ if node.hasKey("adjustVoteAmount"):
+ result.adjustVoteAmount = to(node["adjustVoteAmount"], float64)
+
+# Custom JSON serialization for AdjustCommentVotesParams with custom field names
+proc `%`*(obj: AdjustCommentVotesParams): JsonNode =
+ result = newJObject()
+ result["adjustVoteAmount"] = %obj.adjustVoteAmount
+
diff --git a/client/fastcomments/models/model_adjust_votes_response.nim b/client/fastcomments/models/model_adjust_votes_response.nim
new file mode 100644
index 0000000..efb9e5d
--- /dev/null
+++ b/client/fastcomments/models/model_adjust_votes_response.nim
@@ -0,0 +1,36 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type AdjustVotesResponse* = object
+ ##
+ status*: string
+ newCommentVotes*: int
+
+
+# Custom JSON deserialization for AdjustVotesResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[AdjustVotesResponse]): AdjustVotesResponse =
+ result = AdjustVotesResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+ if node.hasKey("newCommentVotes"):
+ result.newCommentVotes = to(node["newCommentVotes"], int)
+
+# Custom JSON serialization for AdjustVotesResponse with custom field names
+proc `%`*(obj: AdjustVotesResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["newCommentVotes"] = %obj.newCommentVotes
+
diff --git a/client/fastcomments/models/model_aggregate_question_results200response.nim b/client/fastcomments/models/model_aggregate_question_results200response.nim
deleted file mode 100644
index c316fbd..0000000
--- a/client/fastcomments/models/model_aggregate_question_results200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_aggregate_question_results_response
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_question_result_aggregation_overall
-
-# AnyOf type
-type AggregateQuestionResults200responseKind* {.pure.} = enum
- AggregateQuestionResultsResponseVariant
- APIErrorVariant
-
-type AggregateQuestionResults200response* = object
- ##
- case kind*: AggregateQuestionResults200responseKind
- of AggregateQuestionResults200responseKind.AggregateQuestionResultsResponseVariant:
- AggregateQuestionResultsResponseValue*: AggregateQuestionResultsResponse
- of AggregateQuestionResults200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[AggregateQuestionResults200response]): AggregateQuestionResults200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return AggregateQuestionResults200response(kind: AggregateQuestionResults200responseKind.AggregateQuestionResultsResponseVariant, AggregateQuestionResultsResponseValue: to(node, AggregateQuestionResultsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as AggregateQuestionResultsResponse: ", e.msg
- try:
- return AggregateQuestionResults200response(kind: AggregateQuestionResults200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of AggregateQuestionResults200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_aggregate_question_results_response.nim b/client/fastcomments/models/model_aggregate_question_results_response.nim
index 32c2e28..5931ebc 100644
--- a/client/fastcomments/models/model_aggregate_question_results_response.nim
+++ b/client/fastcomments/models/model_aggregate_question_results_response.nim
@@ -20,3 +20,19 @@ type AggregateQuestionResultsResponse* = object
status*: APIStatus
data*: QuestionResultAggregationOverall
+
+# Custom JSON deserialization for AggregateQuestionResultsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[AggregateQuestionResultsResponse]): AggregateQuestionResultsResponse =
+ result = AggregateQuestionResultsResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("data"):
+ result.data = to(node["data"], QuestionResultAggregationOverall)
+
+# Custom JSON serialization for AggregateQuestionResultsResponse with custom field names
+proc `%`*(obj: AggregateQuestionResultsResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["data"] = %obj.data
+
diff --git a/client/fastcomments/models/model_aggregate_response.nim b/client/fastcomments/models/model_aggregate_response.nim
new file mode 100644
index 0000000..5b76fb3
--- /dev/null
+++ b/client/fastcomments/models/model_aggregate_response.nim
@@ -0,0 +1,47 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_aggregation_api_error
+import model_aggregation_item
+import model_aggregation_response
+import model_aggregation_response_stats
+import model_api_status
+
+# AnyOf type
+type AggregateResponseKind* {.pure.} = enum
+ AggregationResponseVariant
+ AggregationAPIErrorVariant
+
+type AggregateResponse* = object
+ ##
+ case kind*: AggregateResponseKind
+ of AggregateResponseKind.AggregationResponseVariant:
+ AggregationResponseValue*: AggregationResponse
+ of AggregateResponseKind.AggregationAPIErrorVariant:
+ AggregationAPIErrorValue*: AggregationAPIError
+
+proc to*(node: JsonNode, T: typedesc[AggregateResponse]): AggregateResponse =
+ ## Custom deserializer for anyOf type - tries each variant
+ try:
+ return AggregateResponse(kind: AggregateResponseKind.AggregationResponseVariant, AggregationResponseValue: to(node, AggregationResponse))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as AggregationResponse: ", e.msg
+ try:
+ return AggregateResponse(kind: AggregateResponseKind.AggregationAPIErrorVariant, AggregationAPIErrorValue: to(node, AggregationAPIError))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as AggregationAPIError: ", e.msg
+ raise newException(ValueError, "Unable to deserialize into any variant of AggregateResponse. JSON: " & $node)
+
diff --git a/client/fastcomments/models/model_aggregation_api_error.nim b/client/fastcomments/models/model_aggregation_api_error.nim
new file mode 100644
index 0000000..90e080e
--- /dev/null
+++ b/client/fastcomments/models/model_aggregation_api_error.nim
@@ -0,0 +1,46 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type AggregationAPIError* = object
+ ##
+ status*: APIStatus
+ reason*: string
+ code*: string
+ validResourceNames*: Option[seq[string]]
+
+
+# Custom JSON deserialization for AggregationAPIError with custom field names
+proc to*(node: JsonNode, T: typedesc[AggregationAPIError]): AggregationAPIError =
+ result = AggregationAPIError()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("reason"):
+ result.reason = to(node["reason"], string)
+ if node.hasKey("code"):
+ result.code = to(node["code"], string)
+ if node.hasKey("validResourceNames") and node["validResourceNames"].kind != JNull:
+ result.validResourceNames = some(to(node["validResourceNames"], typeof(result.validResourceNames.get())))
+
+# Custom JSON serialization for AggregationAPIError with custom field names
+proc `%`*(obj: AggregationAPIError): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["reason"] = %obj.reason
+ result["code"] = %obj.code
+ if obj.validResourceNames.isSome():
+ result["validResourceNames"] = %obj.validResourceNames.get()
+
diff --git a/client/fastcomments/models/model_aggregation_item.nim b/client/fastcomments/models/model_aggregation_item.nim
index 07be781..fbdfdcb 100644
--- a/client/fastcomments/models/model_aggregation_item.nim
+++ b/client/fastcomments/models/model_aggregation_item.nim
@@ -18,3 +18,17 @@ type AggregationItem* = object
##
groups*: Option[Table[string, string]] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for AggregationItem with custom field names
+proc to*(node: JsonNode, T: typedesc[AggregationItem]): AggregationItem =
+ result = AggregationItem()
+ if node.kind == JObject:
+ if node.hasKey("groups") and node["groups"].kind != JNull:
+ result.groups = some(to(node["groups"], typeof(result.groups.get())))
+
+# Custom JSON serialization for AggregationItem with custom field names
+proc `%`*(obj: AggregationItem): JsonNode =
+ result = newJObject()
+ if obj.groups.isSome():
+ result["groups"] = %obj.groups.get()
+
diff --git a/client/fastcomments/models/model_aggregation_operation.nim b/client/fastcomments/models/model_aggregation_operation.nim
index 9a17fe4..3b4060d 100644
--- a/client/fastcomments/models/model_aggregation_operation.nim
+++ b/client/fastcomments/models/model_aggregation_operation.nim
@@ -21,3 +21,27 @@ type AggregationOperation* = object
alias*: Option[string] ## Optional alias for the output; if not provided, a default alias is computed
expandArray*: Option[bool]
+
+# Custom JSON deserialization for AggregationOperation with custom field names
+proc to*(node: JsonNode, T: typedesc[AggregationOperation]): AggregationOperation =
+ result = AggregationOperation()
+ if node.kind == JObject:
+ if node.hasKey("field"):
+ result.field = to(node["field"], string)
+ if node.hasKey("op"):
+ result.op = to(node["op"], AggregationOpType)
+ if node.hasKey("alias") and node["alias"].kind != JNull:
+ result.alias = some(to(node["alias"], typeof(result.alias.get())))
+ if node.hasKey("expandArray") and node["expandArray"].kind != JNull:
+ result.expandArray = some(to(node["expandArray"], typeof(result.expandArray.get())))
+
+# Custom JSON serialization for AggregationOperation with custom field names
+proc `%`*(obj: AggregationOperation): JsonNode =
+ result = newJObject()
+ result["field"] = %obj.field
+ result["op"] = %obj.op
+ if obj.alias.isSome():
+ result["alias"] = %obj.alias.get()
+ if obj.expandArray.isSome():
+ result["expandArray"] = %obj.expandArray.get()
+
diff --git a/client/fastcomments/models/model_aggregation_request.nim b/client/fastcomments/models/model_aggregation_request.nim
index 9526df1..340885f 100644
--- a/client/fastcomments/models/model_aggregation_request.nim
+++ b/client/fastcomments/models/model_aggregation_request.nim
@@ -22,5 +22,33 @@ type AggregationRequest* = object
resourceName*: string
groupBy*: Option[seq[string]]
operations*: seq[AggregationOperation]
- sort*: Option[AggregationRequest_sort]
+ sort*: Option[AggregationRequestSort]
+
+
+# Custom JSON deserialization for AggregationRequest with custom field names
+proc to*(node: JsonNode, T: typedesc[AggregationRequest]): AggregationRequest =
+ result = AggregationRequest()
+ if node.kind == JObject:
+ if node.hasKey("query") and node["query"].kind != JNull:
+ result.query = some(to(node["query"], typeof(result.query.get())))
+ if node.hasKey("resourceName"):
+ result.resourceName = to(node["resourceName"], string)
+ if node.hasKey("groupBy") and node["groupBy"].kind != JNull:
+ result.groupBy = some(to(node["groupBy"], typeof(result.groupBy.get())))
+ if node.hasKey("operations"):
+ result.operations = to(node["operations"], seq[AggregationOperation])
+ if node.hasKey("sort") and node["sort"].kind != JNull:
+ result.sort = some(to(node["sort"], typeof(result.sort.get())))
+
+# Custom JSON serialization for AggregationRequest with custom field names
+proc `%`*(obj: AggregationRequest): JsonNode =
+ result = newJObject()
+ if obj.query.isSome():
+ result["query"] = %obj.query.get()
+ result["resourceName"] = %obj.resourceName
+ if obj.groupBy.isSome():
+ result["groupBy"] = %obj.groupBy.get()
+ result["operations"] = %obj.operations
+ if obj.sort.isSome():
+ result["sort"] = %obj.sort.get()
diff --git a/client/fastcomments/models/model_aggregation_request_sort.nim b/client/fastcomments/models/model_aggregation_request_sort.nim
index 21259bc..25e06a9 100644
--- a/client/fastcomments/models/model_aggregation_request_sort.nim
+++ b/client/fastcomments/models/model_aggregation_request_sort.nim
@@ -43,3 +43,19 @@ proc to*(node: JsonNode, T: typedesc[Dir]): Dir =
else:
raise newException(ValueError, "Invalid enum value for Dir: " & strVal)
+
+# Custom JSON deserialization for AggregationRequestSort with custom field names
+proc to*(node: JsonNode, T: typedesc[AggregationRequestSort]): AggregationRequestSort =
+ result = AggregationRequestSort()
+ if node.kind == JObject:
+ if node.hasKey("dir"):
+ result.dir = to(node["dir"], Dir)
+ if node.hasKey("field"):
+ result.field = to(node["field"], string)
+
+# Custom JSON serialization for AggregationRequestSort with custom field names
+proc `%`*(obj: AggregationRequestSort): JsonNode =
+ result = newJObject()
+ result["dir"] = %obj.dir
+ result["field"] = %obj.field
+
diff --git a/client/fastcomments/models/model_aggregation_response.nim b/client/fastcomments/models/model_aggregation_response.nim
index ba3985c..1309632 100644
--- a/client/fastcomments/models/model_aggregation_response.nim
+++ b/client/fastcomments/models/model_aggregation_response.nim
@@ -20,5 +20,25 @@ type AggregationResponse* = object
## The API response returns the aggregated data along with simple stats
status*: APIStatus
data*: seq[AggregationItem]
- stats*: Option[AggregationResponse_stats]
+ stats*: Option[AggregationResponseStats]
+
+
+# Custom JSON deserialization for AggregationResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[AggregationResponse]): AggregationResponse =
+ result = AggregationResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("data"):
+ result.data = to(node["data"], seq[AggregationItem])
+ if node.hasKey("stats") and node["stats"].kind != JNull:
+ result.stats = some(to(node["stats"], typeof(result.stats.get())))
+
+# Custom JSON serialization for AggregationResponse with custom field names
+proc `%`*(obj: AggregationResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["data"] = %obj.data
+ if obj.stats.isSome():
+ result["stats"] = %obj.stats.get()
diff --git a/client/fastcomments/models/model_aggregation_response_stats.nim b/client/fastcomments/models/model_aggregation_response_stats.nim
index 593bb34..2eed109 100644
--- a/client/fastcomments/models/model_aggregation_response_stats.nim
+++ b/client/fastcomments/models/model_aggregation_response_stats.nim
@@ -18,3 +18,19 @@ type AggregationResponseStats* = object
timeMS*: int64
scanned*: int64
+
+# Custom JSON deserialization for AggregationResponseStats with custom field names
+proc to*(node: JsonNode, T: typedesc[AggregationResponseStats]): AggregationResponseStats =
+ result = AggregationResponseStats()
+ if node.kind == JObject:
+ if node.hasKey("timeMS"):
+ result.timeMS = to(node["timeMS"], int64)
+ if node.hasKey("scanned"):
+ result.scanned = to(node["scanned"], int64)
+
+# Custom JSON serialization for AggregationResponseStats with custom field names
+proc `%`*(obj: AggregationResponseStats): JsonNode =
+ result = newJObject()
+ result["timeMS"] = %obj.timeMS
+ result["scanned"] = %obj.scanned
+
diff --git a/client/fastcomments/models/model_aggregation_value.nim b/client/fastcomments/models/model_aggregation_value.nim
index 84663b8..ae22a21 100644
--- a/client/fastcomments/models/model_aggregation_value.nim
+++ b/client/fastcomments/models/model_aggregation_value.nim
@@ -21,3 +21,33 @@ type AggregationValue* = object
distinctCount*: Option[int64]
distinctCounts*: Option[Table[string, float64]] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for AggregationValue with custom field names
+proc to*(node: JsonNode, T: typedesc[AggregationValue]): AggregationValue =
+ result = AggregationValue()
+ if node.kind == JObject:
+ if node.hasKey("groups") and node["groups"].kind != JNull:
+ result.groups = some(to(node["groups"], typeof(result.groups.get())))
+ if node.hasKey("stringValue") and node["stringValue"].kind != JNull:
+ result.stringValue = some(to(node["stringValue"], typeof(result.stringValue.get())))
+ if node.hasKey("numericValue") and node["numericValue"].kind != JNull:
+ result.numericValue = some(to(node["numericValue"], typeof(result.numericValue.get())))
+ if node.hasKey("distinctCount") and node["distinctCount"].kind != JNull:
+ result.distinctCount = some(to(node["distinctCount"], typeof(result.distinctCount.get())))
+ if node.hasKey("distinctCounts") and node["distinctCounts"].kind != JNull:
+ result.distinctCounts = some(to(node["distinctCounts"], typeof(result.distinctCounts.get())))
+
+# Custom JSON serialization for AggregationValue with custom field names
+proc `%`*(obj: AggregationValue): JsonNode =
+ result = newJObject()
+ if obj.groups.isSome():
+ result["groups"] = %obj.groups.get()
+ if obj.stringValue.isSome():
+ result["stringValue"] = %obj.stringValue.get()
+ if obj.numericValue.isSome():
+ result["numericValue"] = %obj.numericValue.get()
+ if obj.distinctCount.isSome():
+ result["distinctCount"] = %obj.distinctCount.get()
+ if obj.distinctCounts.isSome():
+ result["distinctCounts"] = %obj.distinctCounts.get()
+
diff --git a/client/fastcomments/models/model_api_ban_user_change_log.nim b/client/fastcomments/models/model_api_ban_user_change_log.nim
new file mode 100644
index 0000000..fa0281f
--- /dev/null
+++ b/client/fastcomments/models/model_api_ban_user_change_log.nim
@@ -0,0 +1,56 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_ban_user_changed_values
+import model_api_banned_user
+
+type APIBanUserChangeLog* = object
+ ##
+ createdBannedUserId*: Option[string]
+ updatedBannedUserId*: Option[string]
+ deletedBannedUsers*: Option[seq[APIBannedUser]]
+ changedValuesBefore*: Option[APIBanUserChangedValues]
+
+
+# Custom JSON deserialization for APIBanUserChangeLog with custom field names
+proc to*(node: JsonNode, T: typedesc[APIBanUserChangeLog]): APIBanUserChangeLog =
+ result = APIBanUserChangeLog()
+ if node.kind == JObject:
+ if node.hasKey("createdBannedUserId") and node["createdBannedUserId"].kind != JNull:
+ result.createdBannedUserId = some(to(node["createdBannedUserId"], typeof(result.createdBannedUserId.get())))
+ if node.hasKey("updatedBannedUserId") and node["updatedBannedUserId"].kind != JNull:
+ result.updatedBannedUserId = some(to(node["updatedBannedUserId"], typeof(result.updatedBannedUserId.get())))
+ if node.hasKey("deletedBannedUsers") and node["deletedBannedUsers"].kind != JNull:
+ # Optional array of types with custom JSON - manually iterate and deserialize
+ let arrayNode = node["deletedBannedUsers"]
+ if arrayNode.kind == JArray:
+ var arr: seq[APIBannedUser] = @[]
+ for item in arrayNode.items:
+ arr.add(to(item, APIBannedUser))
+ result.deletedBannedUsers = some(arr)
+ if node.hasKey("changedValuesBefore") and node["changedValuesBefore"].kind != JNull:
+ result.changedValuesBefore = some(to(node["changedValuesBefore"], typeof(result.changedValuesBefore.get())))
+
+# Custom JSON serialization for APIBanUserChangeLog with custom field names
+proc `%`*(obj: APIBanUserChangeLog): JsonNode =
+ result = newJObject()
+ if obj.createdBannedUserId.isSome():
+ result["createdBannedUserId"] = %obj.createdBannedUserId.get()
+ if obj.updatedBannedUserId.isSome():
+ result["updatedBannedUserId"] = %obj.updatedBannedUserId.get()
+ if obj.deletedBannedUsers.isSome():
+ result["deletedBannedUsers"] = %obj.deletedBannedUsers.get()
+ if obj.changedValuesBefore.isSome():
+ result["changedValuesBefore"] = %obj.changedValuesBefore.get()
+
diff --git a/client/fastcomments/models/model_api_ban_user_changed_values.nim b/client/fastcomments/models/model_api_ban_user_changed_values.nim
new file mode 100644
index 0000000..81ecb8b
--- /dev/null
+++ b/client/fastcomments/models/model_api_ban_user_changed_values.nim
@@ -0,0 +1,93 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type APIBanUserChangedValues* = object
+ ##
+ id*: Option[string]
+ tenantId*: Option[string]
+ userId*: Option[string]
+ email*: Option[string]
+ username*: Option[string]
+ ipHash*: Option[string]
+ createdAt*: Option[string]
+ bannedByUserId*: Option[string]
+ bannedCommentText*: Option[string]
+ banType*: Option[string]
+ bannedUntil*: Option[string]
+ hasEmailWildcard*: Option[bool]
+ banReason*: Option[string]
+
+
+# Custom JSON deserialization for APIBanUserChangedValues with custom field names
+proc to*(node: JsonNode, T: typedesc[APIBanUserChangedValues]): APIBanUserChangedValues =
+ result = APIBanUserChangedValues()
+ if node.kind == JObject:
+ if node.hasKey("_id") and node["_id"].kind != JNull:
+ result.id = some(to(node["_id"], typeof(result.id.get())))
+ if node.hasKey("tenantId") and node["tenantId"].kind != JNull:
+ result.tenantId = some(to(node["tenantId"], typeof(result.tenantId.get())))
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+ if node.hasKey("email") and node["email"].kind != JNull:
+ result.email = some(to(node["email"], typeof(result.email.get())))
+ if node.hasKey("username") and node["username"].kind != JNull:
+ result.username = some(to(node["username"], typeof(result.username.get())))
+ if node.hasKey("ipHash") and node["ipHash"].kind != JNull:
+ result.ipHash = some(to(node["ipHash"], typeof(result.ipHash.get())))
+ if node.hasKey("createdAt") and node["createdAt"].kind != JNull:
+ result.createdAt = some(to(node["createdAt"], typeof(result.createdAt.get())))
+ if node.hasKey("bannedByUserId") and node["bannedByUserId"].kind != JNull:
+ result.bannedByUserId = some(to(node["bannedByUserId"], typeof(result.bannedByUserId.get())))
+ if node.hasKey("bannedCommentText") and node["bannedCommentText"].kind != JNull:
+ result.bannedCommentText = some(to(node["bannedCommentText"], typeof(result.bannedCommentText.get())))
+ if node.hasKey("banType") and node["banType"].kind != JNull:
+ result.banType = some(to(node["banType"], typeof(result.banType.get())))
+ if node.hasKey("bannedUntil") and node["bannedUntil"].kind != JNull:
+ result.bannedUntil = some(to(node["bannedUntil"], typeof(result.bannedUntil.get())))
+ if node.hasKey("hasEmailWildcard") and node["hasEmailWildcard"].kind != JNull:
+ result.hasEmailWildcard = some(to(node["hasEmailWildcard"], typeof(result.hasEmailWildcard.get())))
+ if node.hasKey("banReason") and node["banReason"].kind != JNull:
+ result.banReason = some(to(node["banReason"], typeof(result.banReason.get())))
+
+# Custom JSON serialization for APIBanUserChangedValues with custom field names
+proc `%`*(obj: APIBanUserChangedValues): JsonNode =
+ result = newJObject()
+ if obj.id.isSome():
+ result["_id"] = %obj.id.get()
+ if obj.tenantId.isSome():
+ result["tenantId"] = %obj.tenantId.get()
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+ if obj.email.isSome():
+ result["email"] = %obj.email.get()
+ if obj.username.isSome():
+ result["username"] = %obj.username.get()
+ if obj.ipHash.isSome():
+ result["ipHash"] = %obj.ipHash.get()
+ if obj.createdAt.isSome():
+ result["createdAt"] = %obj.createdAt.get()
+ if obj.bannedByUserId.isSome():
+ result["bannedByUserId"] = %obj.bannedByUserId.get()
+ if obj.bannedCommentText.isSome():
+ result["bannedCommentText"] = %obj.bannedCommentText.get()
+ if obj.banType.isSome():
+ result["banType"] = %obj.banType.get()
+ if obj.bannedUntil.isSome():
+ result["bannedUntil"] = %obj.bannedUntil.get()
+ if obj.hasEmailWildcard.isSome():
+ result["hasEmailWildcard"] = %obj.hasEmailWildcard.get()
+ if obj.banReason.isSome():
+ result["banReason"] = %obj.banReason.get()
+
diff --git a/client/fastcomments/models/model_api_banned_user.nim b/client/fastcomments/models/model_api_banned_user.nim
new file mode 100644
index 0000000..819eecc
--- /dev/null
+++ b/client/fastcomments/models/model_api_banned_user.nim
@@ -0,0 +1,86 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type APIBannedUser* = object
+ ##
+ id*: string
+ tenantId*: string
+ userId*: Option[string]
+ email*: Option[string]
+ username*: Option[string]
+ ipHash*: Option[string]
+ createdAt*: string
+ bannedByUserId*: string
+ bannedCommentText*: string
+ banType*: string
+ bannedUntil*: Option[string]
+ hasEmailWildcard*: bool
+ banReason*: Option[string]
+
+
+# Custom JSON deserialization for APIBannedUser with custom field names
+proc to*(node: JsonNode, T: typedesc[APIBannedUser]): APIBannedUser =
+ result = APIBannedUser()
+ if node.kind == JObject:
+ if node.hasKey("_id"):
+ result.id = to(node["_id"], string)
+ if node.hasKey("tenantId"):
+ result.tenantId = to(node["tenantId"], string)
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+ if node.hasKey("email") and node["email"].kind != JNull:
+ result.email = some(to(node["email"], typeof(result.email.get())))
+ if node.hasKey("username") and node["username"].kind != JNull:
+ result.username = some(to(node["username"], typeof(result.username.get())))
+ if node.hasKey("ipHash") and node["ipHash"].kind != JNull:
+ result.ipHash = some(to(node["ipHash"], typeof(result.ipHash.get())))
+ if node.hasKey("createdAt"):
+ result.createdAt = to(node["createdAt"], string)
+ if node.hasKey("bannedByUserId"):
+ result.bannedByUserId = to(node["bannedByUserId"], string)
+ if node.hasKey("bannedCommentText"):
+ result.bannedCommentText = to(node["bannedCommentText"], string)
+ if node.hasKey("banType"):
+ result.banType = to(node["banType"], string)
+ if node.hasKey("bannedUntil") and node["bannedUntil"].kind != JNull:
+ result.bannedUntil = some(to(node["bannedUntil"], typeof(result.bannedUntil.get())))
+ if node.hasKey("hasEmailWildcard"):
+ result.hasEmailWildcard = to(node["hasEmailWildcard"], bool)
+ if node.hasKey("banReason") and node["banReason"].kind != JNull:
+ result.banReason = some(to(node["banReason"], typeof(result.banReason.get())))
+
+# Custom JSON serialization for APIBannedUser with custom field names
+proc `%`*(obj: APIBannedUser): JsonNode =
+ result = newJObject()
+ result["_id"] = %obj.id
+ result["tenantId"] = %obj.tenantId
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+ if obj.email.isSome():
+ result["email"] = %obj.email.get()
+ if obj.username.isSome():
+ result["username"] = %obj.username.get()
+ if obj.ipHash.isSome():
+ result["ipHash"] = %obj.ipHash.get()
+ result["createdAt"] = %obj.createdAt
+ result["bannedByUserId"] = %obj.bannedByUserId
+ result["bannedCommentText"] = %obj.bannedCommentText
+ result["banType"] = %obj.banType
+ if obj.bannedUntil.isSome():
+ result["bannedUntil"] = %obj.bannedUntil.get()
+ result["hasEmailWildcard"] = %obj.hasEmailWildcard
+ if obj.banReason.isSome():
+ result["banReason"] = %obj.banReason.get()
+
diff --git a/client/fastcomments/models/model_api_banned_user_with_multi_match_info.nim b/client/fastcomments/models/model_api_banned_user_with_multi_match_info.nim
new file mode 100644
index 0000000..f53c4d1
--- /dev/null
+++ b/client/fastcomments/models/model_api_banned_user_with_multi_match_info.nim
@@ -0,0 +1,70 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_banned_user_match
+
+type APIBannedUserWithMultiMatchInfo* = object
+ ##
+ id*: string
+ userId*: Option[string]
+ banType*: string
+ email*: Option[string]
+ ipHash*: Option[string]
+ bannedUntil*: Option[string]
+ hasEmailWildcard*: bool
+ banReason*: Option[string]
+ matches*: seq[BannedUserMatch]
+
+
+# Custom JSON deserialization for APIBannedUserWithMultiMatchInfo with custom field names
+proc to*(node: JsonNode, T: typedesc[APIBannedUserWithMultiMatchInfo]): APIBannedUserWithMultiMatchInfo =
+ result = APIBannedUserWithMultiMatchInfo()
+ if node.kind == JObject:
+ if node.hasKey("_id"):
+ result.id = to(node["_id"], string)
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+ if node.hasKey("banType"):
+ result.banType = to(node["banType"], string)
+ if node.hasKey("email") and node["email"].kind != JNull:
+ result.email = some(to(node["email"], typeof(result.email.get())))
+ if node.hasKey("ipHash") and node["ipHash"].kind != JNull:
+ result.ipHash = some(to(node["ipHash"], typeof(result.ipHash.get())))
+ if node.hasKey("bannedUntil") and node["bannedUntil"].kind != JNull:
+ result.bannedUntil = some(to(node["bannedUntil"], typeof(result.bannedUntil.get())))
+ if node.hasKey("hasEmailWildcard"):
+ result.hasEmailWildcard = to(node["hasEmailWildcard"], bool)
+ if node.hasKey("banReason") and node["banReason"].kind != JNull:
+ result.banReason = some(to(node["banReason"], typeof(result.banReason.get())))
+ if node.hasKey("matches"):
+ result.matches = to(node["matches"], seq[BannedUserMatch])
+
+# Custom JSON serialization for APIBannedUserWithMultiMatchInfo with custom field names
+proc `%`*(obj: APIBannedUserWithMultiMatchInfo): JsonNode =
+ result = newJObject()
+ result["_id"] = %obj.id
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+ result["banType"] = %obj.banType
+ if obj.email.isSome():
+ result["email"] = %obj.email.get()
+ if obj.ipHash.isSome():
+ result["ipHash"] = %obj.ipHash.get()
+ if obj.bannedUntil.isSome():
+ result["bannedUntil"] = %obj.bannedUntil.get()
+ result["hasEmailWildcard"] = %obj.hasEmailWildcard
+ if obj.banReason.isSome():
+ result["banReason"] = %obj.banReason.get()
+ result["matches"] = %obj.matches
+
diff --git a/client/fastcomments/models/model_api_comment.nim b/client/fastcomments/models/model_api_comment.nim
index 4ef8b19..15cbc03 100644
--- a/client/fastcomments/models/model_api_comment.nim
+++ b/client/fastcomments/models/model_api_comment.nim
@@ -78,8 +78,8 @@ type APIComment* = object
proc to*(node: JsonNode, T: typedesc[APIComment]): APIComment =
result = APIComment()
if node.kind == JObject:
- if node.hasKey("_id"):
- result.id = to(node["_id"], string)
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
if node.hasKey("aiDeterminedSpam") and node["aiDeterminedSpam"].kind != JNull:
result.aiDeterminedSpam = some(to(node["aiDeterminedSpam"], typeof(result.aiDeterminedSpam.get())))
if node.hasKey("anonUserId") and node["anonUserId"].kind != JNull:
@@ -188,7 +188,7 @@ proc to*(node: JsonNode, T: typedesc[APIComment]): APIComment =
# Custom JSON serialization for APIComment with custom field names
proc `%`*(obj: APIComment): JsonNode =
result = newJObject()
- result["_id"] = %obj.id
+ result["id"] = %obj.id
if obj.aiDeterminedSpam.isSome():
result["aiDeterminedSpam"] = %obj.aiDeterminedSpam.get()
if obj.anonUserId.isSome():
diff --git a/client/fastcomments/models/model_api_comment_base.nim b/client/fastcomments/models/model_api_comment_base.nim
index 5fd0d63..011620e 100644
--- a/client/fastcomments/models/model_api_comment_base.nim
+++ b/client/fastcomments/models/model_api_comment_base.nim
@@ -78,8 +78,8 @@ type APICommentBase* = object
proc to*(node: JsonNode, T: typedesc[APICommentBase]): APICommentBase =
result = APICommentBase()
if node.kind == JObject:
- if node.hasKey("_id"):
- result.id = to(node["_id"], string)
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
if node.hasKey("aiDeterminedSpam") and node["aiDeterminedSpam"].kind != JNull:
result.aiDeterminedSpam = some(to(node["aiDeterminedSpam"], typeof(result.aiDeterminedSpam.get())))
if node.hasKey("anonUserId") and node["anonUserId"].kind != JNull:
@@ -188,7 +188,7 @@ proc to*(node: JsonNode, T: typedesc[APICommentBase]): APICommentBase =
# Custom JSON serialization for APICommentBase with custom field names
proc `%`*(obj: APICommentBase): JsonNode =
result = newJObject()
- result["_id"] = %obj.id
+ result["id"] = %obj.id
if obj.aiDeterminedSpam.isSome():
result["aiDeterminedSpam"] = %obj.aiDeterminedSpam.get()
if obj.anonUserId.isSome():
diff --git a/client/fastcomments/models/model_api_comment_base_meta.nim b/client/fastcomments/models/model_api_comment_base_meta.nim
index 9eca5f1..ca9927a 100644
--- a/client/fastcomments/models/model_api_comment_base_meta.nim
+++ b/client/fastcomments/models/model_api_comment_base_meta.nim
@@ -19,3 +19,21 @@ type APICommentBaseMeta* = object
wpUserId*: Option[string]
wpPostId*: Option[string]
+
+# Custom JSON deserialization for APICommentBaseMeta with custom field names
+proc to*(node: JsonNode, T: typedesc[APICommentBaseMeta]): APICommentBaseMeta =
+ result = APICommentBaseMeta()
+ if node.kind == JObject:
+ if node.hasKey("wpUserId") and node["wpUserId"].kind != JNull:
+ result.wpUserId = some(to(node["wpUserId"], typeof(result.wpUserId.get())))
+ if node.hasKey("wpPostId") and node["wpPostId"].kind != JNull:
+ result.wpPostId = some(to(node["wpPostId"], typeof(result.wpPostId.get())))
+
+# Custom JSON serialization for APICommentBaseMeta with custom field names
+proc `%`*(obj: APICommentBaseMeta): JsonNode =
+ result = newJObject()
+ if obj.wpUserId.isSome():
+ result["wpUserId"] = %obj.wpUserId.get()
+ if obj.wpPostId.isSome():
+ result["wpPostId"] = %obj.wpPostId.get()
+
diff --git a/client/fastcomments/models/model_api_comment_common_banned_user.nim b/client/fastcomments/models/model_api_comment_common_banned_user.nim
new file mode 100644
index 0000000..4219ea4
--- /dev/null
+++ b/client/fastcomments/models/model_api_comment_common_banned_user.nim
@@ -0,0 +1,65 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type APICommentCommonBannedUser* = object
+ ##
+ id*: string
+ userId*: Option[string]
+ banType*: string
+ email*: Option[string]
+ ipHash*: Option[string]
+ bannedUntil*: Option[string]
+ hasEmailWildcard*: bool
+ banReason*: Option[string]
+
+
+# Custom JSON deserialization for APICommentCommonBannedUser with custom field names
+proc to*(node: JsonNode, T: typedesc[APICommentCommonBannedUser]): APICommentCommonBannedUser =
+ result = APICommentCommonBannedUser()
+ if node.kind == JObject:
+ if node.hasKey("_id"):
+ result.id = to(node["_id"], string)
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+ if node.hasKey("banType"):
+ result.banType = to(node["banType"], string)
+ if node.hasKey("email") and node["email"].kind != JNull:
+ result.email = some(to(node["email"], typeof(result.email.get())))
+ if node.hasKey("ipHash") and node["ipHash"].kind != JNull:
+ result.ipHash = some(to(node["ipHash"], typeof(result.ipHash.get())))
+ if node.hasKey("bannedUntil") and node["bannedUntil"].kind != JNull:
+ result.bannedUntil = some(to(node["bannedUntil"], typeof(result.bannedUntil.get())))
+ if node.hasKey("hasEmailWildcard"):
+ result.hasEmailWildcard = to(node["hasEmailWildcard"], bool)
+ if node.hasKey("banReason") and node["banReason"].kind != JNull:
+ result.banReason = some(to(node["banReason"], typeof(result.banReason.get())))
+
+# Custom JSON serialization for APICommentCommonBannedUser with custom field names
+proc `%`*(obj: APICommentCommonBannedUser): JsonNode =
+ result = newJObject()
+ result["_id"] = %obj.id
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+ result["banType"] = %obj.banType
+ if obj.email.isSome():
+ result["email"] = %obj.email.get()
+ if obj.ipHash.isSome():
+ result["ipHash"] = %obj.ipHash.get()
+ if obj.bannedUntil.isSome():
+ result["bannedUntil"] = %obj.bannedUntil.get()
+ result["hasEmailWildcard"] = %obj.hasEmailWildcard
+ if obj.banReason.isSome():
+ result["banReason"] = %obj.banReason.get()
+
diff --git a/client/fastcomments/models/model_api_domain_configuration.nim b/client/fastcomments/models/model_api_domain_configuration.nim
index d50811d..8f7002b 100644
--- a/client/fastcomments/models/model_api_domain_configuration.nim
+++ b/client/fastcomments/models/model_api_domain_configuration.nim
@@ -32,3 +32,70 @@ type APIDomainConfiguration* = object
footerUnsubscribeURL*: Option[string]
disableUnsubscribeLinks*: Option[bool]
+
+# Custom JSON deserialization for APIDomainConfiguration with custom field names
+proc to*(node: JsonNode, T: typedesc[APIDomainConfiguration]): APIDomainConfiguration =
+ result = APIDomainConfiguration()
+ if node.kind == JObject:
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
+ if node.hasKey("domain"):
+ result.domain = to(node["domain"], string)
+ if node.hasKey("emailFromName") and node["emailFromName"].kind != JNull:
+ result.emailFromName = some(to(node["emailFromName"], typeof(result.emailFromName.get())))
+ if node.hasKey("emailFromEmail") and node["emailFromEmail"].kind != JNull:
+ result.emailFromEmail = some(to(node["emailFromEmail"], typeof(result.emailFromEmail.get())))
+ if node.hasKey("emailHeaders") and node["emailHeaders"].kind != JNull:
+ result.emailHeaders = some(to(node["emailHeaders"], typeof(result.emailHeaders.get())))
+ if node.hasKey("wpSyncToken") and node["wpSyncToken"].kind != JNull:
+ result.wpSyncToken = some(to(node["wpSyncToken"], typeof(result.wpSyncToken.get())))
+ if node.hasKey("wpSynced") and node["wpSynced"].kind != JNull:
+ result.wpSynced = some(to(node["wpSynced"], typeof(result.wpSynced.get())))
+ if node.hasKey("wpURL") and node["wpURL"].kind != JNull:
+ result.wpURL = some(to(node["wpURL"], typeof(result.wpURL.get())))
+ if node.hasKey("createdAt"):
+ result.createdAt = to(node["createdAt"], string)
+ if node.hasKey("autoAddedDate") and node["autoAddedDate"].kind != JNull:
+ result.autoAddedDate = some(to(node["autoAddedDate"], typeof(result.autoAddedDate.get())))
+ if node.hasKey("siteType") and node["siteType"].kind != JNull:
+ result.siteType = some(to(node["siteType"], typeof(result.siteType.get())))
+ if node.hasKey("logoSrc") and node["logoSrc"].kind != JNull:
+ result.logoSrc = some(to(node["logoSrc"], typeof(result.logoSrc.get())))
+ if node.hasKey("logoSrc100px") and node["logoSrc100px"].kind != JNull:
+ result.logoSrc100px = some(to(node["logoSrc100px"], typeof(result.logoSrc100px.get())))
+ if node.hasKey("footerUnsubscribeURL") and node["footerUnsubscribeURL"].kind != JNull:
+ result.footerUnsubscribeURL = some(to(node["footerUnsubscribeURL"], typeof(result.footerUnsubscribeURL.get())))
+ if node.hasKey("disableUnsubscribeLinks") and node["disableUnsubscribeLinks"].kind != JNull:
+ result.disableUnsubscribeLinks = some(to(node["disableUnsubscribeLinks"], typeof(result.disableUnsubscribeLinks.get())))
+
+# Custom JSON serialization for APIDomainConfiguration with custom field names
+proc `%`*(obj: APIDomainConfiguration): JsonNode =
+ result = newJObject()
+ result["id"] = %obj.id
+ result["domain"] = %obj.domain
+ if obj.emailFromName.isSome():
+ result["emailFromName"] = %obj.emailFromName.get()
+ if obj.emailFromEmail.isSome():
+ result["emailFromEmail"] = %obj.emailFromEmail.get()
+ if obj.emailHeaders.isSome():
+ result["emailHeaders"] = %obj.emailHeaders.get()
+ if obj.wpSyncToken.isSome():
+ result["wpSyncToken"] = %obj.wpSyncToken.get()
+ if obj.wpSynced.isSome():
+ result["wpSynced"] = %obj.wpSynced.get()
+ if obj.wpURL.isSome():
+ result["wpURL"] = %obj.wpURL.get()
+ result["createdAt"] = %obj.createdAt
+ if obj.autoAddedDate.isSome():
+ result["autoAddedDate"] = %obj.autoAddedDate.get()
+ if obj.siteType.isSome():
+ result["siteType"] = %obj.siteType.get()
+ if obj.logoSrc.isSome():
+ result["logoSrc"] = %obj.logoSrc.get()
+ if obj.logoSrc100px.isSome():
+ result["logoSrc100px"] = %obj.logoSrc100px.get()
+ if obj.footerUnsubscribeURL.isSome():
+ result["footerUnsubscribeURL"] = %obj.footerUnsubscribeURL.get()
+ if obj.disableUnsubscribeLinks.isSome():
+ result["disableUnsubscribeLinks"] = %obj.disableUnsubscribeLinks.get()
+
diff --git a/client/fastcomments/models/model_api_empty_response.nim b/client/fastcomments/models/model_api_empty_response.nim
index b240730..2b1efa7 100644
--- a/client/fastcomments/models/model_api_empty_response.nim
+++ b/client/fastcomments/models/model_api_empty_response.nim
@@ -18,3 +18,16 @@ type APIEmptyResponse* = object
##
status*: APIStatus
+
+# Custom JSON deserialization for APIEmptyResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[APIEmptyResponse]): APIEmptyResponse =
+ result = APIEmptyResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for APIEmptyResponse with custom field names
+proc `%`*(obj: APIEmptyResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_api_empty_success_response.nim b/client/fastcomments/models/model_api_empty_success_response.nim
index b714714..2cd9379 100644
--- a/client/fastcomments/models/model_api_empty_success_response.nim
+++ b/client/fastcomments/models/model_api_empty_success_response.nim
@@ -18,3 +18,16 @@ type APIEmptySuccessResponse* = object
##
status*: APIStatus
+
+# Custom JSON deserialization for APIEmptySuccessResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[APIEmptySuccessResponse]): APIEmptySuccessResponse =
+ result = APIEmptySuccessResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for APIEmptySuccessResponse with custom field names
+proc `%`*(obj: APIEmptySuccessResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_api_error.nim b/client/fastcomments/models/model_api_error.nim
index 1442d92..f28b304 100644
--- a/client/fastcomments/models/model_api_error.nim
+++ b/client/fastcomments/models/model_api_error.nim
@@ -26,3 +26,42 @@ type APIError* = object
translatedError*: Option[string]
customConfig*: Option[CustomConfigParameters]
+
+# Custom JSON deserialization for APIError with custom field names
+proc to*(node: JsonNode, T: typedesc[APIError]): APIError =
+ result = APIError()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("reason"):
+ result.reason = to(node["reason"], string)
+ if node.hasKey("code"):
+ result.code = to(node["code"], string)
+ if node.hasKey("secondaryCode") and node["secondaryCode"].kind != JNull:
+ result.secondaryCode = some(to(node["secondaryCode"], typeof(result.secondaryCode.get())))
+ if node.hasKey("bannedUntil") and node["bannedUntil"].kind != JNull:
+ result.bannedUntil = some(to(node["bannedUntil"], typeof(result.bannedUntil.get())))
+ if node.hasKey("maxCharacterLength") and node["maxCharacterLength"].kind != JNull:
+ result.maxCharacterLength = some(to(node["maxCharacterLength"], typeof(result.maxCharacterLength.get())))
+ if node.hasKey("translatedError") and node["translatedError"].kind != JNull:
+ result.translatedError = some(to(node["translatedError"], typeof(result.translatedError.get())))
+ if node.hasKey("customConfig") and node["customConfig"].kind != JNull:
+ result.customConfig = some(to(node["customConfig"], typeof(result.customConfig.get())))
+
+# Custom JSON serialization for APIError with custom field names
+proc `%`*(obj: APIError): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["reason"] = %obj.reason
+ result["code"] = %obj.code
+ if obj.secondaryCode.isSome():
+ result["secondaryCode"] = %obj.secondaryCode.get()
+ if obj.bannedUntil.isSome():
+ result["bannedUntil"] = %obj.bannedUntil.get()
+ if obj.maxCharacterLength.isSome():
+ result["maxCharacterLength"] = %obj.maxCharacterLength.get()
+ if obj.translatedError.isSome():
+ result["translatedError"] = %obj.translatedError.get()
+ if obj.customConfig.isSome():
+ result["customConfig"] = %obj.customConfig.get()
+
diff --git a/client/fastcomments/models/model_api_get_comments_response.nim b/client/fastcomments/models/model_api_get_comments_response.nim
index 5120372..134bbe4 100644
--- a/client/fastcomments/models/model_api_get_comments_response.nim
+++ b/client/fastcomments/models/model_api_get_comments_response.nim
@@ -28,12 +28,7 @@ proc to*(node: JsonNode, T: typedesc[APIGetCommentsResponse]): APIGetCommentsRes
if node.hasKey("status"):
result.status = to(node["status"], APIStatus)
if node.hasKey("comments"):
- # Array of types with custom JSON - manually iterate and deserialize
- let arrayNode = node["comments"]
- if arrayNode.kind == JArray:
- result.comments = @[]
- for item in arrayNode.items:
- result.comments.add(to(item, APIComment))
+ result.comments = to(node["comments"], seq[APIComment])
# Custom JSON serialization for APIGetCommentsResponse with custom field names
proc `%`*(obj: APIGetCommentsResponse): JsonNode =
diff --git a/client/fastcomments/models/model_api_moderate_get_user_ban_preferences_response.nim b/client/fastcomments/models/model_api_moderate_get_user_ban_preferences_response.nim
new file mode 100644
index 0000000..41eba41
--- /dev/null
+++ b/client/fastcomments/models/model_api_moderate_get_user_ban_preferences_response.nim
@@ -0,0 +1,39 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_moderate_user_ban_preferences
+import model_api_status
+
+type APIModerateGetUserBanPreferencesResponse* = object
+ ##
+ preferences*: Option[APIModerateUserBanPreferences]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for APIModerateGetUserBanPreferencesResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[APIModerateGetUserBanPreferencesResponse]): APIModerateGetUserBanPreferencesResponse =
+ result = APIModerateGetUserBanPreferencesResponse()
+ if node.kind == JObject:
+ if node.hasKey("preferences") and node["preferences"].kind != JNull:
+ result.preferences = some(to(node["preferences"], typeof(result.preferences.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for APIModerateGetUserBanPreferencesResponse with custom field names
+proc `%`*(obj: APIModerateGetUserBanPreferencesResponse): JsonNode =
+ result = newJObject()
+ if obj.preferences.isSome():
+ result["preferences"] = %obj.preferences.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_api_moderate_user_ban_preferences.nim b/client/fastcomments/models/model_api_moderate_user_ban_preferences.nim
new file mode 100644
index 0000000..454226f
--- /dev/null
+++ b/client/fastcomments/models/model_api_moderate_user_ban_preferences.nim
@@ -0,0 +1,44 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type APIModerateUserBanPreferences* = object
+ ##
+ shouldBanEmail*: bool
+ shouldBanByIP*: bool
+ lastBanType*: string
+ lastBanDuration*: string
+
+
+# Custom JSON deserialization for APIModerateUserBanPreferences with custom field names
+proc to*(node: JsonNode, T: typedesc[APIModerateUserBanPreferences]): APIModerateUserBanPreferences =
+ result = APIModerateUserBanPreferences()
+ if node.kind == JObject:
+ if node.hasKey("shouldBanEmail"):
+ result.shouldBanEmail = to(node["shouldBanEmail"], bool)
+ if node.hasKey("shouldBanByIP"):
+ result.shouldBanByIP = to(node["shouldBanByIP"], bool)
+ if node.hasKey("lastBanType"):
+ result.lastBanType = to(node["lastBanType"], string)
+ if node.hasKey("lastBanDuration"):
+ result.lastBanDuration = to(node["lastBanDuration"], string)
+
+# Custom JSON serialization for APIModerateUserBanPreferences with custom field names
+proc `%`*(obj: APIModerateUserBanPreferences): JsonNode =
+ result = newJObject()
+ result["shouldBanEmail"] = %obj.shouldBanEmail
+ result["shouldBanByIP"] = %obj.shouldBanByIP
+ result["lastBanType"] = %obj.lastBanType
+ result["lastBanDuration"] = %obj.lastBanDuration
+
diff --git a/client/fastcomments/models/model_api_page.nim b/client/fastcomments/models/model_api_page.nim
index 3f4c2fb..bbf140a 100644
--- a/client/fastcomments/models/model_api_page.nim
+++ b/client/fastcomments/models/model_api_page.nim
@@ -25,3 +25,43 @@ type APIPage* = object
urlId*: string
id*: string
+
+# Custom JSON deserialization for APIPage with custom field names
+proc to*(node: JsonNode, T: typedesc[APIPage]): APIPage =
+ result = APIPage()
+ if node.kind == JObject:
+ if node.hasKey("isClosed") and node["isClosed"].kind != JNull:
+ result.isClosed = some(to(node["isClosed"], typeof(result.isClosed.get())))
+ if node.hasKey("accessibleByGroupIds") and node["accessibleByGroupIds"].kind != JNull:
+ result.accessibleByGroupIds = some(to(node["accessibleByGroupIds"], typeof(result.accessibleByGroupIds.get())))
+ if node.hasKey("rootCommentCount"):
+ result.rootCommentCount = to(node["rootCommentCount"], int64)
+ if node.hasKey("commentCount"):
+ result.commentCount = to(node["commentCount"], int64)
+ if node.hasKey("createdAt"):
+ result.createdAt = to(node["createdAt"], string)
+ if node.hasKey("title"):
+ result.title = to(node["title"], string)
+ if node.hasKey("url") and node["url"].kind != JNull:
+ result.url = some(to(node["url"], typeof(result.url.get())))
+ if node.hasKey("urlId"):
+ result.urlId = to(node["urlId"], string)
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
+
+# Custom JSON serialization for APIPage with custom field names
+proc `%`*(obj: APIPage): JsonNode =
+ result = newJObject()
+ if obj.isClosed.isSome():
+ result["isClosed"] = %obj.isClosed.get()
+ if obj.accessibleByGroupIds.isSome():
+ result["accessibleByGroupIds"] = %obj.accessibleByGroupIds.get()
+ result["rootCommentCount"] = %obj.rootCommentCount
+ result["commentCount"] = %obj.commentCount
+ result["createdAt"] = %obj.createdAt
+ result["title"] = %obj.title
+ if obj.url.isSome():
+ result["url"] = %obj.url.get()
+ result["urlId"] = %obj.urlId
+ result["id"] = %obj.id
+
diff --git a/client/fastcomments/models/model_save_comment_response.nim b/client/fastcomments/models/model_api_save_comment_response.nim
similarity index 71%
rename from client/fastcomments/models/model_save_comment_response.nim
rename to client/fastcomments/models/model_api_save_comment_response.nim
index 80a42eb..2539cf7 100644
--- a/client/fastcomments/models/model_save_comment_response.nim
+++ b/client/fastcomments/models/model_api_save_comment_response.nim
@@ -13,33 +13,33 @@ import marshal
import options
import model_any_type
+import model_api_comment
import model_api_status
-import model_f_comment
import model_user_session_info
-type SaveCommentResponse* = object
+type APISaveCommentResponse* = object
##
status*: APIStatus
- comment*: FComment
+ comment*: APIComment
user*: Option[UserSessionInfo]
moduleData*: Option[Table[string, JsonNode]] ## Construct a type with a set of properties K of type T
-# Custom JSON deserialization for SaveCommentResponse with custom field names
-proc to*(node: JsonNode, T: typedesc[SaveCommentResponse]): SaveCommentResponse =
- result = SaveCommentResponse()
+# Custom JSON deserialization for APISaveCommentResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[APISaveCommentResponse]): APISaveCommentResponse =
+ result = APISaveCommentResponse()
if node.kind == JObject:
if node.hasKey("status"):
result.status = to(node["status"], APIStatus)
if node.hasKey("comment"):
- result.comment = to(node["comment"], FComment)
+ result.comment = to(node["comment"], APIComment)
if node.hasKey("user") and node["user"].kind != JNull:
result.user = some(to(node["user"], typeof(result.user.get())))
if node.hasKey("moduleData") and node["moduleData"].kind != JNull:
result.moduleData = some(to(node["moduleData"], typeof(result.moduleData.get())))
-# Custom JSON serialization for SaveCommentResponse with custom field names
-proc `%`*(obj: SaveCommentResponse): JsonNode =
+# Custom JSON serialization for APISaveCommentResponse with custom field names
+proc `%`*(obj: APISaveCommentResponse): JsonNode =
result = newJObject()
result["status"] = %obj.status
result["comment"] = %obj.comment
diff --git a/client/fastcomments/models/model_api_tenant.nim b/client/fastcomments/models/model_api_tenant.nim
index 41388a6..5d6f393 100644
--- a/client/fastcomments/models/model_api_tenant.nim
+++ b/client/fastcomments/models/model_api_tenant.nim
@@ -46,3 +46,114 @@ type APITenant* = object
deAnonIpAddr*: Option[float64]
meta*: Option[Table[string, string]] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for APITenant with custom field names
+proc to*(node: JsonNode, T: typedesc[APITenant]): APITenant =
+ result = APITenant()
+ if node.kind == JObject:
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
+ if node.hasKey("name"):
+ result.name = to(node["name"], string)
+ if node.hasKey("email") and node["email"].kind != JNull:
+ result.email = some(to(node["email"], typeof(result.email.get())))
+ if node.hasKey("signUpDate"):
+ result.signUpDate = to(node["signUpDate"], float64)
+ if node.hasKey("packageId"):
+ result.packageId = to(node["packageId"], string)
+ if node.hasKey("paymentFrequency"):
+ result.paymentFrequency = to(node["paymentFrequency"], float64)
+ if node.hasKey("billingInfoValid"):
+ result.billingInfoValid = to(node["billingInfoValid"], bool)
+ if node.hasKey("billingHandledExternally") and node["billingHandledExternally"].kind != JNull:
+ result.billingHandledExternally = some(to(node["billingHandledExternally"], typeof(result.billingHandledExternally.get())))
+ if node.hasKey("createdBy"):
+ result.createdBy = to(node["createdBy"], string)
+ if node.hasKey("isSetup"):
+ result.isSetup = to(node["isSetup"], bool)
+ if node.hasKey("domainConfiguration"):
+ result.domainConfiguration = to(node["domainConfiguration"], seq[APIDomainConfiguration])
+ if node.hasKey("billingInfo") and node["billingInfo"].kind != JNull:
+ result.billingInfo = some(to(node["billingInfo"], typeof(result.billingInfo.get())))
+ if node.hasKey("stripeCustomerId") and node["stripeCustomerId"].kind != JNull:
+ result.stripeCustomerId = some(to(node["stripeCustomerId"], typeof(result.stripeCustomerId.get())))
+ if node.hasKey("stripeSubscriptionId") and node["stripeSubscriptionId"].kind != JNull:
+ result.stripeSubscriptionId = some(to(node["stripeSubscriptionId"], typeof(result.stripeSubscriptionId.get())))
+ if node.hasKey("stripePlanId") and node["stripePlanId"].kind != JNull:
+ result.stripePlanId = some(to(node["stripePlanId"], typeof(result.stripePlanId.get())))
+ if node.hasKey("enableProfanityFilter"):
+ result.enableProfanityFilter = to(node["enableProfanityFilter"], bool)
+ if node.hasKey("enableSpamFilter"):
+ result.enableSpamFilter = to(node["enableSpamFilter"], bool)
+ if node.hasKey("lastBillingIssueReminderDate") and node["lastBillingIssueReminderDate"].kind != JNull:
+ result.lastBillingIssueReminderDate = some(to(node["lastBillingIssueReminderDate"], typeof(result.lastBillingIssueReminderDate.get())))
+ if node.hasKey("removeUnverifiedComments") and node["removeUnverifiedComments"].kind != JNull:
+ result.removeUnverifiedComments = some(to(node["removeUnverifiedComments"], typeof(result.removeUnverifiedComments.get())))
+ if node.hasKey("unverifiedCommentsTTLms") and node["unverifiedCommentsTTLms"].kind != JNull:
+ result.unverifiedCommentsTTLms = some(to(node["unverifiedCommentsTTLms"], typeof(result.unverifiedCommentsTTLms.get())))
+ if node.hasKey("commentsRequireApproval") and node["commentsRequireApproval"].kind != JNull:
+ result.commentsRequireApproval = some(to(node["commentsRequireApproval"], typeof(result.commentsRequireApproval.get())))
+ if node.hasKey("autoApproveCommentOnVerification") and node["autoApproveCommentOnVerification"].kind != JNull:
+ result.autoApproveCommentOnVerification = some(to(node["autoApproveCommentOnVerification"], typeof(result.autoApproveCommentOnVerification.get())))
+ if node.hasKey("sendProfaneToSpam") and node["sendProfaneToSpam"].kind != JNull:
+ result.sendProfaneToSpam = some(to(node["sendProfaneToSpam"], typeof(result.sendProfaneToSpam.get())))
+ if node.hasKey("hasFlexPricing") and node["hasFlexPricing"].kind != JNull:
+ result.hasFlexPricing = some(to(node["hasFlexPricing"], typeof(result.hasFlexPricing.get())))
+ if node.hasKey("hasAuditing") and node["hasAuditing"].kind != JNull:
+ result.hasAuditing = some(to(node["hasAuditing"], typeof(result.hasAuditing.get())))
+ if node.hasKey("flexLastBilledAmount") and node["flexLastBilledAmount"].kind != JNull:
+ result.flexLastBilledAmount = some(to(node["flexLastBilledAmount"], typeof(result.flexLastBilledAmount.get())))
+ if node.hasKey("deAnonIpAddr") and node["deAnonIpAddr"].kind != JNull:
+ result.deAnonIpAddr = some(to(node["deAnonIpAddr"], typeof(result.deAnonIpAddr.get())))
+ if node.hasKey("meta") and node["meta"].kind != JNull:
+ result.meta = some(to(node["meta"], typeof(result.meta.get())))
+
+# Custom JSON serialization for APITenant with custom field names
+proc `%`*(obj: APITenant): JsonNode =
+ result = newJObject()
+ result["id"] = %obj.id
+ result["name"] = %obj.name
+ if obj.email.isSome():
+ result["email"] = %obj.email.get()
+ result["signUpDate"] = %obj.signUpDate
+ result["packageId"] = %obj.packageId
+ result["paymentFrequency"] = %obj.paymentFrequency
+ result["billingInfoValid"] = %obj.billingInfoValid
+ if obj.billingHandledExternally.isSome():
+ result["billingHandledExternally"] = %obj.billingHandledExternally.get()
+ result["createdBy"] = %obj.createdBy
+ result["isSetup"] = %obj.isSetup
+ result["domainConfiguration"] = %obj.domainConfiguration
+ if obj.billingInfo.isSome():
+ result["billingInfo"] = %obj.billingInfo.get()
+ if obj.stripeCustomerId.isSome():
+ result["stripeCustomerId"] = %obj.stripeCustomerId.get()
+ if obj.stripeSubscriptionId.isSome():
+ result["stripeSubscriptionId"] = %obj.stripeSubscriptionId.get()
+ if obj.stripePlanId.isSome():
+ result["stripePlanId"] = %obj.stripePlanId.get()
+ result["enableProfanityFilter"] = %obj.enableProfanityFilter
+ result["enableSpamFilter"] = %obj.enableSpamFilter
+ if obj.lastBillingIssueReminderDate.isSome():
+ result["lastBillingIssueReminderDate"] = %obj.lastBillingIssueReminderDate.get()
+ if obj.removeUnverifiedComments.isSome():
+ result["removeUnverifiedComments"] = %obj.removeUnverifiedComments.get()
+ if obj.unverifiedCommentsTTLms.isSome():
+ result["unverifiedCommentsTTLms"] = %obj.unverifiedCommentsTTLms.get()
+ if obj.commentsRequireApproval.isSome():
+ result["commentsRequireApproval"] = %obj.commentsRequireApproval.get()
+ if obj.autoApproveCommentOnVerification.isSome():
+ result["autoApproveCommentOnVerification"] = %obj.autoApproveCommentOnVerification.get()
+ if obj.sendProfaneToSpam.isSome():
+ result["sendProfaneToSpam"] = %obj.sendProfaneToSpam.get()
+ if obj.hasFlexPricing.isSome():
+ result["hasFlexPricing"] = %obj.hasFlexPricing.get()
+ if obj.hasAuditing.isSome():
+ result["hasAuditing"] = %obj.hasAuditing.get()
+ if obj.flexLastBilledAmount.isSome():
+ result["flexLastBilledAmount"] = %obj.flexLastBilledAmount.get()
+ if obj.deAnonIpAddr.isSome():
+ result["deAnonIpAddr"] = %obj.deAnonIpAddr.get()
+ if obj.meta.isSome():
+ result["meta"] = %obj.meta.get()
+
diff --git a/client/fastcomments/models/model_api_tenant_daily_usage.nim b/client/fastcomments/models/model_api_tenant_daily_usage.nim
index c206767..aec5b18 100644
--- a/client/fastcomments/models/model_api_tenant_daily_usage.nim
+++ b/client/fastcomments/models/model_api_tenant_daily_usage.nim
@@ -35,3 +35,70 @@ type APITenantDailyUsage* = object
ignored*: bool
apiErrorCount*: float64
+
+# Custom JSON deserialization for APITenantDailyUsage with custom field names
+proc to*(node: JsonNode, T: typedesc[APITenantDailyUsage]): APITenantDailyUsage =
+ result = APITenantDailyUsage()
+ if node.kind == JObject:
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
+ if node.hasKey("tenantId"):
+ result.tenantId = to(node["tenantId"], string)
+ if node.hasKey("yearNumber"):
+ result.yearNumber = to(node["yearNumber"], float64)
+ if node.hasKey("monthNumber"):
+ result.monthNumber = to(node["monthNumber"], float64)
+ if node.hasKey("dayNumber"):
+ result.dayNumber = to(node["dayNumber"], float64)
+ if node.hasKey("commentFetchCount"):
+ result.commentFetchCount = to(node["commentFetchCount"], float64)
+ if node.hasKey("commentCreateCount"):
+ result.commentCreateCount = to(node["commentCreateCount"], float64)
+ if node.hasKey("conversationCreateCount"):
+ result.conversationCreateCount = to(node["conversationCreateCount"], float64)
+ if node.hasKey("voteCount"):
+ result.voteCount = to(node["voteCount"], float64)
+ if node.hasKey("accountCreatedCount"):
+ result.accountCreatedCount = to(node["accountCreatedCount"], float64)
+ if node.hasKey("userMentionSearch"):
+ result.userMentionSearch = to(node["userMentionSearch"], float64)
+ if node.hasKey("hashTagSearch"):
+ result.hashTagSearch = to(node["hashTagSearch"], float64)
+ if node.hasKey("gifSearchTrending"):
+ result.gifSearchTrending = to(node["gifSearchTrending"], float64)
+ if node.hasKey("gifSearch"):
+ result.gifSearch = to(node["gifSearch"], float64)
+ if node.hasKey("apiCreditsUsed"):
+ result.apiCreditsUsed = to(node["apiCreditsUsed"], float64)
+ if node.hasKey("createdAt"):
+ result.createdAt = to(node["createdAt"], string)
+ if node.hasKey("billed"):
+ result.billed = to(node["billed"], bool)
+ if node.hasKey("ignored"):
+ result.ignored = to(node["ignored"], bool)
+ if node.hasKey("apiErrorCount"):
+ result.apiErrorCount = to(node["apiErrorCount"], float64)
+
+# Custom JSON serialization for APITenantDailyUsage with custom field names
+proc `%`*(obj: APITenantDailyUsage): JsonNode =
+ result = newJObject()
+ result["id"] = %obj.id
+ result["tenantId"] = %obj.tenantId
+ result["yearNumber"] = %obj.yearNumber
+ result["monthNumber"] = %obj.monthNumber
+ result["dayNumber"] = %obj.dayNumber
+ result["commentFetchCount"] = %obj.commentFetchCount
+ result["commentCreateCount"] = %obj.commentCreateCount
+ result["conversationCreateCount"] = %obj.conversationCreateCount
+ result["voteCount"] = %obj.voteCount
+ result["accountCreatedCount"] = %obj.accountCreatedCount
+ result["userMentionSearch"] = %obj.userMentionSearch
+ result["hashTagSearch"] = %obj.hashTagSearch
+ result["gifSearchTrending"] = %obj.gifSearchTrending
+ result["gifSearch"] = %obj.gifSearch
+ result["apiCreditsUsed"] = %obj.apiCreditsUsed
+ result["createdAt"] = %obj.createdAt
+ result["billed"] = %obj.billed
+ result["ignored"] = %obj.ignored
+ result["apiErrorCount"] = %obj.apiErrorCount
+
diff --git a/client/fastcomments/models/model_api_ticket_file.nim b/client/fastcomments/models/model_api_ticket_file.nim
index f8f0b25..283b9e9 100644
--- a/client/fastcomments/models/model_api_ticket_file.nim
+++ b/client/fastcomments/models/model_api_ticket_file.nim
@@ -26,3 +26,44 @@ type APITicketFile* = object
expiresAt*: string
expired*: Option[bool]
+
+# Custom JSON deserialization for APITicketFile with custom field names
+proc to*(node: JsonNode, T: typedesc[APITicketFile]): APITicketFile =
+ result = APITicketFile()
+ if node.kind == JObject:
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
+ if node.hasKey("s3Key"):
+ result.s3Key = to(node["s3Key"], string)
+ if node.hasKey("originalFileName"):
+ result.originalFileName = to(node["originalFileName"], string)
+ if node.hasKey("sizeBytes"):
+ result.sizeBytes = to(node["sizeBytes"], int)
+ if node.hasKey("contentType"):
+ result.contentType = to(node["contentType"], string)
+ if node.hasKey("uploadedByUserId"):
+ result.uploadedByUserId = to(node["uploadedByUserId"], string)
+ if node.hasKey("uploadedAt"):
+ result.uploadedAt = to(node["uploadedAt"], string)
+ if node.hasKey("url"):
+ result.url = to(node["url"], string)
+ if node.hasKey("expiresAt"):
+ result.expiresAt = to(node["expiresAt"], string)
+ if node.hasKey("expired") and node["expired"].kind != JNull:
+ result.expired = some(to(node["expired"], typeof(result.expired.get())))
+
+# Custom JSON serialization for APITicketFile with custom field names
+proc `%`*(obj: APITicketFile): JsonNode =
+ result = newJObject()
+ result["id"] = %obj.id
+ result["s3Key"] = %obj.s3Key
+ result["originalFileName"] = %obj.originalFileName
+ result["sizeBytes"] = %obj.sizeBytes
+ result["contentType"] = %obj.contentType
+ result["uploadedByUserId"] = %obj.uploadedByUserId
+ result["uploadedAt"] = %obj.uploadedAt
+ result["url"] = %obj.url
+ result["expiresAt"] = %obj.expiresAt
+ if obj.expired.isSome():
+ result["expired"] = %obj.expired.get()
+
diff --git a/client/fastcomments/models/model_api_user_subscription.nim b/client/fastcomments/models/model_api_user_subscription.nim
index d72f3cc..3079639 100644
--- a/client/fastcomments/models/model_api_user_subscription.nim
+++ b/client/fastcomments/models/model_api_user_subscription.nim
@@ -24,3 +24,42 @@ type APIUserSubscription* = object
userId*: Option[string]
id*: string
+
+# Custom JSON deserialization for APIUserSubscription with custom field names
+proc to*(node: JsonNode, T: typedesc[APIUserSubscription]): APIUserSubscription =
+ result = APIUserSubscription()
+ if node.kind == JObject:
+ if node.hasKey("notificationFrequency") and node["notificationFrequency"].kind != JNull:
+ result.notificationFrequency = some(to(node["notificationFrequency"], typeof(result.notificationFrequency.get())))
+ if node.hasKey("createdAt"):
+ result.createdAt = to(node["createdAt"], string)
+ if node.hasKey("pageTitle") and node["pageTitle"].kind != JNull:
+ result.pageTitle = some(to(node["pageTitle"], typeof(result.pageTitle.get())))
+ if node.hasKey("url") and node["url"].kind != JNull:
+ result.url = some(to(node["url"], typeof(result.url.get())))
+ if node.hasKey("urlId"):
+ result.urlId = to(node["urlId"], string)
+ if node.hasKey("anonUserId") and node["anonUserId"].kind != JNull:
+ result.anonUserId = some(to(node["anonUserId"], typeof(result.anonUserId.get())))
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
+
+# Custom JSON serialization for APIUserSubscription with custom field names
+proc `%`*(obj: APIUserSubscription): JsonNode =
+ result = newJObject()
+ if obj.notificationFrequency.isSome():
+ result["notificationFrequency"] = %obj.notificationFrequency.get()
+ result["createdAt"] = %obj.createdAt
+ if obj.pageTitle.isSome():
+ result["pageTitle"] = %obj.pageTitle.get()
+ if obj.url.isSome():
+ result["url"] = %obj.url.get()
+ result["urlId"] = %obj.urlId
+ if obj.anonUserId.isSome():
+ result["anonUserId"] = %obj.anonUserId.get()
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+ result["id"] = %obj.id
+
diff --git a/client/fastcomments/models/model_apisso_user.nim b/client/fastcomments/models/model_apisso_user.nim
index 0dd2568..8d4adbc 100644
--- a/client/fastcomments/models/model_apisso_user.nim
+++ b/client/fastcomments/models/model_apisso_user.nim
@@ -36,3 +36,81 @@ type APISSOUser* = object
hasBlockedUsers*: Option[bool]
groupIds*: Option[seq[string]]
+
+# Custom JSON deserialization for APISSOUser with custom field names
+proc to*(node: JsonNode, T: typedesc[APISSOUser]): APISSOUser =
+ result = APISSOUser()
+ if node.kind == JObject:
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
+ if node.hasKey("username"):
+ result.username = to(node["username"], string)
+ if node.hasKey("websiteUrl"):
+ result.websiteUrl = to(node["websiteUrl"], string)
+ if node.hasKey("email"):
+ result.email = to(node["email"], string)
+ if node.hasKey("signUpDate"):
+ result.signUpDate = to(node["signUpDate"], int64)
+ if node.hasKey("createdFromUrlId"):
+ result.createdFromUrlId = to(node["createdFromUrlId"], string)
+ if node.hasKey("loginCount"):
+ result.loginCount = to(node["loginCount"], int)
+ if node.hasKey("avatarSrc"):
+ result.avatarSrc = to(node["avatarSrc"], string)
+ if node.hasKey("optedInNotifications"):
+ result.optedInNotifications = to(node["optedInNotifications"], bool)
+ if node.hasKey("optedInSubscriptionNotifications"):
+ result.optedInSubscriptionNotifications = to(node["optedInSubscriptionNotifications"], bool)
+ if node.hasKey("displayLabel"):
+ result.displayLabel = to(node["displayLabel"], string)
+ if node.hasKey("displayName"):
+ result.displayName = to(node["displayName"], string)
+ if node.hasKey("isAccountOwner") and node["isAccountOwner"].kind != JNull:
+ result.isAccountOwner = some(to(node["isAccountOwner"], typeof(result.isAccountOwner.get())))
+ if node.hasKey("isAdminAdmin") and node["isAdminAdmin"].kind != JNull:
+ result.isAdminAdmin = some(to(node["isAdminAdmin"], typeof(result.isAdminAdmin.get())))
+ if node.hasKey("isCommentModeratorAdmin") and node["isCommentModeratorAdmin"].kind != JNull:
+ result.isCommentModeratorAdmin = some(to(node["isCommentModeratorAdmin"], typeof(result.isCommentModeratorAdmin.get())))
+ if node.hasKey("isProfileActivityPrivate") and node["isProfileActivityPrivate"].kind != JNull:
+ result.isProfileActivityPrivate = some(to(node["isProfileActivityPrivate"], typeof(result.isProfileActivityPrivate.get())))
+ if node.hasKey("isProfileCommentsPrivate") and node["isProfileCommentsPrivate"].kind != JNull:
+ result.isProfileCommentsPrivate = some(to(node["isProfileCommentsPrivate"], typeof(result.isProfileCommentsPrivate.get())))
+ if node.hasKey("isProfileDMDisabled") and node["isProfileDMDisabled"].kind != JNull:
+ result.isProfileDMDisabled = some(to(node["isProfileDMDisabled"], typeof(result.isProfileDMDisabled.get())))
+ if node.hasKey("hasBlockedUsers") and node["hasBlockedUsers"].kind != JNull:
+ result.hasBlockedUsers = some(to(node["hasBlockedUsers"], typeof(result.hasBlockedUsers.get())))
+ if node.hasKey("groupIds") and node["groupIds"].kind != JNull:
+ result.groupIds = some(to(node["groupIds"], typeof(result.groupIds.get())))
+
+# Custom JSON serialization for APISSOUser with custom field names
+proc `%`*(obj: APISSOUser): JsonNode =
+ result = newJObject()
+ result["id"] = %obj.id
+ result["username"] = %obj.username
+ result["websiteUrl"] = %obj.websiteUrl
+ result["email"] = %obj.email
+ result["signUpDate"] = %obj.signUpDate
+ result["createdFromUrlId"] = %obj.createdFromUrlId
+ result["loginCount"] = %obj.loginCount
+ result["avatarSrc"] = %obj.avatarSrc
+ result["optedInNotifications"] = %obj.optedInNotifications
+ result["optedInSubscriptionNotifications"] = %obj.optedInSubscriptionNotifications
+ result["displayLabel"] = %obj.displayLabel
+ result["displayName"] = %obj.displayName
+ if obj.isAccountOwner.isSome():
+ result["isAccountOwner"] = %obj.isAccountOwner.get()
+ if obj.isAdminAdmin.isSome():
+ result["isAdminAdmin"] = %obj.isAdminAdmin.get()
+ if obj.isCommentModeratorAdmin.isSome():
+ result["isCommentModeratorAdmin"] = %obj.isCommentModeratorAdmin.get()
+ if obj.isProfileActivityPrivate.isSome():
+ result["isProfileActivityPrivate"] = %obj.isProfileActivityPrivate.get()
+ if obj.isProfileCommentsPrivate.isSome():
+ result["isProfileCommentsPrivate"] = %obj.isProfileCommentsPrivate.get()
+ if obj.isProfileDMDisabled.isSome():
+ result["isProfileDMDisabled"] = %obj.isProfileDMDisabled.get()
+ if obj.hasBlockedUsers.isSome():
+ result["hasBlockedUsers"] = %obj.hasBlockedUsers.get()
+ if obj.groupIds.isSome():
+ result["groupIds"] = %obj.groupIds.get()
+
diff --git a/client/fastcomments/models/model_award_user_badge_response.nim b/client/fastcomments/models/model_award_user_badge_response.nim
new file mode 100644
index 0000000..36920e8
--- /dev/null
+++ b/client/fastcomments/models/model_award_user_badge_response.nim
@@ -0,0 +1,44 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_comment_user_badge_info
+
+type AwardUserBadgeResponse* = object
+ ##
+ notes*: Option[seq[string]]
+ badges*: Option[seq[CommentUserBadgeInfo]]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for AwardUserBadgeResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[AwardUserBadgeResponse]): AwardUserBadgeResponse =
+ result = AwardUserBadgeResponse()
+ if node.kind == JObject:
+ if node.hasKey("notes") and node["notes"].kind != JNull:
+ result.notes = some(to(node["notes"], typeof(result.notes.get())))
+ if node.hasKey("badges") and node["badges"].kind != JNull:
+ result.badges = some(to(node["badges"], typeof(result.badges.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for AwardUserBadgeResponse with custom field names
+proc `%`*(obj: AwardUserBadgeResponse): JsonNode =
+ result = newJObject()
+ if obj.notes.isSome():
+ result["notes"] = %obj.notes.get()
+ if obj.badges.isSome():
+ result["badges"] = %obj.badges.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_ban_user_from_comment_result.nim b/client/fastcomments/models/model_ban_user_from_comment_result.nim
new file mode 100644
index 0000000..cd3bfea
--- /dev/null
+++ b/client/fastcomments/models/model_ban_user_from_comment_result.nim
@@ -0,0 +1,48 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_ban_user_change_log
+
+type BanUserFromCommentResult* = object
+ ##
+ status*: string
+ changelog*: Option[APIBanUserChangeLog]
+ code*: Option[string]
+ reason*: Option[string]
+
+
+# Custom JSON deserialization for BanUserFromCommentResult with custom field names
+proc to*(node: JsonNode, T: typedesc[BanUserFromCommentResult]): BanUserFromCommentResult =
+ result = BanUserFromCommentResult()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+ if node.hasKey("changelog") and node["changelog"].kind != JNull:
+ result.changelog = some(to(node["changelog"], typeof(result.changelog.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+
+# Custom JSON serialization for BanUserFromCommentResult with custom field names
+proc `%`*(obj: BanUserFromCommentResult): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ if obj.changelog.isSome():
+ result["changelog"] = %obj.changelog.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+
diff --git a/client/fastcomments/models/model_ban_user_undo_params.nim b/client/fastcomments/models/model_ban_user_undo_params.nim
new file mode 100644
index 0000000..6a62c38
--- /dev/null
+++ b/client/fastcomments/models/model_ban_user_undo_params.nim
@@ -0,0 +1,33 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_ban_user_change_log
+
+type BanUserUndoParams* = object
+ ##
+ changelog*: APIBanUserChangeLog
+
+
+# Custom JSON deserialization for BanUserUndoParams with custom field names
+proc to*(node: JsonNode, T: typedesc[BanUserUndoParams]): BanUserUndoParams =
+ result = BanUserUndoParams()
+ if node.kind == JObject:
+ if node.hasKey("changelog"):
+ result.changelog = to(node["changelog"], APIBanUserChangeLog)
+
+# Custom JSON serialization for BanUserUndoParams with custom field names
+proc `%`*(obj: BanUserUndoParams): JsonNode =
+ result = newJObject()
+ result["changelog"] = %obj.changelog
+
diff --git a/client/fastcomments/models/model_banned_user_match.nim b/client/fastcomments/models/model_banned_user_match.nim
new file mode 100644
index 0000000..0e4baac
--- /dev/null
+++ b/client/fastcomments/models/model_banned_user_match.nim
@@ -0,0 +1,39 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_banned_user_match_matched_on_value
+import model_banned_user_match_type
+
+type BannedUserMatch* = object
+ ##
+ matchedOn*: BannedUserMatchType
+ matchedOnValue*: Option[BannedUserMatchMatchedOnValue]
+
+
+# Custom JSON deserialization for BannedUserMatch with custom field names
+proc to*(node: JsonNode, T: typedesc[BannedUserMatch]): BannedUserMatch =
+ result = BannedUserMatch()
+ if node.kind == JObject:
+ if node.hasKey("matchedOn"):
+ result.matchedOn = to(node["matchedOn"], BannedUserMatchType)
+ if node.hasKey("matchedOnValue") and node["matchedOnValue"].kind != JNull:
+ result.matchedOnValue = some(to(node["matchedOnValue"], typeof(result.matchedOnValue.get())))
+
+# Custom JSON serialization for BannedUserMatch with custom field names
+proc `%`*(obj: BannedUserMatch): JsonNode =
+ result = newJObject()
+ result["matchedOn"] = %obj.matchedOn
+ if obj.matchedOnValue.isSome():
+ result["matchedOnValue"] = %obj.matchedOnValue.get()
+
diff --git a/client/fastcomments/models/model_record_string_string_or_number_value.nim b/client/fastcomments/models/model_banned_user_match_matched_on_value.nim
similarity index 51%
rename from client/fastcomments/models/model_record_string_string_or_number_value.nim
rename to client/fastcomments/models/model_banned_user_match_matched_on_value.nim
index 167d361..da3510a 100644
--- a/client/fastcomments/models/model_record_string_string_or_number_value.nim
+++ b/client/fastcomments/models/model_banned_user_match_matched_on_value.nim
@@ -14,29 +14,29 @@ import options
# AnyOf type
-type RecordStringStringOrNumberValueKind* {.pure.} = enum
+type BannedUserMatchMatchedOnValueKind* {.pure.} = enum
StringVariant
NumberVariant
-type RecordStringStringOrNumberValue* = object
+type BannedUserMatchMatchedOnValue* = object
##
- case kind*: RecordStringStringOrNumberValueKind
- of RecordStringStringOrNumberValueKind.StringVariant:
+ case kind*: BannedUserMatchMatchedOnValueKind
+ of BannedUserMatchMatchedOnValueKind.StringVariant:
stringValue*: string
- of RecordStringStringOrNumberValueKind.NumberVariant:
+ of BannedUserMatchMatchedOnValueKind.NumberVariant:
numberValue*: float64
-proc to*(node: JsonNode, T: typedesc[RecordStringStringOrNumberValue]): RecordStringStringOrNumberValue =
+proc to*(node: JsonNode, T: typedesc[BannedUserMatchMatchedOnValue]): BannedUserMatchMatchedOnValue =
## Custom deserializer for anyOf type - tries each variant
try:
- return RecordStringStringOrNumberValue(kind: RecordStringStringOrNumberValueKind.StringVariant, stringValue: to(node, string))
+ return BannedUserMatchMatchedOnValue(kind: BannedUserMatchMatchedOnValueKind.StringVariant, stringValue: to(node, string))
except Exception as e:
when defined(debug):
echo "Failed to deserialize as string: ", e.msg
try:
- return RecordStringStringOrNumberValue(kind: RecordStringStringOrNumberValueKind.NumberVariant, numberValue: to(node, float64))
+ return BannedUserMatchMatchedOnValue(kind: BannedUserMatchMatchedOnValueKind.NumberVariant, numberValue: to(node, float64))
except Exception as e:
when defined(debug):
echo "Failed to deserialize as float64: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of RecordStringStringOrNumberValue. JSON: " & $node)
+ raise newException(ValueError, "Unable to deserialize into any variant of BannedUserMatchMatchedOnValue. JSON: " & $node)
diff --git a/client/fastcomments/models/model_banned_user_match_type.nim b/client/fastcomments/models/model_banned_user_match_type.nim
new file mode 100644
index 0000000..81068d2
--- /dev/null
+++ b/client/fastcomments/models/model_banned_user_match_type.nim
@@ -0,0 +1,51 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type BannedUserMatchType* {.pure.} = enum
+ UserId
+ Email
+ EmailWildcard
+ IP
+
+func `%`*(v: BannedUserMatchType): JsonNode =
+ result = case v:
+ of BannedUserMatchType.UserId: %"userId"
+ of BannedUserMatchType.Email: %"email"
+ of BannedUserMatchType.EmailWildcard: %"email-wildcard"
+ of BannedUserMatchType.IP: %"IP"
+
+func `$`*(v: BannedUserMatchType): string =
+ result = case v:
+ of BannedUserMatchType.UserId: $("userId")
+ of BannedUserMatchType.Email: $("email")
+ of BannedUserMatchType.EmailWildcard: $("email-wildcard")
+ of BannedUserMatchType.IP: $("IP")
+
+proc to*(node: JsonNode, T: typedesc[BannedUserMatchType]): BannedUserMatchType =
+ if node.kind != JString:
+ raise newException(ValueError, "Expected string for enum BannedUserMatchType, got " & $node.kind)
+ let strVal = node.getStr()
+ case strVal:
+ of $("userId"):
+ return BannedUserMatchType.UserId
+ of $("email"):
+ return BannedUserMatchType.Email
+ of $("email-wildcard"):
+ return BannedUserMatchType.EmailWildcard
+ of $("IP"):
+ return BannedUserMatchType.IP
+ else:
+ raise newException(ValueError, "Invalid enum value for BannedUserMatchType: " & strVal)
+
diff --git a/client/fastcomments/models/model_billing_info.nim b/client/fastcomments/models/model_billing_info.nim
index 764c504..5ebbecb 100644
--- a/client/fastcomments/models/model_billing_info.nim
+++ b/client/fastcomments/models/model_billing_info.nim
@@ -24,3 +24,39 @@ type BillingInfo* = object
currency*: Option[string] ## Currency for invoices.
email*: Option[string] ## Email for invoices.
+
+# Custom JSON deserialization for BillingInfo with custom field names
+proc to*(node: JsonNode, T: typedesc[BillingInfo]): BillingInfo =
+ result = BillingInfo()
+ if node.kind == JObject:
+ if node.hasKey("name"):
+ result.name = to(node["name"], string)
+ if node.hasKey("address"):
+ result.address = to(node["address"], string)
+ if node.hasKey("city"):
+ result.city = to(node["city"], string)
+ if node.hasKey("state"):
+ result.state = to(node["state"], string)
+ if node.hasKey("zip"):
+ result.zip = to(node["zip"], string)
+ if node.hasKey("country"):
+ result.country = to(node["country"], string)
+ if node.hasKey("currency") and node["currency"].kind != JNull:
+ result.currency = some(to(node["currency"], typeof(result.currency.get())))
+ if node.hasKey("email") and node["email"].kind != JNull:
+ result.email = some(to(node["email"], typeof(result.email.get())))
+
+# Custom JSON serialization for BillingInfo with custom field names
+proc `%`*(obj: BillingInfo): JsonNode =
+ result = newJObject()
+ result["name"] = %obj.name
+ result["address"] = %obj.address
+ result["city"] = %obj.city
+ result["state"] = %obj.state
+ result["zip"] = %obj.zip
+ result["country"] = %obj.country
+ if obj.currency.isSome():
+ result["currency"] = %obj.currency.get()
+ if obj.email.isSome():
+ result["email"] = %obj.email.get()
+
diff --git a/client/fastcomments/models/model_block_from_comment_params.nim b/client/fastcomments/models/model_block_from_comment_params.nim
index 70d3b7d..bc85276 100644
--- a/client/fastcomments/models/model_block_from_comment_params.nim
+++ b/client/fastcomments/models/model_block_from_comment_params.nim
@@ -17,3 +17,17 @@ type BlockFromCommentParams* = object
##
commentIdsToCheck*: Option[seq[string]]
+
+# Custom JSON deserialization for BlockFromCommentParams with custom field names
+proc to*(node: JsonNode, T: typedesc[BlockFromCommentParams]): BlockFromCommentParams =
+ result = BlockFromCommentParams()
+ if node.kind == JObject:
+ if node.hasKey("commentIdsToCheck") and node["commentIdsToCheck"].kind != JNull:
+ result.commentIdsToCheck = some(to(node["commentIdsToCheck"], typeof(result.commentIdsToCheck.get())))
+
+# Custom JSON serialization for BlockFromCommentParams with custom field names
+proc `%`*(obj: BlockFromCommentParams): JsonNode =
+ result = newJObject()
+ if obj.commentIdsToCheck.isSome():
+ result["commentIdsToCheck"] = %obj.commentIdsToCheck.get()
+
diff --git a/client/fastcomments/models/model_block_from_comment_public200response.nim b/client/fastcomments/models/model_block_from_comment_public200response.nim
deleted file mode 100644
index 74f07a5..0000000
--- a/client/fastcomments/models/model_block_from_comment_public200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_block_success
-import model_custom_config_parameters
-
-# AnyOf type
-type BlockFromCommentPublic200responseKind* {.pure.} = enum
- BlockSuccessVariant
- APIErrorVariant
-
-type BlockFromCommentPublic200response* = object
- ##
- case kind*: BlockFromCommentPublic200responseKind
- of BlockFromCommentPublic200responseKind.BlockSuccessVariant:
- BlockSuccessValue*: BlockSuccess
- of BlockFromCommentPublic200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[BlockFromCommentPublic200response]): BlockFromCommentPublic200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return BlockFromCommentPublic200response(kind: BlockFromCommentPublic200responseKind.BlockSuccessVariant, BlockSuccessValue: to(node, BlockSuccess))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as BlockSuccess: ", e.msg
- try:
- return BlockFromCommentPublic200response(kind: BlockFromCommentPublic200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of BlockFromCommentPublic200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_block_success.nim b/client/fastcomments/models/model_block_success.nim
index ae9adf4..3e32307 100644
--- a/client/fastcomments/models/model_block_success.nim
+++ b/client/fastcomments/models/model_block_success.nim
@@ -19,3 +19,19 @@ type BlockSuccess* = object
status*: APIStatus
commentStatuses*: Table[string, bool] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for BlockSuccess with custom field names
+proc to*(node: JsonNode, T: typedesc[BlockSuccess]): BlockSuccess =
+ result = BlockSuccess()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("commentStatuses"):
+ result.commentStatuses = to(node["commentStatuses"], Table[string, bool])
+
+# Custom JSON serialization for BlockSuccess with custom field names
+proc `%`*(obj: BlockSuccess): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["commentStatuses"] = %obj.commentStatuses
+
diff --git a/client/fastcomments/models/model_build_moderation_filter_params.nim b/client/fastcomments/models/model_build_moderation_filter_params.nim
new file mode 100644
index 0000000..7d51ceb
--- /dev/null
+++ b/client/fastcomments/models/model_build_moderation_filter_params.nim
@@ -0,0 +1,52 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_any_type
+
+type BuildModerationFilterParams* = object
+ ##
+ userId*: string
+ tenantId*: string
+ filters*: Option[string]
+ searchFilters*: Option[string]
+ textSearch*: Option[string]
+
+
+# Custom JSON deserialization for BuildModerationFilterParams with custom field names
+proc to*(node: JsonNode, T: typedesc[BuildModerationFilterParams]): BuildModerationFilterParams =
+ result = BuildModerationFilterParams()
+ if node.kind == JObject:
+ if node.hasKey("userId"):
+ result.userId = to(node["userId"], string)
+ if node.hasKey("tenantId"):
+ result.tenantId = to(node["tenantId"], string)
+ if node.hasKey("filters") and node["filters"].kind != JNull:
+ result.filters = some(to(node["filters"], typeof(result.filters.get())))
+ if node.hasKey("searchFilters") and node["searchFilters"].kind != JNull:
+ result.searchFilters = some(to(node["searchFilters"], typeof(result.searchFilters.get())))
+ if node.hasKey("textSearch") and node["textSearch"].kind != JNull:
+ result.textSearch = some(to(node["textSearch"], typeof(result.textSearch.get())))
+
+# Custom JSON serialization for BuildModerationFilterParams with custom field names
+proc `%`*(obj: BuildModerationFilterParams): JsonNode =
+ result = newJObject()
+ result["userId"] = %obj.userId
+ result["tenantId"] = %obj.tenantId
+ if obj.filters.isSome():
+ result["filters"] = %obj.filters.get()
+ if obj.searchFilters.isSome():
+ result["searchFilters"] = %obj.searchFilters.get()
+ if obj.textSearch.isSome():
+ result["textSearch"] = %obj.textSearch.get()
+
diff --git a/client/fastcomments/models/model_build_moderation_filter_response.nim b/client/fastcomments/models/model_build_moderation_filter_response.nim
new file mode 100644
index 0000000..e43690d
--- /dev/null
+++ b/client/fastcomments/models/model_build_moderation_filter_response.nim
@@ -0,0 +1,37 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_moderation_filter
+
+type BuildModerationFilterResponse* = object
+ ##
+ status*: string
+ moderationFilter*: ModerationFilter
+
+
+# Custom JSON deserialization for BuildModerationFilterResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[BuildModerationFilterResponse]): BuildModerationFilterResponse =
+ result = BuildModerationFilterResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+ if node.hasKey("moderationFilter"):
+ result.moderationFilter = to(node["moderationFilter"], ModerationFilter)
+
+# Custom JSON serialization for BuildModerationFilterResponse with custom field names
+proc `%`*(obj: BuildModerationFilterResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["moderationFilter"] = %obj.moderationFilter
+
diff --git a/client/fastcomments/models/model_bulk_aggregate_question_item.nim b/client/fastcomments/models/model_bulk_aggregate_question_item.nim
index 0905a4e..a150451 100644
--- a/client/fastcomments/models/model_bulk_aggregate_question_item.nim
+++ b/client/fastcomments/models/model_bulk_aggregate_question_item.nim
@@ -23,3 +23,36 @@ type BulkAggregateQuestionItem* = object
timeBucket*: Option[AggregateTimeBucket]
startDate*: Option[string]
+
+# Custom JSON deserialization for BulkAggregateQuestionItem with custom field names
+proc to*(node: JsonNode, T: typedesc[BulkAggregateQuestionItem]): BulkAggregateQuestionItem =
+ result = BulkAggregateQuestionItem()
+ if node.kind == JObject:
+ if node.hasKey("aggId"):
+ result.aggId = to(node["aggId"], string)
+ if node.hasKey("questionId") and node["questionId"].kind != JNull:
+ result.questionId = some(to(node["questionId"], typeof(result.questionId.get())))
+ if node.hasKey("questionIds") and node["questionIds"].kind != JNull:
+ result.questionIds = some(to(node["questionIds"], typeof(result.questionIds.get())))
+ if node.hasKey("urlId") and node["urlId"].kind != JNull:
+ result.urlId = some(to(node["urlId"], typeof(result.urlId.get())))
+ if node.hasKey("timeBucket") and node["timeBucket"].kind != JNull:
+ result.timeBucket = some(to(node["timeBucket"], typeof(result.timeBucket.get())))
+ if node.hasKey("startDate") and node["startDate"].kind != JNull:
+ result.startDate = some(to(node["startDate"], typeof(result.startDate.get())))
+
+# Custom JSON serialization for BulkAggregateQuestionItem with custom field names
+proc `%`*(obj: BulkAggregateQuestionItem): JsonNode =
+ result = newJObject()
+ result["aggId"] = %obj.aggId
+ if obj.questionId.isSome():
+ result["questionId"] = %obj.questionId.get()
+ if obj.questionIds.isSome():
+ result["questionIds"] = %obj.questionIds.get()
+ if obj.urlId.isSome():
+ result["urlId"] = %obj.urlId.get()
+ if obj.timeBucket.isSome():
+ result["timeBucket"] = %obj.timeBucket.get()
+ if obj.startDate.isSome():
+ result["startDate"] = %obj.startDate.get()
+
diff --git a/client/fastcomments/models/model_bulk_aggregate_question_results200response.nim b/client/fastcomments/models/model_bulk_aggregate_question_results200response.nim
deleted file mode 100644
index a576733..0000000
--- a/client/fastcomments/models/model_bulk_aggregate_question_results200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_bulk_aggregate_question_results_response
-import model_custom_config_parameters
-import model_question_result_aggregation_overall
-
-# AnyOf type
-type BulkAggregateQuestionResults200responseKind* {.pure.} = enum
- BulkAggregateQuestionResultsResponseVariant
- APIErrorVariant
-
-type BulkAggregateQuestionResults200response* = object
- ##
- case kind*: BulkAggregateQuestionResults200responseKind
- of BulkAggregateQuestionResults200responseKind.BulkAggregateQuestionResultsResponseVariant:
- BulkAggregateQuestionResultsResponseValue*: BulkAggregateQuestionResultsResponse
- of BulkAggregateQuestionResults200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[BulkAggregateQuestionResults200response]): BulkAggregateQuestionResults200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return BulkAggregateQuestionResults200response(kind: BulkAggregateQuestionResults200responseKind.BulkAggregateQuestionResultsResponseVariant, BulkAggregateQuestionResultsResponseValue: to(node, BulkAggregateQuestionResultsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as BulkAggregateQuestionResultsResponse: ", e.msg
- try:
- return BulkAggregateQuestionResults200response(kind: BulkAggregateQuestionResults200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of BulkAggregateQuestionResults200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_bulk_aggregate_question_results_request.nim b/client/fastcomments/models/model_bulk_aggregate_question_results_request.nim
index 0b1dd2d..092b182 100644
--- a/client/fastcomments/models/model_bulk_aggregate_question_results_request.nim
+++ b/client/fastcomments/models/model_bulk_aggregate_question_results_request.nim
@@ -18,3 +18,16 @@ type BulkAggregateQuestionResultsRequest* = object
##
aggregations*: seq[BulkAggregateQuestionItem]
+
+# Custom JSON deserialization for BulkAggregateQuestionResultsRequest with custom field names
+proc to*(node: JsonNode, T: typedesc[BulkAggregateQuestionResultsRequest]): BulkAggregateQuestionResultsRequest =
+ result = BulkAggregateQuestionResultsRequest()
+ if node.kind == JObject:
+ if node.hasKey("aggregations"):
+ result.aggregations = to(node["aggregations"], seq[BulkAggregateQuestionItem])
+
+# Custom JSON serialization for BulkAggregateQuestionResultsRequest with custom field names
+proc `%`*(obj: BulkAggregateQuestionResultsRequest): JsonNode =
+ result = newJObject()
+ result["aggregations"] = %obj.aggregations
+
diff --git a/client/fastcomments/models/model_bulk_aggregate_question_results_response.nim b/client/fastcomments/models/model_bulk_aggregate_question_results_response.nim
index 319fb6f..01f23ca 100644
--- a/client/fastcomments/models/model_bulk_aggregate_question_results_response.nim
+++ b/client/fastcomments/models/model_bulk_aggregate_question_results_response.nim
@@ -20,3 +20,19 @@ type BulkAggregateQuestionResultsResponse* = object
status*: APIStatus
data*: Table[string, QuestionResultAggregationOverall] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for BulkAggregateQuestionResultsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[BulkAggregateQuestionResultsResponse]): BulkAggregateQuestionResultsResponse =
+ result = BulkAggregateQuestionResultsResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("data"):
+ result.data = to(node["data"], Table[string, QuestionResultAggregationOverall])
+
+# Custom JSON serialization for BulkAggregateQuestionResultsResponse with custom field names
+proc `%`*(obj: BulkAggregateQuestionResultsResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["data"] = %obj.data
+
diff --git a/client/fastcomments/models/model_bulk_create_hash_tags_body.nim b/client/fastcomments/models/model_bulk_create_hash_tags_body.nim
index f02fa8a..51fa092 100644
--- a/client/fastcomments/models/model_bulk_create_hash_tags_body.nim
+++ b/client/fastcomments/models/model_bulk_create_hash_tags_body.nim
@@ -17,5 +17,22 @@ import model_bulk_create_hash_tags_body_tags_inner
type BulkCreateHashTagsBody* = object
##
tenantId*: Option[string]
- tags*: seq[BulkCreateHashTagsBody_tags_inner]
+ tags*: seq[BulkCreateHashTagsBodyTagsInner]
+
+
+# Custom JSON deserialization for BulkCreateHashTagsBody with custom field names
+proc to*(node: JsonNode, T: typedesc[BulkCreateHashTagsBody]): BulkCreateHashTagsBody =
+ result = BulkCreateHashTagsBody()
+ if node.kind == JObject:
+ if node.hasKey("tenantId") and node["tenantId"].kind != JNull:
+ result.tenantId = some(to(node["tenantId"], typeof(result.tenantId.get())))
+ if node.hasKey("tags"):
+ result.tags = to(node["tags"], seq[BulkCreateHashTagsBodyTagsInner])
+
+# Custom JSON serialization for BulkCreateHashTagsBody with custom field names
+proc `%`*(obj: BulkCreateHashTagsBody): JsonNode =
+ result = newJObject()
+ if obj.tenantId.isSome():
+ result["tenantId"] = %obj.tenantId.get()
+ result["tags"] = %obj.tags
diff --git a/client/fastcomments/models/model_bulk_create_hash_tags_body_tags_inner.nim b/client/fastcomments/models/model_bulk_create_hash_tags_body_tags_inner.nim
index dc931e0..14567ef 100644
--- a/client/fastcomments/models/model_bulk_create_hash_tags_body_tags_inner.nim
+++ b/client/fastcomments/models/model_bulk_create_hash_tags_body_tags_inner.nim
@@ -18,3 +18,20 @@ type BulkCreateHashTagsBodyTagsInner* = object
url*: Option[string]
tag*: string
+
+# Custom JSON deserialization for BulkCreateHashTagsBodyTagsInner with custom field names
+proc to*(node: JsonNode, T: typedesc[BulkCreateHashTagsBodyTagsInner]): BulkCreateHashTagsBodyTagsInner =
+ result = BulkCreateHashTagsBodyTagsInner()
+ if node.kind == JObject:
+ if node.hasKey("url") and node["url"].kind != JNull:
+ result.url = some(to(node["url"], typeof(result.url.get())))
+ if node.hasKey("tag"):
+ result.tag = to(node["tag"], string)
+
+# Custom JSON serialization for BulkCreateHashTagsBodyTagsInner with custom field names
+proc `%`*(obj: BulkCreateHashTagsBodyTagsInner): JsonNode =
+ result = newJObject()
+ if obj.url.isSome():
+ result["url"] = %obj.url.get()
+ result["tag"] = %obj.tag
+
diff --git a/client/fastcomments/models/model_bulk_create_hash_tags_response.nim b/client/fastcomments/models/model_bulk_create_hash_tags_response.nim
index e3b8ced..b014888 100644
--- a/client/fastcomments/models/model_bulk_create_hash_tags_response.nim
+++ b/client/fastcomments/models/model_bulk_create_hash_tags_response.nim
@@ -12,11 +12,27 @@ import tables
import marshal
import options
-import model_add_hash_tag200response
import model_api_status
+import model_bulk_create_hash_tags_response_results_inner
type BulkCreateHashTagsResponse* = object
##
status*: APIStatus
- results*: seq[AddHashTag_200_response]
+ results*: seq[BulkCreateHashTagsResponseResultsInner]
+
+
+# Custom JSON deserialization for BulkCreateHashTagsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[BulkCreateHashTagsResponse]): BulkCreateHashTagsResponse =
+ result = BulkCreateHashTagsResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("results"):
+ result.results = to(node["results"], seq[BulkCreateHashTagsResponseResultsInner])
+
+# Custom JSON serialization for BulkCreateHashTagsResponse with custom field names
+proc `%`*(obj: BulkCreateHashTagsResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["results"] = %obj.results
diff --git a/client/fastcomments/models/model_add_hash_tag200response.nim b/client/fastcomments/models/model_bulk_create_hash_tags_response_results_inner.nim
similarity index 52%
rename from client/fastcomments/models/model_add_hash_tag200response.nim
rename to client/fastcomments/models/model_bulk_create_hash_tags_response_results_inner.nim
index 42eb5ba..8b0943d 100644
--- a/client/fastcomments/models/model_add_hash_tag200response.nim
+++ b/client/fastcomments/models/model_bulk_create_hash_tags_response_results_inner.nim
@@ -19,29 +19,29 @@ import model_custom_config_parameters
import model_tenant_hash_tag
# AnyOf type
-type AddHashTag200responseKind* {.pure.} = enum
+type BulkCreateHashTagsResponseResultsInnerKind* {.pure.} = enum
CreateHashTagResponseVariant
APIErrorVariant
-type AddHashTag200response* = object
+type BulkCreateHashTagsResponseResultsInner* = object
##
- case kind*: AddHashTag200responseKind
- of AddHashTag200responseKind.CreateHashTagResponseVariant:
+ case kind*: BulkCreateHashTagsResponseResultsInnerKind
+ of BulkCreateHashTagsResponseResultsInnerKind.CreateHashTagResponseVariant:
CreateHashTagResponseValue*: CreateHashTagResponse
- of AddHashTag200responseKind.APIErrorVariant:
+ of BulkCreateHashTagsResponseResultsInnerKind.APIErrorVariant:
APIErrorValue*: APIError
-proc to*(node: JsonNode, T: typedesc[AddHashTag200response]): AddHashTag200response =
+proc to*(node: JsonNode, T: typedesc[BulkCreateHashTagsResponseResultsInner]): BulkCreateHashTagsResponseResultsInner =
## Custom deserializer for anyOf type - tries each variant
try:
- return AddHashTag200response(kind: AddHashTag200responseKind.CreateHashTagResponseVariant, CreateHashTagResponseValue: to(node, CreateHashTagResponse))
+ return BulkCreateHashTagsResponseResultsInner(kind: BulkCreateHashTagsResponseResultsInnerKind.CreateHashTagResponseVariant, CreateHashTagResponseValue: to(node, CreateHashTagResponse))
except Exception as e:
when defined(debug):
echo "Failed to deserialize as CreateHashTagResponse: ", e.msg
try:
- return AddHashTag200response(kind: AddHashTag200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
+ return BulkCreateHashTagsResponseResultsInner(kind: BulkCreateHashTagsResponseResultsInnerKind.APIErrorVariant, APIErrorValue: to(node, APIError))
except Exception as e:
when defined(debug):
echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of AddHashTag200response. JSON: " & $node)
+ raise newException(ValueError, "Unable to deserialize into any variant of BulkCreateHashTagsResponseResultsInner. JSON: " & $node)
diff --git a/client/fastcomments/models/model_bulk_pre_ban_params.nim b/client/fastcomments/models/model_bulk_pre_ban_params.nim
new file mode 100644
index 0000000..47d6478
--- /dev/null
+++ b/client/fastcomments/models/model_bulk_pre_ban_params.nim
@@ -0,0 +1,32 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type BulkPreBanParams* = object
+ ##
+ commentIds*: seq[string]
+
+
+# Custom JSON deserialization for BulkPreBanParams with custom field names
+proc to*(node: JsonNode, T: typedesc[BulkPreBanParams]): BulkPreBanParams =
+ result = BulkPreBanParams()
+ if node.kind == JObject:
+ if node.hasKey("commentIds"):
+ result.commentIds = to(node["commentIds"], seq[string])
+
+# Custom JSON serialization for BulkPreBanParams with custom field names
+proc `%`*(obj: BulkPreBanParams): JsonNode =
+ result = newJObject()
+ result["commentIds"] = %obj.commentIds
+
diff --git a/client/fastcomments/models/model_bulk_pre_ban_summary.nim b/client/fastcomments/models/model_bulk_pre_ban_summary.nim
new file mode 100644
index 0000000..43f6297
--- /dev/null
+++ b/client/fastcomments/models/model_bulk_pre_ban_summary.nim
@@ -0,0 +1,52 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type BulkPreBanSummary* = object
+ ##
+ status*: string
+ totalRelatedCommentCount*: int
+ emailDomains*: seq[string]
+ emails*: seq[string]
+ userIds*: seq[string]
+ ipHashes*: seq[string]
+
+
+# Custom JSON deserialization for BulkPreBanSummary with custom field names
+proc to*(node: JsonNode, T: typedesc[BulkPreBanSummary]): BulkPreBanSummary =
+ result = BulkPreBanSummary()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+ if node.hasKey("totalRelatedCommentCount"):
+ result.totalRelatedCommentCount = to(node["totalRelatedCommentCount"], int)
+ if node.hasKey("emailDomains"):
+ result.emailDomains = to(node["emailDomains"], seq[string])
+ if node.hasKey("emails"):
+ result.emails = to(node["emails"], seq[string])
+ if node.hasKey("userIds"):
+ result.userIds = to(node["userIds"], seq[string])
+ if node.hasKey("ipHashes"):
+ result.ipHashes = to(node["ipHashes"], seq[string])
+
+# Custom JSON serialization for BulkPreBanSummary with custom field names
+proc `%`*(obj: BulkPreBanSummary): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["totalRelatedCommentCount"] = %obj.totalRelatedCommentCount
+ result["emailDomains"] = %obj.emailDomains
+ result["emails"] = %obj.emails
+ result["userIds"] = %obj.userIds
+ result["ipHashes"] = %obj.ipHashes
+
diff --git a/client/fastcomments/models/model_change_comment_pin_status_response.nim b/client/fastcomments/models/model_change_comment_pin_status_response.nim
index bdbce59..8321e39 100644
--- a/client/fastcomments/models/model_change_comment_pin_status_response.nim
+++ b/client/fastcomments/models/model_change_comment_pin_status_response.nim
@@ -20,3 +20,19 @@ type ChangeCommentPinStatusResponse* = object
commentPositions*: Table[string, RecordStringBeforeStringOrNullAfterStringOrNullValue] ## Construct a type with a set of properties K of type T
status*: APIStatus
+
+# Custom JSON deserialization for ChangeCommentPinStatusResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ChangeCommentPinStatusResponse]): ChangeCommentPinStatusResponse =
+ result = ChangeCommentPinStatusResponse()
+ if node.kind == JObject:
+ if node.hasKey("commentPositions"):
+ result.commentPositions = to(node["commentPositions"], Table[string, RecordStringBeforeStringOrNullAfterStringOrNullValue])
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for ChangeCommentPinStatusResponse with custom field names
+proc `%`*(obj: ChangeCommentPinStatusResponse): JsonNode =
+ result = newJObject()
+ result["commentPositions"] = %obj.commentPositions
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_change_ticket_state200response.nim b/client/fastcomments/models/model_change_ticket_state200response.nim
deleted file mode 100644
index fba6882..0000000
--- a/client/fastcomments/models/model_change_ticket_state200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_api_ticket
-import model_change_ticket_state_response
-import model_custom_config_parameters
-
-# AnyOf type
-type ChangeTicketState200responseKind* {.pure.} = enum
- ChangeTicketStateResponseVariant
- APIErrorVariant
-
-type ChangeTicketState200response* = object
- ##
- case kind*: ChangeTicketState200responseKind
- of ChangeTicketState200responseKind.ChangeTicketStateResponseVariant:
- ChangeTicketStateResponseValue*: ChangeTicketStateResponse
- of ChangeTicketState200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[ChangeTicketState200response]): ChangeTicketState200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return ChangeTicketState200response(kind: ChangeTicketState200responseKind.ChangeTicketStateResponseVariant, ChangeTicketStateResponseValue: to(node, ChangeTicketStateResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as ChangeTicketStateResponse: ", e.msg
- try:
- return ChangeTicketState200response(kind: ChangeTicketState200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of ChangeTicketState200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_change_ticket_state_body.nim b/client/fastcomments/models/model_change_ticket_state_body.nim
index 5d6f813..5270833 100644
--- a/client/fastcomments/models/model_change_ticket_state_body.nim
+++ b/client/fastcomments/models/model_change_ticket_state_body.nim
@@ -17,3 +17,16 @@ type ChangeTicketStateBody* = object
##
state*: int
+
+# Custom JSON deserialization for ChangeTicketStateBody with custom field names
+proc to*(node: JsonNode, T: typedesc[ChangeTicketStateBody]): ChangeTicketStateBody =
+ result = ChangeTicketStateBody()
+ if node.kind == JObject:
+ if node.hasKey("state"):
+ result.state = to(node["state"], int)
+
+# Custom JSON serialization for ChangeTicketStateBody with custom field names
+proc `%`*(obj: ChangeTicketStateBody): JsonNode =
+ result = newJObject()
+ result["state"] = %obj.state
+
diff --git a/client/fastcomments/models/model_check_blocked_comments_response.nim b/client/fastcomments/models/model_check_blocked_comments_response.nim
index c1156e3..66254ac 100644
--- a/client/fastcomments/models/model_check_blocked_comments_response.nim
+++ b/client/fastcomments/models/model_check_blocked_comments_response.nim
@@ -19,3 +19,19 @@ type CheckBlockedCommentsResponse* = object
commentStatuses*: Table[string, bool] ## Construct a type with a set of properties K of type T
status*: APIStatus
+
+# Custom JSON deserialization for CheckBlockedCommentsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[CheckBlockedCommentsResponse]): CheckBlockedCommentsResponse =
+ result = CheckBlockedCommentsResponse()
+ if node.kind == JObject:
+ if node.hasKey("commentStatuses"):
+ result.commentStatuses = to(node["commentStatuses"], Table[string, bool])
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for CheckBlockedCommentsResponse with custom field names
+proc `%`*(obj: CheckBlockedCommentsResponse): JsonNode =
+ result = newJObject()
+ result["commentStatuses"] = %obj.commentStatuses
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_checked_comments_for_blocked200response.nim b/client/fastcomments/models/model_checked_comments_for_blocked200response.nim
deleted file mode 100644
index 3793b43..0000000
--- a/client/fastcomments/models/model_checked_comments_for_blocked200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_check_blocked_comments_response
-import model_custom_config_parameters
-
-# AnyOf type
-type CheckedCommentsForBlocked200responseKind* {.pure.} = enum
- CheckBlockedCommentsResponseVariant
- APIErrorVariant
-
-type CheckedCommentsForBlocked200response* = object
- ##
- case kind*: CheckedCommentsForBlocked200responseKind
- of CheckedCommentsForBlocked200responseKind.CheckBlockedCommentsResponseVariant:
- CheckBlockedCommentsResponseValue*: CheckBlockedCommentsResponse
- of CheckedCommentsForBlocked200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[CheckedCommentsForBlocked200response]): CheckedCommentsForBlocked200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return CheckedCommentsForBlocked200response(kind: CheckedCommentsForBlocked200responseKind.CheckBlockedCommentsResponseVariant, CheckBlockedCommentsResponseValue: to(node, CheckBlockedCommentsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as CheckBlockedCommentsResponse: ", e.msg
- try:
- return CheckedCommentsForBlocked200response(kind: CheckedCommentsForBlocked200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of CheckedCommentsForBlocked200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_combine_comments_with_question_results200response.nim b/client/fastcomments/models/model_combine_comments_with_question_results200response.nim
deleted file mode 100644
index 14f565e..0000000
--- a/client/fastcomments/models/model_combine_comments_with_question_results200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_combine_question_results_with_comments_response
-import model_custom_config_parameters
-import model_find_comments_by_range_response
-
-# AnyOf type
-type CombineCommentsWithQuestionResults200responseKind* {.pure.} = enum
- CombineQuestionResultsWithCommentsResponseVariant
- APIErrorVariant
-
-type CombineCommentsWithQuestionResults200response* = object
- ##
- case kind*: CombineCommentsWithQuestionResults200responseKind
- of CombineCommentsWithQuestionResults200responseKind.CombineQuestionResultsWithCommentsResponseVariant:
- CombineQuestionResultsWithCommentsResponseValue*: CombineQuestionResultsWithCommentsResponse
- of CombineCommentsWithQuestionResults200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[CombineCommentsWithQuestionResults200response]): CombineCommentsWithQuestionResults200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return CombineCommentsWithQuestionResults200response(kind: CombineCommentsWithQuestionResults200responseKind.CombineQuestionResultsWithCommentsResponseVariant, CombineQuestionResultsWithCommentsResponseValue: to(node, CombineQuestionResultsWithCommentsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as CombineQuestionResultsWithCommentsResponse: ", e.msg
- try:
- return CombineCommentsWithQuestionResults200response(kind: CombineCommentsWithQuestionResults200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of CombineCommentsWithQuestionResults200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_comment_data.nim b/client/fastcomments/models/model_comment_data.nim
index 54c2171..8bdea1a 100644
--- a/client/fastcomments/models/model_comment_data.nim
+++ b/client/fastcomments/models/model_comment_data.nim
@@ -14,8 +14,8 @@ import options
import model_comment_user_hash_tag_info
import model_comment_user_mention_info
+import model_gif_search_response_images_inner_inner
import model_object
-import model_record_string_string_or_number_value
type CommentData* = object
##
@@ -42,6 +42,117 @@ type CommentData* = object
fromOfflineRestore*: Option[bool]
autoplayDelayMS*: Option[int64]
feedbackIds*: Option[seq[string]]
- questionValues*: Option[Table[string, RecordStringStringOrNumberValue]] ## Construct a type with a set of properties K of type T
+ questionValues*: Option[Table[string, GifSearchResponseImagesInnerInner]] ## Construct a type with a set of properties K of type T
tos*: Option[bool]
+ botId*: Option[string]
+
+
+# Custom JSON deserialization for CommentData with custom field names
+proc to*(node: JsonNode, T: typedesc[CommentData]): CommentData =
+ result = CommentData()
+ if node.kind == JObject:
+ if node.hasKey("date") and node["date"].kind != JNull:
+ result.date = some(to(node["date"], typeof(result.date.get())))
+ if node.hasKey("localDateString") and node["localDateString"].kind != JNull:
+ result.localDateString = some(to(node["localDateString"], typeof(result.localDateString.get())))
+ if node.hasKey("localDateHours") and node["localDateHours"].kind != JNull:
+ result.localDateHours = some(to(node["localDateHours"], typeof(result.localDateHours.get())))
+ if node.hasKey("commenterName"):
+ result.commenterName = to(node["commenterName"], string)
+ if node.hasKey("commenterEmail") and node["commenterEmail"].kind != JNull:
+ result.commenterEmail = some(to(node["commenterEmail"], typeof(result.commenterEmail.get())))
+ if node.hasKey("commenterLink") and node["commenterLink"].kind != JNull:
+ result.commenterLink = some(to(node["commenterLink"], typeof(result.commenterLink.get())))
+ if node.hasKey("comment"):
+ result.comment = to(node["comment"], string)
+ if node.hasKey("productId") and node["productId"].kind != JNull:
+ result.productId = some(to(node["productId"], typeof(result.productId.get())))
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+ if node.hasKey("avatarSrc") and node["avatarSrc"].kind != JNull:
+ result.avatarSrc = some(to(node["avatarSrc"], typeof(result.avatarSrc.get())))
+ if node.hasKey("parentId") and node["parentId"].kind != JNull:
+ result.parentId = some(to(node["parentId"], typeof(result.parentId.get())))
+ if node.hasKey("mentions") and node["mentions"].kind != JNull:
+ result.mentions = some(to(node["mentions"], typeof(result.mentions.get())))
+ if node.hasKey("hashTags") and node["hashTags"].kind != JNull:
+ result.hashTags = some(to(node["hashTags"], typeof(result.hashTags.get())))
+ if node.hasKey("pageTitle") and node["pageTitle"].kind != JNull:
+ result.pageTitle = some(to(node["pageTitle"], typeof(result.pageTitle.get())))
+ if node.hasKey("isFromMyAccountPage") and node["isFromMyAccountPage"].kind != JNull:
+ result.isFromMyAccountPage = some(to(node["isFromMyAccountPage"], typeof(result.isFromMyAccountPage.get())))
+ if node.hasKey("url"):
+ result.url = to(node["url"], string)
+ if node.hasKey("urlId"):
+ result.urlId = to(node["urlId"], string)
+ if node.hasKey("meta") and node["meta"].kind != JNull:
+ result.meta = some(to(node["meta"], typeof(result.meta.get())))
+ if node.hasKey("moderationGroupIds") and node["moderationGroupIds"].kind != JNull:
+ result.moderationGroupIds = some(to(node["moderationGroupIds"], typeof(result.moderationGroupIds.get())))
+ if node.hasKey("rating") and node["rating"].kind != JNull:
+ result.rating = some(to(node["rating"], typeof(result.rating.get())))
+ if node.hasKey("fromOfflineRestore") and node["fromOfflineRestore"].kind != JNull:
+ result.fromOfflineRestore = some(to(node["fromOfflineRestore"], typeof(result.fromOfflineRestore.get())))
+ if node.hasKey("autoplayDelayMS") and node["autoplayDelayMS"].kind != JNull:
+ result.autoplayDelayMS = some(to(node["autoplayDelayMS"], typeof(result.autoplayDelayMS.get())))
+ if node.hasKey("feedbackIds") and node["feedbackIds"].kind != JNull:
+ result.feedbackIds = some(to(node["feedbackIds"], typeof(result.feedbackIds.get())))
+ if node.hasKey("questionValues") and node["questionValues"].kind != JNull:
+ result.questionValues = some(to(node["questionValues"], typeof(result.questionValues.get())))
+ if node.hasKey("tos") and node["tos"].kind != JNull:
+ result.tos = some(to(node["tos"], typeof(result.tos.get())))
+ if node.hasKey("botId") and node["botId"].kind != JNull:
+ result.botId = some(to(node["botId"], typeof(result.botId.get())))
+
+# Custom JSON serialization for CommentData with custom field names
+proc `%`*(obj: CommentData): JsonNode =
+ result = newJObject()
+ if obj.date.isSome():
+ result["date"] = %obj.date.get()
+ if obj.localDateString.isSome():
+ result["localDateString"] = %obj.localDateString.get()
+ if obj.localDateHours.isSome():
+ result["localDateHours"] = %obj.localDateHours.get()
+ result["commenterName"] = %obj.commenterName
+ if obj.commenterEmail.isSome():
+ result["commenterEmail"] = %obj.commenterEmail.get()
+ if obj.commenterLink.isSome():
+ result["commenterLink"] = %obj.commenterLink.get()
+ result["comment"] = %obj.comment
+ if obj.productId.isSome():
+ result["productId"] = %obj.productId.get()
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+ if obj.avatarSrc.isSome():
+ result["avatarSrc"] = %obj.avatarSrc.get()
+ if obj.parentId.isSome():
+ result["parentId"] = %obj.parentId.get()
+ if obj.mentions.isSome():
+ result["mentions"] = %obj.mentions.get()
+ if obj.hashTags.isSome():
+ result["hashTags"] = %obj.hashTags.get()
+ if obj.pageTitle.isSome():
+ result["pageTitle"] = %obj.pageTitle.get()
+ if obj.isFromMyAccountPage.isSome():
+ result["isFromMyAccountPage"] = %obj.isFromMyAccountPage.get()
+ result["url"] = %obj.url
+ result["urlId"] = %obj.urlId
+ if obj.meta.isSome():
+ result["meta"] = %obj.meta.get()
+ if obj.moderationGroupIds.isSome():
+ result["moderationGroupIds"] = %obj.moderationGroupIds.get()
+ if obj.rating.isSome():
+ result["rating"] = %obj.rating.get()
+ if obj.fromOfflineRestore.isSome():
+ result["fromOfflineRestore"] = %obj.fromOfflineRestore.get()
+ if obj.autoplayDelayMS.isSome():
+ result["autoplayDelayMS"] = %obj.autoplayDelayMS.get()
+ if obj.feedbackIds.isSome():
+ result["feedbackIds"] = %obj.feedbackIds.get()
+ if obj.questionValues.isSome():
+ result["questionValues"] = %obj.questionValues.get()
+ if obj.tos.isSome():
+ result["tos"] = %obj.tos.get()
+ if obj.botId.isSome():
+ result["botId"] = %obj.botId.get()
diff --git a/client/fastcomments/models/model_comment_log_data.nim b/client/fastcomments/models/model_comment_log_data.nim
index 39e2a83..3d357cf 100644
--- a/client/fastcomments/models/model_comment_log_data.nim
+++ b/client/fastcomments/models/model_comment_log_data.nim
@@ -37,6 +37,7 @@ type CommentLogData* = object
engineResponse*: Option[string]
engineTokens*: Option[float64]
trustFactor*: Option[float64]
+ source*: Option[string]
rule*: Option[SpamRule]
userId*: Option[string]
subscribers*: Option[float64]
@@ -86,3 +87,201 @@ proc to*(node: JsonNode, T: typedesc[PermanentFlag]): PermanentFlag =
else:
raise newException(ValueError, "Invalid enum value for PermanentFlag: " & strVal)
+
+# Custom JSON deserialization for CommentLogData with custom field names
+proc to*(node: JsonNode, T: typedesc[CommentLogData]): CommentLogData =
+ result = CommentLogData()
+ if node.kind == JObject:
+ if node.hasKey("clearContent") and node["clearContent"].kind != JNull:
+ result.clearContent = some(to(node["clearContent"], typeof(result.clearContent.get())))
+ if node.hasKey("isDeletedUser") and node["isDeletedUser"].kind != JNull:
+ result.isDeletedUser = some(to(node["isDeletedUser"], typeof(result.isDeletedUser.get())))
+ if node.hasKey("phrase") and node["phrase"].kind != JNull:
+ result.phrase = some(to(node["phrase"], typeof(result.phrase.get())))
+ if node.hasKey("badWord") and node["badWord"].kind != JNull:
+ result.badWord = some(to(node["badWord"], typeof(result.badWord.get())))
+ if node.hasKey("word") and node["word"].kind != JNull:
+ result.word = some(to(node["word"], typeof(result.word.get())))
+ if node.hasKey("locale") and node["locale"].kind != JNull:
+ result.locale = some(to(node["locale"], typeof(result.locale.get())))
+ if node.hasKey("tenantBadgeId") and node["tenantBadgeId"].kind != JNull:
+ result.tenantBadgeId = some(to(node["tenantBadgeId"], typeof(result.tenantBadgeId.get())))
+ if node.hasKey("badgeId") and node["badgeId"].kind != JNull:
+ result.badgeId = some(to(node["badgeId"], typeof(result.badgeId.get())))
+ if node.hasKey("wasLoggedIn") and node["wasLoggedIn"].kind != JNull:
+ result.wasLoggedIn = some(to(node["wasLoggedIn"], typeof(result.wasLoggedIn.get())))
+ if node.hasKey("foundUser") and node["foundUser"].kind != JNull:
+ result.foundUser = some(to(node["foundUser"], typeof(result.foundUser.get())))
+ if node.hasKey("verified") and node["verified"].kind != JNull:
+ result.verified = some(to(node["verified"], typeof(result.verified.get())))
+ if node.hasKey("engine") and node["engine"].kind != JNull:
+ result.engine = some(to(node["engine"], typeof(result.engine.get())))
+ if node.hasKey("engineResponse") and node["engineResponse"].kind != JNull:
+ result.engineResponse = some(to(node["engineResponse"], typeof(result.engineResponse.get())))
+ if node.hasKey("engineTokens") and node["engineTokens"].kind != JNull:
+ result.engineTokens = some(to(node["engineTokens"], typeof(result.engineTokens.get())))
+ if node.hasKey("trustFactor") and node["trustFactor"].kind != JNull:
+ result.trustFactor = some(to(node["trustFactor"], typeof(result.trustFactor.get())))
+ if node.hasKey("source") and node["source"].kind != JNull:
+ result.source = some(to(node["source"], typeof(result.source.get())))
+ if node.hasKey("rule") and node["rule"].kind != JNull:
+ result.rule = some(to(node["rule"], typeof(result.rule.get())))
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+ if node.hasKey("subscribers") and node["subscribers"].kind != JNull:
+ result.subscribers = some(to(node["subscribers"], typeof(result.subscribers.get())))
+ if node.hasKey("notificationCount") and node["notificationCount"].kind != JNull:
+ result.notificationCount = some(to(node["notificationCount"], typeof(result.notificationCount.get())))
+ if node.hasKey("votesBefore") and node["votesBefore"].kind != JNull:
+ result.votesBefore = some(to(node["votesBefore"], typeof(result.votesBefore.get())))
+ if node.hasKey("votesUpBefore") and node["votesUpBefore"].kind != JNull:
+ result.votesUpBefore = some(to(node["votesUpBefore"], typeof(result.votesUpBefore.get())))
+ if node.hasKey("votesDownBefore") and node["votesDownBefore"].kind != JNull:
+ result.votesDownBefore = some(to(node["votesDownBefore"], typeof(result.votesDownBefore.get())))
+ if node.hasKey("votesAfter") and node["votesAfter"].kind != JNull:
+ result.votesAfter = some(to(node["votesAfter"], typeof(result.votesAfter.get())))
+ if node.hasKey("votesUpAfter") and node["votesUpAfter"].kind != JNull:
+ result.votesUpAfter = some(to(node["votesUpAfter"], typeof(result.votesUpAfter.get())))
+ if node.hasKey("votesDownAfter") and node["votesDownAfter"].kind != JNull:
+ result.votesDownAfter = some(to(node["votesDownAfter"], typeof(result.votesDownAfter.get())))
+ if node.hasKey("repeatAction") and node["repeatAction"].kind != JNull:
+ result.repeatAction = some(to(node["repeatAction"], typeof(result.repeatAction.get())))
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("otherData") and node["otherData"].kind != JNull:
+ result.otherData = some(to(node["otherData"], typeof(result.otherData.get())))
+ if node.hasKey("spamBefore") and node["spamBefore"].kind != JNull:
+ result.spamBefore = some(to(node["spamBefore"], typeof(result.spamBefore.get())))
+ if node.hasKey("spamAfter") and node["spamAfter"].kind != JNull:
+ result.spamAfter = some(to(node["spamAfter"], typeof(result.spamAfter.get())))
+ if node.hasKey("permanentFlag") and node["permanentFlag"].kind != JNull:
+ result.permanentFlag = some(to(node["permanentFlag"], PermanentFlag))
+ if node.hasKey("approvedBefore") and node["approvedBefore"].kind != JNull:
+ result.approvedBefore = some(to(node["approvedBefore"], typeof(result.approvedBefore.get())))
+ if node.hasKey("approvedAfter") and node["approvedAfter"].kind != JNull:
+ result.approvedAfter = some(to(node["approvedAfter"], typeof(result.approvedAfter.get())))
+ if node.hasKey("reviewedBefore") and node["reviewedBefore"].kind != JNull:
+ result.reviewedBefore = some(to(node["reviewedBefore"], typeof(result.reviewedBefore.get())))
+ if node.hasKey("reviewedAfter") and node["reviewedAfter"].kind != JNull:
+ result.reviewedAfter = some(to(node["reviewedAfter"], typeof(result.reviewedAfter.get())))
+ if node.hasKey("textBefore") and node["textBefore"].kind != JNull:
+ result.textBefore = some(to(node["textBefore"], typeof(result.textBefore.get())))
+ if node.hasKey("textAfter") and node["textAfter"].kind != JNull:
+ result.textAfter = some(to(node["textAfter"], typeof(result.textAfter.get())))
+ if node.hasKey("expireBefore") and node["expireBefore"].kind != JNull:
+ result.expireBefore = some(to(node["expireBefore"], typeof(result.expireBefore.get())))
+ if node.hasKey("expireAfter") and node["expireAfter"].kind != JNull:
+ result.expireAfter = some(to(node["expireAfter"], typeof(result.expireAfter.get())))
+ if node.hasKey("flagCountBefore") and node["flagCountBefore"].kind != JNull:
+ result.flagCountBefore = some(to(node["flagCountBefore"], typeof(result.flagCountBefore.get())))
+ if node.hasKey("trustFactorBefore") and node["trustFactorBefore"].kind != JNull:
+ result.trustFactorBefore = some(to(node["trustFactorBefore"], typeof(result.trustFactorBefore.get())))
+ if node.hasKey("trustFactorAfter") and node["trustFactorAfter"].kind != JNull:
+ result.trustFactorAfter = some(to(node["trustFactorAfter"], typeof(result.trustFactorAfter.get())))
+ if node.hasKey("referencedCommentId") and node["referencedCommentId"].kind != JNull:
+ result.referencedCommentId = some(to(node["referencedCommentId"], typeof(result.referencedCommentId.get())))
+ if node.hasKey("invalidLocale") and node["invalidLocale"].kind != JNull:
+ result.invalidLocale = some(to(node["invalidLocale"], typeof(result.invalidLocale.get())))
+ if node.hasKey("detectedLocale") and node["detectedLocale"].kind != JNull:
+ result.detectedLocale = some(to(node["detectedLocale"], typeof(result.detectedLocale.get())))
+ if node.hasKey("detectedLanguage") and node["detectedLanguage"].kind != JNull:
+ result.detectedLanguage = some(to(node["detectedLanguage"], typeof(result.detectedLanguage.get())))
+
+# Custom JSON serialization for CommentLogData with custom field names
+proc `%`*(obj: CommentLogData): JsonNode =
+ result = newJObject()
+ if obj.clearContent.isSome():
+ result["clearContent"] = %obj.clearContent.get()
+ if obj.isDeletedUser.isSome():
+ result["isDeletedUser"] = %obj.isDeletedUser.get()
+ if obj.phrase.isSome():
+ result["phrase"] = %obj.phrase.get()
+ if obj.badWord.isSome():
+ result["badWord"] = %obj.badWord.get()
+ if obj.word.isSome():
+ result["word"] = %obj.word.get()
+ if obj.locale.isSome():
+ result["locale"] = %obj.locale.get()
+ if obj.tenantBadgeId.isSome():
+ result["tenantBadgeId"] = %obj.tenantBadgeId.get()
+ if obj.badgeId.isSome():
+ result["badgeId"] = %obj.badgeId.get()
+ if obj.wasLoggedIn.isSome():
+ result["wasLoggedIn"] = %obj.wasLoggedIn.get()
+ if obj.foundUser.isSome():
+ result["foundUser"] = %obj.foundUser.get()
+ if obj.verified.isSome():
+ result["verified"] = %obj.verified.get()
+ if obj.engine.isSome():
+ result["engine"] = %obj.engine.get()
+ if obj.engineResponse.isSome():
+ result["engineResponse"] = %obj.engineResponse.get()
+ if obj.engineTokens.isSome():
+ result["engineTokens"] = %obj.engineTokens.get()
+ if obj.trustFactor.isSome():
+ result["trustFactor"] = %obj.trustFactor.get()
+ if obj.source.isSome():
+ result["source"] = %obj.source.get()
+ if obj.rule.isSome():
+ result["rule"] = %obj.rule.get()
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+ if obj.subscribers.isSome():
+ result["subscribers"] = %obj.subscribers.get()
+ if obj.notificationCount.isSome():
+ result["notificationCount"] = %obj.notificationCount.get()
+ if obj.votesBefore.isSome():
+ result["votesBefore"] = %obj.votesBefore.get()
+ if obj.votesUpBefore.isSome():
+ result["votesUpBefore"] = %obj.votesUpBefore.get()
+ if obj.votesDownBefore.isSome():
+ result["votesDownBefore"] = %obj.votesDownBefore.get()
+ if obj.votesAfter.isSome():
+ result["votesAfter"] = %obj.votesAfter.get()
+ if obj.votesUpAfter.isSome():
+ result["votesUpAfter"] = %obj.votesUpAfter.get()
+ if obj.votesDownAfter.isSome():
+ result["votesDownAfter"] = %obj.votesDownAfter.get()
+ if obj.repeatAction.isSome():
+ result["repeatAction"] = %obj.repeatAction.get()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.otherData.isSome():
+ result["otherData"] = %obj.otherData.get()
+ if obj.spamBefore.isSome():
+ result["spamBefore"] = %obj.spamBefore.get()
+ if obj.spamAfter.isSome():
+ result["spamAfter"] = %obj.spamAfter.get()
+ if obj.permanentFlag.isSome():
+ result["permanentFlag"] = %obj.permanentFlag.get()
+ if obj.approvedBefore.isSome():
+ result["approvedBefore"] = %obj.approvedBefore.get()
+ if obj.approvedAfter.isSome():
+ result["approvedAfter"] = %obj.approvedAfter.get()
+ if obj.reviewedBefore.isSome():
+ result["reviewedBefore"] = %obj.reviewedBefore.get()
+ if obj.reviewedAfter.isSome():
+ result["reviewedAfter"] = %obj.reviewedAfter.get()
+ if obj.textBefore.isSome():
+ result["textBefore"] = %obj.textBefore.get()
+ if obj.textAfter.isSome():
+ result["textAfter"] = %obj.textAfter.get()
+ if obj.expireBefore.isSome():
+ result["expireBefore"] = %obj.expireBefore.get()
+ if obj.expireAfter.isSome():
+ result["expireAfter"] = %obj.expireAfter.get()
+ if obj.flagCountBefore.isSome():
+ result["flagCountBefore"] = %obj.flagCountBefore.get()
+ if obj.trustFactorBefore.isSome():
+ result["trustFactorBefore"] = %obj.trustFactorBefore.get()
+ if obj.trustFactorAfter.isSome():
+ result["trustFactorAfter"] = %obj.trustFactorAfter.get()
+ if obj.referencedCommentId.isSome():
+ result["referencedCommentId"] = %obj.referencedCommentId.get()
+ if obj.invalidLocale.isSome():
+ result["invalidLocale"] = %obj.invalidLocale.get()
+ if obj.detectedLocale.isSome():
+ result["detectedLocale"] = %obj.detectedLocale.get()
+ if obj.detectedLanguage.isSome():
+ result["detectedLanguage"] = %obj.detectedLanguage.get()
+
diff --git a/client/fastcomments/models/model_comment_log_entry.nim b/client/fastcomments/models/model_comment_log_entry.nim
index e2ec665..66a8c36 100644
--- a/client/fastcomments/models/model_comment_log_entry.nim
+++ b/client/fastcomments/models/model_comment_log_entry.nim
@@ -21,3 +21,23 @@ type CommentLogEntry* = object
t*: CommentLogType
da*: Option[CommentLogData]
+
+# Custom JSON deserialization for CommentLogEntry with custom field names
+proc to*(node: JsonNode, T: typedesc[CommentLogEntry]): CommentLogEntry =
+ result = CommentLogEntry()
+ if node.kind == JObject:
+ if node.hasKey("d"):
+ result.d = to(node["d"], string)
+ if node.hasKey("t"):
+ result.t = to(node["t"], CommentLogType)
+ if node.hasKey("da") and node["da"].kind != JNull:
+ result.da = some(to(node["da"], typeof(result.da.get())))
+
+# Custom JSON serialization for CommentLogEntry with custom field names
+proc `%`*(obj: CommentLogEntry): JsonNode =
+ result = newJObject()
+ result["d"] = %obj.d
+ result["t"] = %obj.t
+ if obj.da.isSome():
+ result["da"] = %obj.da.get()
+
diff --git a/client/fastcomments/models/model_comment_text_update_request.nim b/client/fastcomments/models/model_comment_text_update_request.nim
index 3e509e3..2e13cca 100644
--- a/client/fastcomments/models/model_comment_text_update_request.nim
+++ b/client/fastcomments/models/model_comment_text_update_request.nim
@@ -21,3 +21,24 @@ type CommentTextUpdateRequest* = object
mentions*: Option[seq[CommentUserMentionInfo]]
hashTags*: Option[seq[CommentUserHashTagInfo]]
+
+# Custom JSON deserialization for CommentTextUpdateRequest with custom field names
+proc to*(node: JsonNode, T: typedesc[CommentTextUpdateRequest]): CommentTextUpdateRequest =
+ result = CommentTextUpdateRequest()
+ if node.kind == JObject:
+ if node.hasKey("comment"):
+ result.comment = to(node["comment"], string)
+ if node.hasKey("mentions") and node["mentions"].kind != JNull:
+ result.mentions = some(to(node["mentions"], typeof(result.mentions.get())))
+ if node.hasKey("hashTags") and node["hashTags"].kind != JNull:
+ result.hashTags = some(to(node["hashTags"], typeof(result.hashTags.get())))
+
+# Custom JSON serialization for CommentTextUpdateRequest with custom field names
+proc `%`*(obj: CommentTextUpdateRequest): JsonNode =
+ result = newJObject()
+ result["comment"] = %obj.comment
+ if obj.mentions.isSome():
+ result["mentions"] = %obj.mentions.get()
+ if obj.hashTags.isSome():
+ result["hashTags"] = %obj.hashTags.get()
+
diff --git a/client/fastcomments/models/model_comment_user_badge_info.nim b/client/fastcomments/models/model_comment_user_badge_info.nim
index af8ab96..556b55c 100644
--- a/client/fastcomments/models/model_comment_user_badge_info.nim
+++ b/client/fastcomments/models/model_comment_user_badge_info.nim
@@ -25,3 +25,46 @@ type CommentUserBadgeInfo* = object
textColor*: Option[string]
cssClass*: Option[string]
+
+# Custom JSON deserialization for CommentUserBadgeInfo with custom field names
+proc to*(node: JsonNode, T: typedesc[CommentUserBadgeInfo]): CommentUserBadgeInfo =
+ result = CommentUserBadgeInfo()
+ if node.kind == JObject:
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
+ if node.hasKey("type"):
+ result.`type` = to(node["type"], int)
+ if node.hasKey("description"):
+ result.description = to(node["description"], string)
+ if node.hasKey("displayLabel") and node["displayLabel"].kind != JNull:
+ result.displayLabel = some(to(node["displayLabel"], typeof(result.displayLabel.get())))
+ if node.hasKey("displaySrc") and node["displaySrc"].kind != JNull:
+ result.displaySrc = some(to(node["displaySrc"], typeof(result.displaySrc.get())))
+ if node.hasKey("backgroundColor") and node["backgroundColor"].kind != JNull:
+ result.backgroundColor = some(to(node["backgroundColor"], typeof(result.backgroundColor.get())))
+ if node.hasKey("borderColor") and node["borderColor"].kind != JNull:
+ result.borderColor = some(to(node["borderColor"], typeof(result.borderColor.get())))
+ if node.hasKey("textColor") and node["textColor"].kind != JNull:
+ result.textColor = some(to(node["textColor"], typeof(result.textColor.get())))
+ if node.hasKey("cssClass") and node["cssClass"].kind != JNull:
+ result.cssClass = some(to(node["cssClass"], typeof(result.cssClass.get())))
+
+# Custom JSON serialization for CommentUserBadgeInfo with custom field names
+proc `%`*(obj: CommentUserBadgeInfo): JsonNode =
+ result = newJObject()
+ result["id"] = %obj.id
+ result["type"] = %obj.`type`
+ result["description"] = %obj.description
+ if obj.displayLabel.isSome():
+ result["displayLabel"] = %obj.displayLabel.get()
+ if obj.displaySrc.isSome():
+ result["displaySrc"] = %obj.displaySrc.get()
+ if obj.backgroundColor.isSome():
+ result["backgroundColor"] = %obj.backgroundColor.get()
+ if obj.borderColor.isSome():
+ result["borderColor"] = %obj.borderColor.get()
+ if obj.textColor.isSome():
+ result["textColor"] = %obj.textColor.get()
+ if obj.cssClass.isSome():
+ result["cssClass"] = %obj.cssClass.get()
+
diff --git a/client/fastcomments/models/model_comment_user_hash_tag_info.nim b/client/fastcomments/models/model_comment_user_hash_tag_info.nim
index 8146967..671a05b 100644
--- a/client/fastcomments/models/model_comment_user_hash_tag_info.nim
+++ b/client/fastcomments/models/model_comment_user_hash_tag_info.nim
@@ -20,3 +20,27 @@ type CommentUserHashTagInfo* = object
url*: Option[string]
retain*: Option[bool]
+
+# Custom JSON deserialization for CommentUserHashTagInfo with custom field names
+proc to*(node: JsonNode, T: typedesc[CommentUserHashTagInfo]): CommentUserHashTagInfo =
+ result = CommentUserHashTagInfo()
+ if node.kind == JObject:
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
+ if node.hasKey("tag"):
+ result.tag = to(node["tag"], string)
+ if node.hasKey("url") and node["url"].kind != JNull:
+ result.url = some(to(node["url"], typeof(result.url.get())))
+ if node.hasKey("retain") and node["retain"].kind != JNull:
+ result.retain = some(to(node["retain"], typeof(result.retain.get())))
+
+# Custom JSON serialization for CommentUserHashTagInfo with custom field names
+proc `%`*(obj: CommentUserHashTagInfo): JsonNode =
+ result = newJObject()
+ result["id"] = %obj.id
+ result["tag"] = %obj.tag
+ if obj.url.isSome():
+ result["url"] = %obj.url.get()
+ if obj.retain.isSome():
+ result["retain"] = %obj.retain.get()
+
diff --git a/client/fastcomments/models/model_comment_user_mention_info.nim b/client/fastcomments/models/model_comment_user_mention_info.nim
index 090d5b7..c766a99 100644
--- a/client/fastcomments/models/model_comment_user_mention_info.nim
+++ b/client/fastcomments/models/model_comment_user_mention_info.nim
@@ -46,3 +46,31 @@ proc to*(node: JsonNode, T: typedesc[`Type`]): `Type` =
else:
raise newException(ValueError, "Invalid enum value for `Type`: " & strVal)
+
+# Custom JSON deserialization for CommentUserMentionInfo with custom field names
+proc to*(node: JsonNode, T: typedesc[CommentUserMentionInfo]): CommentUserMentionInfo =
+ result = CommentUserMentionInfo()
+ if node.kind == JObject:
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
+ if node.hasKey("tag"):
+ result.tag = to(node["tag"], string)
+ if node.hasKey("rawTag") and node["rawTag"].kind != JNull:
+ result.rawTag = some(to(node["rawTag"], typeof(result.rawTag.get())))
+ if node.hasKey("type") and node["type"].kind != JNull:
+ result.`type` = some(to(node["type"], `Type`))
+ if node.hasKey("sent") and node["sent"].kind != JNull:
+ result.sent = some(to(node["sent"], typeof(result.sent.get())))
+
+# Custom JSON serialization for CommentUserMentionInfo with custom field names
+proc `%`*(obj: CommentUserMentionInfo): JsonNode =
+ result = newJObject()
+ result["id"] = %obj.id
+ result["tag"] = %obj.tag
+ if obj.rawTag.isSome():
+ result["rawTag"] = %obj.rawTag.get()
+ if obj.`type`.isSome():
+ result["type"] = %obj.`type`.get()
+ if obj.sent.isSome():
+ result["sent"] = %obj.sent.get()
+
diff --git a/client/fastcomments/models/model_comments_by_ids_params.nim b/client/fastcomments/models/model_comments_by_ids_params.nim
new file mode 100644
index 0000000..6834e03
--- /dev/null
+++ b/client/fastcomments/models/model_comments_by_ids_params.nim
@@ -0,0 +1,32 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type CommentsByIdsParams* = object
+ ##
+ ids*: seq[string]
+
+
+# Custom JSON deserialization for CommentsByIdsParams with custom field names
+proc to*(node: JsonNode, T: typedesc[CommentsByIdsParams]): CommentsByIdsParams =
+ result = CommentsByIdsParams()
+ if node.kind == JObject:
+ if node.hasKey("ids"):
+ result.ids = to(node["ids"], seq[string])
+
+# Custom JSON serialization for CommentsByIdsParams with custom field names
+proc `%`*(obj: CommentsByIdsParams): JsonNode =
+ result = newJObject()
+ result["ids"] = %obj.ids
+
diff --git a/client/fastcomments/models/model_create_api_page_data.nim b/client/fastcomments/models/model_create_api_page_data.nim
index f94231b..ce1f327 100644
--- a/client/fastcomments/models/model_create_api_page_data.nim
+++ b/client/fastcomments/models/model_create_api_page_data.nim
@@ -22,3 +22,34 @@ type CreateAPIPageData* = object
url*: string
urlId*: string
+
+# Custom JSON deserialization for CreateAPIPageData with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateAPIPageData]): CreateAPIPageData =
+ result = CreateAPIPageData()
+ if node.kind == JObject:
+ if node.hasKey("accessibleByGroupIds") and node["accessibleByGroupIds"].kind != JNull:
+ result.accessibleByGroupIds = some(to(node["accessibleByGroupIds"], typeof(result.accessibleByGroupIds.get())))
+ if node.hasKey("rootCommentCount") and node["rootCommentCount"].kind != JNull:
+ result.rootCommentCount = some(to(node["rootCommentCount"], typeof(result.rootCommentCount.get())))
+ if node.hasKey("commentCount") and node["commentCount"].kind != JNull:
+ result.commentCount = some(to(node["commentCount"], typeof(result.commentCount.get())))
+ if node.hasKey("title"):
+ result.title = to(node["title"], string)
+ if node.hasKey("url"):
+ result.url = to(node["url"], string)
+ if node.hasKey("urlId"):
+ result.urlId = to(node["urlId"], string)
+
+# Custom JSON serialization for CreateAPIPageData with custom field names
+proc `%`*(obj: CreateAPIPageData): JsonNode =
+ result = newJObject()
+ if obj.accessibleByGroupIds.isSome():
+ result["accessibleByGroupIds"] = %obj.accessibleByGroupIds.get()
+ if obj.rootCommentCount.isSome():
+ result["rootCommentCount"] = %obj.rootCommentCount.get()
+ if obj.commentCount.isSome():
+ result["commentCount"] = %obj.commentCount.get()
+ result["title"] = %obj.title
+ result["url"] = %obj.url
+ result["urlId"] = %obj.urlId
+
diff --git a/client/fastcomments/models/model_create_api_user_subscription_data.nim b/client/fastcomments/models/model_create_api_user_subscription_data.nim
index 24235e2..3b39c57 100644
--- a/client/fastcomments/models/model_create_api_user_subscription_data.nim
+++ b/client/fastcomments/models/model_create_api_user_subscription_data.nim
@@ -22,3 +22,36 @@ type CreateAPIUserSubscriptionData* = object
anonUserId*: Option[string]
userId*: Option[string]
+
+# Custom JSON deserialization for CreateAPIUserSubscriptionData with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateAPIUserSubscriptionData]): CreateAPIUserSubscriptionData =
+ result = CreateAPIUserSubscriptionData()
+ if node.kind == JObject:
+ if node.hasKey("notificationFrequency") and node["notificationFrequency"].kind != JNull:
+ result.notificationFrequency = some(to(node["notificationFrequency"], typeof(result.notificationFrequency.get())))
+ if node.hasKey("pageTitle") and node["pageTitle"].kind != JNull:
+ result.pageTitle = some(to(node["pageTitle"], typeof(result.pageTitle.get())))
+ if node.hasKey("url") and node["url"].kind != JNull:
+ result.url = some(to(node["url"], typeof(result.url.get())))
+ if node.hasKey("urlId"):
+ result.urlId = to(node["urlId"], string)
+ if node.hasKey("anonUserId") and node["anonUserId"].kind != JNull:
+ result.anonUserId = some(to(node["anonUserId"], typeof(result.anonUserId.get())))
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+
+# Custom JSON serialization for CreateAPIUserSubscriptionData with custom field names
+proc `%`*(obj: CreateAPIUserSubscriptionData): JsonNode =
+ result = newJObject()
+ if obj.notificationFrequency.isSome():
+ result["notificationFrequency"] = %obj.notificationFrequency.get()
+ if obj.pageTitle.isSome():
+ result["pageTitle"] = %obj.pageTitle.get()
+ if obj.url.isSome():
+ result["url"] = %obj.url.get()
+ result["urlId"] = %obj.urlId
+ if obj.anonUserId.isSome():
+ result["anonUserId"] = %obj.anonUserId.get()
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+
diff --git a/client/fastcomments/models/model_create_apisso_user_data.nim b/client/fastcomments/models/model_create_apisso_user_data.nim
index 28a0b86..680e438 100644
--- a/client/fastcomments/models/model_create_apisso_user_data.nim
+++ b/client/fastcomments/models/model_create_apisso_user_data.nim
@@ -36,3 +36,90 @@ type CreateAPISSOUserData* = object
username*: string
id*: string
+
+# Custom JSON deserialization for CreateAPISSOUserData with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateAPISSOUserData]): CreateAPISSOUserData =
+ result = CreateAPISSOUserData()
+ if node.kind == JObject:
+ if node.hasKey("groupIds") and node["groupIds"].kind != JNull:
+ result.groupIds = some(to(node["groupIds"], typeof(result.groupIds.get())))
+ if node.hasKey("hasBlockedUsers") and node["hasBlockedUsers"].kind != JNull:
+ result.hasBlockedUsers = some(to(node["hasBlockedUsers"], typeof(result.hasBlockedUsers.get())))
+ if node.hasKey("isProfileDMDisabled") and node["isProfileDMDisabled"].kind != JNull:
+ result.isProfileDMDisabled = some(to(node["isProfileDMDisabled"], typeof(result.isProfileDMDisabled.get())))
+ if node.hasKey("isProfileCommentsPrivate") and node["isProfileCommentsPrivate"].kind != JNull:
+ result.isProfileCommentsPrivate = some(to(node["isProfileCommentsPrivate"], typeof(result.isProfileCommentsPrivate.get())))
+ if node.hasKey("isProfileActivityPrivate") and node["isProfileActivityPrivate"].kind != JNull:
+ result.isProfileActivityPrivate = some(to(node["isProfileActivityPrivate"], typeof(result.isProfileActivityPrivate.get())))
+ if node.hasKey("isCommentModeratorAdmin") and node["isCommentModeratorAdmin"].kind != JNull:
+ result.isCommentModeratorAdmin = some(to(node["isCommentModeratorAdmin"], typeof(result.isCommentModeratorAdmin.get())))
+ if node.hasKey("isAdminAdmin") and node["isAdminAdmin"].kind != JNull:
+ result.isAdminAdmin = some(to(node["isAdminAdmin"], typeof(result.isAdminAdmin.get())))
+ if node.hasKey("isAccountOwner") and node["isAccountOwner"].kind != JNull:
+ result.isAccountOwner = some(to(node["isAccountOwner"], typeof(result.isAccountOwner.get())))
+ if node.hasKey("displayName") and node["displayName"].kind != JNull:
+ result.displayName = some(to(node["displayName"], typeof(result.displayName.get())))
+ if node.hasKey("displayLabel") and node["displayLabel"].kind != JNull:
+ result.displayLabel = some(to(node["displayLabel"], typeof(result.displayLabel.get())))
+ if node.hasKey("optedInSubscriptionNotifications") and node["optedInSubscriptionNotifications"].kind != JNull:
+ result.optedInSubscriptionNotifications = some(to(node["optedInSubscriptionNotifications"], typeof(result.optedInSubscriptionNotifications.get())))
+ if node.hasKey("optedInNotifications") and node["optedInNotifications"].kind != JNull:
+ result.optedInNotifications = some(to(node["optedInNotifications"], typeof(result.optedInNotifications.get())))
+ if node.hasKey("avatarSrc") and node["avatarSrc"].kind != JNull:
+ result.avatarSrc = some(to(node["avatarSrc"], typeof(result.avatarSrc.get())))
+ if node.hasKey("loginCount") and node["loginCount"].kind != JNull:
+ result.loginCount = some(to(node["loginCount"], typeof(result.loginCount.get())))
+ if node.hasKey("createdFromUrlId") and node["createdFromUrlId"].kind != JNull:
+ result.createdFromUrlId = some(to(node["createdFromUrlId"], typeof(result.createdFromUrlId.get())))
+ if node.hasKey("signUpDate") and node["signUpDate"].kind != JNull:
+ result.signUpDate = some(to(node["signUpDate"], typeof(result.signUpDate.get())))
+ if node.hasKey("email"):
+ result.email = to(node["email"], string)
+ if node.hasKey("websiteUrl") and node["websiteUrl"].kind != JNull:
+ result.websiteUrl = some(to(node["websiteUrl"], typeof(result.websiteUrl.get())))
+ if node.hasKey("username"):
+ result.username = to(node["username"], string)
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
+
+# Custom JSON serialization for CreateAPISSOUserData with custom field names
+proc `%`*(obj: CreateAPISSOUserData): JsonNode =
+ result = newJObject()
+ if obj.groupIds.isSome():
+ result["groupIds"] = %obj.groupIds.get()
+ if obj.hasBlockedUsers.isSome():
+ result["hasBlockedUsers"] = %obj.hasBlockedUsers.get()
+ if obj.isProfileDMDisabled.isSome():
+ result["isProfileDMDisabled"] = %obj.isProfileDMDisabled.get()
+ if obj.isProfileCommentsPrivate.isSome():
+ result["isProfileCommentsPrivate"] = %obj.isProfileCommentsPrivate.get()
+ if obj.isProfileActivityPrivate.isSome():
+ result["isProfileActivityPrivate"] = %obj.isProfileActivityPrivate.get()
+ if obj.isCommentModeratorAdmin.isSome():
+ result["isCommentModeratorAdmin"] = %obj.isCommentModeratorAdmin.get()
+ if obj.isAdminAdmin.isSome():
+ result["isAdminAdmin"] = %obj.isAdminAdmin.get()
+ if obj.isAccountOwner.isSome():
+ result["isAccountOwner"] = %obj.isAccountOwner.get()
+ if obj.displayName.isSome():
+ result["displayName"] = %obj.displayName.get()
+ if obj.displayLabel.isSome():
+ result["displayLabel"] = %obj.displayLabel.get()
+ if obj.optedInSubscriptionNotifications.isSome():
+ result["optedInSubscriptionNotifications"] = %obj.optedInSubscriptionNotifications.get()
+ if obj.optedInNotifications.isSome():
+ result["optedInNotifications"] = %obj.optedInNotifications.get()
+ if obj.avatarSrc.isSome():
+ result["avatarSrc"] = %obj.avatarSrc.get()
+ if obj.loginCount.isSome():
+ result["loginCount"] = %obj.loginCount.get()
+ if obj.createdFromUrlId.isSome():
+ result["createdFromUrlId"] = %obj.createdFromUrlId.get()
+ if obj.signUpDate.isSome():
+ result["signUpDate"] = %obj.signUpDate.get()
+ result["email"] = %obj.email
+ if obj.websiteUrl.isSome():
+ result["websiteUrl"] = %obj.websiteUrl.get()
+ result["username"] = %obj.username
+ result["id"] = %obj.id
+
diff --git a/client/fastcomments/models/model_create_comment_params.nim b/client/fastcomments/models/model_create_comment_params.nim
index 93ea519..d11d865 100644
--- a/client/fastcomments/models/model_create_comment_params.nim
+++ b/client/fastcomments/models/model_create_comment_params.nim
@@ -14,8 +14,8 @@ import options
import model_comment_user_hash_tag_info
import model_comment_user_mention_info
+import model_gif_search_response_images_inner_inner
import model_object
-import model_record_string_string_or_number_value
type CreateCommentParams* = object
##
@@ -42,8 +42,9 @@ type CreateCommentParams* = object
fromOfflineRestore*: Option[bool]
autoplayDelayMS*: Option[int64]
feedbackIds*: Option[seq[string]]
- questionValues*: Option[Table[string, RecordStringStringOrNumberValue]] ## Construct a type with a set of properties K of type T
+ questionValues*: Option[Table[string, GifSearchResponseImagesInnerInner]] ## Construct a type with a set of properties K of type T
tos*: Option[bool]
+ botId*: Option[string]
approved*: Option[bool]
domain*: Option[string]
ip*: Option[string]
@@ -55,3 +56,152 @@ type CreateCommentParams* = object
votesDown*: Option[int]
votesUp*: Option[int]
+
+# Custom JSON deserialization for CreateCommentParams with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateCommentParams]): CreateCommentParams =
+ result = CreateCommentParams()
+ if node.kind == JObject:
+ if node.hasKey("date") and node["date"].kind != JNull:
+ result.date = some(to(node["date"], typeof(result.date.get())))
+ if node.hasKey("localDateString") and node["localDateString"].kind != JNull:
+ result.localDateString = some(to(node["localDateString"], typeof(result.localDateString.get())))
+ if node.hasKey("localDateHours") and node["localDateHours"].kind != JNull:
+ result.localDateHours = some(to(node["localDateHours"], typeof(result.localDateHours.get())))
+ if node.hasKey("commenterName"):
+ result.commenterName = to(node["commenterName"], string)
+ if node.hasKey("commenterEmail") and node["commenterEmail"].kind != JNull:
+ result.commenterEmail = some(to(node["commenterEmail"], typeof(result.commenterEmail.get())))
+ if node.hasKey("commenterLink") and node["commenterLink"].kind != JNull:
+ result.commenterLink = some(to(node["commenterLink"], typeof(result.commenterLink.get())))
+ if node.hasKey("comment"):
+ result.comment = to(node["comment"], string)
+ if node.hasKey("productId") and node["productId"].kind != JNull:
+ result.productId = some(to(node["productId"], typeof(result.productId.get())))
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+ if node.hasKey("avatarSrc") and node["avatarSrc"].kind != JNull:
+ result.avatarSrc = some(to(node["avatarSrc"], typeof(result.avatarSrc.get())))
+ if node.hasKey("parentId") and node["parentId"].kind != JNull:
+ result.parentId = some(to(node["parentId"], typeof(result.parentId.get())))
+ if node.hasKey("mentions") and node["mentions"].kind != JNull:
+ result.mentions = some(to(node["mentions"], typeof(result.mentions.get())))
+ if node.hasKey("hashTags") and node["hashTags"].kind != JNull:
+ result.hashTags = some(to(node["hashTags"], typeof(result.hashTags.get())))
+ if node.hasKey("pageTitle") and node["pageTitle"].kind != JNull:
+ result.pageTitle = some(to(node["pageTitle"], typeof(result.pageTitle.get())))
+ if node.hasKey("isFromMyAccountPage") and node["isFromMyAccountPage"].kind != JNull:
+ result.isFromMyAccountPage = some(to(node["isFromMyAccountPage"], typeof(result.isFromMyAccountPage.get())))
+ if node.hasKey("url"):
+ result.url = to(node["url"], string)
+ if node.hasKey("urlId"):
+ result.urlId = to(node["urlId"], string)
+ if node.hasKey("meta") and node["meta"].kind != JNull:
+ result.meta = some(to(node["meta"], typeof(result.meta.get())))
+ if node.hasKey("moderationGroupIds") and node["moderationGroupIds"].kind != JNull:
+ result.moderationGroupIds = some(to(node["moderationGroupIds"], typeof(result.moderationGroupIds.get())))
+ if node.hasKey("rating") and node["rating"].kind != JNull:
+ result.rating = some(to(node["rating"], typeof(result.rating.get())))
+ if node.hasKey("fromOfflineRestore") and node["fromOfflineRestore"].kind != JNull:
+ result.fromOfflineRestore = some(to(node["fromOfflineRestore"], typeof(result.fromOfflineRestore.get())))
+ if node.hasKey("autoplayDelayMS") and node["autoplayDelayMS"].kind != JNull:
+ result.autoplayDelayMS = some(to(node["autoplayDelayMS"], typeof(result.autoplayDelayMS.get())))
+ if node.hasKey("feedbackIds") and node["feedbackIds"].kind != JNull:
+ result.feedbackIds = some(to(node["feedbackIds"], typeof(result.feedbackIds.get())))
+ if node.hasKey("questionValues") and node["questionValues"].kind != JNull:
+ result.questionValues = some(to(node["questionValues"], typeof(result.questionValues.get())))
+ if node.hasKey("tos") and node["tos"].kind != JNull:
+ result.tos = some(to(node["tos"], typeof(result.tos.get())))
+ if node.hasKey("botId") and node["botId"].kind != JNull:
+ result.botId = some(to(node["botId"], typeof(result.botId.get())))
+ if node.hasKey("approved") and node["approved"].kind != JNull:
+ result.approved = some(to(node["approved"], typeof(result.approved.get())))
+ if node.hasKey("domain") and node["domain"].kind != JNull:
+ result.domain = some(to(node["domain"], typeof(result.domain.get())))
+ if node.hasKey("ip") and node["ip"].kind != JNull:
+ result.ip = some(to(node["ip"], typeof(result.ip.get())))
+ if node.hasKey("isPinned") and node["isPinned"].kind != JNull:
+ result.isPinned = some(to(node["isPinned"], typeof(result.isPinned.get())))
+ if node.hasKey("locale"):
+ result.locale = to(node["locale"], string)
+ if node.hasKey("reviewed") and node["reviewed"].kind != JNull:
+ result.reviewed = some(to(node["reviewed"], typeof(result.reviewed.get())))
+ if node.hasKey("verified") and node["verified"].kind != JNull:
+ result.verified = some(to(node["verified"], typeof(result.verified.get())))
+ if node.hasKey("votes") and node["votes"].kind != JNull:
+ result.votes = some(to(node["votes"], typeof(result.votes.get())))
+ if node.hasKey("votesDown") and node["votesDown"].kind != JNull:
+ result.votesDown = some(to(node["votesDown"], typeof(result.votesDown.get())))
+ if node.hasKey("votesUp") and node["votesUp"].kind != JNull:
+ result.votesUp = some(to(node["votesUp"], typeof(result.votesUp.get())))
+
+# Custom JSON serialization for CreateCommentParams with custom field names
+proc `%`*(obj: CreateCommentParams): JsonNode =
+ result = newJObject()
+ if obj.date.isSome():
+ result["date"] = %obj.date.get()
+ if obj.localDateString.isSome():
+ result["localDateString"] = %obj.localDateString.get()
+ if obj.localDateHours.isSome():
+ result["localDateHours"] = %obj.localDateHours.get()
+ result["commenterName"] = %obj.commenterName
+ if obj.commenterEmail.isSome():
+ result["commenterEmail"] = %obj.commenterEmail.get()
+ if obj.commenterLink.isSome():
+ result["commenterLink"] = %obj.commenterLink.get()
+ result["comment"] = %obj.comment
+ if obj.productId.isSome():
+ result["productId"] = %obj.productId.get()
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+ if obj.avatarSrc.isSome():
+ result["avatarSrc"] = %obj.avatarSrc.get()
+ if obj.parentId.isSome():
+ result["parentId"] = %obj.parentId.get()
+ if obj.mentions.isSome():
+ result["mentions"] = %obj.mentions.get()
+ if obj.hashTags.isSome():
+ result["hashTags"] = %obj.hashTags.get()
+ if obj.pageTitle.isSome():
+ result["pageTitle"] = %obj.pageTitle.get()
+ if obj.isFromMyAccountPage.isSome():
+ result["isFromMyAccountPage"] = %obj.isFromMyAccountPage.get()
+ result["url"] = %obj.url
+ result["urlId"] = %obj.urlId
+ if obj.meta.isSome():
+ result["meta"] = %obj.meta.get()
+ if obj.moderationGroupIds.isSome():
+ result["moderationGroupIds"] = %obj.moderationGroupIds.get()
+ if obj.rating.isSome():
+ result["rating"] = %obj.rating.get()
+ if obj.fromOfflineRestore.isSome():
+ result["fromOfflineRestore"] = %obj.fromOfflineRestore.get()
+ if obj.autoplayDelayMS.isSome():
+ result["autoplayDelayMS"] = %obj.autoplayDelayMS.get()
+ if obj.feedbackIds.isSome():
+ result["feedbackIds"] = %obj.feedbackIds.get()
+ if obj.questionValues.isSome():
+ result["questionValues"] = %obj.questionValues.get()
+ if obj.tos.isSome():
+ result["tos"] = %obj.tos.get()
+ if obj.botId.isSome():
+ result["botId"] = %obj.botId.get()
+ if obj.approved.isSome():
+ result["approved"] = %obj.approved.get()
+ if obj.domain.isSome():
+ result["domain"] = %obj.domain.get()
+ if obj.ip.isSome():
+ result["ip"] = %obj.ip.get()
+ if obj.isPinned.isSome():
+ result["isPinned"] = %obj.isPinned.get()
+ result["locale"] = %obj.locale
+ if obj.reviewed.isSome():
+ result["reviewed"] = %obj.reviewed.get()
+ if obj.verified.isSome():
+ result["verified"] = %obj.verified.get()
+ if obj.votes.isSome():
+ result["votes"] = %obj.votes.get()
+ if obj.votesDown.isSome():
+ result["votesDown"] = %obj.votesDown.get()
+ if obj.votesUp.isSome():
+ result["votesUp"] = %obj.votesUp.get()
+
diff --git a/client/fastcomments/models/model_create_comment_public200response.nim b/client/fastcomments/models/model_create_comment_public200response.nim
deleted file mode 100644
index ea5d738..0000000
--- a/client/fastcomments/models/model_create_comment_public200response.nim
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_object
-import model_public_comment
-import model_save_comments_response_with_presence
-import model_user_session_info
-
-# AnyOf type
-type CreateCommentPublic200responseKind* {.pure.} = enum
- SaveCommentsResponseWithPresenceVariant
- APIErrorVariant
-
-type CreateCommentPublic200response* = object
- ##
- case kind*: CreateCommentPublic200responseKind
- of CreateCommentPublic200responseKind.SaveCommentsResponseWithPresenceVariant:
- SaveCommentsResponseWithPresenceValue*: SaveCommentsResponseWithPresence
- of CreateCommentPublic200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[CreateCommentPublic200response]): CreateCommentPublic200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return CreateCommentPublic200response(kind: CreateCommentPublic200responseKind.SaveCommentsResponseWithPresenceVariant, SaveCommentsResponseWithPresenceValue: to(node, SaveCommentsResponseWithPresence))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as SaveCommentsResponseWithPresence: ", e.msg
- try:
- return CreateCommentPublic200response(kind: CreateCommentPublic200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of CreateCommentPublic200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_create_email_template200response.nim b/client/fastcomments/models/model_create_email_template200response.nim
deleted file mode 100644
index 1edb414..0000000
--- a/client/fastcomments/models/model_create_email_template200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_create_email_template_response
-import model_custom_config_parameters
-import model_custom_email_template
-
-# AnyOf type
-type CreateEmailTemplate200responseKind* {.pure.} = enum
- CreateEmailTemplateResponseVariant
- APIErrorVariant
-
-type CreateEmailTemplate200response* = object
- ##
- case kind*: CreateEmailTemplate200responseKind
- of CreateEmailTemplate200responseKind.CreateEmailTemplateResponseVariant:
- CreateEmailTemplateResponseValue*: CreateEmailTemplateResponse
- of CreateEmailTemplate200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[CreateEmailTemplate200response]): CreateEmailTemplate200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return CreateEmailTemplate200response(kind: CreateEmailTemplate200responseKind.CreateEmailTemplateResponseVariant, CreateEmailTemplateResponseValue: to(node, CreateEmailTemplateResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as CreateEmailTemplateResponse: ", e.msg
- try:
- return CreateEmailTemplate200response(kind: CreateEmailTemplate200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of CreateEmailTemplate200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_create_email_template_body.nim b/client/fastcomments/models/model_create_email_template_body.nim
index 8de0d34..bce933e 100644
--- a/client/fastcomments/models/model_create_email_template_body.nim
+++ b/client/fastcomments/models/model_create_email_template_body.nim
@@ -23,3 +23,34 @@ type CreateEmailTemplateBody* = object
translationOverridesByLocale*: Option[Table[string, Table[string, string]]] ## Construct a type with a set of properties K of type T
testData*: Option[Table[string, JsonNode]] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for CreateEmailTemplateBody with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateEmailTemplateBody]): CreateEmailTemplateBody =
+ result = CreateEmailTemplateBody()
+ if node.kind == JObject:
+ if node.hasKey("emailTemplateId"):
+ result.emailTemplateId = to(node["emailTemplateId"], string)
+ if node.hasKey("displayName"):
+ result.displayName = to(node["displayName"], string)
+ if node.hasKey("ejs"):
+ result.ejs = to(node["ejs"], string)
+ if node.hasKey("domain") and node["domain"].kind != JNull:
+ result.domain = some(to(node["domain"], typeof(result.domain.get())))
+ if node.hasKey("translationOverridesByLocale") and node["translationOverridesByLocale"].kind != JNull:
+ result.translationOverridesByLocale = some(to(node["translationOverridesByLocale"], typeof(result.translationOverridesByLocale.get())))
+ if node.hasKey("testData") and node["testData"].kind != JNull:
+ result.testData = some(to(node["testData"], typeof(result.testData.get())))
+
+# Custom JSON serialization for CreateEmailTemplateBody with custom field names
+proc `%`*(obj: CreateEmailTemplateBody): JsonNode =
+ result = newJObject()
+ result["emailTemplateId"] = %obj.emailTemplateId
+ result["displayName"] = %obj.displayName
+ result["ejs"] = %obj.ejs
+ if obj.domain.isSome():
+ result["domain"] = %obj.domain.get()
+ if obj.translationOverridesByLocale.isSome():
+ result["translationOverridesByLocale"] = %obj.translationOverridesByLocale.get()
+ if obj.testData.isSome():
+ result["testData"] = %obj.testData.get()
+
diff --git a/client/fastcomments/models/model_create_feed_post200response.nim b/client/fastcomments/models/model_create_feed_post200response.nim
deleted file mode 100644
index 9b7acbb..0000000
--- a/client/fastcomments/models/model_create_feed_post200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_create_feed_posts_response
-import model_custom_config_parameters
-import model_feed_post
-
-# AnyOf type
-type CreateFeedPost200responseKind* {.pure.} = enum
- CreateFeedPostsResponseVariant
- APIErrorVariant
-
-type CreateFeedPost200response* = object
- ##
- case kind*: CreateFeedPost200responseKind
- of CreateFeedPost200responseKind.CreateFeedPostsResponseVariant:
- CreateFeedPostsResponseValue*: CreateFeedPostsResponse
- of CreateFeedPost200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[CreateFeedPost200response]): CreateFeedPost200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return CreateFeedPost200response(kind: CreateFeedPost200responseKind.CreateFeedPostsResponseVariant, CreateFeedPostsResponseValue: to(node, CreateFeedPostsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as CreateFeedPostsResponse: ", e.msg
- try:
- return CreateFeedPost200response(kind: CreateFeedPost200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of CreateFeedPost200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_create_feed_post_params.nim b/client/fastcomments/models/model_create_feed_post_params.nim
index ba3d432..ae6d323 100644
--- a/client/fastcomments/models/model_create_feed_post_params.nim
+++ b/client/fastcomments/models/model_create_feed_post_params.nim
@@ -26,3 +26,45 @@ type CreateFeedPostParams* = object
tags*: Option[seq[string]]
meta*: Option[Table[string, string]] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for CreateFeedPostParams with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateFeedPostParams]): CreateFeedPostParams =
+ result = CreateFeedPostParams()
+ if node.kind == JObject:
+ if node.hasKey("title") and node["title"].kind != JNull:
+ result.title = some(to(node["title"], typeof(result.title.get())))
+ if node.hasKey("contentHTML") and node["contentHTML"].kind != JNull:
+ result.contentHTML = some(to(node["contentHTML"], typeof(result.contentHTML.get())))
+ if node.hasKey("media") and node["media"].kind != JNull:
+ result.media = some(to(node["media"], typeof(result.media.get())))
+ if node.hasKey("links") and node["links"].kind != JNull:
+ result.links = some(to(node["links"], typeof(result.links.get())))
+ if node.hasKey("fromUserId") and node["fromUserId"].kind != JNull:
+ result.fromUserId = some(to(node["fromUserId"], typeof(result.fromUserId.get())))
+ if node.hasKey("fromUserDisplayName") and node["fromUserDisplayName"].kind != JNull:
+ result.fromUserDisplayName = some(to(node["fromUserDisplayName"], typeof(result.fromUserDisplayName.get())))
+ if node.hasKey("tags") and node["tags"].kind != JNull:
+ result.tags = some(to(node["tags"], typeof(result.tags.get())))
+ if node.hasKey("meta") and node["meta"].kind != JNull:
+ result.meta = some(to(node["meta"], typeof(result.meta.get())))
+
+# Custom JSON serialization for CreateFeedPostParams with custom field names
+proc `%`*(obj: CreateFeedPostParams): JsonNode =
+ result = newJObject()
+ if obj.title.isSome():
+ result["title"] = %obj.title.get()
+ if obj.contentHTML.isSome():
+ result["contentHTML"] = %obj.contentHTML.get()
+ if obj.media.isSome():
+ result["media"] = %obj.media.get()
+ if obj.links.isSome():
+ result["links"] = %obj.links.get()
+ if obj.fromUserId.isSome():
+ result["fromUserId"] = %obj.fromUserId.get()
+ if obj.fromUserDisplayName.isSome():
+ result["fromUserDisplayName"] = %obj.fromUserDisplayName.get()
+ if obj.tags.isSome():
+ result["tags"] = %obj.tags.get()
+ if obj.meta.isSome():
+ result["meta"] = %obj.meta.get()
+
diff --git a/client/fastcomments/models/model_create_feed_post_public200response.nim b/client/fastcomments/models/model_create_feed_post_public200response.nim
deleted file mode 100644
index 4d6af0e..0000000
--- a/client/fastcomments/models/model_create_feed_post_public200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_create_feed_post_response
-import model_custom_config_parameters
-import model_feed_post
-
-# AnyOf type
-type CreateFeedPostPublic200responseKind* {.pure.} = enum
- CreateFeedPostResponseVariant
- APIErrorVariant
-
-type CreateFeedPostPublic200response* = object
- ##
- case kind*: CreateFeedPostPublic200responseKind
- of CreateFeedPostPublic200responseKind.CreateFeedPostResponseVariant:
- CreateFeedPostResponseValue*: CreateFeedPostResponse
- of CreateFeedPostPublic200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[CreateFeedPostPublic200response]): CreateFeedPostPublic200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return CreateFeedPostPublic200response(kind: CreateFeedPostPublic200responseKind.CreateFeedPostResponseVariant, CreateFeedPostResponseValue: to(node, CreateFeedPostResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as CreateFeedPostResponse: ", e.msg
- try:
- return CreateFeedPostPublic200response(kind: CreateFeedPostPublic200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of CreateFeedPostPublic200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_create_hash_tag_body.nim b/client/fastcomments/models/model_create_hash_tag_body.nim
index 0a39d69..8b8ea11 100644
--- a/client/fastcomments/models/model_create_hash_tag_body.nim
+++ b/client/fastcomments/models/model_create_hash_tag_body.nim
@@ -19,3 +19,24 @@ type CreateHashTagBody* = object
tag*: string
url*: Option[string]
+
+# Custom JSON deserialization for CreateHashTagBody with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateHashTagBody]): CreateHashTagBody =
+ result = CreateHashTagBody()
+ if node.kind == JObject:
+ if node.hasKey("tenantId") and node["tenantId"].kind != JNull:
+ result.tenantId = some(to(node["tenantId"], typeof(result.tenantId.get())))
+ if node.hasKey("tag"):
+ result.tag = to(node["tag"], string)
+ if node.hasKey("url") and node["url"].kind != JNull:
+ result.url = some(to(node["url"], typeof(result.url.get())))
+
+# Custom JSON serialization for CreateHashTagBody with custom field names
+proc `%`*(obj: CreateHashTagBody): JsonNode =
+ result = newJObject()
+ if obj.tenantId.isSome():
+ result["tenantId"] = %obj.tenantId.get()
+ result["tag"] = %obj.tag
+ if obj.url.isSome():
+ result["url"] = %obj.url.get()
+
diff --git a/client/fastcomments/models/model_create_moderator200response.nim b/client/fastcomments/models/model_create_moderator200response.nim
deleted file mode 100644
index ca33c84..0000000
--- a/client/fastcomments/models/model_create_moderator200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_create_moderator_response
-import model_custom_config_parameters
-import model_moderator
-
-# AnyOf type
-type CreateModerator200responseKind* {.pure.} = enum
- CreateModeratorResponseVariant
- APIErrorVariant
-
-type CreateModerator200response* = object
- ##
- case kind*: CreateModerator200responseKind
- of CreateModerator200responseKind.CreateModeratorResponseVariant:
- CreateModeratorResponseValue*: CreateModeratorResponse
- of CreateModerator200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[CreateModerator200response]): CreateModerator200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return CreateModerator200response(kind: CreateModerator200responseKind.CreateModeratorResponseVariant, CreateModeratorResponseValue: to(node, CreateModeratorResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as CreateModeratorResponse: ", e.msg
- try:
- return CreateModerator200response(kind: CreateModerator200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of CreateModerator200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_create_moderator_body.nim b/client/fastcomments/models/model_create_moderator_body.nim
index 77adfaa..c995d55 100644
--- a/client/fastcomments/models/model_create_moderator_body.nim
+++ b/client/fastcomments/models/model_create_moderator_body.nim
@@ -21,3 +21,27 @@ type CreateModeratorBody* = object
userId*: Option[string]
moderationGroupIds*: Option[seq[string]]
+
+# Custom JSON deserialization for CreateModeratorBody with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateModeratorBody]): CreateModeratorBody =
+ result = CreateModeratorBody()
+ if node.kind == JObject:
+ if node.hasKey("name"):
+ result.name = to(node["name"], string)
+ if node.hasKey("email"):
+ result.email = to(node["email"], string)
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+ if node.hasKey("moderationGroupIds") and node["moderationGroupIds"].kind != JNull:
+ result.moderationGroupIds = some(to(node["moderationGroupIds"], typeof(result.moderationGroupIds.get())))
+
+# Custom JSON serialization for CreateModeratorBody with custom field names
+proc `%`*(obj: CreateModeratorBody): JsonNode =
+ result = newJObject()
+ result["name"] = %obj.name
+ result["email"] = %obj.email
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+ if obj.moderationGroupIds.isSome():
+ result["moderationGroupIds"] = %obj.moderationGroupIds.get()
+
diff --git a/client/fastcomments/models/model_create_question_config200response.nim b/client/fastcomments/models/model_create_question_config200response.nim
deleted file mode 100644
index 0b26eea..0000000
--- a/client/fastcomments/models/model_create_question_config200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_create_question_config_response
-import model_custom_config_parameters
-import model_question_config
-
-# AnyOf type
-type CreateQuestionConfig200responseKind* {.pure.} = enum
- CreateQuestionConfigResponseVariant
- APIErrorVariant
-
-type CreateQuestionConfig200response* = object
- ##
- case kind*: CreateQuestionConfig200responseKind
- of CreateQuestionConfig200responseKind.CreateQuestionConfigResponseVariant:
- CreateQuestionConfigResponseValue*: CreateQuestionConfigResponse
- of CreateQuestionConfig200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[CreateQuestionConfig200response]): CreateQuestionConfig200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return CreateQuestionConfig200response(kind: CreateQuestionConfig200responseKind.CreateQuestionConfigResponseVariant, CreateQuestionConfigResponseValue: to(node, CreateQuestionConfigResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as CreateQuestionConfigResponse: ", e.msg
- try:
- return CreateQuestionConfig200response(kind: CreateQuestionConfig200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of CreateQuestionConfig200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_create_question_config_body.nim b/client/fastcomments/models/model_create_question_config_body.nim
index a2f91e2..6483831 100644
--- a/client/fastcomments/models/model_create_question_config_body.nim
+++ b/client/fastcomments/models/model_create_question_config_body.nim
@@ -27,8 +27,70 @@ type CreateQuestionConfigBody* = object
defaultValue*: Option[float64]
labelNegative*: Option[string]
labelPositive*: Option[string]
- customOptions*: Option[seq[QuestionConfig_customOptions_inner]]
+ customOptions*: Option[seq[QuestionConfigCustomOptionsInner]]
subQuestionIds*: Option[seq[string]]
alwaysShowSubQuestions*: Option[bool]
reportingOrder*: float64
+
+# Custom JSON deserialization for CreateQuestionConfigBody with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateQuestionConfigBody]): CreateQuestionConfigBody =
+ result = CreateQuestionConfigBody()
+ if node.kind == JObject:
+ if node.hasKey("name"):
+ result.name = to(node["name"], string)
+ if node.hasKey("question"):
+ result.question = to(node["question"], string)
+ if node.hasKey("helpText") and node["helpText"].kind != JNull:
+ result.helpText = some(to(node["helpText"], typeof(result.helpText.get())))
+ if node.hasKey("type"):
+ result.`type` = to(node["type"], string)
+ if node.hasKey("numStars") and node["numStars"].kind != JNull:
+ result.numStars = some(to(node["numStars"], typeof(result.numStars.get())))
+ if node.hasKey("min") and node["min"].kind != JNull:
+ result.min = some(to(node["min"], typeof(result.min.get())))
+ if node.hasKey("max") and node["max"].kind != JNull:
+ result.max = some(to(node["max"], typeof(result.max.get())))
+ if node.hasKey("defaultValue") and node["defaultValue"].kind != JNull:
+ result.defaultValue = some(to(node["defaultValue"], typeof(result.defaultValue.get())))
+ if node.hasKey("labelNegative") and node["labelNegative"].kind != JNull:
+ result.labelNegative = some(to(node["labelNegative"], typeof(result.labelNegative.get())))
+ if node.hasKey("labelPositive") and node["labelPositive"].kind != JNull:
+ result.labelPositive = some(to(node["labelPositive"], typeof(result.labelPositive.get())))
+ if node.hasKey("customOptions") and node["customOptions"].kind != JNull:
+ result.customOptions = some(to(node["customOptions"], typeof(result.customOptions.get())))
+ if node.hasKey("subQuestionIds") and node["subQuestionIds"].kind != JNull:
+ result.subQuestionIds = some(to(node["subQuestionIds"], typeof(result.subQuestionIds.get())))
+ if node.hasKey("alwaysShowSubQuestions") and node["alwaysShowSubQuestions"].kind != JNull:
+ result.alwaysShowSubQuestions = some(to(node["alwaysShowSubQuestions"], typeof(result.alwaysShowSubQuestions.get())))
+ if node.hasKey("reportingOrder"):
+ result.reportingOrder = to(node["reportingOrder"], float64)
+
+# Custom JSON serialization for CreateQuestionConfigBody with custom field names
+proc `%`*(obj: CreateQuestionConfigBody): JsonNode =
+ result = newJObject()
+ result["name"] = %obj.name
+ result["question"] = %obj.question
+ if obj.helpText.isSome():
+ result["helpText"] = %obj.helpText.get()
+ result["type"] = %obj.`type`
+ if obj.numStars.isSome():
+ result["numStars"] = %obj.numStars.get()
+ if obj.min.isSome():
+ result["min"] = %obj.min.get()
+ if obj.max.isSome():
+ result["max"] = %obj.max.get()
+ if obj.defaultValue.isSome():
+ result["defaultValue"] = %obj.defaultValue.get()
+ if obj.labelNegative.isSome():
+ result["labelNegative"] = %obj.labelNegative.get()
+ if obj.labelPositive.isSome():
+ result["labelPositive"] = %obj.labelPositive.get()
+ if obj.customOptions.isSome():
+ result["customOptions"] = %obj.customOptions.get()
+ if obj.subQuestionIds.isSome():
+ result["subQuestionIds"] = %obj.subQuestionIds.get()
+ if obj.alwaysShowSubQuestions.isSome():
+ result["alwaysShowSubQuestions"] = %obj.alwaysShowSubQuestions.get()
+ result["reportingOrder"] = %obj.reportingOrder
+
diff --git a/client/fastcomments/models/model_create_question_result200response.nim b/client/fastcomments/models/model_create_question_result200response.nim
deleted file mode 100644
index e7dbd62..0000000
--- a/client/fastcomments/models/model_create_question_result200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_create_question_result_response
-import model_custom_config_parameters
-import model_question_result
-
-# AnyOf type
-type CreateQuestionResult200responseKind* {.pure.} = enum
- CreateQuestionResultResponseVariant
- APIErrorVariant
-
-type CreateQuestionResult200response* = object
- ##
- case kind*: CreateQuestionResult200responseKind
- of CreateQuestionResult200responseKind.CreateQuestionResultResponseVariant:
- CreateQuestionResultResponseValue*: CreateQuestionResultResponse
- of CreateQuestionResult200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[CreateQuestionResult200response]): CreateQuestionResult200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return CreateQuestionResult200response(kind: CreateQuestionResult200responseKind.CreateQuestionResultResponseVariant, CreateQuestionResultResponseValue: to(node, CreateQuestionResultResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as CreateQuestionResultResponse: ", e.msg
- try:
- return CreateQuestionResult200response(kind: CreateQuestionResult200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of CreateQuestionResult200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_create_question_result_body.nim b/client/fastcomments/models/model_create_question_result_body.nim
index 446aace..b46c475 100644
--- a/client/fastcomments/models/model_create_question_result_body.nim
+++ b/client/fastcomments/models/model_create_question_result_body.nim
@@ -25,3 +25,38 @@ type CreateQuestionResultBody* = object
commentId*: Option[string]
meta*: Option[seq[MetaItem]]
+
+# Custom JSON deserialization for CreateQuestionResultBody with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateQuestionResultBody]): CreateQuestionResultBody =
+ result = CreateQuestionResultBody()
+ if node.kind == JObject:
+ if node.hasKey("urlId"):
+ result.urlId = to(node["urlId"], string)
+ if node.hasKey("value"):
+ result.value = to(node["value"], float64)
+ if node.hasKey("questionId"):
+ result.questionId = to(node["questionId"], string)
+ if node.hasKey("anonUserId") and node["anonUserId"].kind != JNull:
+ result.anonUserId = some(to(node["anonUserId"], typeof(result.anonUserId.get())))
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+ if node.hasKey("commentId") and node["commentId"].kind != JNull:
+ result.commentId = some(to(node["commentId"], typeof(result.commentId.get())))
+ if node.hasKey("meta") and node["meta"].kind != JNull:
+ result.meta = some(to(node["meta"], typeof(result.meta.get())))
+
+# Custom JSON serialization for CreateQuestionResultBody with custom field names
+proc `%`*(obj: CreateQuestionResultBody): JsonNode =
+ result = newJObject()
+ result["urlId"] = %obj.urlId
+ result["value"] = %obj.value
+ result["questionId"] = %obj.questionId
+ if obj.anonUserId.isSome():
+ result["anonUserId"] = %obj.anonUserId.get()
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+ if obj.commentId.isSome():
+ result["commentId"] = %obj.commentId.get()
+ if obj.meta.isSome():
+ result["meta"] = %obj.meta.get()
+
diff --git a/client/fastcomments/models/model_create_subscription_api_response.nim b/client/fastcomments/models/model_create_subscription_api_response.nim
index 19d6bbf..6fe5fee 100644
--- a/client/fastcomments/models/model_create_subscription_api_response.nim
+++ b/client/fastcomments/models/model_create_subscription_api_response.nim
@@ -21,3 +21,28 @@ type CreateSubscriptionAPIResponse* = object
subscription*: Option[APIUserSubscription]
status*: string
+
+# Custom JSON deserialization for CreateSubscriptionAPIResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateSubscriptionAPIResponse]): CreateSubscriptionAPIResponse =
+ result = CreateSubscriptionAPIResponse()
+ if node.kind == JObject:
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("subscription") and node["subscription"].kind != JNull:
+ result.subscription = some(to(node["subscription"], typeof(result.subscription.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for CreateSubscriptionAPIResponse with custom field names
+proc `%`*(obj: CreateSubscriptionAPIResponse): JsonNode =
+ result = newJObject()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ if obj.subscription.isSome():
+ result["subscription"] = %obj.subscription.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_create_tenant200response.nim b/client/fastcomments/models/model_create_tenant200response.nim
deleted file mode 100644
index 51c78f3..0000000
--- a/client/fastcomments/models/model_create_tenant200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_api_tenant
-import model_create_tenant_response
-import model_custom_config_parameters
-
-# AnyOf type
-type CreateTenant200responseKind* {.pure.} = enum
- CreateTenantResponseVariant
- APIErrorVariant
-
-type CreateTenant200response* = object
- ##
- case kind*: CreateTenant200responseKind
- of CreateTenant200responseKind.CreateTenantResponseVariant:
- CreateTenantResponseValue*: CreateTenantResponse
- of CreateTenant200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[CreateTenant200response]): CreateTenant200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return CreateTenant200response(kind: CreateTenant200responseKind.CreateTenantResponseVariant, CreateTenantResponseValue: to(node, CreateTenantResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as CreateTenantResponse: ", e.msg
- try:
- return CreateTenant200response(kind: CreateTenant200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of CreateTenant200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_create_tenant_body.nim b/client/fastcomments/models/model_create_tenant_body.nim
index 1971515..1fbe580 100644
--- a/client/fastcomments/models/model_create_tenant_body.nim
+++ b/client/fastcomments/models/model_create_tenant_body.nim
@@ -41,3 +41,103 @@ type CreateTenantBody* = object
deAnonIpAddr*: Option[float64]
meta*: Option[Table[string, string]] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for CreateTenantBody with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateTenantBody]): CreateTenantBody =
+ result = CreateTenantBody()
+ if node.kind == JObject:
+ if node.hasKey("name"):
+ result.name = to(node["name"], string)
+ if node.hasKey("domainConfiguration"):
+ result.domainConfiguration = to(node["domainConfiguration"], seq[APIDomainConfiguration])
+ if node.hasKey("email") and node["email"].kind != JNull:
+ result.email = some(to(node["email"], typeof(result.email.get())))
+ if node.hasKey("signUpDate") and node["signUpDate"].kind != JNull:
+ result.signUpDate = some(to(node["signUpDate"], typeof(result.signUpDate.get())))
+ if node.hasKey("packageId") and node["packageId"].kind != JNull:
+ result.packageId = some(to(node["packageId"], typeof(result.packageId.get())))
+ if node.hasKey("paymentFrequency") and node["paymentFrequency"].kind != JNull:
+ result.paymentFrequency = some(to(node["paymentFrequency"], typeof(result.paymentFrequency.get())))
+ if node.hasKey("billingInfoValid") and node["billingInfoValid"].kind != JNull:
+ result.billingInfoValid = some(to(node["billingInfoValid"], typeof(result.billingInfoValid.get())))
+ if node.hasKey("billingHandledExternally") and node["billingHandledExternally"].kind != JNull:
+ result.billingHandledExternally = some(to(node["billingHandledExternally"], typeof(result.billingHandledExternally.get())))
+ if node.hasKey("createdBy") and node["createdBy"].kind != JNull:
+ result.createdBy = some(to(node["createdBy"], typeof(result.createdBy.get())))
+ if node.hasKey("isSetup") and node["isSetup"].kind != JNull:
+ result.isSetup = some(to(node["isSetup"], typeof(result.isSetup.get())))
+ if node.hasKey("billingInfo") and node["billingInfo"].kind != JNull:
+ result.billingInfo = some(to(node["billingInfo"], typeof(result.billingInfo.get())))
+ if node.hasKey("stripeCustomerId") and node["stripeCustomerId"].kind != JNull:
+ result.stripeCustomerId = some(to(node["stripeCustomerId"], typeof(result.stripeCustomerId.get())))
+ if node.hasKey("stripeSubscriptionId") and node["stripeSubscriptionId"].kind != JNull:
+ result.stripeSubscriptionId = some(to(node["stripeSubscriptionId"], typeof(result.stripeSubscriptionId.get())))
+ if node.hasKey("stripePlanId") and node["stripePlanId"].kind != JNull:
+ result.stripePlanId = some(to(node["stripePlanId"], typeof(result.stripePlanId.get())))
+ if node.hasKey("enableProfanityFilter") and node["enableProfanityFilter"].kind != JNull:
+ result.enableProfanityFilter = some(to(node["enableProfanityFilter"], typeof(result.enableProfanityFilter.get())))
+ if node.hasKey("enableSpamFilter") and node["enableSpamFilter"].kind != JNull:
+ result.enableSpamFilter = some(to(node["enableSpamFilter"], typeof(result.enableSpamFilter.get())))
+ if node.hasKey("removeUnverifiedComments") and node["removeUnverifiedComments"].kind != JNull:
+ result.removeUnverifiedComments = some(to(node["removeUnverifiedComments"], typeof(result.removeUnverifiedComments.get())))
+ if node.hasKey("unverifiedCommentsTTLms") and node["unverifiedCommentsTTLms"].kind != JNull:
+ result.unverifiedCommentsTTLms = some(to(node["unverifiedCommentsTTLms"], typeof(result.unverifiedCommentsTTLms.get())))
+ if node.hasKey("commentsRequireApproval") and node["commentsRequireApproval"].kind != JNull:
+ result.commentsRequireApproval = some(to(node["commentsRequireApproval"], typeof(result.commentsRequireApproval.get())))
+ if node.hasKey("autoApproveCommentOnVerification") and node["autoApproveCommentOnVerification"].kind != JNull:
+ result.autoApproveCommentOnVerification = some(to(node["autoApproveCommentOnVerification"], typeof(result.autoApproveCommentOnVerification.get())))
+ if node.hasKey("sendProfaneToSpam") and node["sendProfaneToSpam"].kind != JNull:
+ result.sendProfaneToSpam = some(to(node["sendProfaneToSpam"], typeof(result.sendProfaneToSpam.get())))
+ if node.hasKey("deAnonIpAddr") and node["deAnonIpAddr"].kind != JNull:
+ result.deAnonIpAddr = some(to(node["deAnonIpAddr"], typeof(result.deAnonIpAddr.get())))
+ if node.hasKey("meta") and node["meta"].kind != JNull:
+ result.meta = some(to(node["meta"], typeof(result.meta.get())))
+
+# Custom JSON serialization for CreateTenantBody with custom field names
+proc `%`*(obj: CreateTenantBody): JsonNode =
+ result = newJObject()
+ result["name"] = %obj.name
+ result["domainConfiguration"] = %obj.domainConfiguration
+ if obj.email.isSome():
+ result["email"] = %obj.email.get()
+ if obj.signUpDate.isSome():
+ result["signUpDate"] = %obj.signUpDate.get()
+ if obj.packageId.isSome():
+ result["packageId"] = %obj.packageId.get()
+ if obj.paymentFrequency.isSome():
+ result["paymentFrequency"] = %obj.paymentFrequency.get()
+ if obj.billingInfoValid.isSome():
+ result["billingInfoValid"] = %obj.billingInfoValid.get()
+ if obj.billingHandledExternally.isSome():
+ result["billingHandledExternally"] = %obj.billingHandledExternally.get()
+ if obj.createdBy.isSome():
+ result["createdBy"] = %obj.createdBy.get()
+ if obj.isSetup.isSome():
+ result["isSetup"] = %obj.isSetup.get()
+ if obj.billingInfo.isSome():
+ result["billingInfo"] = %obj.billingInfo.get()
+ if obj.stripeCustomerId.isSome():
+ result["stripeCustomerId"] = %obj.stripeCustomerId.get()
+ if obj.stripeSubscriptionId.isSome():
+ result["stripeSubscriptionId"] = %obj.stripeSubscriptionId.get()
+ if obj.stripePlanId.isSome():
+ result["stripePlanId"] = %obj.stripePlanId.get()
+ if obj.enableProfanityFilter.isSome():
+ result["enableProfanityFilter"] = %obj.enableProfanityFilter.get()
+ if obj.enableSpamFilter.isSome():
+ result["enableSpamFilter"] = %obj.enableSpamFilter.get()
+ if obj.removeUnverifiedComments.isSome():
+ result["removeUnverifiedComments"] = %obj.removeUnverifiedComments.get()
+ if obj.unverifiedCommentsTTLms.isSome():
+ result["unverifiedCommentsTTLms"] = %obj.unverifiedCommentsTTLms.get()
+ if obj.commentsRequireApproval.isSome():
+ result["commentsRequireApproval"] = %obj.commentsRequireApproval.get()
+ if obj.autoApproveCommentOnVerification.isSome():
+ result["autoApproveCommentOnVerification"] = %obj.autoApproveCommentOnVerification.get()
+ if obj.sendProfaneToSpam.isSome():
+ result["sendProfaneToSpam"] = %obj.sendProfaneToSpam.get()
+ if obj.deAnonIpAddr.isSome():
+ result["deAnonIpAddr"] = %obj.deAnonIpAddr.get()
+ if obj.meta.isSome():
+ result["meta"] = %obj.meta.get()
+
diff --git a/client/fastcomments/models/model_create_tenant_package200response.nim b/client/fastcomments/models/model_create_tenant_package200response.nim
deleted file mode 100644
index 09d2bee..0000000
--- a/client/fastcomments/models/model_create_tenant_package200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_create_tenant_package_response
-import model_custom_config_parameters
-import model_tenant_package
-
-# AnyOf type
-type CreateTenantPackage200responseKind* {.pure.} = enum
- CreateTenantPackageResponseVariant
- APIErrorVariant
-
-type CreateTenantPackage200response* = object
- ##
- case kind*: CreateTenantPackage200responseKind
- of CreateTenantPackage200responseKind.CreateTenantPackageResponseVariant:
- CreateTenantPackageResponseValue*: CreateTenantPackageResponse
- of CreateTenantPackage200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[CreateTenantPackage200response]): CreateTenantPackage200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return CreateTenantPackage200response(kind: CreateTenantPackage200responseKind.CreateTenantPackageResponseVariant, CreateTenantPackageResponseValue: to(node, CreateTenantPackageResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as CreateTenantPackageResponse: ", e.msg
- try:
- return CreateTenantPackage200response(kind: CreateTenantPackage200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of CreateTenantPackage200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_create_tenant_package_body.nim b/client/fastcomments/models/model_create_tenant_package_body.nim
index dc4717d..5ffe9ee 100644
--- a/client/fastcomments/models/model_create_tenant_package_body.nim
+++ b/client/fastcomments/models/model_create_tenant_package_body.nim
@@ -56,8 +56,8 @@ type CreateTenantPackageBody* = object
flexAdminUnit*: Option[float64]
flexDomainCostCents*: Option[float64]
flexDomainUnit*: Option[float64]
- flexChatGPTCostCents*: Option[float64]
- flexChatGPTUnit*: Option[float64]
+ flexLLMCostCents*: Option[float64]
+ flexLLMUnit*: Option[float64]
flexMinimumCostCents*: Option[float64]
flexManagedTenantCostCents*: Option[float64]
flexSSOAdminCostCents*: Option[float64]
@@ -65,3 +65,196 @@ type CreateTenantPackageBody* = object
flexSSOModeratorCostCents*: Option[float64]
flexSSOModeratorUnit*: Option[float64]
+
+# Custom JSON deserialization for CreateTenantPackageBody with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateTenantPackageBody]): CreateTenantPackageBody =
+ result = CreateTenantPackageBody()
+ if node.kind == JObject:
+ if node.hasKey("name"):
+ result.name = to(node["name"], string)
+ if node.hasKey("monthlyCostUSD") and node["monthlyCostUSD"].kind != JNull:
+ result.monthlyCostUSD = some(to(node["monthlyCostUSD"], typeof(result.monthlyCostUSD.get())))
+ if node.hasKey("yearlyCostUSD") and node["yearlyCostUSD"].kind != JNull:
+ result.yearlyCostUSD = some(to(node["yearlyCostUSD"], typeof(result.yearlyCostUSD.get())))
+ if node.hasKey("monthlyStripePlanId") and node["monthlyStripePlanId"].kind != JNull:
+ result.monthlyStripePlanId = some(to(node["monthlyStripePlanId"], typeof(result.monthlyStripePlanId.get())))
+ if node.hasKey("yearlyStripePlanId") and node["yearlyStripePlanId"].kind != JNull:
+ result.yearlyStripePlanId = some(to(node["yearlyStripePlanId"], typeof(result.yearlyStripePlanId.get())))
+ if node.hasKey("maxMonthlyPageLoads"):
+ result.maxMonthlyPageLoads = to(node["maxMonthlyPageLoads"], float64)
+ if node.hasKey("maxMonthlyAPICredits"):
+ result.maxMonthlyAPICredits = to(node["maxMonthlyAPICredits"], float64)
+ if node.hasKey("maxMonthlySmallWidgetsCredits") and node["maxMonthlySmallWidgetsCredits"].kind != JNull:
+ result.maxMonthlySmallWidgetsCredits = some(to(node["maxMonthlySmallWidgetsCredits"], typeof(result.maxMonthlySmallWidgetsCredits.get())))
+ if node.hasKey("maxMonthlyComments"):
+ result.maxMonthlyComments = to(node["maxMonthlyComments"], float64)
+ if node.hasKey("maxConcurrentUsers"):
+ result.maxConcurrentUsers = to(node["maxConcurrentUsers"], float64)
+ if node.hasKey("maxTenantUsers"):
+ result.maxTenantUsers = to(node["maxTenantUsers"], float64)
+ if node.hasKey("maxSSOUsers"):
+ result.maxSSOUsers = to(node["maxSSOUsers"], float64)
+ if node.hasKey("maxModerators"):
+ result.maxModerators = to(node["maxModerators"], float64)
+ if node.hasKey("maxDomains"):
+ result.maxDomains = to(node["maxDomains"], float64)
+ if node.hasKey("maxWhiteLabeledTenants") and node["maxWhiteLabeledTenants"].kind != JNull:
+ result.maxWhiteLabeledTenants = some(to(node["maxWhiteLabeledTenants"], typeof(result.maxWhiteLabeledTenants.get())))
+ if node.hasKey("maxMonthlyEventLogRequests") and node["maxMonthlyEventLogRequests"].kind != JNull:
+ result.maxMonthlyEventLogRequests = some(to(node["maxMonthlyEventLogRequests"], typeof(result.maxMonthlyEventLogRequests.get())))
+ if node.hasKey("maxCustomCollectionSize") and node["maxCustomCollectionSize"].kind != JNull:
+ result.maxCustomCollectionSize = some(to(node["maxCustomCollectionSize"], typeof(result.maxCustomCollectionSize.get())))
+ if node.hasKey("hasWhiteLabeling") and node["hasWhiteLabeling"].kind != JNull:
+ result.hasWhiteLabeling = some(to(node["hasWhiteLabeling"], typeof(result.hasWhiteLabeling.get())))
+ if node.hasKey("hasDebranding"):
+ result.hasDebranding = to(node["hasDebranding"], bool)
+ if node.hasKey("hasLLMSpamDetection") and node["hasLLMSpamDetection"].kind != JNull:
+ result.hasLLMSpamDetection = some(to(node["hasLLMSpamDetection"], typeof(result.hasLLMSpamDetection.get())))
+ if node.hasKey("forWhoText"):
+ result.forWhoText = to(node["forWhoText"], string)
+ if node.hasKey("featureTaglines"):
+ result.featureTaglines = to(node["featureTaglines"], seq[string])
+ if node.hasKey("hasAuditing") and node["hasAuditing"].kind != JNull:
+ result.hasAuditing = some(to(node["hasAuditing"], typeof(result.hasAuditing.get())))
+ if node.hasKey("hasFlexPricing"):
+ result.hasFlexPricing = to(node["hasFlexPricing"], bool)
+ if node.hasKey("enableSAML") and node["enableSAML"].kind != JNull:
+ result.enableSAML = some(to(node["enableSAML"], typeof(result.enableSAML.get())))
+ if node.hasKey("flexPageLoadCostCents") and node["flexPageLoadCostCents"].kind != JNull:
+ result.flexPageLoadCostCents = some(to(node["flexPageLoadCostCents"], typeof(result.flexPageLoadCostCents.get())))
+ if node.hasKey("flexPageLoadUnit") and node["flexPageLoadUnit"].kind != JNull:
+ result.flexPageLoadUnit = some(to(node["flexPageLoadUnit"], typeof(result.flexPageLoadUnit.get())))
+ if node.hasKey("flexCommentCostCents") and node["flexCommentCostCents"].kind != JNull:
+ result.flexCommentCostCents = some(to(node["flexCommentCostCents"], typeof(result.flexCommentCostCents.get())))
+ if node.hasKey("flexCommentUnit") and node["flexCommentUnit"].kind != JNull:
+ result.flexCommentUnit = some(to(node["flexCommentUnit"], typeof(result.flexCommentUnit.get())))
+ if node.hasKey("flexSSOUserCostCents") and node["flexSSOUserCostCents"].kind != JNull:
+ result.flexSSOUserCostCents = some(to(node["flexSSOUserCostCents"], typeof(result.flexSSOUserCostCents.get())))
+ if node.hasKey("flexSSOUserUnit") and node["flexSSOUserUnit"].kind != JNull:
+ result.flexSSOUserUnit = some(to(node["flexSSOUserUnit"], typeof(result.flexSSOUserUnit.get())))
+ if node.hasKey("flexAPICreditCostCents") and node["flexAPICreditCostCents"].kind != JNull:
+ result.flexAPICreditCostCents = some(to(node["flexAPICreditCostCents"], typeof(result.flexAPICreditCostCents.get())))
+ if node.hasKey("flexAPICreditUnit") and node["flexAPICreditUnit"].kind != JNull:
+ result.flexAPICreditUnit = some(to(node["flexAPICreditUnit"], typeof(result.flexAPICreditUnit.get())))
+ if node.hasKey("flexSmallWidgetsCreditCostCents") and node["flexSmallWidgetsCreditCostCents"].kind != JNull:
+ result.flexSmallWidgetsCreditCostCents = some(to(node["flexSmallWidgetsCreditCostCents"], typeof(result.flexSmallWidgetsCreditCostCents.get())))
+ if node.hasKey("flexSmallWidgetsCreditUnit") and node["flexSmallWidgetsCreditUnit"].kind != JNull:
+ result.flexSmallWidgetsCreditUnit = some(to(node["flexSmallWidgetsCreditUnit"], typeof(result.flexSmallWidgetsCreditUnit.get())))
+ if node.hasKey("flexModeratorCostCents") and node["flexModeratorCostCents"].kind != JNull:
+ result.flexModeratorCostCents = some(to(node["flexModeratorCostCents"], typeof(result.flexModeratorCostCents.get())))
+ if node.hasKey("flexModeratorUnit") and node["flexModeratorUnit"].kind != JNull:
+ result.flexModeratorUnit = some(to(node["flexModeratorUnit"], typeof(result.flexModeratorUnit.get())))
+ if node.hasKey("flexAdminCostCents") and node["flexAdminCostCents"].kind != JNull:
+ result.flexAdminCostCents = some(to(node["flexAdminCostCents"], typeof(result.flexAdminCostCents.get())))
+ if node.hasKey("flexAdminUnit") and node["flexAdminUnit"].kind != JNull:
+ result.flexAdminUnit = some(to(node["flexAdminUnit"], typeof(result.flexAdminUnit.get())))
+ if node.hasKey("flexDomainCostCents") and node["flexDomainCostCents"].kind != JNull:
+ result.flexDomainCostCents = some(to(node["flexDomainCostCents"], typeof(result.flexDomainCostCents.get())))
+ if node.hasKey("flexDomainUnit") and node["flexDomainUnit"].kind != JNull:
+ result.flexDomainUnit = some(to(node["flexDomainUnit"], typeof(result.flexDomainUnit.get())))
+ if node.hasKey("flexLLMCostCents") and node["flexLLMCostCents"].kind != JNull:
+ result.flexLLMCostCents = some(to(node["flexLLMCostCents"], typeof(result.flexLLMCostCents.get())))
+ if node.hasKey("flexLLMUnit") and node["flexLLMUnit"].kind != JNull:
+ result.flexLLMUnit = some(to(node["flexLLMUnit"], typeof(result.flexLLMUnit.get())))
+ if node.hasKey("flexMinimumCostCents") and node["flexMinimumCostCents"].kind != JNull:
+ result.flexMinimumCostCents = some(to(node["flexMinimumCostCents"], typeof(result.flexMinimumCostCents.get())))
+ if node.hasKey("flexManagedTenantCostCents") and node["flexManagedTenantCostCents"].kind != JNull:
+ result.flexManagedTenantCostCents = some(to(node["flexManagedTenantCostCents"], typeof(result.flexManagedTenantCostCents.get())))
+ if node.hasKey("flexSSOAdminCostCents") and node["flexSSOAdminCostCents"].kind != JNull:
+ result.flexSSOAdminCostCents = some(to(node["flexSSOAdminCostCents"], typeof(result.flexSSOAdminCostCents.get())))
+ if node.hasKey("flexSSOAdminUnit") and node["flexSSOAdminUnit"].kind != JNull:
+ result.flexSSOAdminUnit = some(to(node["flexSSOAdminUnit"], typeof(result.flexSSOAdminUnit.get())))
+ if node.hasKey("flexSSOModeratorCostCents") and node["flexSSOModeratorCostCents"].kind != JNull:
+ result.flexSSOModeratorCostCents = some(to(node["flexSSOModeratorCostCents"], typeof(result.flexSSOModeratorCostCents.get())))
+ if node.hasKey("flexSSOModeratorUnit") and node["flexSSOModeratorUnit"].kind != JNull:
+ result.flexSSOModeratorUnit = some(to(node["flexSSOModeratorUnit"], typeof(result.flexSSOModeratorUnit.get())))
+
+# Custom JSON serialization for CreateTenantPackageBody with custom field names
+proc `%`*(obj: CreateTenantPackageBody): JsonNode =
+ result = newJObject()
+ result["name"] = %obj.name
+ if obj.monthlyCostUSD.isSome():
+ result["monthlyCostUSD"] = %obj.monthlyCostUSD.get()
+ if obj.yearlyCostUSD.isSome():
+ result["yearlyCostUSD"] = %obj.yearlyCostUSD.get()
+ if obj.monthlyStripePlanId.isSome():
+ result["monthlyStripePlanId"] = %obj.monthlyStripePlanId.get()
+ if obj.yearlyStripePlanId.isSome():
+ result["yearlyStripePlanId"] = %obj.yearlyStripePlanId.get()
+ result["maxMonthlyPageLoads"] = %obj.maxMonthlyPageLoads
+ result["maxMonthlyAPICredits"] = %obj.maxMonthlyAPICredits
+ if obj.maxMonthlySmallWidgetsCredits.isSome():
+ result["maxMonthlySmallWidgetsCredits"] = %obj.maxMonthlySmallWidgetsCredits.get()
+ result["maxMonthlyComments"] = %obj.maxMonthlyComments
+ result["maxConcurrentUsers"] = %obj.maxConcurrentUsers
+ result["maxTenantUsers"] = %obj.maxTenantUsers
+ result["maxSSOUsers"] = %obj.maxSSOUsers
+ result["maxModerators"] = %obj.maxModerators
+ result["maxDomains"] = %obj.maxDomains
+ if obj.maxWhiteLabeledTenants.isSome():
+ result["maxWhiteLabeledTenants"] = %obj.maxWhiteLabeledTenants.get()
+ if obj.maxMonthlyEventLogRequests.isSome():
+ result["maxMonthlyEventLogRequests"] = %obj.maxMonthlyEventLogRequests.get()
+ if obj.maxCustomCollectionSize.isSome():
+ result["maxCustomCollectionSize"] = %obj.maxCustomCollectionSize.get()
+ if obj.hasWhiteLabeling.isSome():
+ result["hasWhiteLabeling"] = %obj.hasWhiteLabeling.get()
+ result["hasDebranding"] = %obj.hasDebranding
+ if obj.hasLLMSpamDetection.isSome():
+ result["hasLLMSpamDetection"] = %obj.hasLLMSpamDetection.get()
+ result["forWhoText"] = %obj.forWhoText
+ result["featureTaglines"] = %obj.featureTaglines
+ if obj.hasAuditing.isSome():
+ result["hasAuditing"] = %obj.hasAuditing.get()
+ result["hasFlexPricing"] = %obj.hasFlexPricing
+ if obj.enableSAML.isSome():
+ result["enableSAML"] = %obj.enableSAML.get()
+ if obj.flexPageLoadCostCents.isSome():
+ result["flexPageLoadCostCents"] = %obj.flexPageLoadCostCents.get()
+ if obj.flexPageLoadUnit.isSome():
+ result["flexPageLoadUnit"] = %obj.flexPageLoadUnit.get()
+ if obj.flexCommentCostCents.isSome():
+ result["flexCommentCostCents"] = %obj.flexCommentCostCents.get()
+ if obj.flexCommentUnit.isSome():
+ result["flexCommentUnit"] = %obj.flexCommentUnit.get()
+ if obj.flexSSOUserCostCents.isSome():
+ result["flexSSOUserCostCents"] = %obj.flexSSOUserCostCents.get()
+ if obj.flexSSOUserUnit.isSome():
+ result["flexSSOUserUnit"] = %obj.flexSSOUserUnit.get()
+ if obj.flexAPICreditCostCents.isSome():
+ result["flexAPICreditCostCents"] = %obj.flexAPICreditCostCents.get()
+ if obj.flexAPICreditUnit.isSome():
+ result["flexAPICreditUnit"] = %obj.flexAPICreditUnit.get()
+ if obj.flexSmallWidgetsCreditCostCents.isSome():
+ result["flexSmallWidgetsCreditCostCents"] = %obj.flexSmallWidgetsCreditCostCents.get()
+ if obj.flexSmallWidgetsCreditUnit.isSome():
+ result["flexSmallWidgetsCreditUnit"] = %obj.flexSmallWidgetsCreditUnit.get()
+ if obj.flexModeratorCostCents.isSome():
+ result["flexModeratorCostCents"] = %obj.flexModeratorCostCents.get()
+ if obj.flexModeratorUnit.isSome():
+ result["flexModeratorUnit"] = %obj.flexModeratorUnit.get()
+ if obj.flexAdminCostCents.isSome():
+ result["flexAdminCostCents"] = %obj.flexAdminCostCents.get()
+ if obj.flexAdminUnit.isSome():
+ result["flexAdminUnit"] = %obj.flexAdminUnit.get()
+ if obj.flexDomainCostCents.isSome():
+ result["flexDomainCostCents"] = %obj.flexDomainCostCents.get()
+ if obj.flexDomainUnit.isSome():
+ result["flexDomainUnit"] = %obj.flexDomainUnit.get()
+ if obj.flexLLMCostCents.isSome():
+ result["flexLLMCostCents"] = %obj.flexLLMCostCents.get()
+ if obj.flexLLMUnit.isSome():
+ result["flexLLMUnit"] = %obj.flexLLMUnit.get()
+ if obj.flexMinimumCostCents.isSome():
+ result["flexMinimumCostCents"] = %obj.flexMinimumCostCents.get()
+ if obj.flexManagedTenantCostCents.isSome():
+ result["flexManagedTenantCostCents"] = %obj.flexManagedTenantCostCents.get()
+ if obj.flexSSOAdminCostCents.isSome():
+ result["flexSSOAdminCostCents"] = %obj.flexSSOAdminCostCents.get()
+ if obj.flexSSOAdminUnit.isSome():
+ result["flexSSOAdminUnit"] = %obj.flexSSOAdminUnit.get()
+ if obj.flexSSOModeratorCostCents.isSome():
+ result["flexSSOModeratorCostCents"] = %obj.flexSSOModeratorCostCents.get()
+ if obj.flexSSOModeratorUnit.isSome():
+ result["flexSSOModeratorUnit"] = %obj.flexSSOModeratorUnit.get()
+
diff --git a/client/fastcomments/models/model_create_tenant_response.nim b/client/fastcomments/models/model_create_tenant_response.nim
index e5dc40b..04882a5 100644
--- a/client/fastcomments/models/model_create_tenant_response.nim
+++ b/client/fastcomments/models/model_create_tenant_response.nim
@@ -20,3 +20,19 @@ type CreateTenantResponse* = object
status*: APIStatus
tenant*: APITenant
+
+# Custom JSON deserialization for CreateTenantResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateTenantResponse]): CreateTenantResponse =
+ result = CreateTenantResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("tenant"):
+ result.tenant = to(node["tenant"], APITenant)
+
+# Custom JSON serialization for CreateTenantResponse with custom field names
+proc `%`*(obj: CreateTenantResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["tenant"] = %obj.tenant
+
diff --git a/client/fastcomments/models/model_create_tenant_user200response.nim b/client/fastcomments/models/model_create_tenant_user200response.nim
deleted file mode 100644
index 9bd0d3e..0000000
--- a/client/fastcomments/models/model_create_tenant_user200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_create_tenant_user_response
-import model_custom_config_parameters
-import model_user
-
-# AnyOf type
-type CreateTenantUser200responseKind* {.pure.} = enum
- CreateTenantUserResponseVariant
- APIErrorVariant
-
-type CreateTenantUser200response* = object
- ##
- case kind*: CreateTenantUser200responseKind
- of CreateTenantUser200responseKind.CreateTenantUserResponseVariant:
- CreateTenantUserResponseValue*: CreateTenantUserResponse
- of CreateTenantUser200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[CreateTenantUser200response]): CreateTenantUser200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return CreateTenantUser200response(kind: CreateTenantUser200responseKind.CreateTenantUserResponseVariant, CreateTenantUserResponseValue: to(node, CreateTenantUserResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as CreateTenantUserResponse: ", e.msg
- try:
- return CreateTenantUser200response(kind: CreateTenantUser200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of CreateTenantUser200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_create_tenant_user_body.nim b/client/fastcomments/models/model_create_tenant_user_body.nim
index 1cd97bd..74177e9 100644
--- a/client/fastcomments/models/model_create_tenant_user_body.nim
+++ b/client/fastcomments/models/model_create_tenant_user_body.nim
@@ -40,3 +40,107 @@ type CreateTenantUserBody* = object
digestEmailFrequency*: Option[float64]
displayLabel*: Option[string]
+
+# Custom JSON deserialization for CreateTenantUserBody with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateTenantUserBody]): CreateTenantUserBody =
+ result = CreateTenantUserBody()
+ if node.kind == JObject:
+ if node.hasKey("username"):
+ result.username = to(node["username"], string)
+ if node.hasKey("email"):
+ result.email = to(node["email"], string)
+ if node.hasKey("displayName") and node["displayName"].kind != JNull:
+ result.displayName = some(to(node["displayName"], typeof(result.displayName.get())))
+ if node.hasKey("websiteUrl") and node["websiteUrl"].kind != JNull:
+ result.websiteUrl = some(to(node["websiteUrl"], typeof(result.websiteUrl.get())))
+ if node.hasKey("signUpDate") and node["signUpDate"].kind != JNull:
+ result.signUpDate = some(to(node["signUpDate"], typeof(result.signUpDate.get())))
+ if node.hasKey("locale") and node["locale"].kind != JNull:
+ result.locale = some(to(node["locale"], typeof(result.locale.get())))
+ if node.hasKey("verified") and node["verified"].kind != JNull:
+ result.verified = some(to(node["verified"], typeof(result.verified.get())))
+ if node.hasKey("loginCount") and node["loginCount"].kind != JNull:
+ result.loginCount = some(to(node["loginCount"], typeof(result.loginCount.get())))
+ if node.hasKey("optedInNotifications") and node["optedInNotifications"].kind != JNull:
+ result.optedInNotifications = some(to(node["optedInNotifications"], typeof(result.optedInNotifications.get())))
+ if node.hasKey("optedInTenantNotifications") and node["optedInTenantNotifications"].kind != JNull:
+ result.optedInTenantNotifications = some(to(node["optedInTenantNotifications"], typeof(result.optedInTenantNotifications.get())))
+ if node.hasKey("hideAccountCode") and node["hideAccountCode"].kind != JNull:
+ result.hideAccountCode = some(to(node["hideAccountCode"], typeof(result.hideAccountCode.get())))
+ if node.hasKey("avatarSrc") and node["avatarSrc"].kind != JNull:
+ result.avatarSrc = some(to(node["avatarSrc"], typeof(result.avatarSrc.get())))
+ if node.hasKey("isHelpRequestAdmin") and node["isHelpRequestAdmin"].kind != JNull:
+ result.isHelpRequestAdmin = some(to(node["isHelpRequestAdmin"], typeof(result.isHelpRequestAdmin.get())))
+ if node.hasKey("isAccountOwner") and node["isAccountOwner"].kind != JNull:
+ result.isAccountOwner = some(to(node["isAccountOwner"], typeof(result.isAccountOwner.get())))
+ if node.hasKey("isAdminAdmin") and node["isAdminAdmin"].kind != JNull:
+ result.isAdminAdmin = some(to(node["isAdminAdmin"], typeof(result.isAdminAdmin.get())))
+ if node.hasKey("isBillingAdmin") and node["isBillingAdmin"].kind != JNull:
+ result.isBillingAdmin = some(to(node["isBillingAdmin"], typeof(result.isBillingAdmin.get())))
+ if node.hasKey("isAnalyticsAdmin") and node["isAnalyticsAdmin"].kind != JNull:
+ result.isAnalyticsAdmin = some(to(node["isAnalyticsAdmin"], typeof(result.isAnalyticsAdmin.get())))
+ if node.hasKey("isCustomizationAdmin") and node["isCustomizationAdmin"].kind != JNull:
+ result.isCustomizationAdmin = some(to(node["isCustomizationAdmin"], typeof(result.isCustomizationAdmin.get())))
+ if node.hasKey("isManageDataAdmin") and node["isManageDataAdmin"].kind != JNull:
+ result.isManageDataAdmin = some(to(node["isManageDataAdmin"], typeof(result.isManageDataAdmin.get())))
+ if node.hasKey("isCommentModeratorAdmin") and node["isCommentModeratorAdmin"].kind != JNull:
+ result.isCommentModeratorAdmin = some(to(node["isCommentModeratorAdmin"], typeof(result.isCommentModeratorAdmin.get())))
+ if node.hasKey("isAPIAdmin") and node["isAPIAdmin"].kind != JNull:
+ result.isAPIAdmin = some(to(node["isAPIAdmin"], typeof(result.isAPIAdmin.get())))
+ if node.hasKey("moderatorIds") and node["moderatorIds"].kind != JNull:
+ result.moderatorIds = some(to(node["moderatorIds"], typeof(result.moderatorIds.get())))
+ if node.hasKey("digestEmailFrequency") and node["digestEmailFrequency"].kind != JNull:
+ result.digestEmailFrequency = some(to(node["digestEmailFrequency"], typeof(result.digestEmailFrequency.get())))
+ if node.hasKey("displayLabel") and node["displayLabel"].kind != JNull:
+ result.displayLabel = some(to(node["displayLabel"], typeof(result.displayLabel.get())))
+
+# Custom JSON serialization for CreateTenantUserBody with custom field names
+proc `%`*(obj: CreateTenantUserBody): JsonNode =
+ result = newJObject()
+ result["username"] = %obj.username
+ result["email"] = %obj.email
+ if obj.displayName.isSome():
+ result["displayName"] = %obj.displayName.get()
+ if obj.websiteUrl.isSome():
+ result["websiteUrl"] = %obj.websiteUrl.get()
+ if obj.signUpDate.isSome():
+ result["signUpDate"] = %obj.signUpDate.get()
+ if obj.locale.isSome():
+ result["locale"] = %obj.locale.get()
+ if obj.verified.isSome():
+ result["verified"] = %obj.verified.get()
+ if obj.loginCount.isSome():
+ result["loginCount"] = %obj.loginCount.get()
+ if obj.optedInNotifications.isSome():
+ result["optedInNotifications"] = %obj.optedInNotifications.get()
+ if obj.optedInTenantNotifications.isSome():
+ result["optedInTenantNotifications"] = %obj.optedInTenantNotifications.get()
+ if obj.hideAccountCode.isSome():
+ result["hideAccountCode"] = %obj.hideAccountCode.get()
+ if obj.avatarSrc.isSome():
+ result["avatarSrc"] = %obj.avatarSrc.get()
+ if obj.isHelpRequestAdmin.isSome():
+ result["isHelpRequestAdmin"] = %obj.isHelpRequestAdmin.get()
+ if obj.isAccountOwner.isSome():
+ result["isAccountOwner"] = %obj.isAccountOwner.get()
+ if obj.isAdminAdmin.isSome():
+ result["isAdminAdmin"] = %obj.isAdminAdmin.get()
+ if obj.isBillingAdmin.isSome():
+ result["isBillingAdmin"] = %obj.isBillingAdmin.get()
+ if obj.isAnalyticsAdmin.isSome():
+ result["isAnalyticsAdmin"] = %obj.isAnalyticsAdmin.get()
+ if obj.isCustomizationAdmin.isSome():
+ result["isCustomizationAdmin"] = %obj.isCustomizationAdmin.get()
+ if obj.isManageDataAdmin.isSome():
+ result["isManageDataAdmin"] = %obj.isManageDataAdmin.get()
+ if obj.isCommentModeratorAdmin.isSome():
+ result["isCommentModeratorAdmin"] = %obj.isCommentModeratorAdmin.get()
+ if obj.isAPIAdmin.isSome():
+ result["isAPIAdmin"] = %obj.isAPIAdmin.get()
+ if obj.moderatorIds.isSome():
+ result["moderatorIds"] = %obj.moderatorIds.get()
+ if obj.digestEmailFrequency.isSome():
+ result["digestEmailFrequency"] = %obj.digestEmailFrequency.get()
+ if obj.displayLabel.isSome():
+ result["displayLabel"] = %obj.displayLabel.get()
+
diff --git a/client/fastcomments/models/model_create_ticket200response.nim b/client/fastcomments/models/model_create_ticket200response.nim
deleted file mode 100644
index c300bc0..0000000
--- a/client/fastcomments/models/model_create_ticket200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_api_ticket
-import model_create_ticket_response
-import model_custom_config_parameters
-
-# AnyOf type
-type CreateTicket200responseKind* {.pure.} = enum
- CreateTicketResponseVariant
- APIErrorVariant
-
-type CreateTicket200response* = object
- ##
- case kind*: CreateTicket200responseKind
- of CreateTicket200responseKind.CreateTicketResponseVariant:
- CreateTicketResponseValue*: CreateTicketResponse
- of CreateTicket200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[CreateTicket200response]): CreateTicket200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return CreateTicket200response(kind: CreateTicket200responseKind.CreateTicketResponseVariant, CreateTicketResponseValue: to(node, CreateTicketResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as CreateTicketResponse: ", e.msg
- try:
- return CreateTicket200response(kind: CreateTicket200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of CreateTicket200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_create_ticket_body.nim b/client/fastcomments/models/model_create_ticket_body.nim
index d52ce29..9067888 100644
--- a/client/fastcomments/models/model_create_ticket_body.nim
+++ b/client/fastcomments/models/model_create_ticket_body.nim
@@ -17,3 +17,16 @@ type CreateTicketBody* = object
##
subject*: string
+
+# Custom JSON deserialization for CreateTicketBody with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateTicketBody]): CreateTicketBody =
+ result = CreateTicketBody()
+ if node.kind == JObject:
+ if node.hasKey("subject"):
+ result.subject = to(node["subject"], string)
+
+# Custom JSON serialization for CreateTicketBody with custom field names
+proc `%`*(obj: CreateTicketBody): JsonNode =
+ result = newJObject()
+ result["subject"] = %obj.subject
+
diff --git a/client/fastcomments/models/model_create_user_badge200response.nim b/client/fastcomments/models/model_create_user_badge200response.nim
deleted file mode 100644
index a8164df..0000000
--- a/client/fastcomments/models/model_create_user_badge200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_create_user_badge_response
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_user_badge
-
-# AnyOf type
-type CreateUserBadge200responseKind* {.pure.} = enum
- APICreateUserBadgeResponseVariant
- APIErrorVariant
-
-type CreateUserBadge200response* = object
- ##
- case kind*: CreateUserBadge200responseKind
- of CreateUserBadge200responseKind.APICreateUserBadgeResponseVariant:
- APICreateUserBadgeResponseValue*: APICreateUserBadgeResponse
- of CreateUserBadge200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[CreateUserBadge200response]): CreateUserBadge200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return CreateUserBadge200response(kind: CreateUserBadge200responseKind.APICreateUserBadgeResponseVariant, APICreateUserBadgeResponseValue: to(node, APICreateUserBadgeResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APICreateUserBadgeResponse: ", e.msg
- try:
- return CreateUserBadge200response(kind: CreateUserBadge200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of CreateUserBadge200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_create_user_badge_params.nim b/client/fastcomments/models/model_create_user_badge_params.nim
index e0ba638..7e576de 100644
--- a/client/fastcomments/models/model_create_user_badge_params.nim
+++ b/client/fastcomments/models/model_create_user_badge_params.nim
@@ -19,3 +19,23 @@ type CreateUserBadgeParams* = object
badgeId*: string
displayedOnComments*: Option[bool]
+
+# Custom JSON deserialization for CreateUserBadgeParams with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateUserBadgeParams]): CreateUserBadgeParams =
+ result = CreateUserBadgeParams()
+ if node.kind == JObject:
+ if node.hasKey("userId"):
+ result.userId = to(node["userId"], string)
+ if node.hasKey("badgeId"):
+ result.badgeId = to(node["badgeId"], string)
+ if node.hasKey("displayedOnComments") and node["displayedOnComments"].kind != JNull:
+ result.displayedOnComments = some(to(node["displayedOnComments"], typeof(result.displayedOnComments.get())))
+
+# Custom JSON serialization for CreateUserBadgeParams with custom field names
+proc `%`*(obj: CreateUserBadgeParams): JsonNode =
+ result = newJObject()
+ result["userId"] = %obj.userId
+ result["badgeId"] = %obj.badgeId
+ if obj.displayedOnComments.isSome():
+ result["displayedOnComments"] = %obj.displayedOnComments.get()
+
diff --git a/client/fastcomments/models/model_create_v1_page_react.nim b/client/fastcomments/models/model_create_v1_page_react.nim
new file mode 100644
index 0000000..a2c9787
--- /dev/null
+++ b/client/fastcomments/models/model_create_v1_page_react.nim
@@ -0,0 +1,38 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type CreateV1PageReact* = object
+ ##
+ code*: Option[string]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for CreateV1PageReact with custom field names
+proc to*(node: JsonNode, T: typedesc[CreateV1PageReact]): CreateV1PageReact =
+ result = CreateV1PageReact()
+ if node.kind == JObject:
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for CreateV1PageReact with custom field names
+proc `%`*(obj: CreateV1PageReact): JsonNode =
+ result = newJObject()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_custom_config_parameters.nim b/client/fastcomments/models/model_custom_config_parameters.nim
index 5dcf0b1..9968058 100644
--- a/client/fastcomments/models/model_custom_config_parameters.nim
+++ b/client/fastcomments/models/model_custom_config_parameters.nim
@@ -27,6 +27,7 @@ import model_sort_directions
import model_spam_rule
import model_sso_security_level
import model_tos_config
+import model_users_list_location
import model_vote_style
type CustomConfigParameters* = object
@@ -83,11 +84,14 @@ type CustomConfigParameters* = object
noCustomConfig*: Option[bool]
mentionAutoCompleteMode*: Option[MentionAutoCompleteMode]
noImageUploads*: Option[bool]
+ allowEmbeds*: Option[bool]
+ allowedEmbedDomains*: Option[seq[string]]
noStyles*: Option[bool]
pageSize*: Option[int]
readonly*: Option[bool]
noNewRootComments*: Option[bool]
requireSSO*: Option[bool]
+ enableFChat*: Option[bool]
enableResizeHandle*: Option[bool]
restrictedLinkDomains*: Option[seq[string]]
showBadgesInTopBar*: Option[bool]
@@ -108,6 +112,8 @@ type CustomConfigParameters* = object
widgetQuestionsRequired*: Option[CommentQuestionsRequired]
widgetSubQuestionVisibility*: Option[QuestionSubQuestionVisibility]
wrap*: Option[bool]
+ usersListLocation*: Option[UsersListLocation]
+ usersListIncludeOffline*: Option[bool]
ticketBaseUrl*: Option[string]
ticketKBSearchEndpoint*: Option[string]
ticketFileUploadsEnabled*: Option[bool]
@@ -115,3 +121,365 @@ type CustomConfigParameters* = object
ticketAutoAssignUserIds*: Option[seq[string]]
tos*: Option[TOSConfig]
+
+# Custom JSON deserialization for CustomConfigParameters with custom field names
+proc to*(node: JsonNode, T: typedesc[CustomConfigParameters]): CustomConfigParameters =
+ result = CustomConfigParameters()
+ if node.kind == JObject:
+ if node.hasKey("absoluteAndRelativeDates") and node["absoluteAndRelativeDates"].kind != JNull:
+ result.absoluteAndRelativeDates = some(to(node["absoluteAndRelativeDates"], typeof(result.absoluteAndRelativeDates.get())))
+ if node.hasKey("absoluteDates") and node["absoluteDates"].kind != JNull:
+ result.absoluteDates = some(to(node["absoluteDates"], typeof(result.absoluteDates.get())))
+ if node.hasKey("allowAnon") and node["allowAnon"].kind != JNull:
+ result.allowAnon = some(to(node["allowAnon"], typeof(result.allowAnon.get())))
+ if node.hasKey("allowAnonFlag") and node["allowAnonFlag"].kind != JNull:
+ result.allowAnonFlag = some(to(node["allowAnonFlag"], typeof(result.allowAnonFlag.get())))
+ if node.hasKey("allowAnonVotes") and node["allowAnonVotes"].kind != JNull:
+ result.allowAnonVotes = some(to(node["allowAnonVotes"], typeof(result.allowAnonVotes.get())))
+ if node.hasKey("allowedLanguages") and node["allowedLanguages"].kind != JNull:
+ result.allowedLanguages = some(to(node["allowedLanguages"], typeof(result.allowedLanguages.get())))
+ if node.hasKey("collapseReplies") and node["collapseReplies"].kind != JNull:
+ result.collapseReplies = some(to(node["collapseReplies"], typeof(result.collapseReplies.get())))
+ if node.hasKey("commentCountFormat") and node["commentCountFormat"].kind != JNull:
+ result.commentCountFormat = some(to(node["commentCountFormat"], typeof(result.commentCountFormat.get())))
+ if node.hasKey("commentHTMLRenderingMode") and node["commentHTMLRenderingMode"].kind != JNull:
+ result.commentHTMLRenderingMode = some(to(node["commentHTMLRenderingMode"], typeof(result.commentHTMLRenderingMode.get())))
+ if node.hasKey("commentThreadDeleteMode") and node["commentThreadDeleteMode"].kind != JNull:
+ result.commentThreadDeleteMode = some(to(node["commentThreadDeleteMode"], typeof(result.commentThreadDeleteMode.get())))
+ if node.hasKey("commenterNameFormat") and node["commenterNameFormat"].kind != JNull:
+ result.commenterNameFormat = some(to(node["commenterNameFormat"], typeof(result.commenterNameFormat.get())))
+ if node.hasKey("countAboveToggle") and node["countAboveToggle"].kind != JNull:
+ result.countAboveToggle = some(to(node["countAboveToggle"], typeof(result.countAboveToggle.get())))
+ if node.hasKey("customCSS") and node["customCSS"].kind != JNull:
+ result.customCSS = some(to(node["customCSS"], typeof(result.customCSS.get())))
+ if node.hasKey("defaultAvatarSrc") and node["defaultAvatarSrc"].kind != JNull:
+ result.defaultAvatarSrc = some(to(node["defaultAvatarSrc"], typeof(result.defaultAvatarSrc.get())))
+ if node.hasKey("defaultSortDirection") and node["defaultSortDirection"].kind != JNull:
+ result.defaultSortDirection = some(to(node["defaultSortDirection"], typeof(result.defaultSortDirection.get())))
+ if node.hasKey("defaultUsername") and node["defaultUsername"].kind != JNull:
+ result.defaultUsername = some(to(node["defaultUsername"], typeof(result.defaultUsername.get())))
+ if node.hasKey("disableAutoAdminMigration") and node["disableAutoAdminMigration"].kind != JNull:
+ result.disableAutoAdminMigration = some(to(node["disableAutoAdminMigration"], typeof(result.disableAutoAdminMigration.get())))
+ if node.hasKey("disableAutoHashTagCreation") and node["disableAutoHashTagCreation"].kind != JNull:
+ result.disableAutoHashTagCreation = some(to(node["disableAutoHashTagCreation"], typeof(result.disableAutoHashTagCreation.get())))
+ if node.hasKey("disableBlocking") and node["disableBlocking"].kind != JNull:
+ result.disableBlocking = some(to(node["disableBlocking"], typeof(result.disableBlocking.get())))
+ if node.hasKey("disableCommenterCommentDelete") and node["disableCommenterCommentDelete"].kind != JNull:
+ result.disableCommenterCommentDelete = some(to(node["disableCommenterCommentDelete"], typeof(result.disableCommenterCommentDelete.get())))
+ if node.hasKey("disableCommenterCommentEdit") and node["disableCommenterCommentEdit"].kind != JNull:
+ result.disableCommenterCommentEdit = some(to(node["disableCommenterCommentEdit"], typeof(result.disableCommenterCommentEdit.get())))
+ if node.hasKey("disableEmailInputs") and node["disableEmailInputs"].kind != JNull:
+ result.disableEmailInputs = some(to(node["disableEmailInputs"], typeof(result.disableEmailInputs.get())))
+ if node.hasKey("disableLiveCommenting") and node["disableLiveCommenting"].kind != JNull:
+ result.disableLiveCommenting = some(to(node["disableLiveCommenting"], typeof(result.disableLiveCommenting.get())))
+ if node.hasKey("disableNotificationBell") and node["disableNotificationBell"].kind != JNull:
+ result.disableNotificationBell = some(to(node["disableNotificationBell"], typeof(result.disableNotificationBell.get())))
+ if node.hasKey("disableProfileComments") and node["disableProfileComments"].kind != JNull:
+ result.disableProfileComments = some(to(node["disableProfileComments"], typeof(result.disableProfileComments.get())))
+ if node.hasKey("disableProfileDirectMessages") and node["disableProfileDirectMessages"].kind != JNull:
+ result.disableProfileDirectMessages = some(to(node["disableProfileDirectMessages"], typeof(result.disableProfileDirectMessages.get())))
+ if node.hasKey("disableProfiles") and node["disableProfiles"].kind != JNull:
+ result.disableProfiles = some(to(node["disableProfiles"], typeof(result.disableProfiles.get())))
+ if node.hasKey("disableSuccessMessage") and node["disableSuccessMessage"].kind != JNull:
+ result.disableSuccessMessage = some(to(node["disableSuccessMessage"], typeof(result.disableSuccessMessage.get())))
+ if node.hasKey("disableToolbar") and node["disableToolbar"].kind != JNull:
+ result.disableToolbar = some(to(node["disableToolbar"], typeof(result.disableToolbar.get())))
+ if node.hasKey("disableUnverifiedLabel") and node["disableUnverifiedLabel"].kind != JNull:
+ result.disableUnverifiedLabel = some(to(node["disableUnverifiedLabel"], typeof(result.disableUnverifiedLabel.get())))
+ if node.hasKey("disableVoting") and node["disableVoting"].kind != JNull:
+ result.disableVoting = some(to(node["disableVoting"], typeof(result.disableVoting.get())))
+ if node.hasKey("enableCommenterLinks") and node["enableCommenterLinks"].kind != JNull:
+ result.enableCommenterLinks = some(to(node["enableCommenterLinks"], typeof(result.enableCommenterLinks.get())))
+ if node.hasKey("enableSearch") and node["enableSearch"].kind != JNull:
+ result.enableSearch = some(to(node["enableSearch"], typeof(result.enableSearch.get())))
+ if node.hasKey("enableSpoilers") and node["enableSpoilers"].kind != JNull:
+ result.enableSpoilers = some(to(node["enableSpoilers"], typeof(result.enableSpoilers.get())))
+ if node.hasKey("enableThirdPartyCookieBypass") and node["enableThirdPartyCookieBypass"].kind != JNull:
+ result.enableThirdPartyCookieBypass = some(to(node["enableThirdPartyCookieBypass"], typeof(result.enableThirdPartyCookieBypass.get())))
+ if node.hasKey("enableViewCounts") and node["enableViewCounts"].kind != JNull:
+ result.enableViewCounts = some(to(node["enableViewCounts"], typeof(result.enableViewCounts.get())))
+ if node.hasKey("enableVoteList") and node["enableVoteList"].kind != JNull:
+ result.enableVoteList = some(to(node["enableVoteList"], typeof(result.enableVoteList.get())))
+ if node.hasKey("enableWYSIWYG") and node["enableWYSIWYG"].kind != JNull:
+ result.enableWYSIWYG = some(to(node["enableWYSIWYG"], typeof(result.enableWYSIWYG.get())))
+ if node.hasKey("gifRating") and node["gifRating"].kind != JNull:
+ result.gifRating = some(to(node["gifRating"], typeof(result.gifRating.get())))
+ if node.hasKey("hasDarkBackground") and node["hasDarkBackground"].kind != JNull:
+ result.hasDarkBackground = some(to(node["hasDarkBackground"], typeof(result.hasDarkBackground.get())))
+ if node.hasKey("headerHTML") and node["headerHTML"].kind != JNull:
+ result.headerHTML = some(to(node["headerHTML"], typeof(result.headerHTML.get())))
+ if node.hasKey("hideAvatars") and node["hideAvatars"].kind != JNull:
+ result.hideAvatars = some(to(node["hideAvatars"], typeof(result.hideAvatars.get())))
+ if node.hasKey("hideCommentsUnderCountTextFormat") and node["hideCommentsUnderCountTextFormat"].kind != JNull:
+ result.hideCommentsUnderCountTextFormat = some(to(node["hideCommentsUnderCountTextFormat"], typeof(result.hideCommentsUnderCountTextFormat.get())))
+ if node.hasKey("imageContentProfanityLevel") and node["imageContentProfanityLevel"].kind != JNull:
+ result.imageContentProfanityLevel = some(to(node["imageContentProfanityLevel"], typeof(result.imageContentProfanityLevel.get())))
+ if node.hasKey("inputAfterComments") and node["inputAfterComments"].kind != JNull:
+ result.inputAfterComments = some(to(node["inputAfterComments"], typeof(result.inputAfterComments.get())))
+ if node.hasKey("limitCommentsByGroups") and node["limitCommentsByGroups"].kind != JNull:
+ result.limitCommentsByGroups = some(to(node["limitCommentsByGroups"], typeof(result.limitCommentsByGroups.get())))
+ if node.hasKey("locale") and node["locale"].kind != JNull:
+ result.locale = some(to(node["locale"], typeof(result.locale.get())))
+ if node.hasKey("maxCommentCharacterLength") and node["maxCommentCharacterLength"].kind != JNull:
+ result.maxCommentCharacterLength = some(to(node["maxCommentCharacterLength"], typeof(result.maxCommentCharacterLength.get())))
+ if node.hasKey("maxCommentCreatedCountPUPM") and node["maxCommentCreatedCountPUPM"].kind != JNull:
+ result.maxCommentCreatedCountPUPM = some(to(node["maxCommentCreatedCountPUPM"], typeof(result.maxCommentCreatedCountPUPM.get())))
+ if node.hasKey("noCustomConfig") and node["noCustomConfig"].kind != JNull:
+ result.noCustomConfig = some(to(node["noCustomConfig"], typeof(result.noCustomConfig.get())))
+ if node.hasKey("mentionAutoCompleteMode") and node["mentionAutoCompleteMode"].kind != JNull:
+ result.mentionAutoCompleteMode = some(to(node["mentionAutoCompleteMode"], typeof(result.mentionAutoCompleteMode.get())))
+ if node.hasKey("noImageUploads") and node["noImageUploads"].kind != JNull:
+ result.noImageUploads = some(to(node["noImageUploads"], typeof(result.noImageUploads.get())))
+ if node.hasKey("allowEmbeds") and node["allowEmbeds"].kind != JNull:
+ result.allowEmbeds = some(to(node["allowEmbeds"], typeof(result.allowEmbeds.get())))
+ if node.hasKey("allowedEmbedDomains") and node["allowedEmbedDomains"].kind != JNull:
+ result.allowedEmbedDomains = some(to(node["allowedEmbedDomains"], typeof(result.allowedEmbedDomains.get())))
+ if node.hasKey("noStyles") and node["noStyles"].kind != JNull:
+ result.noStyles = some(to(node["noStyles"], typeof(result.noStyles.get())))
+ if node.hasKey("pageSize") and node["pageSize"].kind != JNull:
+ result.pageSize = some(to(node["pageSize"], typeof(result.pageSize.get())))
+ if node.hasKey("readonly") and node["readonly"].kind != JNull:
+ result.readonly = some(to(node["readonly"], typeof(result.readonly.get())))
+ if node.hasKey("noNewRootComments") and node["noNewRootComments"].kind != JNull:
+ result.noNewRootComments = some(to(node["noNewRootComments"], typeof(result.noNewRootComments.get())))
+ if node.hasKey("requireSSO") and node["requireSSO"].kind != JNull:
+ result.requireSSO = some(to(node["requireSSO"], typeof(result.requireSSO.get())))
+ if node.hasKey("enableFChat") and node["enableFChat"].kind != JNull:
+ result.enableFChat = some(to(node["enableFChat"], typeof(result.enableFChat.get())))
+ if node.hasKey("enableResizeHandle") and node["enableResizeHandle"].kind != JNull:
+ result.enableResizeHandle = some(to(node["enableResizeHandle"], typeof(result.enableResizeHandle.get())))
+ if node.hasKey("restrictedLinkDomains") and node["restrictedLinkDomains"].kind != JNull:
+ result.restrictedLinkDomains = some(to(node["restrictedLinkDomains"], typeof(result.restrictedLinkDomains.get())))
+ if node.hasKey("showBadgesInTopBar") and node["showBadgesInTopBar"].kind != JNull:
+ result.showBadgesInTopBar = some(to(node["showBadgesInTopBar"], typeof(result.showBadgesInTopBar.get())))
+ if node.hasKey("showCommentSaveSuccess") and node["showCommentSaveSuccess"].kind != JNull:
+ result.showCommentSaveSuccess = some(to(node["showCommentSaveSuccess"], typeof(result.showCommentSaveSuccess.get())))
+ if node.hasKey("showLiveRightAway") and node["showLiveRightAway"].kind != JNull:
+ result.showLiveRightAway = some(to(node["showLiveRightAway"], typeof(result.showLiveRightAway.get())))
+ if node.hasKey("showQuestion") and node["showQuestion"].kind != JNull:
+ result.showQuestion = some(to(node["showQuestion"], typeof(result.showQuestion.get())))
+ if node.hasKey("spamRules") and node["spamRules"].kind != JNull:
+ result.spamRules = some(to(node["spamRules"], typeof(result.spamRules.get())))
+ if node.hasKey("ssoSecLvl") and node["ssoSecLvl"].kind != JNull:
+ result.ssoSecLvl = some(to(node["ssoSecLvl"], typeof(result.ssoSecLvl.get())))
+ if node.hasKey("translations") and node["translations"].kind != JNull:
+ result.translations = some(to(node["translations"], typeof(result.translations.get())))
+ if node.hasKey("useShowCommentsToggle") and node["useShowCommentsToggle"].kind != JNull:
+ result.useShowCommentsToggle = some(to(node["useShowCommentsToggle"], typeof(result.useShowCommentsToggle.get())))
+ if node.hasKey("useSingleLineCommentInput") and node["useSingleLineCommentInput"].kind != JNull:
+ result.useSingleLineCommentInput = some(to(node["useSingleLineCommentInput"], typeof(result.useSingleLineCommentInput.get())))
+ if node.hasKey("voteStyle") and node["voteStyle"].kind != JNull:
+ result.voteStyle = some(to(node["voteStyle"], typeof(result.voteStyle.get())))
+ if node.hasKey("widgetQuestionId") and node["widgetQuestionId"].kind != JNull:
+ result.widgetQuestionId = some(to(node["widgetQuestionId"], typeof(result.widgetQuestionId.get())))
+ if node.hasKey("widgetQuestionResultsStyle") and node["widgetQuestionResultsStyle"].kind != JNull:
+ result.widgetQuestionResultsStyle = some(to(node["widgetQuestionResultsStyle"], typeof(result.widgetQuestionResultsStyle.get())))
+ if node.hasKey("widgetQuestionShowBreakdown") and node["widgetQuestionShowBreakdown"].kind != JNull:
+ result.widgetQuestionShowBreakdown = some(to(node["widgetQuestionShowBreakdown"], typeof(result.widgetQuestionShowBreakdown.get())))
+ if node.hasKey("widgetQuestionStyle") and node["widgetQuestionStyle"].kind != JNull:
+ result.widgetQuestionStyle = some(to(node["widgetQuestionStyle"], typeof(result.widgetQuestionStyle.get())))
+ if node.hasKey("widgetQuestionWhenToSave") and node["widgetQuestionWhenToSave"].kind != JNull:
+ result.widgetQuestionWhenToSave = some(to(node["widgetQuestionWhenToSave"], typeof(result.widgetQuestionWhenToSave.get())))
+ if node.hasKey("widgetQuestionsRequired") and node["widgetQuestionsRequired"].kind != JNull:
+ result.widgetQuestionsRequired = some(to(node["widgetQuestionsRequired"], typeof(result.widgetQuestionsRequired.get())))
+ if node.hasKey("widgetSubQuestionVisibility") and node["widgetSubQuestionVisibility"].kind != JNull:
+ result.widgetSubQuestionVisibility = some(to(node["widgetSubQuestionVisibility"], typeof(result.widgetSubQuestionVisibility.get())))
+ if node.hasKey("wrap") and node["wrap"].kind != JNull:
+ result.wrap = some(to(node["wrap"], typeof(result.wrap.get())))
+ if node.hasKey("usersListLocation") and node["usersListLocation"].kind != JNull:
+ result.usersListLocation = some(to(node["usersListLocation"], typeof(result.usersListLocation.get())))
+ if node.hasKey("usersListIncludeOffline") and node["usersListIncludeOffline"].kind != JNull:
+ result.usersListIncludeOffline = some(to(node["usersListIncludeOffline"], typeof(result.usersListIncludeOffline.get())))
+ if node.hasKey("ticketBaseUrl") and node["ticketBaseUrl"].kind != JNull:
+ result.ticketBaseUrl = some(to(node["ticketBaseUrl"], typeof(result.ticketBaseUrl.get())))
+ if node.hasKey("ticketKBSearchEndpoint") and node["ticketKBSearchEndpoint"].kind != JNull:
+ result.ticketKBSearchEndpoint = some(to(node["ticketKBSearchEndpoint"], typeof(result.ticketKBSearchEndpoint.get())))
+ if node.hasKey("ticketFileUploadsEnabled") and node["ticketFileUploadsEnabled"].kind != JNull:
+ result.ticketFileUploadsEnabled = some(to(node["ticketFileUploadsEnabled"], typeof(result.ticketFileUploadsEnabled.get())))
+ if node.hasKey("ticketMaxFileSize") and node["ticketMaxFileSize"].kind != JNull:
+ result.ticketMaxFileSize = some(to(node["ticketMaxFileSize"], typeof(result.ticketMaxFileSize.get())))
+ if node.hasKey("ticketAutoAssignUserIds") and node["ticketAutoAssignUserIds"].kind != JNull:
+ result.ticketAutoAssignUserIds = some(to(node["ticketAutoAssignUserIds"], typeof(result.ticketAutoAssignUserIds.get())))
+ if node.hasKey("tos") and node["tos"].kind != JNull:
+ result.tos = some(to(node["tos"], typeof(result.tos.get())))
+
+# Custom JSON serialization for CustomConfigParameters with custom field names
+proc `%`*(obj: CustomConfigParameters): JsonNode =
+ result = newJObject()
+ if obj.absoluteAndRelativeDates.isSome():
+ result["absoluteAndRelativeDates"] = %obj.absoluteAndRelativeDates.get()
+ if obj.absoluteDates.isSome():
+ result["absoluteDates"] = %obj.absoluteDates.get()
+ if obj.allowAnon.isSome():
+ result["allowAnon"] = %obj.allowAnon.get()
+ if obj.allowAnonFlag.isSome():
+ result["allowAnonFlag"] = %obj.allowAnonFlag.get()
+ if obj.allowAnonVotes.isSome():
+ result["allowAnonVotes"] = %obj.allowAnonVotes.get()
+ if obj.allowedLanguages.isSome():
+ result["allowedLanguages"] = %obj.allowedLanguages.get()
+ if obj.collapseReplies.isSome():
+ result["collapseReplies"] = %obj.collapseReplies.get()
+ if obj.commentCountFormat.isSome():
+ result["commentCountFormat"] = %obj.commentCountFormat.get()
+ if obj.commentHTMLRenderingMode.isSome():
+ result["commentHTMLRenderingMode"] = %obj.commentHTMLRenderingMode.get()
+ if obj.commentThreadDeleteMode.isSome():
+ result["commentThreadDeleteMode"] = %obj.commentThreadDeleteMode.get()
+ if obj.commenterNameFormat.isSome():
+ result["commenterNameFormat"] = %obj.commenterNameFormat.get()
+ if obj.countAboveToggle.isSome():
+ result["countAboveToggle"] = %obj.countAboveToggle.get()
+ if obj.customCSS.isSome():
+ result["customCSS"] = %obj.customCSS.get()
+ if obj.defaultAvatarSrc.isSome():
+ result["defaultAvatarSrc"] = %obj.defaultAvatarSrc.get()
+ if obj.defaultSortDirection.isSome():
+ result["defaultSortDirection"] = %obj.defaultSortDirection.get()
+ if obj.defaultUsername.isSome():
+ result["defaultUsername"] = %obj.defaultUsername.get()
+ if obj.disableAutoAdminMigration.isSome():
+ result["disableAutoAdminMigration"] = %obj.disableAutoAdminMigration.get()
+ if obj.disableAutoHashTagCreation.isSome():
+ result["disableAutoHashTagCreation"] = %obj.disableAutoHashTagCreation.get()
+ if obj.disableBlocking.isSome():
+ result["disableBlocking"] = %obj.disableBlocking.get()
+ if obj.disableCommenterCommentDelete.isSome():
+ result["disableCommenterCommentDelete"] = %obj.disableCommenterCommentDelete.get()
+ if obj.disableCommenterCommentEdit.isSome():
+ result["disableCommenterCommentEdit"] = %obj.disableCommenterCommentEdit.get()
+ if obj.disableEmailInputs.isSome():
+ result["disableEmailInputs"] = %obj.disableEmailInputs.get()
+ if obj.disableLiveCommenting.isSome():
+ result["disableLiveCommenting"] = %obj.disableLiveCommenting.get()
+ if obj.disableNotificationBell.isSome():
+ result["disableNotificationBell"] = %obj.disableNotificationBell.get()
+ if obj.disableProfileComments.isSome():
+ result["disableProfileComments"] = %obj.disableProfileComments.get()
+ if obj.disableProfileDirectMessages.isSome():
+ result["disableProfileDirectMessages"] = %obj.disableProfileDirectMessages.get()
+ if obj.disableProfiles.isSome():
+ result["disableProfiles"] = %obj.disableProfiles.get()
+ if obj.disableSuccessMessage.isSome():
+ result["disableSuccessMessage"] = %obj.disableSuccessMessage.get()
+ if obj.disableToolbar.isSome():
+ result["disableToolbar"] = %obj.disableToolbar.get()
+ if obj.disableUnverifiedLabel.isSome():
+ result["disableUnverifiedLabel"] = %obj.disableUnverifiedLabel.get()
+ if obj.disableVoting.isSome():
+ result["disableVoting"] = %obj.disableVoting.get()
+ if obj.enableCommenterLinks.isSome():
+ result["enableCommenterLinks"] = %obj.enableCommenterLinks.get()
+ if obj.enableSearch.isSome():
+ result["enableSearch"] = %obj.enableSearch.get()
+ if obj.enableSpoilers.isSome():
+ result["enableSpoilers"] = %obj.enableSpoilers.get()
+ if obj.enableThirdPartyCookieBypass.isSome():
+ result["enableThirdPartyCookieBypass"] = %obj.enableThirdPartyCookieBypass.get()
+ if obj.enableViewCounts.isSome():
+ result["enableViewCounts"] = %obj.enableViewCounts.get()
+ if obj.enableVoteList.isSome():
+ result["enableVoteList"] = %obj.enableVoteList.get()
+ if obj.enableWYSIWYG.isSome():
+ result["enableWYSIWYG"] = %obj.enableWYSIWYG.get()
+ if obj.gifRating.isSome():
+ result["gifRating"] = %obj.gifRating.get()
+ if obj.hasDarkBackground.isSome():
+ result["hasDarkBackground"] = %obj.hasDarkBackground.get()
+ if obj.headerHTML.isSome():
+ result["headerHTML"] = %obj.headerHTML.get()
+ if obj.hideAvatars.isSome():
+ result["hideAvatars"] = %obj.hideAvatars.get()
+ if obj.hideCommentsUnderCountTextFormat.isSome():
+ result["hideCommentsUnderCountTextFormat"] = %obj.hideCommentsUnderCountTextFormat.get()
+ if obj.imageContentProfanityLevel.isSome():
+ result["imageContentProfanityLevel"] = %obj.imageContentProfanityLevel.get()
+ if obj.inputAfterComments.isSome():
+ result["inputAfterComments"] = %obj.inputAfterComments.get()
+ if obj.limitCommentsByGroups.isSome():
+ result["limitCommentsByGroups"] = %obj.limitCommentsByGroups.get()
+ if obj.locale.isSome():
+ result["locale"] = %obj.locale.get()
+ if obj.maxCommentCharacterLength.isSome():
+ result["maxCommentCharacterLength"] = %obj.maxCommentCharacterLength.get()
+ if obj.maxCommentCreatedCountPUPM.isSome():
+ result["maxCommentCreatedCountPUPM"] = %obj.maxCommentCreatedCountPUPM.get()
+ if obj.noCustomConfig.isSome():
+ result["noCustomConfig"] = %obj.noCustomConfig.get()
+ if obj.mentionAutoCompleteMode.isSome():
+ result["mentionAutoCompleteMode"] = %obj.mentionAutoCompleteMode.get()
+ if obj.noImageUploads.isSome():
+ result["noImageUploads"] = %obj.noImageUploads.get()
+ if obj.allowEmbeds.isSome():
+ result["allowEmbeds"] = %obj.allowEmbeds.get()
+ if obj.allowedEmbedDomains.isSome():
+ result["allowedEmbedDomains"] = %obj.allowedEmbedDomains.get()
+ if obj.noStyles.isSome():
+ result["noStyles"] = %obj.noStyles.get()
+ if obj.pageSize.isSome():
+ result["pageSize"] = %obj.pageSize.get()
+ if obj.readonly.isSome():
+ result["readonly"] = %obj.readonly.get()
+ if obj.noNewRootComments.isSome():
+ result["noNewRootComments"] = %obj.noNewRootComments.get()
+ if obj.requireSSO.isSome():
+ result["requireSSO"] = %obj.requireSSO.get()
+ if obj.enableFChat.isSome():
+ result["enableFChat"] = %obj.enableFChat.get()
+ if obj.enableResizeHandle.isSome():
+ result["enableResizeHandle"] = %obj.enableResizeHandle.get()
+ if obj.restrictedLinkDomains.isSome():
+ result["restrictedLinkDomains"] = %obj.restrictedLinkDomains.get()
+ if obj.showBadgesInTopBar.isSome():
+ result["showBadgesInTopBar"] = %obj.showBadgesInTopBar.get()
+ if obj.showCommentSaveSuccess.isSome():
+ result["showCommentSaveSuccess"] = %obj.showCommentSaveSuccess.get()
+ if obj.showLiveRightAway.isSome():
+ result["showLiveRightAway"] = %obj.showLiveRightAway.get()
+ if obj.showQuestion.isSome():
+ result["showQuestion"] = %obj.showQuestion.get()
+ if obj.spamRules.isSome():
+ result["spamRules"] = %obj.spamRules.get()
+ if obj.ssoSecLvl.isSome():
+ result["ssoSecLvl"] = %obj.ssoSecLvl.get()
+ if obj.translations.isSome():
+ result["translations"] = %obj.translations.get()
+ if obj.useShowCommentsToggle.isSome():
+ result["useShowCommentsToggle"] = %obj.useShowCommentsToggle.get()
+ if obj.useSingleLineCommentInput.isSome():
+ result["useSingleLineCommentInput"] = %obj.useSingleLineCommentInput.get()
+ if obj.voteStyle.isSome():
+ result["voteStyle"] = %obj.voteStyle.get()
+ if obj.widgetQuestionId.isSome():
+ result["widgetQuestionId"] = %obj.widgetQuestionId.get()
+ if obj.widgetQuestionResultsStyle.isSome():
+ result["widgetQuestionResultsStyle"] = %obj.widgetQuestionResultsStyle.get()
+ if obj.widgetQuestionShowBreakdown.isSome():
+ result["widgetQuestionShowBreakdown"] = %obj.widgetQuestionShowBreakdown.get()
+ if obj.widgetQuestionStyle.isSome():
+ result["widgetQuestionStyle"] = %obj.widgetQuestionStyle.get()
+ if obj.widgetQuestionWhenToSave.isSome():
+ result["widgetQuestionWhenToSave"] = %obj.widgetQuestionWhenToSave.get()
+ if obj.widgetQuestionsRequired.isSome():
+ result["widgetQuestionsRequired"] = %obj.widgetQuestionsRequired.get()
+ if obj.widgetSubQuestionVisibility.isSome():
+ result["widgetSubQuestionVisibility"] = %obj.widgetSubQuestionVisibility.get()
+ if obj.wrap.isSome():
+ result["wrap"] = %obj.wrap.get()
+ if obj.usersListLocation.isSome():
+ result["usersListLocation"] = %obj.usersListLocation.get()
+ if obj.usersListIncludeOffline.isSome():
+ result["usersListIncludeOffline"] = %obj.usersListIncludeOffline.get()
+ if obj.ticketBaseUrl.isSome():
+ result["ticketBaseUrl"] = %obj.ticketBaseUrl.get()
+ if obj.ticketKBSearchEndpoint.isSome():
+ result["ticketKBSearchEndpoint"] = %obj.ticketKBSearchEndpoint.get()
+ if obj.ticketFileUploadsEnabled.isSome():
+ result["ticketFileUploadsEnabled"] = %obj.ticketFileUploadsEnabled.get()
+ if obj.ticketMaxFileSize.isSome():
+ result["ticketMaxFileSize"] = %obj.ticketMaxFileSize.get()
+ if obj.ticketAutoAssignUserIds.isSome():
+ result["ticketAutoAssignUserIds"] = %obj.ticketAutoAssignUserIds.get()
+ if obj.tos.isSome():
+ result["tos"] = %obj.tos.get()
+
diff --git a/client/fastcomments/models/model_delete_comment200response.nim b/client/fastcomments/models/model_delete_comment200response.nim
deleted file mode 100644
index 2060567..0000000
--- a/client/fastcomments/models/model_delete_comment200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_delete_comment_action
-import model_delete_comment_result
-
-# AnyOf type
-type DeleteComment200responseKind* {.pure.} = enum
- DeleteCommentResultVariant
- APIErrorVariant
-
-type DeleteComment200response* = object
- ##
- case kind*: DeleteComment200responseKind
- of DeleteComment200responseKind.DeleteCommentResultVariant:
- DeleteCommentResultValue*: DeleteCommentResult
- of DeleteComment200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[DeleteComment200response]): DeleteComment200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return DeleteComment200response(kind: DeleteComment200responseKind.DeleteCommentResultVariant, DeleteCommentResultValue: to(node, DeleteCommentResult))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as DeleteCommentResult: ", e.msg
- try:
- return DeleteComment200response(kind: DeleteComment200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of DeleteComment200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_delete_comment_public200response.nim b/client/fastcomments/models/model_delete_comment_public200response.nim
deleted file mode 100644
index e4965bb..0000000
--- a/client/fastcomments/models/model_delete_comment_public200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_deleted_comment_result_comment
-import model_public_api_delete_comment_response
-
-# AnyOf type
-type DeleteCommentPublic200responseKind* {.pure.} = enum
- PublicAPIDeleteCommentResponseVariant
- APIErrorVariant
-
-type DeleteCommentPublic200response* = object
- ##
- case kind*: DeleteCommentPublic200responseKind
- of DeleteCommentPublic200responseKind.PublicAPIDeleteCommentResponseVariant:
- PublicAPIDeleteCommentResponseValue*: PublicAPIDeleteCommentResponse
- of DeleteCommentPublic200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[DeleteCommentPublic200response]): DeleteCommentPublic200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return DeleteCommentPublic200response(kind: DeleteCommentPublic200responseKind.PublicAPIDeleteCommentResponseVariant, PublicAPIDeleteCommentResponseValue: to(node, PublicAPIDeleteCommentResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as PublicAPIDeleteCommentResponse: ", e.msg
- try:
- return DeleteCommentPublic200response(kind: DeleteCommentPublic200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of DeleteCommentPublic200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_delete_comment_result.nim b/client/fastcomments/models/model_delete_comment_result.nim
index b8b6d2b..2b73479 100644
--- a/client/fastcomments/models/model_delete_comment_result.nim
+++ b/client/fastcomments/models/model_delete_comment_result.nim
@@ -20,3 +20,19 @@ type DeleteCommentResult* = object
action*: DeleteCommentAction
status*: APIStatus
+
+# Custom JSON deserialization for DeleteCommentResult with custom field names
+proc to*(node: JsonNode, T: typedesc[DeleteCommentResult]): DeleteCommentResult =
+ result = DeleteCommentResult()
+ if node.kind == JObject:
+ if node.hasKey("action"):
+ result.action = to(node["action"], DeleteCommentAction)
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for DeleteCommentResult with custom field names
+proc `%`*(obj: DeleteCommentResult): JsonNode =
+ result = newJObject()
+ result["action"] = %obj.action
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_delete_comment_vote200response.nim b/client/fastcomments/models/model_delete_comment_vote200response.nim
deleted file mode 100644
index 767379c..0000000
--- a/client/fastcomments/models/model_delete_comment_vote200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_vote_delete_response
-
-# AnyOf type
-type DeleteCommentVote200responseKind* {.pure.} = enum
- VoteDeleteResponseVariant
- APIErrorVariant
-
-type DeleteCommentVote200response* = object
- ##
- case kind*: DeleteCommentVote200responseKind
- of DeleteCommentVote200responseKind.VoteDeleteResponseVariant:
- VoteDeleteResponseValue*: VoteDeleteResponse
- of DeleteCommentVote200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[DeleteCommentVote200response]): DeleteCommentVote200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return DeleteCommentVote200response(kind: DeleteCommentVote200responseKind.VoteDeleteResponseVariant, VoteDeleteResponseValue: to(node, VoteDeleteResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as VoteDeleteResponse: ", e.msg
- try:
- return DeleteCommentVote200response(kind: DeleteCommentVote200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of DeleteCommentVote200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_delete_domain_config200response.nim b/client/fastcomments/models/model_delete_domain_config200response.nim
deleted file mode 100644
index 96baa56..0000000
--- a/client/fastcomments/models/model_delete_domain_config200response.nim
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_any_type
-
-type DeleteDomainConfig200response* = object
- ##
- status*: Option[JsonNode]
-
diff --git a/client/fastcomments/models/model_delete_domain_config_response.nim b/client/fastcomments/models/model_delete_domain_config_response.nim
new file mode 100644
index 0000000..e3ff647
--- /dev/null
+++ b/client/fastcomments/models/model_delete_domain_config_response.nim
@@ -0,0 +1,34 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_any_type
+
+type DeleteDomainConfigResponse* = object
+ ##
+ status*: Option[JsonNode]
+
+
+# Custom JSON deserialization for DeleteDomainConfigResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[DeleteDomainConfigResponse]): DeleteDomainConfigResponse =
+ result = DeleteDomainConfigResponse()
+ if node.kind == JObject:
+ if node.hasKey("status") and node["status"].kind != JNull:
+ result.status = some(to(node["status"], typeof(result.status.get())))
+
+# Custom JSON serialization for DeleteDomainConfigResponse with custom field names
+proc `%`*(obj: DeleteDomainConfigResponse): JsonNode =
+ result = newJObject()
+ if obj.status.isSome():
+ result["status"] = %obj.status.get()
+
diff --git a/client/fastcomments/models/model_delete_feed_post_public200response.nim b/client/fastcomments/models/model_delete_feed_post_public200response.nim
deleted file mode 100644
index d5a2469..0000000
--- a/client/fastcomments/models/model_delete_feed_post_public200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_delete_feed_post_public200response_any_of
-
-# AnyOf type
-type DeleteFeedPostPublic200responseKind* {.pure.} = enum
- DeleteFeedPostPublic200responseAnyOfVariant
- APIErrorVariant
-
-type DeleteFeedPostPublic200response* = object
- ##
- case kind*: DeleteFeedPostPublic200responseKind
- of DeleteFeedPostPublic200responseKind.DeleteFeedPostPublic200responseAnyOfVariant:
- DeleteFeedPostPublic_200_response_anyOfValue*: DeleteFeedPostPublic200responseAnyOf
- of DeleteFeedPostPublic200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[DeleteFeedPostPublic200response]): DeleteFeedPostPublic200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return DeleteFeedPostPublic200response(kind: DeleteFeedPostPublic200responseKind.DeleteFeedPostPublic200responseAnyOfVariant, DeleteFeedPostPublic_200_response_anyOfValue: to(node, DeleteFeedPostPublic200responseAnyOf))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as DeleteFeedPostPublic200responseAnyOf: ", e.msg
- try:
- return DeleteFeedPostPublic200response(kind: DeleteFeedPostPublic200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of DeleteFeedPostPublic200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_delete_feed_post_public200response_any_of.nim b/client/fastcomments/models/model_delete_feed_post_public200response_any_of.nim
deleted file mode 100644
index 21c69bf..0000000
--- a/client/fastcomments/models/model_delete_feed_post_public200response_any_of.nim
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_status
-
-type DeleteFeedPostPublic200responseAnyOf* = object
- ##
- status*: APIStatus
-
diff --git a/client/fastcomments/models/model_delete_feed_post_public_response.nim b/client/fastcomments/models/model_delete_feed_post_public_response.nim
new file mode 100644
index 0000000..119e8c3
--- /dev/null
+++ b/client/fastcomments/models/model_delete_feed_post_public_response.nim
@@ -0,0 +1,33 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type DeleteFeedPostPublicResponse* = object
+ ##
+ status*: APIStatus
+
+
+# Custom JSON deserialization for DeleteFeedPostPublicResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[DeleteFeedPostPublicResponse]): DeleteFeedPostPublicResponse =
+ result = DeleteFeedPostPublicResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for DeleteFeedPostPublicResponse with custom field names
+proc `%`*(obj: DeleteFeedPostPublicResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_delete_hash_tag_request.nim b/client/fastcomments/models/model_delete_hash_tag_request.nim
deleted file mode 100644
index b3a4055..0000000
--- a/client/fastcomments/models/model_delete_hash_tag_request.nim
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-
-type DeleteHashTagRequest* = object
- ##
- tenantId*: Option[string]
-
diff --git a/client/fastcomments/models/model_delete_hash_tag_request_body.nim b/client/fastcomments/models/model_delete_hash_tag_request_body.nim
new file mode 100644
index 0000000..1ac57d7
--- /dev/null
+++ b/client/fastcomments/models/model_delete_hash_tag_request_body.nim
@@ -0,0 +1,33 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type DeleteHashTagRequestBody* = object
+ ##
+ tenantId*: Option[string]
+
+
+# Custom JSON deserialization for DeleteHashTagRequestBody with custom field names
+proc to*(node: JsonNode, T: typedesc[DeleteHashTagRequestBody]): DeleteHashTagRequestBody =
+ result = DeleteHashTagRequestBody()
+ if node.kind == JObject:
+ if node.hasKey("tenantId") and node["tenantId"].kind != JNull:
+ result.tenantId = some(to(node["tenantId"], typeof(result.tenantId.get())))
+
+# Custom JSON serialization for DeleteHashTagRequestBody with custom field names
+proc `%`*(obj: DeleteHashTagRequestBody): JsonNode =
+ result = newJObject()
+ if obj.tenantId.isSome():
+ result["tenantId"] = %obj.tenantId.get()
+
diff --git a/client/fastcomments/models/model_delete_page_api_response.nim b/client/fastcomments/models/model_delete_page_api_response.nim
index 9d853c3..0e385e4 100644
--- a/client/fastcomments/models/model_delete_page_api_response.nim
+++ b/client/fastcomments/models/model_delete_page_api_response.nim
@@ -19,3 +19,24 @@ type DeletePageAPIResponse* = object
code*: Option[string]
status*: string
+
+# Custom JSON deserialization for DeletePageAPIResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[DeletePageAPIResponse]): DeletePageAPIResponse =
+ result = DeletePageAPIResponse()
+ if node.kind == JObject:
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for DeletePageAPIResponse with custom field names
+proc `%`*(obj: DeletePageAPIResponse): JsonNode =
+ result = newJObject()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_delete_sso_user_api_response.nim b/client/fastcomments/models/model_delete_sso_user_api_response.nim
index 0af141d..bc99dfe 100644
--- a/client/fastcomments/models/model_delete_sso_user_api_response.nim
+++ b/client/fastcomments/models/model_delete_sso_user_api_response.nim
@@ -21,3 +21,28 @@ type DeleteSSOUserAPIResponse* = object
user*: Option[APISSOUser]
status*: string
+
+# Custom JSON deserialization for DeleteSSOUserAPIResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[DeleteSSOUserAPIResponse]): DeleteSSOUserAPIResponse =
+ result = DeleteSSOUserAPIResponse()
+ if node.kind == JObject:
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("user") and node["user"].kind != JNull:
+ result.user = some(to(node["user"], typeof(result.user.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for DeleteSSOUserAPIResponse with custom field names
+proc `%`*(obj: DeleteSSOUserAPIResponse): JsonNode =
+ result = newJObject()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ if obj.user.isSome():
+ result["user"] = %obj.user.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_delete_subscription_api_response.nim b/client/fastcomments/models/model_delete_subscription_api_response.nim
index d6f633b..ef0eb4c 100644
--- a/client/fastcomments/models/model_delete_subscription_api_response.nim
+++ b/client/fastcomments/models/model_delete_subscription_api_response.nim
@@ -19,3 +19,24 @@ type DeleteSubscriptionAPIResponse* = object
code*: Option[string]
status*: string
+
+# Custom JSON deserialization for DeleteSubscriptionAPIResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[DeleteSubscriptionAPIResponse]): DeleteSubscriptionAPIResponse =
+ result = DeleteSubscriptionAPIResponse()
+ if node.kind == JObject:
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for DeleteSubscriptionAPIResponse with custom field names
+proc `%`*(obj: DeleteSubscriptionAPIResponse): JsonNode =
+ result = newJObject()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_deleted_comment_result_comment.nim b/client/fastcomments/models/model_deleted_comment_result_comment.nim
index 96e1489..3a93981 100644
--- a/client/fastcomments/models/model_deleted_comment_result_comment.nim
+++ b/client/fastcomments/models/model_deleted_comment_result_comment.nim
@@ -20,3 +20,27 @@ type DeletedCommentResultComment* = object
commenterName*: string
userId*: Option[string]
+
+# Custom JSON deserialization for DeletedCommentResultComment with custom field names
+proc to*(node: JsonNode, T: typedesc[DeletedCommentResultComment]): DeletedCommentResultComment =
+ result = DeletedCommentResultComment()
+ if node.kind == JObject:
+ if node.hasKey("isDeleted") and node["isDeleted"].kind != JNull:
+ result.isDeleted = some(to(node["isDeleted"], typeof(result.isDeleted.get())))
+ if node.hasKey("commentHTML"):
+ result.commentHTML = to(node["commentHTML"], string)
+ if node.hasKey("commenterName"):
+ result.commenterName = to(node["commenterName"], string)
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+
+# Custom JSON serialization for DeletedCommentResultComment with custom field names
+proc `%`*(obj: DeletedCommentResultComment): JsonNode =
+ result = newJObject()
+ if obj.isDeleted.isSome():
+ result["isDeleted"] = %obj.isDeleted.get()
+ result["commentHTML"] = %obj.commentHTML
+ result["commenterName"] = %obj.commenterName
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+
diff --git a/client/fastcomments/models/model_email_template_definition.nim b/client/fastcomments/models/model_email_template_definition.nim
index fc01f07..6c9b266 100644
--- a/client/fastcomments/models/model_email_template_definition.nim
+++ b/client/fastcomments/models/model_email_template_definition.nim
@@ -21,3 +21,25 @@ type EmailTemplateDefinition* = object
defaultTranslationsByLocale*: Table[string, Table[string, string]] ## Construct a type with a set of properties K of type T
defaultEJS*: string
+
+# Custom JSON deserialization for EmailTemplateDefinition with custom field names
+proc to*(node: JsonNode, T: typedesc[EmailTemplateDefinition]): EmailTemplateDefinition =
+ result = EmailTemplateDefinition()
+ if node.kind == JObject:
+ if node.hasKey("emailTemplateId"):
+ result.emailTemplateId = to(node["emailTemplateId"], string)
+ if node.hasKey("defaultTestData"):
+ result.defaultTestData = to(node["defaultTestData"], Table[string, JsonNode])
+ if node.hasKey("defaultTranslationsByLocale"):
+ result.defaultTranslationsByLocale = to(node["defaultTranslationsByLocale"], Table[string, Table[string, string]])
+ if node.hasKey("defaultEJS"):
+ result.defaultEJS = to(node["defaultEJS"], string)
+
+# Custom JSON serialization for EmailTemplateDefinition with custom field names
+proc `%`*(obj: EmailTemplateDefinition): JsonNode =
+ result = newJObject()
+ result["emailTemplateId"] = %obj.emailTemplateId
+ result["defaultTestData"] = %obj.defaultTestData
+ result["defaultTranslationsByLocale"] = %obj.defaultTranslationsByLocale
+ result["defaultEJS"] = %obj.defaultEJS
+
diff --git a/client/fastcomments/models/model_email_template_render_error_response.nim b/client/fastcomments/models/model_email_template_render_error_response.nim
index feb30fc..0778538 100644
--- a/client/fastcomments/models/model_email_template_render_error_response.nim
+++ b/client/fastcomments/models/model_email_template_render_error_response.nim
@@ -23,3 +23,34 @@ type EmailTemplateRenderErrorResponse* = object
createdAt*: string
lastOccurredAt*: string
+
+# Custom JSON deserialization for EmailTemplateRenderErrorResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[EmailTemplateRenderErrorResponse]): EmailTemplateRenderErrorResponse =
+ result = EmailTemplateRenderErrorResponse()
+ if node.kind == JObject:
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
+ if node.hasKey("tenantId"):
+ result.tenantId = to(node["tenantId"], string)
+ if node.hasKey("customTemplateId"):
+ result.customTemplateId = to(node["customTemplateId"], string)
+ if node.hasKey("error"):
+ result.error = to(node["error"], string)
+ if node.hasKey("count"):
+ result.count = to(node["count"], float64)
+ if node.hasKey("createdAt"):
+ result.createdAt = to(node["createdAt"], string)
+ if node.hasKey("lastOccurredAt"):
+ result.lastOccurredAt = to(node["lastOccurredAt"], string)
+
+# Custom JSON serialization for EmailTemplateRenderErrorResponse with custom field names
+proc `%`*(obj: EmailTemplateRenderErrorResponse): JsonNode =
+ result = newJObject()
+ result["id"] = %obj.id
+ result["tenantId"] = %obj.tenantId
+ result["customTemplateId"] = %obj.customTemplateId
+ result["error"] = %obj.error
+ result["count"] = %obj.count
+ result["createdAt"] = %obj.createdAt
+ result["lastOccurredAt"] = %obj.lastOccurredAt
+
diff --git a/client/fastcomments/models/model_f_comment.nim b/client/fastcomments/models/model_f_comment.nim
index 1c7750c..11d6955 100644
--- a/client/fastcomments/models/model_f_comment.nim
+++ b/client/fastcomments/models/model_f_comment.nim
@@ -92,6 +92,7 @@ type FComment* = object
requiresVerification*: Option[bool]
editKey*: Option[string]
tosAcceptedAt*: Option[string]
+ botId*: Option[string]
# Custom JSON deserialization for FComment with custom field names
@@ -242,6 +243,8 @@ proc to*(node: JsonNode, T: typedesc[FComment]): FComment =
result.editKey = some(to(node["editKey"], typeof(result.editKey.get())))
if node.hasKey("tosAcceptedAt") and node["tosAcceptedAt"].kind != JNull:
result.tosAcceptedAt = some(to(node["tosAcceptedAt"], typeof(result.tosAcceptedAt.get())))
+ if node.hasKey("botId") and node["botId"].kind != JNull:
+ result.botId = some(to(node["botId"], typeof(result.botId.get())))
# Custom JSON serialization for FComment with custom field names
proc `%`*(obj: FComment): JsonNode =
@@ -381,4 +384,6 @@ proc `%`*(obj: FComment): JsonNode =
result["editKey"] = %obj.editKey.get()
if obj.tosAcceptedAt.isSome():
result["tosAcceptedAt"] = %obj.tosAcceptedAt.get()
+ if obj.botId.isSome():
+ result["botId"] = %obj.botId.get()
diff --git a/client/fastcomments/models/model_f_comment_meta.nim b/client/fastcomments/models/model_f_comment_meta.nim
index 61c02ff..a6f5c8d 100644
--- a/client/fastcomments/models/model_f_comment_meta.nim
+++ b/client/fastcomments/models/model_f_comment_meta.nim
@@ -20,3 +20,25 @@ type FCommentMeta* = object
wpUserId*: Option[string]
wpPostId*: Option[string]
+
+# Custom JSON deserialization for FCommentMeta with custom field names
+proc to*(node: JsonNode, T: typedesc[FCommentMeta]): FCommentMeta =
+ result = FCommentMeta()
+ if node.kind == JObject:
+ if node.hasKey("wpId") and node["wpId"].kind != JNull:
+ result.wpId = some(to(node["wpId"], typeof(result.wpId.get())))
+ if node.hasKey("wpUserId") and node["wpUserId"].kind != JNull:
+ result.wpUserId = some(to(node["wpUserId"], typeof(result.wpUserId.get())))
+ if node.hasKey("wpPostId") and node["wpPostId"].kind != JNull:
+ result.wpPostId = some(to(node["wpPostId"], typeof(result.wpPostId.get())))
+
+# Custom JSON serialization for FCommentMeta with custom field names
+proc `%`*(obj: FCommentMeta): JsonNode =
+ result = newJObject()
+ if obj.wpId.isSome():
+ result["wpId"] = %obj.wpId.get()
+ if obj.wpUserId.isSome():
+ result["wpUserId"] = %obj.wpUserId.get()
+ if obj.wpPostId.isSome():
+ result["wpPostId"] = %obj.wpPostId.get()
+
diff --git a/client/fastcomments/models/model_feed_post_link.nim b/client/fastcomments/models/model_feed_post_link.nim
index 2cde46a..d3f11d1 100644
--- a/client/fastcomments/models/model_feed_post_link.nim
+++ b/client/fastcomments/models/model_feed_post_link.nim
@@ -20,3 +20,29 @@ type FeedPostLink* = object
description*: Option[string]
url*: Option[string]
+
+# Custom JSON deserialization for FeedPostLink with custom field names
+proc to*(node: JsonNode, T: typedesc[FeedPostLink]): FeedPostLink =
+ result = FeedPostLink()
+ if node.kind == JObject:
+ if node.hasKey("text") and node["text"].kind != JNull:
+ result.text = some(to(node["text"], typeof(result.text.get())))
+ if node.hasKey("title") and node["title"].kind != JNull:
+ result.title = some(to(node["title"], typeof(result.title.get())))
+ if node.hasKey("description") and node["description"].kind != JNull:
+ result.description = some(to(node["description"], typeof(result.description.get())))
+ if node.hasKey("url") and node["url"].kind != JNull:
+ result.url = some(to(node["url"], typeof(result.url.get())))
+
+# Custom JSON serialization for FeedPostLink with custom field names
+proc `%`*(obj: FeedPostLink): JsonNode =
+ result = newJObject()
+ if obj.text.isSome():
+ result["text"] = %obj.text.get()
+ if obj.title.isSome():
+ result["title"] = %obj.title.get()
+ if obj.description.isSome():
+ result["description"] = %obj.description.get()
+ if obj.url.isSome():
+ result["url"] = %obj.url.get()
+
diff --git a/client/fastcomments/models/model_feed_post_media_item.nim b/client/fastcomments/models/model_feed_post_media_item.nim
index befb8b5..10e3824 100644
--- a/client/fastcomments/models/model_feed_post_media_item.nim
+++ b/client/fastcomments/models/model_feed_post_media_item.nim
@@ -20,3 +20,24 @@ type FeedPostMediaItem* = object
linkUrl*: Option[string]
sizes*: seq[FeedPostMediaItemAsset]
+
+# Custom JSON deserialization for FeedPostMediaItem with custom field names
+proc to*(node: JsonNode, T: typedesc[FeedPostMediaItem]): FeedPostMediaItem =
+ result = FeedPostMediaItem()
+ if node.kind == JObject:
+ if node.hasKey("title") and node["title"].kind != JNull:
+ result.title = some(to(node["title"], typeof(result.title.get())))
+ if node.hasKey("linkUrl") and node["linkUrl"].kind != JNull:
+ result.linkUrl = some(to(node["linkUrl"], typeof(result.linkUrl.get())))
+ if node.hasKey("sizes"):
+ result.sizes = to(node["sizes"], seq[FeedPostMediaItemAsset])
+
+# Custom JSON serialization for FeedPostMediaItem with custom field names
+proc `%`*(obj: FeedPostMediaItem): JsonNode =
+ result = newJObject()
+ if obj.title.isSome():
+ result["title"] = %obj.title.get()
+ if obj.linkUrl.isSome():
+ result["linkUrl"] = %obj.linkUrl.get()
+ result["sizes"] = %obj.sizes
+
diff --git a/client/fastcomments/models/model_feed_post_media_item_asset.nim b/client/fastcomments/models/model_feed_post_media_item_asset.nim
index cd568d4..f99d810 100644
--- a/client/fastcomments/models/model_feed_post_media_item_asset.nim
+++ b/client/fastcomments/models/model_feed_post_media_item_asset.nim
@@ -19,3 +19,22 @@ type FeedPostMediaItemAsset* = object
h*: int
src*: string
+
+# Custom JSON deserialization for FeedPostMediaItemAsset with custom field names
+proc to*(node: JsonNode, T: typedesc[FeedPostMediaItemAsset]): FeedPostMediaItemAsset =
+ result = FeedPostMediaItemAsset()
+ if node.kind == JObject:
+ if node.hasKey("w"):
+ result.w = to(node["w"], int)
+ if node.hasKey("h"):
+ result.h = to(node["h"], int)
+ if node.hasKey("src"):
+ result.src = to(node["src"], string)
+
+# Custom JSON serialization for FeedPostMediaItemAsset with custom field names
+proc `%`*(obj: FeedPostMediaItemAsset): JsonNode =
+ result = newJObject()
+ result["w"] = %obj.w
+ result["h"] = %obj.h
+ result["src"] = %obj.src
+
diff --git a/client/fastcomments/models/model_feed_post_stats.nim b/client/fastcomments/models/model_feed_post_stats.nim
index 4ae759c..098c10d 100644
--- a/client/fastcomments/models/model_feed_post_stats.nim
+++ b/client/fastcomments/models/model_feed_post_stats.nim
@@ -18,3 +18,21 @@ type FeedPostStats* = object
reacts*: Option[Table[string, int]]
commentCount*: Option[int]
+
+# Custom JSON deserialization for FeedPostStats with custom field names
+proc to*(node: JsonNode, T: typedesc[FeedPostStats]): FeedPostStats =
+ result = FeedPostStats()
+ if node.kind == JObject:
+ if node.hasKey("reacts") and node["reacts"].kind != JNull:
+ result.reacts = some(to(node["reacts"], typeof(result.reacts.get())))
+ if node.hasKey("commentCount") and node["commentCount"].kind != JNull:
+ result.commentCount = some(to(node["commentCount"], typeof(result.commentCount.get())))
+
+# Custom JSON serialization for FeedPostStats with custom field names
+proc `%`*(obj: FeedPostStats): JsonNode =
+ result = newJObject()
+ if obj.reacts.isSome():
+ result["reacts"] = %obj.reacts.get()
+ if obj.commentCount.isSome():
+ result["commentCount"] = %obj.commentCount.get()
+
diff --git a/client/fastcomments/models/model_feed_posts_stats_response.nim b/client/fastcomments/models/model_feed_posts_stats_response.nim
index 97e24f2..df232f2 100644
--- a/client/fastcomments/models/model_feed_posts_stats_response.nim
+++ b/client/fastcomments/models/model_feed_posts_stats_response.nim
@@ -20,3 +20,19 @@ type FeedPostsStatsResponse* = object
status*: APIStatus
stats*: Table[string, FeedPostStats]
+
+# Custom JSON deserialization for FeedPostsStatsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[FeedPostsStatsResponse]): FeedPostsStatsResponse =
+ result = FeedPostsStatsResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("stats"):
+ result.stats = to(node["stats"], Table[string, FeedPostStats])
+
+# Custom JSON serialization for FeedPostsStatsResponse with custom field names
+proc `%`*(obj: FeedPostsStatsResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["stats"] = %obj.stats
+
diff --git a/client/fastcomments/models/model_find_comments_by_range_response.nim b/client/fastcomments/models/model_find_comments_by_range_response.nim
index ba13999..5bb512b 100644
--- a/client/fastcomments/models/model_find_comments_by_range_response.nim
+++ b/client/fastcomments/models/model_find_comments_by_range_response.nim
@@ -25,12 +25,7 @@ proc to*(node: JsonNode, T: typedesc[FindCommentsByRangeResponse]): FindComments
result = FindCommentsByRangeResponse()
if node.kind == JObject:
if node.hasKey("results"):
- # Array of types with custom JSON - manually iterate and deserialize
- let arrayNode = node["results"]
- if arrayNode.kind == JArray:
- result.results = @[]
- for item in arrayNode.items:
- result.results.add(to(item, FindCommentsByRangeItem))
+ result.results = to(node["results"], seq[FindCommentsByRangeItem])
if node.hasKey("createdAt"):
result.createdAt = to(node["createdAt"], string)
diff --git a/client/fastcomments/models/model_flag_comment200response.nim b/client/fastcomments/models/model_flag_comment200response.nim
deleted file mode 100644
index 691c8b6..0000000
--- a/client/fastcomments/models/model_flag_comment200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_flag_comment_response
-
-# AnyOf type
-type FlagComment200responseKind* {.pure.} = enum
- FlagCommentResponseVariant
- APIErrorVariant
-
-type FlagComment200response* = object
- ##
- case kind*: FlagComment200responseKind
- of FlagComment200responseKind.FlagCommentResponseVariant:
- FlagCommentResponseValue*: FlagCommentResponse
- of FlagComment200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[FlagComment200response]): FlagComment200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return FlagComment200response(kind: FlagComment200responseKind.FlagCommentResponseVariant, FlagCommentResponseValue: to(node, FlagCommentResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as FlagCommentResponse: ", e.msg
- try:
- return FlagComment200response(kind: FlagComment200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of FlagComment200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_flag_comment_public200response.nim b/client/fastcomments/models/model_flag_comment_public200response.nim
deleted file mode 100644
index 65db5c5..0000000
--- a/client/fastcomments/models/model_flag_comment_public200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_empty_response
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-
-# AnyOf type
-type FlagCommentPublic200responseKind* {.pure.} = enum
- APIEmptyResponseVariant
- APIErrorVariant
-
-type FlagCommentPublic200response* = object
- ##
- case kind*: FlagCommentPublic200responseKind
- of FlagCommentPublic200responseKind.APIEmptyResponseVariant:
- APIEmptyResponseValue*: APIEmptyResponse
- of FlagCommentPublic200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[FlagCommentPublic200response]): FlagCommentPublic200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return FlagCommentPublic200response(kind: FlagCommentPublic200responseKind.APIEmptyResponseVariant, APIEmptyResponseValue: to(node, APIEmptyResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIEmptyResponse: ", e.msg
- try:
- return FlagCommentPublic200response(kind: FlagCommentPublic200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of FlagCommentPublic200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_flag_comment_response.nim b/client/fastcomments/models/model_flag_comment_response.nim
index da56c00..2d547b3 100644
--- a/client/fastcomments/models/model_flag_comment_response.nim
+++ b/client/fastcomments/models/model_flag_comment_response.nim
@@ -22,3 +22,32 @@ type FlagCommentResponse* = object
reason*: Option[string]
wasUnapproved*: Option[bool]
+
+# Custom JSON deserialization for FlagCommentResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[FlagCommentResponse]): FlagCommentResponse =
+ result = FlagCommentResponse()
+ if node.kind == JObject:
+ if node.hasKey("statusCode") and node["statusCode"].kind != JNull:
+ result.statusCode = some(to(node["statusCode"], typeof(result.statusCode.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("wasUnapproved") and node["wasUnapproved"].kind != JNull:
+ result.wasUnapproved = some(to(node["wasUnapproved"], typeof(result.wasUnapproved.get())))
+
+# Custom JSON serialization for FlagCommentResponse with custom field names
+proc `%`*(obj: FlagCommentResponse): JsonNode =
+ result = newJObject()
+ if obj.statusCode.isSome():
+ result["statusCode"] = %obj.statusCode.get()
+ result["status"] = %obj.status
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.wasUnapproved.isSome():
+ result["wasUnapproved"] = %obj.wasUnapproved.get()
+
diff --git a/client/fastcomments/models/model_get_audit_logs200response.nim b/client/fastcomments/models/model_get_audit_logs200response.nim
deleted file mode 100644
index 4a25eb4..0000000
--- a/client/fastcomments/models/model_get_audit_logs200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_audit_log
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_audit_logs_response
-
-# AnyOf type
-type GetAuditLogs200responseKind* {.pure.} = enum
- GetAuditLogsResponseVariant
- APIErrorVariant
-
-type GetAuditLogs200response* = object
- ##
- case kind*: GetAuditLogs200responseKind
- of GetAuditLogs200responseKind.GetAuditLogsResponseVariant:
- GetAuditLogsResponseValue*: GetAuditLogsResponse
- of GetAuditLogs200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetAuditLogs200response]): GetAuditLogs200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetAuditLogs200response(kind: GetAuditLogs200responseKind.GetAuditLogsResponseVariant, GetAuditLogsResponseValue: to(node, GetAuditLogsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetAuditLogsResponse: ", e.msg
- try:
- return GetAuditLogs200response(kind: GetAuditLogs200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetAuditLogs200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_banned_users_count_response.nim b/client/fastcomments/models/model_get_banned_users_count_response.nim
new file mode 100644
index 0000000..7bbefa0
--- /dev/null
+++ b/client/fastcomments/models/model_get_banned_users_count_response.nim
@@ -0,0 +1,36 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type GetBannedUsersCountResponse* = object
+ ##
+ totalCount*: float64
+ status*: string
+
+
+# Custom JSON deserialization for GetBannedUsersCountResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetBannedUsersCountResponse]): GetBannedUsersCountResponse =
+ result = GetBannedUsersCountResponse()
+ if node.kind == JObject:
+ if node.hasKey("totalCount"):
+ result.totalCount = to(node["totalCount"], float64)
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for GetBannedUsersCountResponse with custom field names
+proc `%`*(obj: GetBannedUsersCountResponse): JsonNode =
+ result = newJObject()
+ result["totalCount"] = %obj.totalCount
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_banned_users_from_comment_response.nim b/client/fastcomments/models/model_get_banned_users_from_comment_response.nim
new file mode 100644
index 0000000..8db3197
--- /dev/null
+++ b/client/fastcomments/models/model_get_banned_users_from_comment_response.nim
@@ -0,0 +1,73 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_banned_user_with_multi_match_info
+import model_api_status
+
+type Code* {.pure.} = enum
+ NotFound
+ NotLoggedIn
+
+type GetBannedUsersFromCommentResponse* = object
+ ##
+ bannedUsers*: seq[APIBannedUserWithMultiMatchInfo]
+ code*: Option[Code]
+ status*: APIStatus
+
+func `%`*(v: Code): JsonNode =
+ result = case v:
+ of Code.NotFound: %"not-found"
+ of Code.NotLoggedIn: %"not-logged-in"
+func `$`*(v: Code): string =
+ result = case v:
+ of Code.NotFound: $("not-found")
+ of Code.NotLoggedIn: $("not-logged-in")
+
+proc to*(node: JsonNode, T: typedesc[Code]): Code =
+ if node.kind != JString:
+ raise newException(ValueError, "Expected string for enum Code, got " & $node.kind)
+ let strVal = node.getStr()
+ case strVal:
+ of $("not-found"):
+ return Code.NotFound
+ of $("not-logged-in"):
+ return Code.NotLoggedIn
+ else:
+ raise newException(ValueError, "Invalid enum value for Code: " & strVal)
+
+
+# Custom JSON deserialization for GetBannedUsersFromCommentResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetBannedUsersFromCommentResponse]): GetBannedUsersFromCommentResponse =
+ result = GetBannedUsersFromCommentResponse()
+ if node.kind == JObject:
+ if node.hasKey("bannedUsers"):
+ # Array of types with custom JSON - manually iterate and deserialize
+ let arrayNode = node["bannedUsers"]
+ if arrayNode.kind == JArray:
+ result.bannedUsers = @[]
+ for item in arrayNode.items:
+ result.bannedUsers.add(to(item, APIBannedUserWithMultiMatchInfo))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], Code))
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for GetBannedUsersFromCommentResponse with custom field names
+proc `%`*(obj: GetBannedUsersFromCommentResponse): JsonNode =
+ result = newJObject()
+ result["bannedUsers"] = %obj.bannedUsers
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_cached_notification_count200response.nim b/client/fastcomments/models/model_get_cached_notification_count200response.nim
deleted file mode 100644
index 2b5bc9c..0000000
--- a/client/fastcomments/models/model_get_cached_notification_count200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_cached_notification_count_response
-import model_user_notification_count
-
-# AnyOf type
-type GetCachedNotificationCount200responseKind* {.pure.} = enum
- GetCachedNotificationCountResponseVariant
- APIErrorVariant
-
-type GetCachedNotificationCount200response* = object
- ##
- case kind*: GetCachedNotificationCount200responseKind
- of GetCachedNotificationCount200responseKind.GetCachedNotificationCountResponseVariant:
- GetCachedNotificationCountResponseValue*: GetCachedNotificationCountResponse
- of GetCachedNotificationCount200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetCachedNotificationCount200response]): GetCachedNotificationCount200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetCachedNotificationCount200response(kind: GetCachedNotificationCount200responseKind.GetCachedNotificationCountResponseVariant, GetCachedNotificationCountResponseValue: to(node, GetCachedNotificationCountResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetCachedNotificationCountResponse: ", e.msg
- try:
- return GetCachedNotificationCount200response(kind: GetCachedNotificationCount200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetCachedNotificationCount200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_comment200response.nim b/client/fastcomments/models/model_get_comment200response.nim
deleted file mode 100644
index 01cc9d5..0000000
--- a/client/fastcomments/models/model_get_comment200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_comment
-import model_api_error
-import model_api_get_comment_response
-import model_api_status
-import model_custom_config_parameters
-
-# AnyOf type
-type GetComment200responseKind* {.pure.} = enum
- APIGetCommentResponseVariant
- APIErrorVariant
-
-type GetComment200response* = object
- ##
- case kind*: GetComment200responseKind
- of GetComment200responseKind.APIGetCommentResponseVariant:
- APIGetCommentResponseValue*: APIGetCommentResponse
- of GetComment200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetComment200response]): GetComment200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetComment200response(kind: GetComment200responseKind.APIGetCommentResponseVariant, APIGetCommentResponseValue: to(node, APIGetCommentResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIGetCommentResponse: ", e.msg
- try:
- return GetComment200response(kind: GetComment200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetComment200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_comment_ban_status_response.nim b/client/fastcomments/models/model_get_comment_ban_status_response.nim
new file mode 100644
index 0000000..690edf8
--- /dev/null
+++ b/client/fastcomments/models/model_get_comment_ban_status_response.nim
@@ -0,0 +1,42 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type GetCommentBanStatusResponse* = object
+ ##
+ status*: string
+ emailDomain*: Option[string]
+ canIPBan*: Option[bool]
+
+
+# Custom JSON deserialization for GetCommentBanStatusResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetCommentBanStatusResponse]): GetCommentBanStatusResponse =
+ result = GetCommentBanStatusResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+ if node.hasKey("emailDomain") and node["emailDomain"].kind != JNull:
+ result.emailDomain = some(to(node["emailDomain"], typeof(result.emailDomain.get())))
+ if node.hasKey("canIPBan") and node["canIPBan"].kind != JNull:
+ result.canIPBan = some(to(node["canIPBan"], typeof(result.canIPBan.get())))
+
+# Custom JSON serialization for GetCommentBanStatusResponse with custom field names
+proc `%`*(obj: GetCommentBanStatusResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ if obj.emailDomain.isSome():
+ result["emailDomain"] = %obj.emailDomain.get()
+ if obj.canIPBan.isSome():
+ result["canIPBan"] = %obj.canIPBan.get()
+
diff --git a/client/fastcomments/models/model_get_comment_text200response.nim b/client/fastcomments/models/model_get_comment_text200response.nim
deleted file mode 100644
index 82562d1..0000000
--- a/client/fastcomments/models/model_get_comment_text200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_public_api_get_comment_text_response
-
-# AnyOf type
-type GetCommentText200responseKind* {.pure.} = enum
- PublicAPIGetCommentTextResponseVariant
- APIErrorVariant
-
-type GetCommentText200response* = object
- ##
- case kind*: GetCommentText200responseKind
- of GetCommentText200responseKind.PublicAPIGetCommentTextResponseVariant:
- PublicAPIGetCommentTextResponseValue*: PublicAPIGetCommentTextResponse
- of GetCommentText200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetCommentText200response]): GetCommentText200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetCommentText200response(kind: GetCommentText200responseKind.PublicAPIGetCommentTextResponseVariant, PublicAPIGetCommentTextResponseValue: to(node, PublicAPIGetCommentTextResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as PublicAPIGetCommentTextResponse: ", e.msg
- try:
- return GetCommentText200response(kind: GetCommentText200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetCommentText200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_comment_text_response.nim b/client/fastcomments/models/model_get_comment_text_response.nim
new file mode 100644
index 0000000..ca11af3
--- /dev/null
+++ b/client/fastcomments/models/model_get_comment_text_response.nim
@@ -0,0 +1,38 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type GetCommentTextResponse* = object
+ ##
+ comment*: Option[string]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for GetCommentTextResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetCommentTextResponse]): GetCommentTextResponse =
+ result = GetCommentTextResponse()
+ if node.kind == JObject:
+ if node.hasKey("comment") and node["comment"].kind != JNull:
+ result.comment = some(to(node["comment"], typeof(result.comment.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for GetCommentTextResponse with custom field names
+proc `%`*(obj: GetCommentTextResponse): JsonNode =
+ result = newJObject()
+ if obj.comment.isSome():
+ result["comment"] = %obj.comment.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_comment_vote_user_names200response.nim b/client/fastcomments/models/model_get_comment_vote_user_names200response.nim
deleted file mode 100644
index 94ae974..0000000
--- a/client/fastcomments/models/model_get_comment_vote_user_names200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_comment_vote_user_names_success_response
-
-# AnyOf type
-type GetCommentVoteUserNames200responseKind* {.pure.} = enum
- GetCommentVoteUserNamesSuccessResponseVariant
- APIErrorVariant
-
-type GetCommentVoteUserNames200response* = object
- ##
- case kind*: GetCommentVoteUserNames200responseKind
- of GetCommentVoteUserNames200responseKind.GetCommentVoteUserNamesSuccessResponseVariant:
- GetCommentVoteUserNamesSuccessResponseValue*: GetCommentVoteUserNamesSuccessResponse
- of GetCommentVoteUserNames200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetCommentVoteUserNames200response]): GetCommentVoteUserNames200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetCommentVoteUserNames200response(kind: GetCommentVoteUserNames200responseKind.GetCommentVoteUserNamesSuccessResponseVariant, GetCommentVoteUserNamesSuccessResponseValue: to(node, GetCommentVoteUserNamesSuccessResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetCommentVoteUserNamesSuccessResponse: ", e.msg
- try:
- return GetCommentVoteUserNames200response(kind: GetCommentVoteUserNames200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetCommentVoteUserNames200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_comment_vote_user_names_success_response.nim b/client/fastcomments/models/model_get_comment_vote_user_names_success_response.nim
index e0a0f41..0e82451 100644
--- a/client/fastcomments/models/model_get_comment_vote_user_names_success_response.nim
+++ b/client/fastcomments/models/model_get_comment_vote_user_names_success_response.nim
@@ -20,3 +20,22 @@ type GetCommentVoteUserNamesSuccessResponse* = object
voteUserNames*: seq[string]
hasMore*: bool
+
+# Custom JSON deserialization for GetCommentVoteUserNamesSuccessResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetCommentVoteUserNamesSuccessResponse]): GetCommentVoteUserNamesSuccessResponse =
+ result = GetCommentVoteUserNamesSuccessResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("voteUserNames"):
+ result.voteUserNames = to(node["voteUserNames"], seq[string])
+ if node.hasKey("hasMore"):
+ result.hasMore = to(node["hasMore"], bool)
+
+# Custom JSON serialization for GetCommentVoteUserNamesSuccessResponse with custom field names
+proc `%`*(obj: GetCommentVoteUserNamesSuccessResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["voteUserNames"] = %obj.voteUserNames
+ result["hasMore"] = %obj.hasMore
+
diff --git a/client/fastcomments/models/model_get_comments200response.nim b/client/fastcomments/models/model_get_comments200response.nim
deleted file mode 100644
index b009d9d..0000000
--- a/client/fastcomments/models/model_get_comments200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_comment
-import model_api_error
-import model_api_get_comments_response
-import model_api_status
-import model_custom_config_parameters
-
-# AnyOf type
-type GetComments200responseKind* {.pure.} = enum
- APIGetCommentsResponseVariant
- APIErrorVariant
-
-type GetComments200response* = object
- ##
- case kind*: GetComments200responseKind
- of GetComments200responseKind.APIGetCommentsResponseVariant:
- APIGetCommentsResponseValue*: APIGetCommentsResponse
- of GetComments200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetComments200response]): GetComments200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetComments200response(kind: GetComments200responseKind.APIGetCommentsResponseVariant, APIGetCommentsResponseValue: to(node, APIGetCommentsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIGetCommentsResponse: ", e.msg
- try:
- return GetComments200response(kind: GetComments200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetComments200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_comments_for_user_response.nim b/client/fastcomments/models/model_get_comments_for_user_response.nim
new file mode 100644
index 0000000..e998bfc
--- /dev/null
+++ b/client/fastcomments/models/model_get_comments_for_user_response.nim
@@ -0,0 +1,34 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_any_type
+
+type GetCommentsForUserResponse* = object
+ ##
+ moderatingTenantIds*: Option[seq[string]]
+
+
+# Custom JSON deserialization for GetCommentsForUserResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetCommentsForUserResponse]): GetCommentsForUserResponse =
+ result = GetCommentsForUserResponse()
+ if node.kind == JObject:
+ if node.hasKey("moderatingTenantIds") and node["moderatingTenantIds"].kind != JNull:
+ result.moderatingTenantIds = some(to(node["moderatingTenantIds"], typeof(result.moderatingTenantIds.get())))
+
+# Custom JSON serialization for GetCommentsForUserResponse with custom field names
+proc `%`*(obj: GetCommentsForUserResponse): JsonNode =
+ result = newJObject()
+ if obj.moderatingTenantIds.isSome():
+ result["moderatingTenantIds"] = %obj.moderatingTenantIds.get()
+
diff --git a/client/fastcomments/models/model_get_comments_public200response.nim b/client/fastcomments/models/model_get_comments_public200response.nim
deleted file mode 100644
index 377b753..0000000
--- a/client/fastcomments/models/model_get_comments_public200response.nim
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_comments_response_with_presence_public_comment
-import model_object
-import model_public_comment
-import model_user_session_info
-
-# AnyOf type
-type GetCommentsPublic200responseKind* {.pure.} = enum
- GetCommentsResponseWithPresencePublicCommentVariant
- APIErrorVariant
-
-type GetCommentsPublic200response* = object
- ##
- case kind*: GetCommentsPublic200responseKind
- of GetCommentsPublic200responseKind.GetCommentsResponseWithPresencePublicCommentVariant:
- GetCommentsResponseWithPresence_PublicComment_Value*: GetCommentsResponseWithPresencePublicComment
- of GetCommentsPublic200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetCommentsPublic200response]): GetCommentsPublic200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetCommentsPublic200response(kind: GetCommentsPublic200responseKind.GetCommentsResponseWithPresencePublicCommentVariant, GetCommentsResponseWithPresence_PublicComment_Value: to(node, GetCommentsResponseWithPresencePublicComment))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetCommentsResponseWithPresencePublicComment: ", e.msg
- try:
- return GetCommentsPublic200response(kind: GetCommentsPublic200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetCommentsPublic200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_domain_config200response.nim b/client/fastcomments/models/model_get_domain_config200response.nim
deleted file mode 100644
index 41405d3..0000000
--- a/client/fastcomments/models/model_get_domain_config200response.nim
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_add_domain_config200response_any_of
-import model_any_type
-import model_get_domain_configs200response_any_of1
-
-# AnyOf type
-type GetDomainConfig200responseKind* {.pure.} = enum
- AddDomainConfig200responseAnyOfVariant
- GetDomainConfigs200responseAnyOf1Variant
-
-type GetDomainConfig200response* = object
- ##
- case kind*: GetDomainConfig200responseKind
- of GetDomainConfig200responseKind.AddDomainConfig200responseAnyOfVariant:
- AddDomainConfig_200_response_anyOfValue*: AddDomainConfig200responseAnyOf
- of GetDomainConfig200responseKind.GetDomainConfigs200responseAnyOf1Variant:
- GetDomainConfigs_200_response_anyOf_1Value*: GetDomainConfigs200responseAnyOf1
-
-proc to*(node: JsonNode, T: typedesc[GetDomainConfig200response]): GetDomainConfig200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetDomainConfig200response(kind: GetDomainConfig200responseKind.AddDomainConfig200responseAnyOfVariant, AddDomainConfig_200_response_anyOfValue: to(node, AddDomainConfig200responseAnyOf))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as AddDomainConfig200responseAnyOf: ", e.msg
- try:
- return GetDomainConfig200response(kind: GetDomainConfig200responseKind.GetDomainConfigs200responseAnyOf1Variant, GetDomainConfigs_200_response_anyOf_1Value: to(node, GetDomainConfigs200responseAnyOf1))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetDomainConfigs200responseAnyOf1: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetDomainConfig200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_domain_config_response.nim b/client/fastcomments/models/model_get_domain_config_response.nim
new file mode 100644
index 0000000..2330b3f
--- /dev/null
+++ b/client/fastcomments/models/model_get_domain_config_response.nim
@@ -0,0 +1,45 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_add_domain_config_response_any_of
+import model_any_type
+import model_get_domain_configs_response_any_of1
+
+# AnyOf type
+type GetDomainConfigResponseKind* {.pure.} = enum
+ AddDomainConfigResponseAnyOfVariant
+ GetDomainConfigsResponseAnyOf1Variant
+
+type GetDomainConfigResponse* = object
+ ##
+ case kind*: GetDomainConfigResponseKind
+ of GetDomainConfigResponseKind.AddDomainConfigResponseAnyOfVariant:
+ AddDomainConfigResponse_anyOfValue*: AddDomainConfigResponseAnyOf
+ of GetDomainConfigResponseKind.GetDomainConfigsResponseAnyOf1Variant:
+ GetDomainConfigsResponse_anyOf_1Value*: GetDomainConfigsResponseAnyOf1
+
+proc to*(node: JsonNode, T: typedesc[GetDomainConfigResponse]): GetDomainConfigResponse =
+ ## Custom deserializer for anyOf type - tries each variant
+ try:
+ return GetDomainConfigResponse(kind: GetDomainConfigResponseKind.AddDomainConfigResponseAnyOfVariant, AddDomainConfigResponse_anyOfValue: to(node, AddDomainConfigResponseAnyOf))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as AddDomainConfigResponseAnyOf: ", e.msg
+ try:
+ return GetDomainConfigResponse(kind: GetDomainConfigResponseKind.GetDomainConfigsResponseAnyOf1Variant, GetDomainConfigsResponse_anyOf_1Value: to(node, GetDomainConfigsResponseAnyOf1))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as GetDomainConfigsResponseAnyOf1: ", e.msg
+ raise newException(ValueError, "Unable to deserialize into any variant of GetDomainConfigResponse. JSON: " & $node)
+
diff --git a/client/fastcomments/models/model_get_domain_configs200response.nim b/client/fastcomments/models/model_get_domain_configs200response.nim
deleted file mode 100644
index 3ad3fc3..0000000
--- a/client/fastcomments/models/model_get_domain_configs200response.nim
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_any_type
-import model_get_domain_configs200response_any_of
-import model_get_domain_configs200response_any_of1
-
-# AnyOf type
-type GetDomainConfigs200responseKind* {.pure.} = enum
- GetDomainConfigs200responseAnyOfVariant
- GetDomainConfigs200responseAnyOf1Variant
-
-type GetDomainConfigs200response* = object
- ##
- case kind*: GetDomainConfigs200responseKind
- of GetDomainConfigs200responseKind.GetDomainConfigs200responseAnyOfVariant:
- GetDomainConfigs_200_response_anyOfValue*: GetDomainConfigs200responseAnyOf
- of GetDomainConfigs200responseKind.GetDomainConfigs200responseAnyOf1Variant:
- GetDomainConfigs_200_response_anyOf_1Value*: GetDomainConfigs200responseAnyOf1
-
-proc to*(node: JsonNode, T: typedesc[GetDomainConfigs200response]): GetDomainConfigs200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetDomainConfigs200response(kind: GetDomainConfigs200responseKind.GetDomainConfigs200responseAnyOfVariant, GetDomainConfigs_200_response_anyOfValue: to(node, GetDomainConfigs200responseAnyOf))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetDomainConfigs200responseAnyOf: ", e.msg
- try:
- return GetDomainConfigs200response(kind: GetDomainConfigs200responseKind.GetDomainConfigs200responseAnyOf1Variant, GetDomainConfigs_200_response_anyOf_1Value: to(node, GetDomainConfigs200responseAnyOf1))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetDomainConfigs200responseAnyOf1: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetDomainConfigs200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_domain_configs200response_any_of.nim b/client/fastcomments/models/model_get_domain_configs200response_any_of.nim
deleted file mode 100644
index 2d368e5..0000000
--- a/client/fastcomments/models/model_get_domain_configs200response_any_of.nim
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_any_type
-
-type GetDomainConfigs200responseAnyOf* = object
- ##
- configurations*: Option[JsonNode]
- status*: Option[JsonNode]
-
diff --git a/client/fastcomments/models/model_get_domain_configs200response_any_of1.nim b/client/fastcomments/models/model_get_domain_configs200response_any_of1.nim
deleted file mode 100644
index 48cc3be..0000000
--- a/client/fastcomments/models/model_get_domain_configs200response_any_of1.nim
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_any_type
-
-type GetDomainConfigs200responseAnyOf1* = object
- ##
- reason*: string
- code*: string
- status*: Option[JsonNode]
-
diff --git a/client/fastcomments/models/model_get_domain_configs_response.nim b/client/fastcomments/models/model_get_domain_configs_response.nim
new file mode 100644
index 0000000..829ed1a
--- /dev/null
+++ b/client/fastcomments/models/model_get_domain_configs_response.nim
@@ -0,0 +1,45 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_any_type
+import model_get_domain_configs_response_any_of
+import model_get_domain_configs_response_any_of1
+
+# AnyOf type
+type GetDomainConfigsResponseKind* {.pure.} = enum
+ GetDomainConfigsResponseAnyOfVariant
+ GetDomainConfigsResponseAnyOf1Variant
+
+type GetDomainConfigsResponse* = object
+ ##
+ case kind*: GetDomainConfigsResponseKind
+ of GetDomainConfigsResponseKind.GetDomainConfigsResponseAnyOfVariant:
+ GetDomainConfigsResponse_anyOfValue*: GetDomainConfigsResponseAnyOf
+ of GetDomainConfigsResponseKind.GetDomainConfigsResponseAnyOf1Variant:
+ GetDomainConfigsResponse_anyOf_1Value*: GetDomainConfigsResponseAnyOf1
+
+proc to*(node: JsonNode, T: typedesc[GetDomainConfigsResponse]): GetDomainConfigsResponse =
+ ## Custom deserializer for anyOf type - tries each variant
+ try:
+ return GetDomainConfigsResponse(kind: GetDomainConfigsResponseKind.GetDomainConfigsResponseAnyOfVariant, GetDomainConfigsResponse_anyOfValue: to(node, GetDomainConfigsResponseAnyOf))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as GetDomainConfigsResponseAnyOf: ", e.msg
+ try:
+ return GetDomainConfigsResponse(kind: GetDomainConfigsResponseKind.GetDomainConfigsResponseAnyOf1Variant, GetDomainConfigsResponse_anyOf_1Value: to(node, GetDomainConfigsResponseAnyOf1))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as GetDomainConfigsResponseAnyOf1: ", e.msg
+ raise newException(ValueError, "Unable to deserialize into any variant of GetDomainConfigsResponse. JSON: " & $node)
+
diff --git a/client/fastcomments/models/model_get_domain_configs_response_any_of.nim b/client/fastcomments/models/model_get_domain_configs_response_any_of.nim
new file mode 100644
index 0000000..7ccaccb
--- /dev/null
+++ b/client/fastcomments/models/model_get_domain_configs_response_any_of.nim
@@ -0,0 +1,39 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_any_type
+
+type GetDomainConfigsResponseAnyOf* = object
+ ##
+ configurations*: Option[JsonNode]
+ status*: Option[JsonNode]
+
+
+# Custom JSON deserialization for GetDomainConfigsResponseAnyOf with custom field names
+proc to*(node: JsonNode, T: typedesc[GetDomainConfigsResponseAnyOf]): GetDomainConfigsResponseAnyOf =
+ result = GetDomainConfigsResponseAnyOf()
+ if node.kind == JObject:
+ if node.hasKey("configurations") and node["configurations"].kind != JNull:
+ result.configurations = some(to(node["configurations"], typeof(result.configurations.get())))
+ if node.hasKey("status") and node["status"].kind != JNull:
+ result.status = some(to(node["status"], typeof(result.status.get())))
+
+# Custom JSON serialization for GetDomainConfigsResponseAnyOf with custom field names
+proc `%`*(obj: GetDomainConfigsResponseAnyOf): JsonNode =
+ result = newJObject()
+ if obj.configurations.isSome():
+ result["configurations"] = %obj.configurations.get()
+ if obj.status.isSome():
+ result["status"] = %obj.status.get()
+
diff --git a/client/fastcomments/models/model_get_domain_configs_response_any_of1.nim b/client/fastcomments/models/model_get_domain_configs_response_any_of1.nim
new file mode 100644
index 0000000..2faa41e
--- /dev/null
+++ b/client/fastcomments/models/model_get_domain_configs_response_any_of1.nim
@@ -0,0 +1,42 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_any_type
+
+type GetDomainConfigsResponseAnyOf1* = object
+ ##
+ reason*: string
+ code*: string
+ status*: Option[JsonNode]
+
+
+# Custom JSON deserialization for GetDomainConfigsResponseAnyOf1 with custom field names
+proc to*(node: JsonNode, T: typedesc[GetDomainConfigsResponseAnyOf1]): GetDomainConfigsResponseAnyOf1 =
+ result = GetDomainConfigsResponseAnyOf1()
+ if node.kind == JObject:
+ if node.hasKey("reason"):
+ result.reason = to(node["reason"], string)
+ if node.hasKey("code"):
+ result.code = to(node["code"], string)
+ if node.hasKey("status") and node["status"].kind != JNull:
+ result.status = some(to(node["status"], typeof(result.status.get())))
+
+# Custom JSON serialization for GetDomainConfigsResponseAnyOf1 with custom field names
+proc `%`*(obj: GetDomainConfigsResponseAnyOf1): JsonNode =
+ result = newJObject()
+ result["reason"] = %obj.reason
+ result["code"] = %obj.code
+ if obj.status.isSome():
+ result["status"] = %obj.status.get()
+
diff --git a/client/fastcomments/models/model_get_email_template200response.nim b/client/fastcomments/models/model_get_email_template200response.nim
deleted file mode 100644
index e00ab9a..0000000
--- a/client/fastcomments/models/model_get_email_template200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_custom_email_template
-import model_get_email_template_response
-
-# AnyOf type
-type GetEmailTemplate200responseKind* {.pure.} = enum
- GetEmailTemplateResponseVariant
- APIErrorVariant
-
-type GetEmailTemplate200response* = object
- ##
- case kind*: GetEmailTemplate200responseKind
- of GetEmailTemplate200responseKind.GetEmailTemplateResponseVariant:
- GetEmailTemplateResponseValue*: GetEmailTemplateResponse
- of GetEmailTemplate200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetEmailTemplate200response]): GetEmailTemplate200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetEmailTemplate200response(kind: GetEmailTemplate200responseKind.GetEmailTemplateResponseVariant, GetEmailTemplateResponseValue: to(node, GetEmailTemplateResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetEmailTemplateResponse: ", e.msg
- try:
- return GetEmailTemplate200response(kind: GetEmailTemplate200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetEmailTemplate200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_email_template_definitions200response.nim b/client/fastcomments/models/model_get_email_template_definitions200response.nim
deleted file mode 100644
index a0c6fee..0000000
--- a/client/fastcomments/models/model_get_email_template_definitions200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_email_template_definition
-import model_get_email_template_definitions_response
-
-# AnyOf type
-type GetEmailTemplateDefinitions200responseKind* {.pure.} = enum
- GetEmailTemplateDefinitionsResponseVariant
- APIErrorVariant
-
-type GetEmailTemplateDefinitions200response* = object
- ##
- case kind*: GetEmailTemplateDefinitions200responseKind
- of GetEmailTemplateDefinitions200responseKind.GetEmailTemplateDefinitionsResponseVariant:
- GetEmailTemplateDefinitionsResponseValue*: GetEmailTemplateDefinitionsResponse
- of GetEmailTemplateDefinitions200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetEmailTemplateDefinitions200response]): GetEmailTemplateDefinitions200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetEmailTemplateDefinitions200response(kind: GetEmailTemplateDefinitions200responseKind.GetEmailTemplateDefinitionsResponseVariant, GetEmailTemplateDefinitionsResponseValue: to(node, GetEmailTemplateDefinitionsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetEmailTemplateDefinitionsResponse: ", e.msg
- try:
- return GetEmailTemplateDefinitions200response(kind: GetEmailTemplateDefinitions200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetEmailTemplateDefinitions200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_email_template_definitions_response.nim b/client/fastcomments/models/model_get_email_template_definitions_response.nim
index 3b32b47..7538524 100644
--- a/client/fastcomments/models/model_get_email_template_definitions_response.nim
+++ b/client/fastcomments/models/model_get_email_template_definitions_response.nim
@@ -20,3 +20,19 @@ type GetEmailTemplateDefinitionsResponse* = object
status*: APIStatus
definitions*: seq[EmailTemplateDefinition]
+
+# Custom JSON deserialization for GetEmailTemplateDefinitionsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetEmailTemplateDefinitionsResponse]): GetEmailTemplateDefinitionsResponse =
+ result = GetEmailTemplateDefinitionsResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("definitions"):
+ result.definitions = to(node["definitions"], seq[EmailTemplateDefinition])
+
+# Custom JSON serialization for GetEmailTemplateDefinitionsResponse with custom field names
+proc `%`*(obj: GetEmailTemplateDefinitionsResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["definitions"] = %obj.definitions
+
diff --git a/client/fastcomments/models/model_get_email_template_render_errors200response.nim b/client/fastcomments/models/model_get_email_template_render_errors200response.nim
deleted file mode 100644
index 32a0c63..0000000
--- a/client/fastcomments/models/model_get_email_template_render_errors200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_email_template_render_error_response
-import model_get_email_template_render_errors_response
-
-# AnyOf type
-type GetEmailTemplateRenderErrors200responseKind* {.pure.} = enum
- GetEmailTemplateRenderErrorsResponseVariant
- APIErrorVariant
-
-type GetEmailTemplateRenderErrors200response* = object
- ##
- case kind*: GetEmailTemplateRenderErrors200responseKind
- of GetEmailTemplateRenderErrors200responseKind.GetEmailTemplateRenderErrorsResponseVariant:
- GetEmailTemplateRenderErrorsResponseValue*: GetEmailTemplateRenderErrorsResponse
- of GetEmailTemplateRenderErrors200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetEmailTemplateRenderErrors200response]): GetEmailTemplateRenderErrors200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetEmailTemplateRenderErrors200response(kind: GetEmailTemplateRenderErrors200responseKind.GetEmailTemplateRenderErrorsResponseVariant, GetEmailTemplateRenderErrorsResponseValue: to(node, GetEmailTemplateRenderErrorsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetEmailTemplateRenderErrorsResponse: ", e.msg
- try:
- return GetEmailTemplateRenderErrors200response(kind: GetEmailTemplateRenderErrors200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetEmailTemplateRenderErrors200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_email_template_render_errors_response.nim b/client/fastcomments/models/model_get_email_template_render_errors_response.nim
index 722f0bb..be18753 100644
--- a/client/fastcomments/models/model_get_email_template_render_errors_response.nim
+++ b/client/fastcomments/models/model_get_email_template_render_errors_response.nim
@@ -20,3 +20,19 @@ type GetEmailTemplateRenderErrorsResponse* = object
status*: APIStatus
renderErrors*: seq[EmailTemplateRenderErrorResponse]
+
+# Custom JSON deserialization for GetEmailTemplateRenderErrorsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetEmailTemplateRenderErrorsResponse]): GetEmailTemplateRenderErrorsResponse =
+ result = GetEmailTemplateRenderErrorsResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("renderErrors"):
+ result.renderErrors = to(node["renderErrors"], seq[EmailTemplateRenderErrorResponse])
+
+# Custom JSON serialization for GetEmailTemplateRenderErrorsResponse with custom field names
+proc `%`*(obj: GetEmailTemplateRenderErrorsResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["renderErrors"] = %obj.renderErrors
+
diff --git a/client/fastcomments/models/model_get_email_templates200response.nim b/client/fastcomments/models/model_get_email_templates200response.nim
deleted file mode 100644
index 40724f8..0000000
--- a/client/fastcomments/models/model_get_email_templates200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_custom_email_template
-import model_get_email_templates_response
-
-# AnyOf type
-type GetEmailTemplates200responseKind* {.pure.} = enum
- GetEmailTemplatesResponseVariant
- APIErrorVariant
-
-type GetEmailTemplates200response* = object
- ##
- case kind*: GetEmailTemplates200responseKind
- of GetEmailTemplates200responseKind.GetEmailTemplatesResponseVariant:
- GetEmailTemplatesResponseValue*: GetEmailTemplatesResponse
- of GetEmailTemplates200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetEmailTemplates200response]): GetEmailTemplates200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetEmailTemplates200response(kind: GetEmailTemplates200responseKind.GetEmailTemplatesResponseVariant, GetEmailTemplatesResponseValue: to(node, GetEmailTemplatesResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetEmailTemplatesResponse: ", e.msg
- try:
- return GetEmailTemplates200response(kind: GetEmailTemplates200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetEmailTemplates200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_event_log200response.nim b/client/fastcomments/models/model_get_event_log200response.nim
deleted file mode 100644
index 85af8f1..0000000
--- a/client/fastcomments/models/model_get_event_log200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_event_log_entry
-import model_get_event_log_response
-
-# AnyOf type
-type GetEventLog200responseKind* {.pure.} = enum
- GetEventLogResponseVariant
- APIErrorVariant
-
-type GetEventLog200response* = object
- ##
- case kind*: GetEventLog200responseKind
- of GetEventLog200responseKind.GetEventLogResponseVariant:
- GetEventLogResponseValue*: GetEventLogResponse
- of GetEventLog200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetEventLog200response]): GetEventLog200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetEventLog200response(kind: GetEventLog200responseKind.GetEventLogResponseVariant, GetEventLogResponseValue: to(node, GetEventLogResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetEventLogResponse: ", e.msg
- try:
- return GetEventLog200response(kind: GetEventLog200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetEventLog200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_feed_posts200response.nim b/client/fastcomments/models/model_get_feed_posts200response.nim
deleted file mode 100644
index 4ad3790..0000000
--- a/client/fastcomments/models/model_get_feed_posts200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_feed_post
-import model_get_feed_posts_response
-
-# AnyOf type
-type GetFeedPosts200responseKind* {.pure.} = enum
- GetFeedPostsResponseVariant
- APIErrorVariant
-
-type GetFeedPosts200response* = object
- ##
- case kind*: GetFeedPosts200responseKind
- of GetFeedPosts200responseKind.GetFeedPostsResponseVariant:
- GetFeedPostsResponseValue*: GetFeedPostsResponse
- of GetFeedPosts200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetFeedPosts200response]): GetFeedPosts200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetFeedPosts200response(kind: GetFeedPosts200responseKind.GetFeedPostsResponseVariant, GetFeedPostsResponseValue: to(node, GetFeedPostsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetFeedPostsResponse: ", e.msg
- try:
- return GetFeedPosts200response(kind: GetFeedPosts200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetFeedPosts200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_feed_posts_public200response.nim b/client/fastcomments/models/model_get_feed_posts_public200response.nim
deleted file mode 100644
index df1d98b..0000000
--- a/client/fastcomments/models/model_get_feed_posts_public200response.nim
+++ /dev/null
@@ -1,48 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_feed_post
-import model_public_feed_posts_response
-import model_user_session_info
-
-# AnyOf type
-type GetFeedPostsPublic200responseKind* {.pure.} = enum
- PublicFeedPostsResponseVariant
- APIErrorVariant
-
-type GetFeedPostsPublic200response* = object
- ##
- case kind*: GetFeedPostsPublic200responseKind
- of GetFeedPostsPublic200responseKind.PublicFeedPostsResponseVariant:
- PublicFeedPostsResponseValue*: PublicFeedPostsResponse
- of GetFeedPostsPublic200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetFeedPostsPublic200response]): GetFeedPostsPublic200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetFeedPostsPublic200response(kind: GetFeedPostsPublic200responseKind.PublicFeedPostsResponseVariant, PublicFeedPostsResponseValue: to(node, PublicFeedPostsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as PublicFeedPostsResponse: ", e.msg
- try:
- return GetFeedPostsPublic200response(kind: GetFeedPostsPublic200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetFeedPostsPublic200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_feed_posts_stats200response.nim b/client/fastcomments/models/model_get_feed_posts_stats200response.nim
deleted file mode 100644
index fbe304d..0000000
--- a/client/fastcomments/models/model_get_feed_posts_stats200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_feed_post_stats
-import model_feed_posts_stats_response
-
-# AnyOf type
-type GetFeedPostsStats200responseKind* {.pure.} = enum
- FeedPostsStatsResponseVariant
- APIErrorVariant
-
-type GetFeedPostsStats200response* = object
- ##
- case kind*: GetFeedPostsStats200responseKind
- of GetFeedPostsStats200responseKind.FeedPostsStatsResponseVariant:
- FeedPostsStatsResponseValue*: FeedPostsStatsResponse
- of GetFeedPostsStats200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetFeedPostsStats200response]): GetFeedPostsStats200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetFeedPostsStats200response(kind: GetFeedPostsStats200responseKind.FeedPostsStatsResponseVariant, FeedPostsStatsResponseValue: to(node, FeedPostsStatsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as FeedPostsStatsResponse: ", e.msg
- try:
- return GetFeedPostsStats200response(kind: GetFeedPostsStats200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetFeedPostsStats200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_gifs_search_response.nim b/client/fastcomments/models/model_get_gifs_search_response.nim
new file mode 100644
index 0000000..36978c9
--- /dev/null
+++ b/client/fastcomments/models/model_get_gifs_search_response.nim
@@ -0,0 +1,46 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_gif_search_internal_error
+import model_gif_search_response
+import model_gif_search_response_images_inner_inner
+
+# AnyOf type
+type GetGifsSearchResponseKind* {.pure.} = enum
+ GifSearchResponseVariant
+ GifSearchInternalErrorVariant
+
+type GetGifsSearchResponse* = object
+ ##
+ case kind*: GetGifsSearchResponseKind
+ of GetGifsSearchResponseKind.GifSearchResponseVariant:
+ GifSearchResponseValue*: GifSearchResponse
+ of GetGifsSearchResponseKind.GifSearchInternalErrorVariant:
+ GifSearchInternalErrorValue*: GifSearchInternalError
+
+proc to*(node: JsonNode, T: typedesc[GetGifsSearchResponse]): GetGifsSearchResponse =
+ ## Custom deserializer for anyOf type - tries each variant
+ try:
+ return GetGifsSearchResponse(kind: GetGifsSearchResponseKind.GifSearchResponseVariant, GifSearchResponseValue: to(node, GifSearchResponse))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as GifSearchResponse: ", e.msg
+ try:
+ return GetGifsSearchResponse(kind: GetGifsSearchResponseKind.GifSearchInternalErrorVariant, GifSearchInternalErrorValue: to(node, GifSearchInternalError))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as GifSearchInternalError: ", e.msg
+ raise newException(ValueError, "Unable to deserialize into any variant of GetGifsSearchResponse. JSON: " & $node)
+
diff --git a/client/fastcomments/models/model_get_gifs_trending_response.nim b/client/fastcomments/models/model_get_gifs_trending_response.nim
new file mode 100644
index 0000000..7c29bc2
--- /dev/null
+++ b/client/fastcomments/models/model_get_gifs_trending_response.nim
@@ -0,0 +1,46 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_gif_search_internal_error
+import model_gif_search_response
+import model_gif_search_response_images_inner_inner
+
+# AnyOf type
+type GetGifsTrendingResponseKind* {.pure.} = enum
+ GifSearchResponseVariant
+ GifSearchInternalErrorVariant
+
+type GetGifsTrendingResponse* = object
+ ##
+ case kind*: GetGifsTrendingResponseKind
+ of GetGifsTrendingResponseKind.GifSearchResponseVariant:
+ GifSearchResponseValue*: GifSearchResponse
+ of GetGifsTrendingResponseKind.GifSearchInternalErrorVariant:
+ GifSearchInternalErrorValue*: GifSearchInternalError
+
+proc to*(node: JsonNode, T: typedesc[GetGifsTrendingResponse]): GetGifsTrendingResponse =
+ ## Custom deserializer for anyOf type - tries each variant
+ try:
+ return GetGifsTrendingResponse(kind: GetGifsTrendingResponseKind.GifSearchResponseVariant, GifSearchResponseValue: to(node, GifSearchResponse))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as GifSearchResponse: ", e.msg
+ try:
+ return GetGifsTrendingResponse(kind: GetGifsTrendingResponseKind.GifSearchInternalErrorVariant, GifSearchInternalErrorValue: to(node, GifSearchInternalError))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as GifSearchInternalError: ", e.msg
+ raise newException(ValueError, "Unable to deserialize into any variant of GetGifsTrendingResponse. JSON: " & $node)
+
diff --git a/client/fastcomments/models/model_get_hash_tags200response.nim b/client/fastcomments/models/model_get_hash_tags200response.nim
deleted file mode 100644
index d178963..0000000
--- a/client/fastcomments/models/model_get_hash_tags200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_hash_tags_response
-import model_tenant_hash_tag
-
-# AnyOf type
-type GetHashTags200responseKind* {.pure.} = enum
- GetHashTagsResponseVariant
- APIErrorVariant
-
-type GetHashTags200response* = object
- ##
- case kind*: GetHashTags200responseKind
- of GetHashTags200responseKind.GetHashTagsResponseVariant:
- GetHashTagsResponseValue*: GetHashTagsResponse
- of GetHashTags200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetHashTags200response]): GetHashTags200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetHashTags200response(kind: GetHashTags200responseKind.GetHashTagsResponseVariant, GetHashTagsResponseValue: to(node, GetHashTagsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetHashTagsResponse: ", e.msg
- try:
- return GetHashTags200response(kind: GetHashTags200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetHashTags200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_moderator200response.nim b/client/fastcomments/models/model_get_moderator200response.nim
deleted file mode 100644
index f3ea58b..0000000
--- a/client/fastcomments/models/model_get_moderator200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_moderator_response
-import model_moderator
-
-# AnyOf type
-type GetModerator200responseKind* {.pure.} = enum
- GetModeratorResponseVariant
- APIErrorVariant
-
-type GetModerator200response* = object
- ##
- case kind*: GetModerator200responseKind
- of GetModerator200responseKind.GetModeratorResponseVariant:
- GetModeratorResponseValue*: GetModeratorResponse
- of GetModerator200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetModerator200response]): GetModerator200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetModerator200response(kind: GetModerator200responseKind.GetModeratorResponseVariant, GetModeratorResponseValue: to(node, GetModeratorResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetModeratorResponse: ", e.msg
- try:
- return GetModerator200response(kind: GetModerator200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetModerator200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_moderators200response.nim b/client/fastcomments/models/model_get_moderators200response.nim
deleted file mode 100644
index added31..0000000
--- a/client/fastcomments/models/model_get_moderators200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_moderators_response
-import model_moderator
-
-# AnyOf type
-type GetModerators200responseKind* {.pure.} = enum
- GetModeratorsResponseVariant
- APIErrorVariant
-
-type GetModerators200response* = object
- ##
- case kind*: GetModerators200responseKind
- of GetModerators200responseKind.GetModeratorsResponseVariant:
- GetModeratorsResponseValue*: GetModeratorsResponse
- of GetModerators200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetModerators200response]): GetModerators200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetModerators200response(kind: GetModerators200responseKind.GetModeratorsResponseVariant, GetModeratorsResponseValue: to(node, GetModeratorsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetModeratorsResponse: ", e.msg
- try:
- return GetModerators200response(kind: GetModerators200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetModerators200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_notification_count200response.nim b/client/fastcomments/models/model_get_notification_count200response.nim
deleted file mode 100644
index f768e46..0000000
--- a/client/fastcomments/models/model_get_notification_count200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_notification_count_response
-
-# AnyOf type
-type GetNotificationCount200responseKind* {.pure.} = enum
- GetNotificationCountResponseVariant
- APIErrorVariant
-
-type GetNotificationCount200response* = object
- ##
- case kind*: GetNotificationCount200responseKind
- of GetNotificationCount200responseKind.GetNotificationCountResponseVariant:
- GetNotificationCountResponseValue*: GetNotificationCountResponse
- of GetNotificationCount200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetNotificationCount200response]): GetNotificationCount200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetNotificationCount200response(kind: GetNotificationCount200responseKind.GetNotificationCountResponseVariant, GetNotificationCountResponseValue: to(node, GetNotificationCountResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetNotificationCountResponse: ", e.msg
- try:
- return GetNotificationCount200response(kind: GetNotificationCount200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetNotificationCount200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_notification_count_response.nim b/client/fastcomments/models/model_get_notification_count_response.nim
index 79d0891..31542a0 100644
--- a/client/fastcomments/models/model_get_notification_count_response.nim
+++ b/client/fastcomments/models/model_get_notification_count_response.nim
@@ -19,3 +19,19 @@ type GetNotificationCountResponse* = object
status*: APIStatus
count*: float64
+
+# Custom JSON deserialization for GetNotificationCountResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetNotificationCountResponse]): GetNotificationCountResponse =
+ result = GetNotificationCountResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("count"):
+ result.count = to(node["count"], float64)
+
+# Custom JSON serialization for GetNotificationCountResponse with custom field names
+proc `%`*(obj: GetNotificationCountResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["count"] = %obj.count
+
diff --git a/client/fastcomments/models/model_get_notifications200response.nim b/client/fastcomments/models/model_get_notifications200response.nim
deleted file mode 100644
index 3164fb8..0000000
--- a/client/fastcomments/models/model_get_notifications200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_notifications_response
-import model_user_notification
-
-# AnyOf type
-type GetNotifications200responseKind* {.pure.} = enum
- GetNotificationsResponseVariant
- APIErrorVariant
-
-type GetNotifications200response* = object
- ##
- case kind*: GetNotifications200responseKind
- of GetNotifications200responseKind.GetNotificationsResponseVariant:
- GetNotificationsResponseValue*: GetNotificationsResponse
- of GetNotifications200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetNotifications200response]): GetNotifications200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetNotifications200response(kind: GetNotifications200responseKind.GetNotificationsResponseVariant, GetNotificationsResponseValue: to(node, GetNotificationsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetNotificationsResponse: ", e.msg
- try:
- return GetNotifications200response(kind: GetNotifications200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetNotifications200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_page_by_urlid_api_response.nim b/client/fastcomments/models/model_get_page_by_urlid_api_response.nim
index 50c7eaa..8f8d5c7 100644
--- a/client/fastcomments/models/model_get_page_by_urlid_api_response.nim
+++ b/client/fastcomments/models/model_get_page_by_urlid_api_response.nim
@@ -21,3 +21,28 @@ type GetPageByURLIdAPIResponse* = object
page*: Option[APIPage]
status*: string
+
+# Custom JSON deserialization for GetPageByURLIdAPIResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetPageByURLIdAPIResponse]): GetPageByURLIdAPIResponse =
+ result = GetPageByURLIdAPIResponse()
+ if node.kind == JObject:
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("page") and node["page"].kind != JNull:
+ result.page = some(to(node["page"], typeof(result.page.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for GetPageByURLIdAPIResponse with custom field names
+proc `%`*(obj: GetPageByURLIdAPIResponse): JsonNode =
+ result = newJObject()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ if obj.page.isSome():
+ result["page"] = %obj.page.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_pages_api_response.nim b/client/fastcomments/models/model_get_pages_api_response.nim
index 90218bb..8ea0f63 100644
--- a/client/fastcomments/models/model_get_pages_api_response.nim
+++ b/client/fastcomments/models/model_get_pages_api_response.nim
@@ -21,3 +21,28 @@ type GetPagesAPIResponse* = object
pages*: Option[seq[APIPage]]
status*: string
+
+# Custom JSON deserialization for GetPagesAPIResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetPagesAPIResponse]): GetPagesAPIResponse =
+ result = GetPagesAPIResponse()
+ if node.kind == JObject:
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("pages") and node["pages"].kind != JNull:
+ result.pages = some(to(node["pages"], typeof(result.pages.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for GetPagesAPIResponse with custom field names
+proc `%`*(obj: GetPagesAPIResponse): JsonNode =
+ result = newJObject()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ if obj.pages.isSome():
+ result["pages"] = %obj.pages.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_pending_webhook_event_count200response.nim b/client/fastcomments/models/model_get_pending_webhook_event_count200response.nim
deleted file mode 100644
index 96a7c63..0000000
--- a/client/fastcomments/models/model_get_pending_webhook_event_count200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_pending_webhook_event_count_response
-
-# AnyOf type
-type GetPendingWebhookEventCount200responseKind* {.pure.} = enum
- GetPendingWebhookEventCountResponseVariant
- APIErrorVariant
-
-type GetPendingWebhookEventCount200response* = object
- ##
- case kind*: GetPendingWebhookEventCount200responseKind
- of GetPendingWebhookEventCount200responseKind.GetPendingWebhookEventCountResponseVariant:
- GetPendingWebhookEventCountResponseValue*: GetPendingWebhookEventCountResponse
- of GetPendingWebhookEventCount200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetPendingWebhookEventCount200response]): GetPendingWebhookEventCount200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetPendingWebhookEventCount200response(kind: GetPendingWebhookEventCount200responseKind.GetPendingWebhookEventCountResponseVariant, GetPendingWebhookEventCountResponseValue: to(node, GetPendingWebhookEventCountResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetPendingWebhookEventCountResponse: ", e.msg
- try:
- return GetPendingWebhookEventCount200response(kind: GetPendingWebhookEventCount200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetPendingWebhookEventCount200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_pending_webhook_event_count_response.nim b/client/fastcomments/models/model_get_pending_webhook_event_count_response.nim
index 4e8e5df..9e03665 100644
--- a/client/fastcomments/models/model_get_pending_webhook_event_count_response.nim
+++ b/client/fastcomments/models/model_get_pending_webhook_event_count_response.nim
@@ -19,3 +19,19 @@ type GetPendingWebhookEventCountResponse* = object
status*: APIStatus
count*: float64
+
+# Custom JSON deserialization for GetPendingWebhookEventCountResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetPendingWebhookEventCountResponse]): GetPendingWebhookEventCountResponse =
+ result = GetPendingWebhookEventCountResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("count"):
+ result.count = to(node["count"], float64)
+
+# Custom JSON serialization for GetPendingWebhookEventCountResponse with custom field names
+proc `%`*(obj: GetPendingWebhookEventCountResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["count"] = %obj.count
+
diff --git a/client/fastcomments/models/model_get_pending_webhook_events200response.nim b/client/fastcomments/models/model_get_pending_webhook_events200response.nim
deleted file mode 100644
index e354ee5..0000000
--- a/client/fastcomments/models/model_get_pending_webhook_events200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_pending_webhook_events_response
-import model_pending_comment_to_sync_outbound
-
-# AnyOf type
-type GetPendingWebhookEvents200responseKind* {.pure.} = enum
- GetPendingWebhookEventsResponseVariant
- APIErrorVariant
-
-type GetPendingWebhookEvents200response* = object
- ##
- case kind*: GetPendingWebhookEvents200responseKind
- of GetPendingWebhookEvents200responseKind.GetPendingWebhookEventsResponseVariant:
- GetPendingWebhookEventsResponseValue*: GetPendingWebhookEventsResponse
- of GetPendingWebhookEvents200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetPendingWebhookEvents200response]): GetPendingWebhookEvents200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetPendingWebhookEvents200response(kind: GetPendingWebhookEvents200responseKind.GetPendingWebhookEventsResponseVariant, GetPendingWebhookEventsResponseValue: to(node, GetPendingWebhookEventsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetPendingWebhookEventsResponse: ", e.msg
- try:
- return GetPendingWebhookEvents200response(kind: GetPendingWebhookEvents200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetPendingWebhookEvents200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_public_pages_response.nim b/client/fastcomments/models/model_get_public_pages_response.nim
new file mode 100644
index 0000000..4d8e51f
--- /dev/null
+++ b/client/fastcomments/models/model_get_public_pages_response.nim
@@ -0,0 +1,43 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_public_page
+
+type GetPublicPagesResponse* = object
+ ##
+ nextCursor*: Option[string]
+ pages*: seq[PublicPage]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for GetPublicPagesResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetPublicPagesResponse]): GetPublicPagesResponse =
+ result = GetPublicPagesResponse()
+ if node.kind == JObject:
+ if node.hasKey("nextCursor") and node["nextCursor"].kind != JNull:
+ result.nextCursor = some(to(node["nextCursor"], typeof(result.nextCursor.get())))
+ if node.hasKey("pages"):
+ result.pages = to(node["pages"], seq[PublicPage])
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for GetPublicPagesResponse with custom field names
+proc `%`*(obj: GetPublicPagesResponse): JsonNode =
+ result = newJObject()
+ if obj.nextCursor.isSome():
+ result["nextCursor"] = %obj.nextCursor.get()
+ result["pages"] = %obj.pages
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_question_config200response.nim b/client/fastcomments/models/model_get_question_config200response.nim
deleted file mode 100644
index df4b2d3..0000000
--- a/client/fastcomments/models/model_get_question_config200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_question_config_response
-import model_question_config
-
-# AnyOf type
-type GetQuestionConfig200responseKind* {.pure.} = enum
- GetQuestionConfigResponseVariant
- APIErrorVariant
-
-type GetQuestionConfig200response* = object
- ##
- case kind*: GetQuestionConfig200responseKind
- of GetQuestionConfig200responseKind.GetQuestionConfigResponseVariant:
- GetQuestionConfigResponseValue*: GetQuestionConfigResponse
- of GetQuestionConfig200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetQuestionConfig200response]): GetQuestionConfig200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetQuestionConfig200response(kind: GetQuestionConfig200responseKind.GetQuestionConfigResponseVariant, GetQuestionConfigResponseValue: to(node, GetQuestionConfigResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetQuestionConfigResponse: ", e.msg
- try:
- return GetQuestionConfig200response(kind: GetQuestionConfig200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetQuestionConfig200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_question_configs200response.nim b/client/fastcomments/models/model_get_question_configs200response.nim
deleted file mode 100644
index 3026e9f..0000000
--- a/client/fastcomments/models/model_get_question_configs200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_question_configs_response
-import model_question_config
-
-# AnyOf type
-type GetQuestionConfigs200responseKind* {.pure.} = enum
- GetQuestionConfigsResponseVariant
- APIErrorVariant
-
-type GetQuestionConfigs200response* = object
- ##
- case kind*: GetQuestionConfigs200responseKind
- of GetQuestionConfigs200responseKind.GetQuestionConfigsResponseVariant:
- GetQuestionConfigsResponseValue*: GetQuestionConfigsResponse
- of GetQuestionConfigs200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetQuestionConfigs200response]): GetQuestionConfigs200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetQuestionConfigs200response(kind: GetQuestionConfigs200responseKind.GetQuestionConfigsResponseVariant, GetQuestionConfigsResponseValue: to(node, GetQuestionConfigsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetQuestionConfigsResponse: ", e.msg
- try:
- return GetQuestionConfigs200response(kind: GetQuestionConfigs200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetQuestionConfigs200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_question_result200response.nim b/client/fastcomments/models/model_get_question_result200response.nim
deleted file mode 100644
index 3671f20..0000000
--- a/client/fastcomments/models/model_get_question_result200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_question_result_response
-import model_question_result
-
-# AnyOf type
-type GetQuestionResult200responseKind* {.pure.} = enum
- GetQuestionResultResponseVariant
- APIErrorVariant
-
-type GetQuestionResult200response* = object
- ##
- case kind*: GetQuestionResult200responseKind
- of GetQuestionResult200responseKind.GetQuestionResultResponseVariant:
- GetQuestionResultResponseValue*: GetQuestionResultResponse
- of GetQuestionResult200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetQuestionResult200response]): GetQuestionResult200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetQuestionResult200response(kind: GetQuestionResult200responseKind.GetQuestionResultResponseVariant, GetQuestionResultResponseValue: to(node, GetQuestionResultResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetQuestionResultResponse: ", e.msg
- try:
- return GetQuestionResult200response(kind: GetQuestionResult200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetQuestionResult200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_question_results200response.nim b/client/fastcomments/models/model_get_question_results200response.nim
deleted file mode 100644
index d590f32..0000000
--- a/client/fastcomments/models/model_get_question_results200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_question_results_response
-import model_question_result
-
-# AnyOf type
-type GetQuestionResults200responseKind* {.pure.} = enum
- GetQuestionResultsResponseVariant
- APIErrorVariant
-
-type GetQuestionResults200response* = object
- ##
- case kind*: GetQuestionResults200responseKind
- of GetQuestionResults200responseKind.GetQuestionResultsResponseVariant:
- GetQuestionResultsResponseValue*: GetQuestionResultsResponse
- of GetQuestionResults200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetQuestionResults200response]): GetQuestionResults200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetQuestionResults200response(kind: GetQuestionResults200responseKind.GetQuestionResultsResponseVariant, GetQuestionResultsResponseValue: to(node, GetQuestionResultsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetQuestionResultsResponse: ", e.msg
- try:
- return GetQuestionResults200response(kind: GetQuestionResults200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetQuestionResults200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_sso_user_by_email_api_response.nim b/client/fastcomments/models/model_get_sso_user_by_email_api_response.nim
index a9b2d4f..a2118ad 100644
--- a/client/fastcomments/models/model_get_sso_user_by_email_api_response.nim
+++ b/client/fastcomments/models/model_get_sso_user_by_email_api_response.nim
@@ -21,3 +21,28 @@ type GetSSOUserByEmailAPIResponse* = object
user*: Option[APISSOUser]
status*: string
+
+# Custom JSON deserialization for GetSSOUserByEmailAPIResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetSSOUserByEmailAPIResponse]): GetSSOUserByEmailAPIResponse =
+ result = GetSSOUserByEmailAPIResponse()
+ if node.kind == JObject:
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("user") and node["user"].kind != JNull:
+ result.user = some(to(node["user"], typeof(result.user.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for GetSSOUserByEmailAPIResponse with custom field names
+proc `%`*(obj: GetSSOUserByEmailAPIResponse): JsonNode =
+ result = newJObject()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ if obj.user.isSome():
+ result["user"] = %obj.user.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_sso_user_by_id_api_response.nim b/client/fastcomments/models/model_get_sso_user_by_id_api_response.nim
index ddf6322..9a95571 100644
--- a/client/fastcomments/models/model_get_sso_user_by_id_api_response.nim
+++ b/client/fastcomments/models/model_get_sso_user_by_id_api_response.nim
@@ -21,3 +21,28 @@ type GetSSOUserByIdAPIResponse* = object
user*: Option[APISSOUser]
status*: string
+
+# Custom JSON deserialization for GetSSOUserByIdAPIResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetSSOUserByIdAPIResponse]): GetSSOUserByIdAPIResponse =
+ result = GetSSOUserByIdAPIResponse()
+ if node.kind == JObject:
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("user") and node["user"].kind != JNull:
+ result.user = some(to(node["user"], typeof(result.user.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for GetSSOUserByIdAPIResponse with custom field names
+proc `%`*(obj: GetSSOUserByIdAPIResponse): JsonNode =
+ result = newJObject()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ if obj.user.isSome():
+ result["user"] = %obj.user.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_sso_users200response.nim b/client/fastcomments/models/model_get_sso_users200response.nim
deleted file mode 100644
index daccf23..0000000
--- a/client/fastcomments/models/model_get_sso_users200response.nim
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_apisso_user
-
-type GetSSOUsers200response* = object
- ##
- users*: seq[APISSOUser]
- status*: string
-
diff --git a/client/fastcomments/models/model_get_sso_users_response.nim b/client/fastcomments/models/model_get_sso_users_response.nim
new file mode 100644
index 0000000..96ecff5
--- /dev/null
+++ b/client/fastcomments/models/model_get_sso_users_response.nim
@@ -0,0 +1,37 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_apisso_user
+
+type GetSSOUsersResponse* = object
+ ##
+ users*: seq[APISSOUser]
+ status*: string
+
+
+# Custom JSON deserialization for GetSSOUsersResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetSSOUsersResponse]): GetSSOUsersResponse =
+ result = GetSSOUsersResponse()
+ if node.kind == JObject:
+ if node.hasKey("users"):
+ result.users = to(node["users"], seq[APISSOUser])
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for GetSSOUsersResponse with custom field names
+proc `%`*(obj: GetSSOUsersResponse): JsonNode =
+ result = newJObject()
+ result["users"] = %obj.users
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_subscriptions_api_response.nim b/client/fastcomments/models/model_get_subscriptions_api_response.nim
index 7c55658..4149980 100644
--- a/client/fastcomments/models/model_get_subscriptions_api_response.nim
+++ b/client/fastcomments/models/model_get_subscriptions_api_response.nim
@@ -21,3 +21,28 @@ type GetSubscriptionsAPIResponse* = object
subscriptions*: Option[seq[APIUserSubscription]]
status*: string
+
+# Custom JSON deserialization for GetSubscriptionsAPIResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetSubscriptionsAPIResponse]): GetSubscriptionsAPIResponse =
+ result = GetSubscriptionsAPIResponse()
+ if node.kind == JObject:
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("subscriptions") and node["subscriptions"].kind != JNull:
+ result.subscriptions = some(to(node["subscriptions"], typeof(result.subscriptions.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for GetSubscriptionsAPIResponse with custom field names
+proc `%`*(obj: GetSubscriptionsAPIResponse): JsonNode =
+ result = newJObject()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ if obj.subscriptions.isSome():
+ result["subscriptions"] = %obj.subscriptions.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_tenant200response.nim b/client/fastcomments/models/model_get_tenant200response.nim
deleted file mode 100644
index 5fbe971..0000000
--- a/client/fastcomments/models/model_get_tenant200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_api_tenant
-import model_custom_config_parameters
-import model_get_tenant_response
-
-# AnyOf type
-type GetTenant200responseKind* {.pure.} = enum
- GetTenantResponseVariant
- APIErrorVariant
-
-type GetTenant200response* = object
- ##
- case kind*: GetTenant200responseKind
- of GetTenant200responseKind.GetTenantResponseVariant:
- GetTenantResponseValue*: GetTenantResponse
- of GetTenant200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetTenant200response]): GetTenant200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetTenant200response(kind: GetTenant200responseKind.GetTenantResponseVariant, GetTenantResponseValue: to(node, GetTenantResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetTenantResponse: ", e.msg
- try:
- return GetTenant200response(kind: GetTenant200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetTenant200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_tenant_daily_usages200response.nim b/client/fastcomments/models/model_get_tenant_daily_usages200response.nim
deleted file mode 100644
index bdc9a93..0000000
--- a/client/fastcomments/models/model_get_tenant_daily_usages200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_api_tenant_daily_usage
-import model_custom_config_parameters
-import model_get_tenant_daily_usages_response
-
-# AnyOf type
-type GetTenantDailyUsages200responseKind* {.pure.} = enum
- GetTenantDailyUsagesResponseVariant
- APIErrorVariant
-
-type GetTenantDailyUsages200response* = object
- ##
- case kind*: GetTenantDailyUsages200responseKind
- of GetTenantDailyUsages200responseKind.GetTenantDailyUsagesResponseVariant:
- GetTenantDailyUsagesResponseValue*: GetTenantDailyUsagesResponse
- of GetTenantDailyUsages200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetTenantDailyUsages200response]): GetTenantDailyUsages200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetTenantDailyUsages200response(kind: GetTenantDailyUsages200responseKind.GetTenantDailyUsagesResponseVariant, GetTenantDailyUsagesResponseValue: to(node, GetTenantDailyUsagesResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetTenantDailyUsagesResponse: ", e.msg
- try:
- return GetTenantDailyUsages200response(kind: GetTenantDailyUsages200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetTenantDailyUsages200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_tenant_daily_usages_response.nim b/client/fastcomments/models/model_get_tenant_daily_usages_response.nim
index 15d89c4..028fe39 100644
--- a/client/fastcomments/models/model_get_tenant_daily_usages_response.nim
+++ b/client/fastcomments/models/model_get_tenant_daily_usages_response.nim
@@ -20,3 +20,19 @@ type GetTenantDailyUsagesResponse* = object
status*: APIStatus
tenantDailyUsages*: seq[APITenantDailyUsage]
+
+# Custom JSON deserialization for GetTenantDailyUsagesResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetTenantDailyUsagesResponse]): GetTenantDailyUsagesResponse =
+ result = GetTenantDailyUsagesResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("tenantDailyUsages"):
+ result.tenantDailyUsages = to(node["tenantDailyUsages"], seq[APITenantDailyUsage])
+
+# Custom JSON serialization for GetTenantDailyUsagesResponse with custom field names
+proc `%`*(obj: GetTenantDailyUsagesResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["tenantDailyUsages"] = %obj.tenantDailyUsages
+
diff --git a/client/fastcomments/models/model_get_tenant_manual_badges_response.nim b/client/fastcomments/models/model_get_tenant_manual_badges_response.nim
new file mode 100644
index 0000000..ff51f64
--- /dev/null
+++ b/client/fastcomments/models/model_get_tenant_manual_badges_response.nim
@@ -0,0 +1,43 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_tenant_badge
+
+type GetTenantManualBadgesResponse* = object
+ ##
+ badges*: seq[TenantBadge]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for GetTenantManualBadgesResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetTenantManualBadgesResponse]): GetTenantManualBadgesResponse =
+ result = GetTenantManualBadgesResponse()
+ if node.kind == JObject:
+ if node.hasKey("badges"):
+ # Array of types with custom JSON - manually iterate and deserialize
+ let arrayNode = node["badges"]
+ if arrayNode.kind == JArray:
+ result.badges = @[]
+ for item in arrayNode.items:
+ result.badges.add(to(item, TenantBadge))
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for GetTenantManualBadgesResponse with custom field names
+proc `%`*(obj: GetTenantManualBadgesResponse): JsonNode =
+ result = newJObject()
+ result["badges"] = %obj.badges
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_tenant_package200response.nim b/client/fastcomments/models/model_get_tenant_package200response.nim
deleted file mode 100644
index 270d436..0000000
--- a/client/fastcomments/models/model_get_tenant_package200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_tenant_package_response
-import model_tenant_package
-
-# AnyOf type
-type GetTenantPackage200responseKind* {.pure.} = enum
- GetTenantPackageResponseVariant
- APIErrorVariant
-
-type GetTenantPackage200response* = object
- ##
- case kind*: GetTenantPackage200responseKind
- of GetTenantPackage200responseKind.GetTenantPackageResponseVariant:
- GetTenantPackageResponseValue*: GetTenantPackageResponse
- of GetTenantPackage200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetTenantPackage200response]): GetTenantPackage200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetTenantPackage200response(kind: GetTenantPackage200responseKind.GetTenantPackageResponseVariant, GetTenantPackageResponseValue: to(node, GetTenantPackageResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetTenantPackageResponse: ", e.msg
- try:
- return GetTenantPackage200response(kind: GetTenantPackage200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetTenantPackage200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_tenant_packages200response.nim b/client/fastcomments/models/model_get_tenant_packages200response.nim
deleted file mode 100644
index d7e68a9..0000000
--- a/client/fastcomments/models/model_get_tenant_packages200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_tenant_packages_response
-import model_tenant_package
-
-# AnyOf type
-type GetTenantPackages200responseKind* {.pure.} = enum
- GetTenantPackagesResponseVariant
- APIErrorVariant
-
-type GetTenantPackages200response* = object
- ##
- case kind*: GetTenantPackages200responseKind
- of GetTenantPackages200responseKind.GetTenantPackagesResponseVariant:
- GetTenantPackagesResponseValue*: GetTenantPackagesResponse
- of GetTenantPackages200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetTenantPackages200response]): GetTenantPackages200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetTenantPackages200response(kind: GetTenantPackages200responseKind.GetTenantPackagesResponseVariant, GetTenantPackagesResponseValue: to(node, GetTenantPackagesResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetTenantPackagesResponse: ", e.msg
- try:
- return GetTenantPackages200response(kind: GetTenantPackages200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetTenantPackages200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_tenant_response.nim b/client/fastcomments/models/model_get_tenant_response.nim
index f6391a7..08d5b6f 100644
--- a/client/fastcomments/models/model_get_tenant_response.nim
+++ b/client/fastcomments/models/model_get_tenant_response.nim
@@ -20,3 +20,19 @@ type GetTenantResponse* = object
status*: APIStatus
tenant*: APITenant
+
+# Custom JSON deserialization for GetTenantResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetTenantResponse]): GetTenantResponse =
+ result = GetTenantResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("tenant"):
+ result.tenant = to(node["tenant"], APITenant)
+
+# Custom JSON serialization for GetTenantResponse with custom field names
+proc `%`*(obj: GetTenantResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["tenant"] = %obj.tenant
+
diff --git a/client/fastcomments/models/model_get_tenant_user200response.nim b/client/fastcomments/models/model_get_tenant_user200response.nim
deleted file mode 100644
index f46a4f7..0000000
--- a/client/fastcomments/models/model_get_tenant_user200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_tenant_user_response
-import model_user
-
-# AnyOf type
-type GetTenantUser200responseKind* {.pure.} = enum
- GetTenantUserResponseVariant
- APIErrorVariant
-
-type GetTenantUser200response* = object
- ##
- case kind*: GetTenantUser200responseKind
- of GetTenantUser200responseKind.GetTenantUserResponseVariant:
- GetTenantUserResponseValue*: GetTenantUserResponse
- of GetTenantUser200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetTenantUser200response]): GetTenantUser200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetTenantUser200response(kind: GetTenantUser200responseKind.GetTenantUserResponseVariant, GetTenantUserResponseValue: to(node, GetTenantUserResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetTenantUserResponse: ", e.msg
- try:
- return GetTenantUser200response(kind: GetTenantUser200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetTenantUser200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_tenant_users200response.nim b/client/fastcomments/models/model_get_tenant_users200response.nim
deleted file mode 100644
index 6eac65b..0000000
--- a/client/fastcomments/models/model_get_tenant_users200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_tenant_users_response
-import model_user
-
-# AnyOf type
-type GetTenantUsers200responseKind* {.pure.} = enum
- GetTenantUsersResponseVariant
- APIErrorVariant
-
-type GetTenantUsers200response* = object
- ##
- case kind*: GetTenantUsers200responseKind
- of GetTenantUsers200responseKind.GetTenantUsersResponseVariant:
- GetTenantUsersResponseValue*: GetTenantUsersResponse
- of GetTenantUsers200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetTenantUsers200response]): GetTenantUsers200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetTenantUsers200response(kind: GetTenantUsers200responseKind.GetTenantUsersResponseVariant, GetTenantUsersResponseValue: to(node, GetTenantUsersResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetTenantUsersResponse: ", e.msg
- try:
- return GetTenantUsers200response(kind: GetTenantUsers200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetTenantUsers200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_tenants200response.nim b/client/fastcomments/models/model_get_tenants200response.nim
deleted file mode 100644
index 51aa7ec..0000000
--- a/client/fastcomments/models/model_get_tenants200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_api_tenant
-import model_custom_config_parameters
-import model_get_tenants_response
-
-# AnyOf type
-type GetTenants200responseKind* {.pure.} = enum
- GetTenantsResponseVariant
- APIErrorVariant
-
-type GetTenants200response* = object
- ##
- case kind*: GetTenants200responseKind
- of GetTenants200responseKind.GetTenantsResponseVariant:
- GetTenantsResponseValue*: GetTenantsResponse
- of GetTenants200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetTenants200response]): GetTenants200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetTenants200response(kind: GetTenants200responseKind.GetTenantsResponseVariant, GetTenantsResponseValue: to(node, GetTenantsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetTenantsResponse: ", e.msg
- try:
- return GetTenants200response(kind: GetTenants200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetTenants200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_tenants_response.nim b/client/fastcomments/models/model_get_tenants_response.nim
index c724c71..4c6c15e 100644
--- a/client/fastcomments/models/model_get_tenants_response.nim
+++ b/client/fastcomments/models/model_get_tenants_response.nim
@@ -20,3 +20,19 @@ type GetTenantsResponse* = object
status*: APIStatus
tenants*: seq[APITenant]
+
+# Custom JSON deserialization for GetTenantsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetTenantsResponse]): GetTenantsResponse =
+ result = GetTenantsResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("tenants"):
+ result.tenants = to(node["tenants"], seq[APITenant])
+
+# Custom JSON serialization for GetTenantsResponse with custom field names
+proc `%`*(obj: GetTenantsResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["tenants"] = %obj.tenants
+
diff --git a/client/fastcomments/models/model_get_ticket200response.nim b/client/fastcomments/models/model_get_ticket200response.nim
deleted file mode 100644
index 7d678cc..0000000
--- a/client/fastcomments/models/model_get_ticket200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_api_ticket_detail
-import model_custom_config_parameters
-import model_get_ticket_response
-
-# AnyOf type
-type GetTicket200responseKind* {.pure.} = enum
- GetTicketResponseVariant
- APIErrorVariant
-
-type GetTicket200response* = object
- ##
- case kind*: GetTicket200responseKind
- of GetTicket200responseKind.GetTicketResponseVariant:
- GetTicketResponseValue*: GetTicketResponse
- of GetTicket200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetTicket200response]): GetTicket200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetTicket200response(kind: GetTicket200responseKind.GetTicketResponseVariant, GetTicketResponseValue: to(node, GetTicketResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetTicketResponse: ", e.msg
- try:
- return GetTicket200response(kind: GetTicket200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetTicket200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_tickets200response.nim b/client/fastcomments/models/model_get_tickets200response.nim
deleted file mode 100644
index 2144ca5..0000000
--- a/client/fastcomments/models/model_get_tickets200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_api_ticket
-import model_custom_config_parameters
-import model_get_tickets_response
-
-# AnyOf type
-type GetTickets200responseKind* {.pure.} = enum
- GetTicketsResponseVariant
- APIErrorVariant
-
-type GetTickets200response* = object
- ##
- case kind*: GetTickets200responseKind
- of GetTickets200responseKind.GetTicketsResponseVariant:
- GetTicketsResponseValue*: GetTicketsResponse
- of GetTickets200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetTickets200response]): GetTickets200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetTickets200response(kind: GetTickets200responseKind.GetTicketsResponseVariant, GetTicketsResponseValue: to(node, GetTicketsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetTicketsResponse: ", e.msg
- try:
- return GetTickets200response(kind: GetTickets200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetTickets200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_translations_response.nim b/client/fastcomments/models/model_get_translations_response.nim
new file mode 100644
index 0000000..7cbc500
--- /dev/null
+++ b/client/fastcomments/models/model_get_translations_response.nim
@@ -0,0 +1,37 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type GetTranslationsResponse* = object
+ ##
+ translations*: Table[string, string] ## Construct a type with a set of properties K of type T
+ status*: APIStatus
+
+
+# Custom JSON deserialization for GetTranslationsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetTranslationsResponse]): GetTranslationsResponse =
+ result = GetTranslationsResponse()
+ if node.kind == JObject:
+ if node.hasKey("translations"):
+ result.translations = to(node["translations"], Table[string, string])
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for GetTranslationsResponse with custom field names
+proc `%`*(obj: GetTranslationsResponse): JsonNode =
+ result = newJObject()
+ result["translations"] = %obj.translations
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_user200response.nim b/client/fastcomments/models/model_get_user200response.nim
deleted file mode 100644
index ee264e1..0000000
--- a/client/fastcomments/models/model_get_user200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_user_response
-import model_user
-
-# AnyOf type
-type GetUser200responseKind* {.pure.} = enum
- GetUserResponseVariant
- APIErrorVariant
-
-type GetUser200response* = object
- ##
- case kind*: GetUser200responseKind
- of GetUser200responseKind.GetUserResponseVariant:
- GetUserResponseValue*: GetUserResponse
- of GetUser200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetUser200response]): GetUser200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetUser200response(kind: GetUser200responseKind.GetUserResponseVariant, GetUserResponseValue: to(node, GetUserResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetUserResponse: ", e.msg
- try:
- return GetUser200response(kind: GetUser200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetUser200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_user_badge200response.nim b/client/fastcomments/models/model_get_user_badge200response.nim
deleted file mode 100644
index 1e055a4..0000000
--- a/client/fastcomments/models/model_get_user_badge200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_get_user_badge_response
-import model_api_status
-import model_custom_config_parameters
-import model_user_badge
-
-# AnyOf type
-type GetUserBadge200responseKind* {.pure.} = enum
- APIGetUserBadgeResponseVariant
- APIErrorVariant
-
-type GetUserBadge200response* = object
- ##
- case kind*: GetUserBadge200responseKind
- of GetUserBadge200responseKind.APIGetUserBadgeResponseVariant:
- APIGetUserBadgeResponseValue*: APIGetUserBadgeResponse
- of GetUserBadge200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetUserBadge200response]): GetUserBadge200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetUserBadge200response(kind: GetUserBadge200responseKind.APIGetUserBadgeResponseVariant, APIGetUserBadgeResponseValue: to(node, APIGetUserBadgeResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIGetUserBadgeResponse: ", e.msg
- try:
- return GetUserBadge200response(kind: GetUserBadge200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetUserBadge200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_user_badge_progress_by_id200response.nim b/client/fastcomments/models/model_get_user_badge_progress_by_id200response.nim
deleted file mode 100644
index 931bf7e..0000000
--- a/client/fastcomments/models/model_get_user_badge_progress_by_id200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_get_user_badge_progress_response
-import model_api_status
-import model_custom_config_parameters
-import model_user_badge_progress
-
-# AnyOf type
-type GetUserBadgeProgressById200responseKind* {.pure.} = enum
- APIGetUserBadgeProgressResponseVariant
- APIErrorVariant
-
-type GetUserBadgeProgressById200response* = object
- ##
- case kind*: GetUserBadgeProgressById200responseKind
- of GetUserBadgeProgressById200responseKind.APIGetUserBadgeProgressResponseVariant:
- APIGetUserBadgeProgressResponseValue*: APIGetUserBadgeProgressResponse
- of GetUserBadgeProgressById200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetUserBadgeProgressById200response]): GetUserBadgeProgressById200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetUserBadgeProgressById200response(kind: GetUserBadgeProgressById200responseKind.APIGetUserBadgeProgressResponseVariant, APIGetUserBadgeProgressResponseValue: to(node, APIGetUserBadgeProgressResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIGetUserBadgeProgressResponse: ", e.msg
- try:
- return GetUserBadgeProgressById200response(kind: GetUserBadgeProgressById200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetUserBadgeProgressById200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_user_badge_progress_list200response.nim b/client/fastcomments/models/model_get_user_badge_progress_list200response.nim
deleted file mode 100644
index 6cbb601..0000000
--- a/client/fastcomments/models/model_get_user_badge_progress_list200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_get_user_badge_progress_list_response
-import model_api_status
-import model_custom_config_parameters
-import model_user_badge_progress
-
-# AnyOf type
-type GetUserBadgeProgressList200responseKind* {.pure.} = enum
- APIGetUserBadgeProgressListResponseVariant
- APIErrorVariant
-
-type GetUserBadgeProgressList200response* = object
- ##
- case kind*: GetUserBadgeProgressList200responseKind
- of GetUserBadgeProgressList200responseKind.APIGetUserBadgeProgressListResponseVariant:
- APIGetUserBadgeProgressListResponseValue*: APIGetUserBadgeProgressListResponse
- of GetUserBadgeProgressList200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetUserBadgeProgressList200response]): GetUserBadgeProgressList200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetUserBadgeProgressList200response(kind: GetUserBadgeProgressList200responseKind.APIGetUserBadgeProgressListResponseVariant, APIGetUserBadgeProgressListResponseValue: to(node, APIGetUserBadgeProgressListResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIGetUserBadgeProgressListResponse: ", e.msg
- try:
- return GetUserBadgeProgressList200response(kind: GetUserBadgeProgressList200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetUserBadgeProgressList200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_user_badges200response.nim b/client/fastcomments/models/model_get_user_badges200response.nim
deleted file mode 100644
index e59dff6..0000000
--- a/client/fastcomments/models/model_get_user_badges200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_get_user_badges_response
-import model_api_status
-import model_custom_config_parameters
-import model_user_badge
-
-# AnyOf type
-type GetUserBadges200responseKind* {.pure.} = enum
- APIGetUserBadgesResponseVariant
- APIErrorVariant
-
-type GetUserBadges200response* = object
- ##
- case kind*: GetUserBadges200responseKind
- of GetUserBadges200responseKind.APIGetUserBadgesResponseVariant:
- APIGetUserBadgesResponseValue*: APIGetUserBadgesResponse
- of GetUserBadges200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetUserBadges200response]): GetUserBadges200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetUserBadges200response(kind: GetUserBadges200responseKind.APIGetUserBadgesResponseVariant, APIGetUserBadgesResponseValue: to(node, APIGetUserBadgesResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIGetUserBadgesResponse: ", e.msg
- try:
- return GetUserBadges200response(kind: GetUserBadges200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetUserBadges200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_user_internal_profile_response.nim b/client/fastcomments/models/model_get_user_internal_profile_response.nim
new file mode 100644
index 0000000..b35901e
--- /dev/null
+++ b/client/fastcomments/models/model_get_user_internal_profile_response.nim
@@ -0,0 +1,38 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_get_user_internal_profile_response_profile
+
+type GetUserInternalProfileResponse* = object
+ ##
+ profile*: GetUserInternalProfileResponseProfile
+ status*: APIStatus
+
+
+# Custom JSON deserialization for GetUserInternalProfileResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetUserInternalProfileResponse]): GetUserInternalProfileResponse =
+ result = GetUserInternalProfileResponse()
+ if node.kind == JObject:
+ if node.hasKey("profile"):
+ result.profile = to(node["profile"], GetUserInternalProfileResponseProfile)
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for GetUserInternalProfileResponse with custom field names
+proc `%`*(obj: GetUserInternalProfileResponse): JsonNode =
+ result = newJObject()
+ result["profile"] = %obj.profile
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_user_internal_profile_response_profile.nim b/client/fastcomments/models/model_get_user_internal_profile_response_profile.nim
new file mode 100644
index 0000000..6f133bd
--- /dev/null
+++ b/client/fastcomments/models/model_get_user_internal_profile_response_profile.nim
@@ -0,0 +1,113 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type GetUserInternalProfileResponseProfile* = object
+ ##
+ commenterName*: Option[string]
+ firstCommentDate*: Option[string]
+ ipHash*: Option[string]
+ countryFlag*: Option[string]
+ countryCode*: Option[string]
+ websiteUrl*: Option[string]
+ bio*: Option[string]
+ karma*: Option[float64]
+ locale*: Option[string]
+ verified*: Option[bool]
+ avatarSrc*: Option[string]
+ displayName*: Option[string]
+ username*: Option[string]
+ commenterEmail*: Option[string]
+ email*: Option[string]
+ anonUserId*: Option[string]
+ userId*: Option[string]
+
+
+# Custom JSON deserialization for GetUserInternalProfileResponseProfile with custom field names
+proc to*(node: JsonNode, T: typedesc[GetUserInternalProfileResponseProfile]): GetUserInternalProfileResponseProfile =
+ result = GetUserInternalProfileResponseProfile()
+ if node.kind == JObject:
+ if node.hasKey("commenterName") and node["commenterName"].kind != JNull:
+ result.commenterName = some(to(node["commenterName"], typeof(result.commenterName.get())))
+ if node.hasKey("firstCommentDate") and node["firstCommentDate"].kind != JNull:
+ result.firstCommentDate = some(to(node["firstCommentDate"], typeof(result.firstCommentDate.get())))
+ if node.hasKey("ipHash") and node["ipHash"].kind != JNull:
+ result.ipHash = some(to(node["ipHash"], typeof(result.ipHash.get())))
+ if node.hasKey("countryFlag") and node["countryFlag"].kind != JNull:
+ result.countryFlag = some(to(node["countryFlag"], typeof(result.countryFlag.get())))
+ if node.hasKey("countryCode") and node["countryCode"].kind != JNull:
+ result.countryCode = some(to(node["countryCode"], typeof(result.countryCode.get())))
+ if node.hasKey("websiteUrl") and node["websiteUrl"].kind != JNull:
+ result.websiteUrl = some(to(node["websiteUrl"], typeof(result.websiteUrl.get())))
+ if node.hasKey("bio") and node["bio"].kind != JNull:
+ result.bio = some(to(node["bio"], typeof(result.bio.get())))
+ if node.hasKey("karma") and node["karma"].kind != JNull:
+ result.karma = some(to(node["karma"], typeof(result.karma.get())))
+ if node.hasKey("locale") and node["locale"].kind != JNull:
+ result.locale = some(to(node["locale"], typeof(result.locale.get())))
+ if node.hasKey("verified") and node["verified"].kind != JNull:
+ result.verified = some(to(node["verified"], typeof(result.verified.get())))
+ if node.hasKey("avatarSrc") and node["avatarSrc"].kind != JNull:
+ result.avatarSrc = some(to(node["avatarSrc"], typeof(result.avatarSrc.get())))
+ if node.hasKey("displayName") and node["displayName"].kind != JNull:
+ result.displayName = some(to(node["displayName"], typeof(result.displayName.get())))
+ if node.hasKey("username") and node["username"].kind != JNull:
+ result.username = some(to(node["username"], typeof(result.username.get())))
+ if node.hasKey("commenterEmail") and node["commenterEmail"].kind != JNull:
+ result.commenterEmail = some(to(node["commenterEmail"], typeof(result.commenterEmail.get())))
+ if node.hasKey("email") and node["email"].kind != JNull:
+ result.email = some(to(node["email"], typeof(result.email.get())))
+ if node.hasKey("anonUserId") and node["anonUserId"].kind != JNull:
+ result.anonUserId = some(to(node["anonUserId"], typeof(result.anonUserId.get())))
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+
+# Custom JSON serialization for GetUserInternalProfileResponseProfile with custom field names
+proc `%`*(obj: GetUserInternalProfileResponseProfile): JsonNode =
+ result = newJObject()
+ if obj.commenterName.isSome():
+ result["commenterName"] = %obj.commenterName.get()
+ if obj.firstCommentDate.isSome():
+ result["firstCommentDate"] = %obj.firstCommentDate.get()
+ if obj.ipHash.isSome():
+ result["ipHash"] = %obj.ipHash.get()
+ if obj.countryFlag.isSome():
+ result["countryFlag"] = %obj.countryFlag.get()
+ if obj.countryCode.isSome():
+ result["countryCode"] = %obj.countryCode.get()
+ if obj.websiteUrl.isSome():
+ result["websiteUrl"] = %obj.websiteUrl.get()
+ if obj.bio.isSome():
+ result["bio"] = %obj.bio.get()
+ if obj.karma.isSome():
+ result["karma"] = %obj.karma.get()
+ if obj.locale.isSome():
+ result["locale"] = %obj.locale.get()
+ if obj.verified.isSome():
+ result["verified"] = %obj.verified.get()
+ if obj.avatarSrc.isSome():
+ result["avatarSrc"] = %obj.avatarSrc.get()
+ if obj.displayName.isSome():
+ result["displayName"] = %obj.displayName.get()
+ if obj.username.isSome():
+ result["username"] = %obj.username.get()
+ if obj.commenterEmail.isSome():
+ result["commenterEmail"] = %obj.commenterEmail.get()
+ if obj.email.isSome():
+ result["email"] = %obj.email.get()
+ if obj.anonUserId.isSome():
+ result["anonUserId"] = %obj.anonUserId.get()
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+
diff --git a/client/fastcomments/models/model_get_user_manual_badges_response.nim b/client/fastcomments/models/model_get_user_manual_badges_response.nim
new file mode 100644
index 0000000..f1f8daf
--- /dev/null
+++ b/client/fastcomments/models/model_get_user_manual_badges_response.nim
@@ -0,0 +1,43 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_user_badge
+
+type GetUserManualBadgesResponse* = object
+ ##
+ badges*: seq[UserBadge]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for GetUserManualBadgesResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetUserManualBadgesResponse]): GetUserManualBadgesResponse =
+ result = GetUserManualBadgesResponse()
+ if node.kind == JObject:
+ if node.hasKey("badges"):
+ # Array of types with custom JSON - manually iterate and deserialize
+ let arrayNode = node["badges"]
+ if arrayNode.kind == JArray:
+ result.badges = @[]
+ for item in arrayNode.items:
+ result.badges.add(to(item, UserBadge))
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for GetUserManualBadgesResponse with custom field names
+proc `%`*(obj: GetUserManualBadgesResponse): JsonNode =
+ result = newJObject()
+ result["badges"] = %obj.badges
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_user_notification_count200response.nim b/client/fastcomments/models/model_get_user_notification_count200response.nim
deleted file mode 100644
index 91f4ca9..0000000
--- a/client/fastcomments/models/model_get_user_notification_count200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_user_notification_count_response
-
-# AnyOf type
-type GetUserNotificationCount200responseKind* {.pure.} = enum
- GetUserNotificationCountResponseVariant
- APIErrorVariant
-
-type GetUserNotificationCount200response* = object
- ##
- case kind*: GetUserNotificationCount200responseKind
- of GetUserNotificationCount200responseKind.GetUserNotificationCountResponseVariant:
- GetUserNotificationCountResponseValue*: GetUserNotificationCountResponse
- of GetUserNotificationCount200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetUserNotificationCount200response]): GetUserNotificationCount200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetUserNotificationCount200response(kind: GetUserNotificationCount200responseKind.GetUserNotificationCountResponseVariant, GetUserNotificationCountResponseValue: to(node, GetUserNotificationCountResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetUserNotificationCountResponse: ", e.msg
- try:
- return GetUserNotificationCount200response(kind: GetUserNotificationCount200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetUserNotificationCount200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_user_notification_count_response.nim b/client/fastcomments/models/model_get_user_notification_count_response.nim
index 73ea85e..a1e763d 100644
--- a/client/fastcomments/models/model_get_user_notification_count_response.nim
+++ b/client/fastcomments/models/model_get_user_notification_count_response.nim
@@ -19,3 +19,19 @@ type GetUserNotificationCountResponse* = object
status*: APIStatus
count*: int64
+
+# Custom JSON deserialization for GetUserNotificationCountResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetUserNotificationCountResponse]): GetUserNotificationCountResponse =
+ result = GetUserNotificationCountResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("count"):
+ result.count = to(node["count"], int64)
+
+# Custom JSON serialization for GetUserNotificationCountResponse with custom field names
+proc `%`*(obj: GetUserNotificationCountResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["count"] = %obj.count
+
diff --git a/client/fastcomments/models/model_get_user_notifications200response.nim b/client/fastcomments/models/model_get_user_notifications200response.nim
deleted file mode 100644
index ab160a6..0000000
--- a/client/fastcomments/models/model_get_user_notifications200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_my_notifications_response
-import model_renderable_user_notification
-
-# AnyOf type
-type GetUserNotifications200responseKind* {.pure.} = enum
- GetMyNotificationsResponseVariant
- APIErrorVariant
-
-type GetUserNotifications200response* = object
- ##
- case kind*: GetUserNotifications200responseKind
- of GetUserNotifications200responseKind.GetMyNotificationsResponseVariant:
- GetMyNotificationsResponseValue*: GetMyNotificationsResponse
- of GetUserNotifications200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetUserNotifications200response]): GetUserNotifications200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetUserNotifications200response(kind: GetUserNotifications200responseKind.GetMyNotificationsResponseVariant, GetMyNotificationsResponseValue: to(node, GetMyNotificationsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetMyNotificationsResponse: ", e.msg
- try:
- return GetUserNotifications200response(kind: GetUserNotifications200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetUserNotifications200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_user_presence_statuses200response.nim b/client/fastcomments/models/model_get_user_presence_statuses200response.nim
deleted file mode 100644
index b07f7fd..0000000
--- a/client/fastcomments/models/model_get_user_presence_statuses200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_user_presence_statuses_response
-
-# AnyOf type
-type GetUserPresenceStatuses200responseKind* {.pure.} = enum
- GetUserPresenceStatusesResponseVariant
- APIErrorVariant
-
-type GetUserPresenceStatuses200response* = object
- ##
- case kind*: GetUserPresenceStatuses200responseKind
- of GetUserPresenceStatuses200responseKind.GetUserPresenceStatusesResponseVariant:
- GetUserPresenceStatusesResponseValue*: GetUserPresenceStatusesResponse
- of GetUserPresenceStatuses200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetUserPresenceStatuses200response]): GetUserPresenceStatuses200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetUserPresenceStatuses200response(kind: GetUserPresenceStatuses200responseKind.GetUserPresenceStatusesResponseVariant, GetUserPresenceStatusesResponseValue: to(node, GetUserPresenceStatusesResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetUserPresenceStatusesResponse: ", e.msg
- try:
- return GetUserPresenceStatuses200response(kind: GetUserPresenceStatuses200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetUserPresenceStatuses200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_user_presence_statuses_response.nim b/client/fastcomments/models/model_get_user_presence_statuses_response.nim
index fb918b8..a998ba0 100644
--- a/client/fastcomments/models/model_get_user_presence_statuses_response.nim
+++ b/client/fastcomments/models/model_get_user_presence_statuses_response.nim
@@ -19,3 +19,19 @@ type GetUserPresenceStatusesResponse* = object
status*: APIStatus
userIdsOnline*: Table[string, bool] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for GetUserPresenceStatusesResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetUserPresenceStatusesResponse]): GetUserPresenceStatusesResponse =
+ result = GetUserPresenceStatusesResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("userIdsOnline"):
+ result.userIdsOnline = to(node["userIdsOnline"], Table[string, bool])
+
+# Custom JSON serialization for GetUserPresenceStatusesResponse with custom field names
+proc `%`*(obj: GetUserPresenceStatusesResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["userIdsOnline"] = %obj.userIdsOnline
+
diff --git a/client/fastcomments/models/model_get_user_reacts_public200response.nim b/client/fastcomments/models/model_get_user_reacts_public200response.nim
deleted file mode 100644
index 3f064b5..0000000
--- a/client/fastcomments/models/model_get_user_reacts_public200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_user_reacts_response
-
-# AnyOf type
-type GetUserReactsPublic200responseKind* {.pure.} = enum
- UserReactsResponseVariant
- APIErrorVariant
-
-type GetUserReactsPublic200response* = object
- ##
- case kind*: GetUserReactsPublic200responseKind
- of GetUserReactsPublic200responseKind.UserReactsResponseVariant:
- UserReactsResponseValue*: UserReactsResponse
- of GetUserReactsPublic200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetUserReactsPublic200response]): GetUserReactsPublic200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetUserReactsPublic200response(kind: GetUserReactsPublic200responseKind.UserReactsResponseVariant, UserReactsResponseValue: to(node, UserReactsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as UserReactsResponse: ", e.msg
- try:
- return GetUserReactsPublic200response(kind: GetUserReactsPublic200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetUserReactsPublic200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_user_trust_factor_response.nim b/client/fastcomments/models/model_get_user_trust_factor_response.nim
new file mode 100644
index 0000000..f300c5b
--- /dev/null
+++ b/client/fastcomments/models/model_get_user_trust_factor_response.nim
@@ -0,0 +1,43 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type GetUserTrustFactorResponse* = object
+ ##
+ manualTrustFactor*: Option[float64]
+ autoTrustFactor*: Option[float64]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for GetUserTrustFactorResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetUserTrustFactorResponse]): GetUserTrustFactorResponse =
+ result = GetUserTrustFactorResponse()
+ if node.kind == JObject:
+ if node.hasKey("manualTrustFactor") and node["manualTrustFactor"].kind != JNull:
+ result.manualTrustFactor = some(to(node["manualTrustFactor"], typeof(result.manualTrustFactor.get())))
+ if node.hasKey("autoTrustFactor") and node["autoTrustFactor"].kind != JNull:
+ result.autoTrustFactor = some(to(node["autoTrustFactor"], typeof(result.autoTrustFactor.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for GetUserTrustFactorResponse with custom field names
+proc `%`*(obj: GetUserTrustFactorResponse): JsonNode =
+ result = newJObject()
+ if obj.manualTrustFactor.isSome():
+ result["manualTrustFactor"] = %obj.manualTrustFactor.get()
+ if obj.autoTrustFactor.isSome():
+ result["autoTrustFactor"] = %obj.autoTrustFactor.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_v1_page_likes.nim b/client/fastcomments/models/model_get_v1_page_likes.nim
new file mode 100644
index 0000000..7a19bb6
--- /dev/null
+++ b/client/fastcomments/models/model_get_v1_page_likes.nim
@@ -0,0 +1,49 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type GetV1PageLikes* = object
+ ##
+ urlIdWS*: string
+ didLike*: bool
+ commentCount*: int
+ likeCount*: int
+ status*: APIStatus
+
+
+# Custom JSON deserialization for GetV1PageLikes with custom field names
+proc to*(node: JsonNode, T: typedesc[GetV1PageLikes]): GetV1PageLikes =
+ result = GetV1PageLikes()
+ if node.kind == JObject:
+ if node.hasKey("urlIdWS"):
+ result.urlIdWS = to(node["urlIdWS"], string)
+ if node.hasKey("didLike"):
+ result.didLike = to(node["didLike"], bool)
+ if node.hasKey("commentCount"):
+ result.commentCount = to(node["commentCount"], int)
+ if node.hasKey("likeCount"):
+ result.likeCount = to(node["likeCount"], int)
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for GetV1PageLikes with custom field names
+proc `%`*(obj: GetV1PageLikes): JsonNode =
+ result = newJObject()
+ result["urlIdWS"] = %obj.urlIdWS
+ result["didLike"] = %obj.didLike
+ result["commentCount"] = %obj.commentCount
+ result["likeCount"] = %obj.likeCount
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_v2_page_react_users_response.nim b/client/fastcomments/models/model_get_v2_page_react_users_response.nim
new file mode 100644
index 0000000..b78c288
--- /dev/null
+++ b/client/fastcomments/models/model_get_v2_page_react_users_response.nim
@@ -0,0 +1,37 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type GetV2PageReactUsersResponse* = object
+ ##
+ userNames*: seq[string]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for GetV2PageReactUsersResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetV2PageReactUsersResponse]): GetV2PageReactUsersResponse =
+ result = GetV2PageReactUsersResponse()
+ if node.kind == JObject:
+ if node.hasKey("userNames"):
+ result.userNames = to(node["userNames"], seq[string])
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for GetV2PageReactUsersResponse with custom field names
+proc `%`*(obj: GetV2PageReactUsersResponse): JsonNode =
+ result = newJObject()
+ result["userNames"] = %obj.userNames
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_v2_page_reacts.nim b/client/fastcomments/models/model_get_v2_page_reacts.nim
new file mode 100644
index 0000000..d4b4383
--- /dev/null
+++ b/client/fastcomments/models/model_get_v2_page_reacts.nim
@@ -0,0 +1,43 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type GetV2PageReacts* = object
+ ##
+ reactedIds*: Option[seq[string]]
+ counts*: Option[Table[string, float64]] ## Construct a type with a set of properties K of type T
+ status*: APIStatus
+
+
+# Custom JSON deserialization for GetV2PageReacts with custom field names
+proc to*(node: JsonNode, T: typedesc[GetV2PageReacts]): GetV2PageReacts =
+ result = GetV2PageReacts()
+ if node.kind == JObject:
+ if node.hasKey("reactedIds") and node["reactedIds"].kind != JNull:
+ result.reactedIds = some(to(node["reactedIds"], typeof(result.reactedIds.get())))
+ if node.hasKey("counts") and node["counts"].kind != JNull:
+ result.counts = some(to(node["counts"], typeof(result.counts.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for GetV2PageReacts with custom field names
+proc `%`*(obj: GetV2PageReacts): JsonNode =
+ result = newJObject()
+ if obj.reactedIds.isSome():
+ result["reactedIds"] = %obj.reactedIds.get()
+ if obj.counts.isSome():
+ result["counts"] = %obj.counts.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_get_votes200response.nim b/client/fastcomments/models/model_get_votes200response.nim
deleted file mode 100644
index cb7e4a8..0000000
--- a/client/fastcomments/models/model_get_votes200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_votes_response
-import model_public_vote
-
-# AnyOf type
-type GetVotes200responseKind* {.pure.} = enum
- GetVotesResponseVariant
- APIErrorVariant
-
-type GetVotes200response* = object
- ##
- case kind*: GetVotes200responseKind
- of GetVotes200responseKind.GetVotesResponseVariant:
- GetVotesResponseValue*: GetVotesResponse
- of GetVotes200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetVotes200response]): GetVotes200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetVotes200response(kind: GetVotes200responseKind.GetVotesResponseVariant, GetVotesResponseValue: to(node, GetVotesResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetVotesResponse: ", e.msg
- try:
- return GetVotes200response(kind: GetVotes200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetVotes200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_votes_for_user200response.nim b/client/fastcomments/models/model_get_votes_for_user200response.nim
deleted file mode 100644
index 596fba3..0000000
--- a/client/fastcomments/models/model_get_votes_for_user200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_get_votes_for_user_response
-import model_public_vote
-
-# AnyOf type
-type GetVotesForUser200responseKind* {.pure.} = enum
- GetVotesForUserResponseVariant
- APIErrorVariant
-
-type GetVotesForUser200response* = object
- ##
- case kind*: GetVotesForUser200responseKind
- of GetVotesForUser200responseKind.GetVotesForUserResponseVariant:
- GetVotesForUserResponseValue*: GetVotesForUserResponse
- of GetVotesForUser200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[GetVotesForUser200response]): GetVotesForUser200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return GetVotesForUser200response(kind: GetVotesForUser200responseKind.GetVotesForUserResponseVariant, GetVotesForUserResponseValue: to(node, GetVotesForUserResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as GetVotesForUserResponse: ", e.msg
- try:
- return GetVotesForUser200response(kind: GetVotesForUser200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of GetVotesForUser200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_get_votes_for_user_response.nim b/client/fastcomments/models/model_get_votes_for_user_response.nim
index 2a06502..13a26d5 100644
--- a/client/fastcomments/models/model_get_votes_for_user_response.nim
+++ b/client/fastcomments/models/model_get_votes_for_user_response.nim
@@ -22,3 +22,25 @@ type GetVotesForUserResponse* = object
appliedAnonymousVotes*: seq[PublicVote]
pendingVotes*: seq[PublicVote]
+
+# Custom JSON deserialization for GetVotesForUserResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetVotesForUserResponse]): GetVotesForUserResponse =
+ result = GetVotesForUserResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("appliedAuthorizedVotes"):
+ result.appliedAuthorizedVotes = to(node["appliedAuthorizedVotes"], seq[PublicVote])
+ if node.hasKey("appliedAnonymousVotes"):
+ result.appliedAnonymousVotes = to(node["appliedAnonymousVotes"], seq[PublicVote])
+ if node.hasKey("pendingVotes"):
+ result.pendingVotes = to(node["pendingVotes"], seq[PublicVote])
+
+# Custom JSON serialization for GetVotesForUserResponse with custom field names
+proc `%`*(obj: GetVotesForUserResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["appliedAuthorizedVotes"] = %obj.appliedAuthorizedVotes
+ result["appliedAnonymousVotes"] = %obj.appliedAnonymousVotes
+ result["pendingVotes"] = %obj.pendingVotes
+
diff --git a/client/fastcomments/models/model_get_votes_response.nim b/client/fastcomments/models/model_get_votes_response.nim
index fb10a84..98ae6e0 100644
--- a/client/fastcomments/models/model_get_votes_response.nim
+++ b/client/fastcomments/models/model_get_votes_response.nim
@@ -22,3 +22,25 @@ type GetVotesResponse* = object
appliedAnonymousVotes*: seq[PublicVote]
pendingVotes*: seq[PublicVote]
+
+# Custom JSON deserialization for GetVotesResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GetVotesResponse]): GetVotesResponse =
+ result = GetVotesResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("appliedAuthorizedVotes"):
+ result.appliedAuthorizedVotes = to(node["appliedAuthorizedVotes"], seq[PublicVote])
+ if node.hasKey("appliedAnonymousVotes"):
+ result.appliedAnonymousVotes = to(node["appliedAnonymousVotes"], seq[PublicVote])
+ if node.hasKey("pendingVotes"):
+ result.pendingVotes = to(node["pendingVotes"], seq[PublicVote])
+
+# Custom JSON serialization for GetVotesResponse with custom field names
+proc `%`*(obj: GetVotesResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["appliedAuthorizedVotes"] = %obj.appliedAuthorizedVotes
+ result["appliedAnonymousVotes"] = %obj.appliedAnonymousVotes
+ result["pendingVotes"] = %obj.pendingVotes
+
diff --git a/client/fastcomments/models/model_gif_get_large_response.nim b/client/fastcomments/models/model_gif_get_large_response.nim
new file mode 100644
index 0000000..f212132
--- /dev/null
+++ b/client/fastcomments/models/model_gif_get_large_response.nim
@@ -0,0 +1,37 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type GifGetLargeResponse* = object
+ ##
+ src*: string
+ status*: APIStatus
+
+
+# Custom JSON deserialization for GifGetLargeResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GifGetLargeResponse]): GifGetLargeResponse =
+ result = GifGetLargeResponse()
+ if node.kind == JObject:
+ if node.hasKey("src"):
+ result.src = to(node["src"], string)
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for GifGetLargeResponse with custom field names
+proc `%`*(obj: GifGetLargeResponse): JsonNode =
+ result = newJObject()
+ result["src"] = %obj.src
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_gif_search_internal_error.nim b/client/fastcomments/models/model_gif_search_internal_error.nim
new file mode 100644
index 0000000..ec1e224
--- /dev/null
+++ b/client/fastcomments/models/model_gif_search_internal_error.nim
@@ -0,0 +1,37 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type GifSearchInternalError* = object
+ ##
+ code*: string
+ status*: APIStatus
+
+
+# Custom JSON deserialization for GifSearchInternalError with custom field names
+proc to*(node: JsonNode, T: typedesc[GifSearchInternalError]): GifSearchInternalError =
+ result = GifSearchInternalError()
+ if node.kind == JObject:
+ if node.hasKey("code"):
+ result.code = to(node["code"], string)
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for GifSearchInternalError with custom field names
+proc `%`*(obj: GifSearchInternalError): JsonNode =
+ result = newJObject()
+ result["code"] = %obj.code
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_gif_search_response.nim b/client/fastcomments/models/model_gif_search_response.nim
new file mode 100644
index 0000000..798381f
--- /dev/null
+++ b/client/fastcomments/models/model_gif_search_response.nim
@@ -0,0 +1,38 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_gif_search_response_images_inner_inner
+
+type GifSearchResponse* = object
+ ##
+ images*: seq[seq[GifSearchResponseImagesInnerInner]]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for GifSearchResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[GifSearchResponse]): GifSearchResponse =
+ result = GifSearchResponse()
+ if node.kind == JObject:
+ if node.hasKey("images"):
+ result.images = to(node["images"], seq[seq[GifSearchResponseImagesInnerInner]])
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for GifSearchResponse with custom field names
+proc `%`*(obj: GifSearchResponse): JsonNode =
+ result = newJObject()
+ result["images"] = %obj.images
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_gif_search_response_images_inner_inner.nim b/client/fastcomments/models/model_gif_search_response_images_inner_inner.nim
new file mode 100644
index 0000000..b3a3aa4
--- /dev/null
+++ b/client/fastcomments/models/model_gif_search_response_images_inner_inner.nim
@@ -0,0 +1,42 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+# AnyOf type
+type GifSearchResponseImagesInnerInnerKind* {.pure.} = enum
+ StringVariant
+ NumberVariant
+
+type GifSearchResponseImagesInnerInner* = object
+ ##
+ case kind*: GifSearchResponseImagesInnerInnerKind
+ of GifSearchResponseImagesInnerInnerKind.StringVariant:
+ stringValue*: string
+ of GifSearchResponseImagesInnerInnerKind.NumberVariant:
+ numberValue*: float64
+
+proc to*(node: JsonNode, T: typedesc[GifSearchResponseImagesInnerInner]): GifSearchResponseImagesInnerInner =
+ ## Custom deserializer for anyOf type - tries each variant
+ try:
+ return GifSearchResponseImagesInnerInner(kind: GifSearchResponseImagesInnerInnerKind.StringVariant, stringValue: to(node, string))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as string: ", e.msg
+ try:
+ return GifSearchResponseImagesInnerInner(kind: GifSearchResponseImagesInnerInnerKind.NumberVariant, numberValue: to(node, float64))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as float64: ", e.msg
+ raise newException(ValueError, "Unable to deserialize into any variant of GifSearchResponseImagesInnerInner. JSON: " & $node)
+
diff --git a/client/fastcomments/models/model_header_account_notification.nim b/client/fastcomments/models/model_header_account_notification.nim
index 7c7ca6a..e3a2874 100644
--- a/client/fastcomments/models/model_header_account_notification.nim
+++ b/client/fastcomments/models/model_header_account_notification.nim
@@ -24,6 +24,7 @@ type HeaderAccountNotification* = object
linkUrl*: Option[string]
linkText*: Option[string]
createdAt*: string
+ `type`*: Option[string] ## Discriminator for notifications with a special layout/click handler (e.g. \"feedback-offer\").
# Custom JSON deserialization for HeaderAccountNotification with custom field names
@@ -48,6 +49,8 @@ proc to*(node: JsonNode, T: typedesc[HeaderAccountNotification]): HeaderAccountN
result.linkText = some(to(node["linkText"], typeof(result.linkText.get())))
if node.hasKey("createdAt"):
result.createdAt = to(node["createdAt"], string)
+ if node.hasKey("type") and node["type"].kind != JNull:
+ result.`type` = some(to(node["type"], typeof(result.`type`.get())))
# Custom JSON serialization for HeaderAccountNotification with custom field names
proc `%`*(obj: HeaderAccountNotification): JsonNode =
@@ -65,4 +68,6 @@ proc `%`*(obj: HeaderAccountNotification): JsonNode =
if obj.linkText.isSome():
result["linkText"] = %obj.linkText.get()
result["createdAt"] = %obj.createdAt
+ if obj.`type`.isSome():
+ result["type"] = %obj.`type`.get()
diff --git a/client/fastcomments/models/model_ignored_response.nim b/client/fastcomments/models/model_ignored_response.nim
index b238dfd..6bc22e2 100644
--- a/client/fastcomments/models/model_ignored_response.nim
+++ b/client/fastcomments/models/model_ignored_response.nim
@@ -44,3 +44,19 @@ proc to*(node: JsonNode, T: typedesc[Note]): Note =
else:
raise newException(ValueError, "Invalid enum value for Note: " & strVal)
+
+# Custom JSON deserialization for IgnoredResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[IgnoredResponse]): IgnoredResponse =
+ result = IgnoredResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("note"):
+ result.note = to(node["note"], Note)
+
+# Custom JSON serialization for IgnoredResponse with custom field names
+proc `%`*(obj: IgnoredResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["note"] = %obj.note
+
diff --git a/client/fastcomments/models/model_imported_agent_approval_notification_frequency.nim b/client/fastcomments/models/model_imported_agent_approval_notification_frequency.nim
new file mode 100644
index 0000000..8e954b3
--- /dev/null
+++ b/client/fastcomments/models/model_imported_agent_approval_notification_frequency.nim
@@ -0,0 +1,50 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type ImportedAgentApprovalNotificationFrequency* {.pure.} = enum
+ Neg1
+ `0`
+ `1`
+ `2`
+
+func `%`*(v: ImportedAgentApprovalNotificationFrequency): JsonNode =
+ result = case v:
+ of ImportedAgentApprovalNotificationFrequency.Neg1: %(-1)
+ of ImportedAgentApprovalNotificationFrequency.`0`: %(0)
+ of ImportedAgentApprovalNotificationFrequency.`1`: %(1)
+ of ImportedAgentApprovalNotificationFrequency.`2`: %(2)
+
+func `$`*(v: ImportedAgentApprovalNotificationFrequency): string =
+ result = case v:
+ of ImportedAgentApprovalNotificationFrequency.Neg1: $(-1)
+ of ImportedAgentApprovalNotificationFrequency.`0`: $(0)
+ of ImportedAgentApprovalNotificationFrequency.`1`: $(1)
+ of ImportedAgentApprovalNotificationFrequency.`2`: $(2)
+proc to*(node: JsonNode, T: typedesc[ImportedAgentApprovalNotificationFrequency]): ImportedAgentApprovalNotificationFrequency =
+ if node.kind != JInt:
+ raise newException(ValueError, "Expected integer for enum ImportedAgentApprovalNotificationFrequency, got " & $node.kind)
+ let intVal = node.getInt()
+ case intVal:
+ of -1:
+ return ImportedAgentApprovalNotificationFrequency.Neg1
+ of 0:
+ return ImportedAgentApprovalNotificationFrequency.`0`
+ of 1:
+ return ImportedAgentApprovalNotificationFrequency.`1`
+ of 2:
+ return ImportedAgentApprovalNotificationFrequency.`2`
+ else:
+ raise newException(ValueError, "Invalid enum value for ImportedAgentApprovalNotificationFrequency: " & $intVal)
+
diff --git a/client/fastcomments/models/model_live_event.nim b/client/fastcomments/models/model_live_event.nim
index 32b900e..e89d4b3 100644
--- a/client/fastcomments/models/model_live_event.nim
+++ b/client/fastcomments/models/model_live_event.nim
@@ -33,11 +33,12 @@ type LiveEvent* = object
vote*: Option[PubSubVote]
comment*: Option[PubSubComment]
feedPost*: Option[FeedPost]
- extraInfo*: Option[LiveEvent_extraInfo]
+ extraInfo*: Option[LiveEventExtraInfo]
config*: Option[JsonNode]
isClosed*: Option[bool]
uj*: Option[seq[string]]
ul*: Option[seq[string]]
+ sc*: Option[int]
changes*: Option[Table[string, int]]
@@ -75,6 +76,8 @@ proc to*(node: JsonNode, T: typedesc[LiveEvent]): LiveEvent =
result.uj = some(to(node["uj"], typeof(result.uj.get())))
if node.hasKey("ul") and node["ul"].kind != JNull:
result.ul = some(to(node["ul"], typeof(result.ul.get())))
+ if node.hasKey("sc") and node["sc"].kind != JNull:
+ result.sc = some(to(node["sc"], typeof(result.sc.get())))
if node.hasKey("changes") and node["changes"].kind != JNull:
result.changes = some(to(node["changes"], typeof(result.changes.get())))
@@ -110,6 +113,8 @@ proc `%`*(obj: LiveEvent): JsonNode =
result["uj"] = %obj.uj.get()
if obj.ul.isSome():
result["ul"] = %obj.ul.get()
+ if obj.sc.isSome():
+ result["sc"] = %obj.sc.get()
if obj.changes.isSome():
result["changes"] = %obj.changes.get()
diff --git a/client/fastcomments/models/model_live_event_extra_info.nim b/client/fastcomments/models/model_live_event_extra_info.nim
index 141a9d4..5b774c3 100644
--- a/client/fastcomments/models/model_live_event_extra_info.nim
+++ b/client/fastcomments/models/model_live_event_extra_info.nim
@@ -18,3 +18,17 @@ type LiveEventExtraInfo* = object
##
commentPositions*: Option[Table[string, RecordStringBeforeStringOrNullAfterStringOrNullValue]] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for LiveEventExtraInfo with custom field names
+proc to*(node: JsonNode, T: typedesc[LiveEventExtraInfo]): LiveEventExtraInfo =
+ result = LiveEventExtraInfo()
+ if node.kind == JObject:
+ if node.hasKey("commentPositions") and node["commentPositions"].kind != JNull:
+ result.commentPositions = some(to(node["commentPositions"], typeof(result.commentPositions.get())))
+
+# Custom JSON serialization for LiveEventExtraInfo with custom field names
+proc `%`*(obj: LiveEventExtraInfo): JsonNode =
+ result = newJObject()
+ if obj.commentPositions.isSome():
+ result["commentPositions"] = %obj.commentPositions.get()
+
diff --git a/client/fastcomments/models/model_live_event_type.nim b/client/fastcomments/models/model_live_event_type.nim
index cf0ae67..e9a9def 100644
--- a/client/fastcomments/models/model_live_event_type.nim
+++ b/client/fastcomments/models/model_live_event_type.nim
@@ -31,6 +31,12 @@ type LiveEventType* {.pure.} = enum
NewFeedPost
UpdatedFeedPost
DeletedFeedPost
+ NewTicket
+ UpdatedTicketState
+ UpdatedTicketAssignment
+ DeletedTicket
+ PageReact
+ QuestionResult
func `%`*(v: LiveEventType): JsonNode =
result = case v:
@@ -51,6 +57,12 @@ func `%`*(v: LiveEventType): JsonNode =
of LiveEventType.NewFeedPost: %"new-feed-post"
of LiveEventType.UpdatedFeedPost: %"updated-feed-post"
of LiveEventType.DeletedFeedPost: %"deleted-feed-post"
+ of LiveEventType.NewTicket: %"new-ticket"
+ of LiveEventType.UpdatedTicketState: %"updated-ticket-state"
+ of LiveEventType.UpdatedTicketAssignment: %"updated-ticket-assignment"
+ of LiveEventType.DeletedTicket: %"deleted-ticket"
+ of LiveEventType.PageReact: %"page-react"
+ of LiveEventType.QuestionResult: %"question-result"
func `$`*(v: LiveEventType): string =
result = case v:
@@ -71,6 +83,12 @@ func `$`*(v: LiveEventType): string =
of LiveEventType.NewFeedPost: $("new-feed-post")
of LiveEventType.UpdatedFeedPost: $("updated-feed-post")
of LiveEventType.DeletedFeedPost: $("deleted-feed-post")
+ of LiveEventType.NewTicket: $("new-ticket")
+ of LiveEventType.UpdatedTicketState: $("updated-ticket-state")
+ of LiveEventType.UpdatedTicketAssignment: $("updated-ticket-assignment")
+ of LiveEventType.DeletedTicket: $("deleted-ticket")
+ of LiveEventType.PageReact: $("page-react")
+ of LiveEventType.QuestionResult: $("question-result")
proc to*(node: JsonNode, T: typedesc[LiveEventType]): LiveEventType =
if node.kind != JString:
@@ -111,6 +129,18 @@ proc to*(node: JsonNode, T: typedesc[LiveEventType]): LiveEventType =
return LiveEventType.UpdatedFeedPost
of $("deleted-feed-post"):
return LiveEventType.DeletedFeedPost
+ of $("new-ticket"):
+ return LiveEventType.NewTicket
+ of $("updated-ticket-state"):
+ return LiveEventType.UpdatedTicketState
+ of $("updated-ticket-assignment"):
+ return LiveEventType.UpdatedTicketAssignment
+ of $("deleted-ticket"):
+ return LiveEventType.DeletedTicket
+ of $("page-react"):
+ return LiveEventType.PageReact
+ of $("question-result"):
+ return LiveEventType.QuestionResult
else:
raise newException(ValueError, "Invalid enum value for LiveEventType: " & strVal)
diff --git a/client/fastcomments/models/model_lock_comment200response.nim b/client/fastcomments/models/model_lock_comment200response.nim
deleted file mode 100644
index d9c6680..0000000
--- a/client/fastcomments/models/model_lock_comment200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_empty_response
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-
-# AnyOf type
-type LockComment200responseKind* {.pure.} = enum
- APIErrorVariant
- APIEmptyResponseVariant
-
-type LockComment200response* = object
- ##
- case kind*: LockComment200responseKind
- of LockComment200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
- of LockComment200responseKind.APIEmptyResponseVariant:
- APIEmptyResponseValue*: APIEmptyResponse
-
-proc to*(node: JsonNode, T: typedesc[LockComment200response]): LockComment200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return LockComment200response(kind: LockComment200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- try:
- return LockComment200response(kind: LockComment200responseKind.APIEmptyResponseVariant, APIEmptyResponseValue: to(node, APIEmptyResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIEmptyResponse: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of LockComment200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_media_asset.nim b/client/fastcomments/models/model_media_asset.nim
index c3eb1cf..6c21ccf 100644
--- a/client/fastcomments/models/model_media_asset.nim
+++ b/client/fastcomments/models/model_media_asset.nim
@@ -19,3 +19,22 @@ type MediaAsset* = object
h*: int
src*: string
+
+# Custom JSON deserialization for MediaAsset with custom field names
+proc to*(node: JsonNode, T: typedesc[MediaAsset]): MediaAsset =
+ result = MediaAsset()
+ if node.kind == JObject:
+ if node.hasKey("w"):
+ result.w = to(node["w"], int)
+ if node.hasKey("h"):
+ result.h = to(node["h"], int)
+ if node.hasKey("src"):
+ result.src = to(node["src"], string)
+
+# Custom JSON serialization for MediaAsset with custom field names
+proc `%`*(obj: MediaAsset): JsonNode =
+ result = newJObject()
+ result["w"] = %obj.w
+ result["h"] = %obj.h
+ result["src"] = %obj.src
+
diff --git a/client/fastcomments/models/model_meta_item.nim b/client/fastcomments/models/model_meta_item.nim
index 1509933..52e500f 100644
--- a/client/fastcomments/models/model_meta_item.nim
+++ b/client/fastcomments/models/model_meta_item.nim
@@ -18,3 +18,19 @@ type MetaItem* = object
name*: string
values*: seq[string]
+
+# Custom JSON deserialization for MetaItem with custom field names
+proc to*(node: JsonNode, T: typedesc[MetaItem]): MetaItem =
+ result = MetaItem()
+ if node.kind == JObject:
+ if node.hasKey("name"):
+ result.name = to(node["name"], string)
+ if node.hasKey("values"):
+ result.values = to(node["values"], seq[string])
+
+# Custom JSON serialization for MetaItem with custom field names
+proc `%`*(obj: MetaItem): JsonNode =
+ result = newJObject()
+ result["name"] = %obj.name
+ result["values"] = %obj.values
+
diff --git a/client/fastcomments/models/model_moderation_api_child_comments_response.nim b/client/fastcomments/models/model_moderation_api_child_comments_response.nim
new file mode 100644
index 0000000..267eb82
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_api_child_comments_response.nim
@@ -0,0 +1,43 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_moderation_api_comment
+
+type ModerationAPIChildCommentsResponse* = object
+ ##
+ comments*: seq[ModerationAPIComment]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for ModerationAPIChildCommentsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationAPIChildCommentsResponse]): ModerationAPIChildCommentsResponse =
+ result = ModerationAPIChildCommentsResponse()
+ if node.kind == JObject:
+ if node.hasKey("comments"):
+ # Array of types with custom JSON - manually iterate and deserialize
+ let arrayNode = node["comments"]
+ if arrayNode.kind == JArray:
+ result.comments = @[]
+ for item in arrayNode.items:
+ result.comments.add(to(item, ModerationAPIComment))
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for ModerationAPIChildCommentsResponse with custom field names
+proc `%`*(obj: ModerationAPIChildCommentsResponse): JsonNode =
+ result = newJObject()
+ result["comments"] = %obj.comments
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_moderation_api_comment.nim b/client/fastcomments/models/model_moderation_api_comment.nim
new file mode 100644
index 0000000..334e2fe
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_api_comment.nim
@@ -0,0 +1,231 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_comment_user_badge_info
+
+type ModerationAPIComment* = object
+ ##
+ isLocalDeleted*: Option[bool]
+ replyCount*: Option[float64]
+ feedbackResults*: Option[seq[string]]
+ isVotedUp*: Option[bool]
+ isVotedDown*: Option[bool]
+ myVoteId*: Option[string]
+ id*: string
+ tenantId*: string
+ urlId*: string
+ url*: string
+ pageTitle*: Option[string]
+ userId*: Option[string]
+ anonUserId*: Option[string]
+ commenterName*: string
+ commenterLink*: Option[string]
+ commentHTML*: string
+ parentId*: Option[string]
+ date*: Option[string]
+ localDateString*: Option[string]
+ votes*: Option[float64]
+ votesUp*: Option[float64]
+ votesDown*: Option[float64]
+ expireAt*: Option[string]
+ reviewed*: Option[bool]
+ avatarSrc*: Option[string]
+ isSpam*: Option[bool]
+ permNotSpam*: Option[bool]
+ hasLinks*: Option[bool]
+ hasCode*: Option[bool]
+ approved*: bool
+ locale*: Option[string]
+ isBannedUser*: Option[bool]
+ isByAdmin*: Option[bool]
+ isByModerator*: Option[bool]
+ isPinned*: Option[bool]
+ isLocked*: Option[bool]
+ flagCount*: Option[float64]
+ displayLabel*: Option[string]
+ badges*: Option[seq[CommentUserBadgeInfo]]
+ verified*: bool
+ feedbackIds*: Option[seq[string]]
+ isDeleted*: Option[bool]
+
+
+# Custom JSON deserialization for ModerationAPIComment with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationAPIComment]): ModerationAPIComment =
+ result = ModerationAPIComment()
+ if node.kind == JObject:
+ if node.hasKey("isLocalDeleted") and node["isLocalDeleted"].kind != JNull:
+ result.isLocalDeleted = some(to(node["isLocalDeleted"], typeof(result.isLocalDeleted.get())))
+ if node.hasKey("replyCount") and node["replyCount"].kind != JNull:
+ result.replyCount = some(to(node["replyCount"], typeof(result.replyCount.get())))
+ if node.hasKey("feedbackResults") and node["feedbackResults"].kind != JNull:
+ result.feedbackResults = some(to(node["feedbackResults"], typeof(result.feedbackResults.get())))
+ if node.hasKey("isVotedUp") and node["isVotedUp"].kind != JNull:
+ result.isVotedUp = some(to(node["isVotedUp"], typeof(result.isVotedUp.get())))
+ if node.hasKey("isVotedDown") and node["isVotedDown"].kind != JNull:
+ result.isVotedDown = some(to(node["isVotedDown"], typeof(result.isVotedDown.get())))
+ if node.hasKey("myVoteId") and node["myVoteId"].kind != JNull:
+ result.myVoteId = some(to(node["myVoteId"], typeof(result.myVoteId.get())))
+ if node.hasKey("_id"):
+ result.id = to(node["_id"], string)
+ if node.hasKey("tenantId"):
+ result.tenantId = to(node["tenantId"], string)
+ if node.hasKey("urlId"):
+ result.urlId = to(node["urlId"], string)
+ if node.hasKey("url"):
+ result.url = to(node["url"], string)
+ if node.hasKey("pageTitle") and node["pageTitle"].kind != JNull:
+ result.pageTitle = some(to(node["pageTitle"], typeof(result.pageTitle.get())))
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+ if node.hasKey("anonUserId") and node["anonUserId"].kind != JNull:
+ result.anonUserId = some(to(node["anonUserId"], typeof(result.anonUserId.get())))
+ if node.hasKey("commenterName"):
+ result.commenterName = to(node["commenterName"], string)
+ if node.hasKey("commenterLink") and node["commenterLink"].kind != JNull:
+ result.commenterLink = some(to(node["commenterLink"], typeof(result.commenterLink.get())))
+ if node.hasKey("commentHTML"):
+ result.commentHTML = to(node["commentHTML"], string)
+ if node.hasKey("parentId") and node["parentId"].kind != JNull:
+ result.parentId = some(to(node["parentId"], typeof(result.parentId.get())))
+ if node.hasKey("date") and node["date"].kind != JNull:
+ result.date = some(to(node["date"], typeof(result.date.get())))
+ if node.hasKey("localDateString") and node["localDateString"].kind != JNull:
+ result.localDateString = some(to(node["localDateString"], typeof(result.localDateString.get())))
+ if node.hasKey("votes") and node["votes"].kind != JNull:
+ result.votes = some(to(node["votes"], typeof(result.votes.get())))
+ if node.hasKey("votesUp") and node["votesUp"].kind != JNull:
+ result.votesUp = some(to(node["votesUp"], typeof(result.votesUp.get())))
+ if node.hasKey("votesDown") and node["votesDown"].kind != JNull:
+ result.votesDown = some(to(node["votesDown"], typeof(result.votesDown.get())))
+ if node.hasKey("expireAt") and node["expireAt"].kind != JNull:
+ result.expireAt = some(to(node["expireAt"], typeof(result.expireAt.get())))
+ if node.hasKey("reviewed") and node["reviewed"].kind != JNull:
+ result.reviewed = some(to(node["reviewed"], typeof(result.reviewed.get())))
+ if node.hasKey("avatarSrc") and node["avatarSrc"].kind != JNull:
+ result.avatarSrc = some(to(node["avatarSrc"], typeof(result.avatarSrc.get())))
+ if node.hasKey("isSpam") and node["isSpam"].kind != JNull:
+ result.isSpam = some(to(node["isSpam"], typeof(result.isSpam.get())))
+ if node.hasKey("permNotSpam") and node["permNotSpam"].kind != JNull:
+ result.permNotSpam = some(to(node["permNotSpam"], typeof(result.permNotSpam.get())))
+ if node.hasKey("hasLinks") and node["hasLinks"].kind != JNull:
+ result.hasLinks = some(to(node["hasLinks"], typeof(result.hasLinks.get())))
+ if node.hasKey("hasCode") and node["hasCode"].kind != JNull:
+ result.hasCode = some(to(node["hasCode"], typeof(result.hasCode.get())))
+ if node.hasKey("approved"):
+ result.approved = to(node["approved"], bool)
+ if node.hasKey("locale") and node["locale"].kind != JNull:
+ result.locale = some(to(node["locale"], typeof(result.locale.get())))
+ if node.hasKey("isBannedUser") and node["isBannedUser"].kind != JNull:
+ result.isBannedUser = some(to(node["isBannedUser"], typeof(result.isBannedUser.get())))
+ if node.hasKey("isByAdmin") and node["isByAdmin"].kind != JNull:
+ result.isByAdmin = some(to(node["isByAdmin"], typeof(result.isByAdmin.get())))
+ if node.hasKey("isByModerator") and node["isByModerator"].kind != JNull:
+ result.isByModerator = some(to(node["isByModerator"], typeof(result.isByModerator.get())))
+ if node.hasKey("isPinned") and node["isPinned"].kind != JNull:
+ result.isPinned = some(to(node["isPinned"], typeof(result.isPinned.get())))
+ if node.hasKey("isLocked") and node["isLocked"].kind != JNull:
+ result.isLocked = some(to(node["isLocked"], typeof(result.isLocked.get())))
+ if node.hasKey("flagCount") and node["flagCount"].kind != JNull:
+ result.flagCount = some(to(node["flagCount"], typeof(result.flagCount.get())))
+ if node.hasKey("displayLabel") and node["displayLabel"].kind != JNull:
+ result.displayLabel = some(to(node["displayLabel"], typeof(result.displayLabel.get())))
+ if node.hasKey("badges") and node["badges"].kind != JNull:
+ result.badges = some(to(node["badges"], typeof(result.badges.get())))
+ if node.hasKey("verified"):
+ result.verified = to(node["verified"], bool)
+ if node.hasKey("feedbackIds") and node["feedbackIds"].kind != JNull:
+ result.feedbackIds = some(to(node["feedbackIds"], typeof(result.feedbackIds.get())))
+ if node.hasKey("isDeleted") and node["isDeleted"].kind != JNull:
+ result.isDeleted = some(to(node["isDeleted"], typeof(result.isDeleted.get())))
+
+# Custom JSON serialization for ModerationAPIComment with custom field names
+proc `%`*(obj: ModerationAPIComment): JsonNode =
+ result = newJObject()
+ if obj.isLocalDeleted.isSome():
+ result["isLocalDeleted"] = %obj.isLocalDeleted.get()
+ if obj.replyCount.isSome():
+ result["replyCount"] = %obj.replyCount.get()
+ if obj.feedbackResults.isSome():
+ result["feedbackResults"] = %obj.feedbackResults.get()
+ if obj.isVotedUp.isSome():
+ result["isVotedUp"] = %obj.isVotedUp.get()
+ if obj.isVotedDown.isSome():
+ result["isVotedDown"] = %obj.isVotedDown.get()
+ if obj.myVoteId.isSome():
+ result["myVoteId"] = %obj.myVoteId.get()
+ result["_id"] = %obj.id
+ result["tenantId"] = %obj.tenantId
+ result["urlId"] = %obj.urlId
+ result["url"] = %obj.url
+ if obj.pageTitle.isSome():
+ result["pageTitle"] = %obj.pageTitle.get()
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+ if obj.anonUserId.isSome():
+ result["anonUserId"] = %obj.anonUserId.get()
+ result["commenterName"] = %obj.commenterName
+ if obj.commenterLink.isSome():
+ result["commenterLink"] = %obj.commenterLink.get()
+ result["commentHTML"] = %obj.commentHTML
+ if obj.parentId.isSome():
+ result["parentId"] = %obj.parentId.get()
+ if obj.date.isSome():
+ result["date"] = %obj.date.get()
+ if obj.localDateString.isSome():
+ result["localDateString"] = %obj.localDateString.get()
+ if obj.votes.isSome():
+ result["votes"] = %obj.votes.get()
+ if obj.votesUp.isSome():
+ result["votesUp"] = %obj.votesUp.get()
+ if obj.votesDown.isSome():
+ result["votesDown"] = %obj.votesDown.get()
+ if obj.expireAt.isSome():
+ result["expireAt"] = %obj.expireAt.get()
+ if obj.reviewed.isSome():
+ result["reviewed"] = %obj.reviewed.get()
+ if obj.avatarSrc.isSome():
+ result["avatarSrc"] = %obj.avatarSrc.get()
+ if obj.isSpam.isSome():
+ result["isSpam"] = %obj.isSpam.get()
+ if obj.permNotSpam.isSome():
+ result["permNotSpam"] = %obj.permNotSpam.get()
+ if obj.hasLinks.isSome():
+ result["hasLinks"] = %obj.hasLinks.get()
+ if obj.hasCode.isSome():
+ result["hasCode"] = %obj.hasCode.get()
+ result["approved"] = %obj.approved
+ if obj.locale.isSome():
+ result["locale"] = %obj.locale.get()
+ if obj.isBannedUser.isSome():
+ result["isBannedUser"] = %obj.isBannedUser.get()
+ if obj.isByAdmin.isSome():
+ result["isByAdmin"] = %obj.isByAdmin.get()
+ if obj.isByModerator.isSome():
+ result["isByModerator"] = %obj.isByModerator.get()
+ if obj.isPinned.isSome():
+ result["isPinned"] = %obj.isPinned.get()
+ if obj.isLocked.isSome():
+ result["isLocked"] = %obj.isLocked.get()
+ if obj.flagCount.isSome():
+ result["flagCount"] = %obj.flagCount.get()
+ if obj.displayLabel.isSome():
+ result["displayLabel"] = %obj.displayLabel.get()
+ if obj.badges.isSome():
+ result["badges"] = %obj.badges.get()
+ result["verified"] = %obj.verified
+ if obj.feedbackIds.isSome():
+ result["feedbackIds"] = %obj.feedbackIds.get()
+ if obj.isDeleted.isSome():
+ result["isDeleted"] = %obj.isDeleted.get()
+
diff --git a/client/fastcomments/models/model_moderation_api_comment_log.nim b/client/fastcomments/models/model_moderation_api_comment_log.nim
new file mode 100644
index 0000000..89e93c0
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_api_comment_log.nim
@@ -0,0 +1,45 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type ModerationAPICommentLog* = object
+ ##
+ date*: string
+ username*: Option[string]
+ actionName*: string
+ messageHTML*: string
+
+
+# Custom JSON deserialization for ModerationAPICommentLog with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationAPICommentLog]): ModerationAPICommentLog =
+ result = ModerationAPICommentLog()
+ if node.kind == JObject:
+ if node.hasKey("date"):
+ result.date = to(node["date"], string)
+ if node.hasKey("username") and node["username"].kind != JNull:
+ result.username = some(to(node["username"], typeof(result.username.get())))
+ if node.hasKey("actionName"):
+ result.actionName = to(node["actionName"], string)
+ if node.hasKey("messageHTML"):
+ result.messageHTML = to(node["messageHTML"], string)
+
+# Custom JSON serialization for ModerationAPICommentLog with custom field names
+proc `%`*(obj: ModerationAPICommentLog): JsonNode =
+ result = newJObject()
+ result["date"] = %obj.date
+ if obj.username.isSome():
+ result["username"] = %obj.username.get()
+ result["actionName"] = %obj.actionName
+ result["messageHTML"] = %obj.messageHTML
+
diff --git a/client/fastcomments/models/model_moderation_api_comment_response.nim b/client/fastcomments/models/model_moderation_api_comment_response.nim
new file mode 100644
index 0000000..29852d7
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_api_comment_response.nim
@@ -0,0 +1,38 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_moderation_api_comment
+
+type ModerationAPICommentResponse* = object
+ ##
+ comment*: ModerationAPIComment
+ status*: APIStatus
+
+
+# Custom JSON deserialization for ModerationAPICommentResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationAPICommentResponse]): ModerationAPICommentResponse =
+ result = ModerationAPICommentResponse()
+ if node.kind == JObject:
+ if node.hasKey("comment"):
+ result.comment = to(node["comment"], ModerationAPIComment)
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for ModerationAPICommentResponse with custom field names
+proc `%`*(obj: ModerationAPICommentResponse): JsonNode =
+ result = newJObject()
+ result["comment"] = %obj.comment
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_moderation_api_count_comments_response.nim b/client/fastcomments/models/model_moderation_api_count_comments_response.nim
new file mode 100644
index 0000000..3a5292c
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_api_count_comments_response.nim
@@ -0,0 +1,37 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type ModerationAPICountCommentsResponse* = object
+ ##
+ status*: APIStatus
+ count*: float64
+
+
+# Custom JSON deserialization for ModerationAPICountCommentsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationAPICountCommentsResponse]): ModerationAPICountCommentsResponse =
+ result = ModerationAPICountCommentsResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("count"):
+ result.count = to(node["count"], float64)
+
+# Custom JSON serialization for ModerationAPICountCommentsResponse with custom field names
+proc `%`*(obj: ModerationAPICountCommentsResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["count"] = %obj.count
+
diff --git a/client/fastcomments/models/model_moderation_api_get_comment_ids_response.nim b/client/fastcomments/models/model_moderation_api_get_comment_ids_response.nim
new file mode 100644
index 0000000..6455255
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_api_get_comment_ids_response.nim
@@ -0,0 +1,41 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type ModerationAPIGetCommentIdsResponse* = object
+ ##
+ ids*: seq[string]
+ hasMore*: bool
+ status*: APIStatus
+
+
+# Custom JSON deserialization for ModerationAPIGetCommentIdsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationAPIGetCommentIdsResponse]): ModerationAPIGetCommentIdsResponse =
+ result = ModerationAPIGetCommentIdsResponse()
+ if node.kind == JObject:
+ if node.hasKey("ids"):
+ result.ids = to(node["ids"], seq[string])
+ if node.hasKey("hasMore"):
+ result.hasMore = to(node["hasMore"], bool)
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for ModerationAPIGetCommentIdsResponse with custom field names
+proc `%`*(obj: ModerationAPIGetCommentIdsResponse): JsonNode =
+ result = newJObject()
+ result["ids"] = %obj.ids
+ result["hasMore"] = %obj.hasMore
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_moderation_api_get_comments_response.nim b/client/fastcomments/models/model_moderation_api_get_comments_response.nim
new file mode 100644
index 0000000..fbd5a09
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_api_get_comments_response.nim
@@ -0,0 +1,54 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_moderation_api_comment
+import model_moderation_filter
+import model_object
+
+type ModerationAPIGetCommentsResponse* = object
+ ##
+ status*: APIStatus
+ translations*: JsonNode
+ comments*: seq[ModerationAPIComment]
+ moderationFilter*: Option[ModerationFilter]
+
+
+# Custom JSON deserialization for ModerationAPIGetCommentsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationAPIGetCommentsResponse]): ModerationAPIGetCommentsResponse =
+ result = ModerationAPIGetCommentsResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("translations"):
+ result.translations = to(node["translations"], JsonNode)
+ if node.hasKey("comments"):
+ # Array of types with custom JSON - manually iterate and deserialize
+ let arrayNode = node["comments"]
+ if arrayNode.kind == JArray:
+ result.comments = @[]
+ for item in arrayNode.items:
+ result.comments.add(to(item, ModerationAPIComment))
+ if node.hasKey("moderationFilter") and node["moderationFilter"].kind != JNull:
+ result.moderationFilter = some(to(node["moderationFilter"], typeof(result.moderationFilter.get())))
+
+# Custom JSON serialization for ModerationAPIGetCommentsResponse with custom field names
+proc `%`*(obj: ModerationAPIGetCommentsResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["translations"] = %obj.translations
+ result["comments"] = %obj.comments
+ if obj.moderationFilter.isSome():
+ result["moderationFilter"] = %obj.moderationFilter.get()
+
diff --git a/client/fastcomments/models/model_moderation_api_get_logs_response.nim b/client/fastcomments/models/model_moderation_api_get_logs_response.nim
new file mode 100644
index 0000000..02bf986
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_api_get_logs_response.nim
@@ -0,0 +1,38 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_moderation_api_comment_log
+
+type ModerationAPIGetLogsResponse* = object
+ ##
+ logs*: seq[ModerationAPICommentLog]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for ModerationAPIGetLogsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationAPIGetLogsResponse]): ModerationAPIGetLogsResponse =
+ result = ModerationAPIGetLogsResponse()
+ if node.kind == JObject:
+ if node.hasKey("logs"):
+ result.logs = to(node["logs"], seq[ModerationAPICommentLog])
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for ModerationAPIGetLogsResponse with custom field names
+proc `%`*(obj: ModerationAPIGetLogsResponse): JsonNode =
+ result = newJObject()
+ result["logs"] = %obj.logs
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_moderation_comment_search_response.nim b/client/fastcomments/models/model_moderation_comment_search_response.nim
new file mode 100644
index 0000000..e769230
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_comment_search_response.nim
@@ -0,0 +1,37 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type ModerationCommentSearchResponse* = object
+ ##
+ commentCount*: int
+ status*: APIStatus
+
+
+# Custom JSON deserialization for ModerationCommentSearchResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationCommentSearchResponse]): ModerationCommentSearchResponse =
+ result = ModerationCommentSearchResponse()
+ if node.kind == JObject:
+ if node.hasKey("commentCount"):
+ result.commentCount = to(node["commentCount"], int)
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for ModerationCommentSearchResponse with custom field names
+proc `%`*(obj: ModerationCommentSearchResponse): JsonNode =
+ result = newJObject()
+ result["commentCount"] = %obj.commentCount
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_moderation_export_response.nim b/client/fastcomments/models/model_moderation_export_response.nim
new file mode 100644
index 0000000..2d5dc76
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_export_response.nim
@@ -0,0 +1,36 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type ModerationExportResponse* = object
+ ##
+ status*: string
+ batchJobId*: string
+
+
+# Custom JSON deserialization for ModerationExportResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationExportResponse]): ModerationExportResponse =
+ result = ModerationExportResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+ if node.hasKey("batchJobId"):
+ result.batchJobId = to(node["batchJobId"], string)
+
+# Custom JSON serialization for ModerationExportResponse with custom field names
+proc `%`*(obj: ModerationExportResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["batchJobId"] = %obj.batchJobId
+
diff --git a/client/fastcomments/models/model_moderation_export_status_response.nim b/client/fastcomments/models/model_moderation_export_status_response.nim
new file mode 100644
index 0000000..ccd2587
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_export_status_response.nim
@@ -0,0 +1,45 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type ModerationExportStatusResponse* = object
+ ##
+ status*: string
+ jobStatus*: string
+ recordCount*: int
+ downloadUrl*: Option[string]
+
+
+# Custom JSON deserialization for ModerationExportStatusResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationExportStatusResponse]): ModerationExportStatusResponse =
+ result = ModerationExportStatusResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+ if node.hasKey("jobStatus"):
+ result.jobStatus = to(node["jobStatus"], string)
+ if node.hasKey("recordCount"):
+ result.recordCount = to(node["recordCount"], int)
+ if node.hasKey("downloadUrl") and node["downloadUrl"].kind != JNull:
+ result.downloadUrl = some(to(node["downloadUrl"], typeof(result.downloadUrl.get())))
+
+# Custom JSON serialization for ModerationExportStatusResponse with custom field names
+proc `%`*(obj: ModerationExportStatusResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["jobStatus"] = %obj.jobStatus
+ result["recordCount"] = %obj.recordCount
+ if obj.downloadUrl.isSome():
+ result["downloadUrl"] = %obj.downloadUrl.get()
+
diff --git a/client/fastcomments/models/model_moderation_filter.nim b/client/fastcomments/models/model_moderation_filter.nim
new file mode 100644
index 0000000..b4f7caa
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_filter.nim
@@ -0,0 +1,88 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type ModerationFilter* = object
+ ##
+ reviewed*: Option[bool]
+ approved*: Option[bool]
+ isSpam*: Option[bool]
+ isBannedUser*: Option[bool]
+ isLocked*: Option[bool]
+ flagCountGt*: Option[float64]
+ userId*: Option[string]
+ urlId*: Option[string]
+ domain*: Option[string]
+ moderationGroupIds*: Option[seq[string]]
+ commentTextSearch*: Option[seq[string]] ## Text search terms. Each term is matched case-insensitively against the comment text. A term wrapped in quotes means exact phrase match.
+ exactCommentText*: Option[string] ## Set by the `exact=\"...\"` search syntax. The comment text must equal this value exactly (case-sensitive, full-string), as opposed to the substring matching of commentTextSearch.
+
+
+# Custom JSON deserialization for ModerationFilter with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationFilter]): ModerationFilter =
+ result = ModerationFilter()
+ if node.kind == JObject:
+ if node.hasKey("reviewed") and node["reviewed"].kind != JNull:
+ result.reviewed = some(to(node["reviewed"], typeof(result.reviewed.get())))
+ if node.hasKey("approved") and node["approved"].kind != JNull:
+ result.approved = some(to(node["approved"], typeof(result.approved.get())))
+ if node.hasKey("isSpam") and node["isSpam"].kind != JNull:
+ result.isSpam = some(to(node["isSpam"], typeof(result.isSpam.get())))
+ if node.hasKey("isBannedUser") and node["isBannedUser"].kind != JNull:
+ result.isBannedUser = some(to(node["isBannedUser"], typeof(result.isBannedUser.get())))
+ if node.hasKey("isLocked") and node["isLocked"].kind != JNull:
+ result.isLocked = some(to(node["isLocked"], typeof(result.isLocked.get())))
+ if node.hasKey("flagCountGt") and node["flagCountGt"].kind != JNull:
+ result.flagCountGt = some(to(node["flagCountGt"], typeof(result.flagCountGt.get())))
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+ if node.hasKey("urlId") and node["urlId"].kind != JNull:
+ result.urlId = some(to(node["urlId"], typeof(result.urlId.get())))
+ if node.hasKey("domain") and node["domain"].kind != JNull:
+ result.domain = some(to(node["domain"], typeof(result.domain.get())))
+ if node.hasKey("moderationGroupIds") and node["moderationGroupIds"].kind != JNull:
+ result.moderationGroupIds = some(to(node["moderationGroupIds"], typeof(result.moderationGroupIds.get())))
+ if node.hasKey("commentTextSearch") and node["commentTextSearch"].kind != JNull:
+ result.commentTextSearch = some(to(node["commentTextSearch"], typeof(result.commentTextSearch.get())))
+ if node.hasKey("exactCommentText") and node["exactCommentText"].kind != JNull:
+ result.exactCommentText = some(to(node["exactCommentText"], typeof(result.exactCommentText.get())))
+
+# Custom JSON serialization for ModerationFilter with custom field names
+proc `%`*(obj: ModerationFilter): JsonNode =
+ result = newJObject()
+ if obj.reviewed.isSome():
+ result["reviewed"] = %obj.reviewed.get()
+ if obj.approved.isSome():
+ result["approved"] = %obj.approved.get()
+ if obj.isSpam.isSome():
+ result["isSpam"] = %obj.isSpam.get()
+ if obj.isBannedUser.isSome():
+ result["isBannedUser"] = %obj.isBannedUser.get()
+ if obj.isLocked.isSome():
+ result["isLocked"] = %obj.isLocked.get()
+ if obj.flagCountGt.isSome():
+ result["flagCountGt"] = %obj.flagCountGt.get()
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+ if obj.urlId.isSome():
+ result["urlId"] = %obj.urlId.get()
+ if obj.domain.isSome():
+ result["domain"] = %obj.domain.get()
+ if obj.moderationGroupIds.isSome():
+ result["moderationGroupIds"] = %obj.moderationGroupIds.get()
+ if obj.commentTextSearch.isSome():
+ result["commentTextSearch"] = %obj.commentTextSearch.get()
+ if obj.exactCommentText.isSome():
+ result["exactCommentText"] = %obj.exactCommentText.get()
+
diff --git a/client/fastcomments/models/model_moderation_page_search_projected.nim b/client/fastcomments/models/model_moderation_page_search_projected.nim
new file mode 100644
index 0000000..c77ec4e
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_page_search_projected.nim
@@ -0,0 +1,44 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type ModerationPageSearchProjected* = object
+ ##
+ urlId*: string
+ url*: string
+ title*: string
+ commentCount*: float64
+
+
+# Custom JSON deserialization for ModerationPageSearchProjected with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationPageSearchProjected]): ModerationPageSearchProjected =
+ result = ModerationPageSearchProjected()
+ if node.kind == JObject:
+ if node.hasKey("urlId"):
+ result.urlId = to(node["urlId"], string)
+ if node.hasKey("url"):
+ result.url = to(node["url"], string)
+ if node.hasKey("title"):
+ result.title = to(node["title"], string)
+ if node.hasKey("commentCount"):
+ result.commentCount = to(node["commentCount"], float64)
+
+# Custom JSON serialization for ModerationPageSearchProjected with custom field names
+proc `%`*(obj: ModerationPageSearchProjected): JsonNode =
+ result = newJObject()
+ result["urlId"] = %obj.urlId
+ result["url"] = %obj.url
+ result["title"] = %obj.title
+ result["commentCount"] = %obj.commentCount
+
diff --git a/client/fastcomments/models/model_moderation_page_search_response.nim b/client/fastcomments/models/model_moderation_page_search_response.nim
new file mode 100644
index 0000000..95754e9
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_page_search_response.nim
@@ -0,0 +1,38 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_moderation_page_search_projected
+
+type ModerationPageSearchResponse* = object
+ ##
+ pages*: seq[ModerationPageSearchProjected]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for ModerationPageSearchResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationPageSearchResponse]): ModerationPageSearchResponse =
+ result = ModerationPageSearchResponse()
+ if node.kind == JObject:
+ if node.hasKey("pages"):
+ result.pages = to(node["pages"], seq[ModerationPageSearchProjected])
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for ModerationPageSearchResponse with custom field names
+proc `%`*(obj: ModerationPageSearchResponse): JsonNode =
+ result = newJObject()
+ result["pages"] = %obj.pages
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_moderation_site_search_projected.nim b/client/fastcomments/models/model_moderation_site_search_projected.nim
new file mode 100644
index 0000000..b27ed71
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_site_search_projected.nim
@@ -0,0 +1,37 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type ModerationSiteSearchProjected* = object
+ ##
+ domain*: string
+ logoSrc100px*: Option[string]
+
+
+# Custom JSON deserialization for ModerationSiteSearchProjected with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationSiteSearchProjected]): ModerationSiteSearchProjected =
+ result = ModerationSiteSearchProjected()
+ if node.kind == JObject:
+ if node.hasKey("domain"):
+ result.domain = to(node["domain"], string)
+ if node.hasKey("logoSrc100px") and node["logoSrc100px"].kind != JNull:
+ result.logoSrc100px = some(to(node["logoSrc100px"], typeof(result.logoSrc100px.get())))
+
+# Custom JSON serialization for ModerationSiteSearchProjected with custom field names
+proc `%`*(obj: ModerationSiteSearchProjected): JsonNode =
+ result = newJObject()
+ result["domain"] = %obj.domain
+ if obj.logoSrc100px.isSome():
+ result["logoSrc100px"] = %obj.logoSrc100px.get()
+
diff --git a/client/fastcomments/models/model_moderation_site_search_response.nim b/client/fastcomments/models/model_moderation_site_search_response.nim
new file mode 100644
index 0000000..a19032e
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_site_search_response.nim
@@ -0,0 +1,38 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_moderation_site_search_projected
+
+type ModerationSiteSearchResponse* = object
+ ##
+ sites*: seq[ModerationSiteSearchProjected]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for ModerationSiteSearchResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationSiteSearchResponse]): ModerationSiteSearchResponse =
+ result = ModerationSiteSearchResponse()
+ if node.kind == JObject:
+ if node.hasKey("sites"):
+ result.sites = to(node["sites"], seq[ModerationSiteSearchProjected])
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for ModerationSiteSearchResponse with custom field names
+proc `%`*(obj: ModerationSiteSearchResponse): JsonNode =
+ result = newJObject()
+ result["sites"] = %obj.sites
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_moderation_suggest_response.nim b/client/fastcomments/models/model_moderation_suggest_response.nim
new file mode 100644
index 0000000..1e12281
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_suggest_response.nim
@@ -0,0 +1,55 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_moderation_page_search_projected
+import model_moderation_user_search_projected
+
+type ModerationSuggestResponse* = object
+ ##
+ status*: string
+ pages*: Option[seq[ModerationPageSearchProjected]]
+ users*: Option[seq[ModerationUserSearchProjected]]
+ code*: Option[string]
+
+
+# Custom JSON deserialization for ModerationSuggestResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationSuggestResponse]): ModerationSuggestResponse =
+ result = ModerationSuggestResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+ if node.hasKey("pages") and node["pages"].kind != JNull:
+ result.pages = some(to(node["pages"], typeof(result.pages.get())))
+ if node.hasKey("users") and node["users"].kind != JNull:
+ # Optional array of types with custom JSON - manually iterate and deserialize
+ let arrayNode = node["users"]
+ if arrayNode.kind == JArray:
+ var arr: seq[ModerationUserSearchProjected] = @[]
+ for item in arrayNode.items:
+ arr.add(to(item, ModerationUserSearchProjected))
+ result.users = some(arr)
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+
+# Custom JSON serialization for ModerationSuggestResponse with custom field names
+proc `%`*(obj: ModerationSuggestResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ if obj.pages.isSome():
+ result["pages"] = %obj.pages.get()
+ if obj.users.isSome():
+ result["users"] = %obj.users.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+
diff --git a/client/fastcomments/models/model_moderation_user_search_projected.nim b/client/fastcomments/models/model_moderation_user_search_projected.nim
new file mode 100644
index 0000000..5697797
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_user_search_projected.nim
@@ -0,0 +1,46 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type ModerationUserSearchProjected* = object
+ ##
+ id*: string
+ username*: string
+ displayName*: Option[string]
+ avatarSrc*: Option[string]
+
+
+# Custom JSON deserialization for ModerationUserSearchProjected with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationUserSearchProjected]): ModerationUserSearchProjected =
+ result = ModerationUserSearchProjected()
+ if node.kind == JObject:
+ if node.hasKey("_id"):
+ result.id = to(node["_id"], string)
+ if node.hasKey("username"):
+ result.username = to(node["username"], string)
+ if node.hasKey("displayName") and node["displayName"].kind != JNull:
+ result.displayName = some(to(node["displayName"], typeof(result.displayName.get())))
+ if node.hasKey("avatarSrc") and node["avatarSrc"].kind != JNull:
+ result.avatarSrc = some(to(node["avatarSrc"], typeof(result.avatarSrc.get())))
+
+# Custom JSON serialization for ModerationUserSearchProjected with custom field names
+proc `%`*(obj: ModerationUserSearchProjected): JsonNode =
+ result = newJObject()
+ result["_id"] = %obj.id
+ result["username"] = %obj.username
+ if obj.displayName.isSome():
+ result["displayName"] = %obj.displayName.get()
+ if obj.avatarSrc.isSome():
+ result["avatarSrc"] = %obj.avatarSrc.get()
+
diff --git a/client/fastcomments/models/model_moderation_user_search_response.nim b/client/fastcomments/models/model_moderation_user_search_response.nim
new file mode 100644
index 0000000..8835e66
--- /dev/null
+++ b/client/fastcomments/models/model_moderation_user_search_response.nim
@@ -0,0 +1,43 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_moderation_user_search_projected
+
+type ModerationUserSearchResponse* = object
+ ##
+ users*: seq[ModerationUserSearchProjected]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for ModerationUserSearchResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ModerationUserSearchResponse]): ModerationUserSearchResponse =
+ result = ModerationUserSearchResponse()
+ if node.kind == JObject:
+ if node.hasKey("users"):
+ # Array of types with custom JSON - manually iterate and deserialize
+ let arrayNode = node["users"]
+ if arrayNode.kind == JArray:
+ result.users = @[]
+ for item in arrayNode.items:
+ result.users.add(to(item, ModerationUserSearchProjected))
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for ModerationUserSearchResponse with custom field names
+proc `%`*(obj: ModerationUserSearchResponse): JsonNode =
+ result = newJObject()
+ result["users"] = %obj.users
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_notification_and_count.nim b/client/fastcomments/models/model_notification_and_count.nim
index 470c538..7b4aee3 100644
--- a/client/fastcomments/models/model_notification_and_count.nim
+++ b/client/fastcomments/models/model_notification_and_count.nim
@@ -19,3 +19,19 @@ type NotificationAndCount* = object
`type`*: NotificationType
count*: int64
+
+# Custom JSON deserialization for NotificationAndCount with custom field names
+proc to*(node: JsonNode, T: typedesc[NotificationAndCount]): NotificationAndCount =
+ result = NotificationAndCount()
+ if node.kind == JObject:
+ if node.hasKey("type"):
+ result.`type` = to(node["type"], NotificationType)
+ if node.hasKey("count"):
+ result.count = to(node["count"], int64)
+
+# Custom JSON serialization for NotificationAndCount with custom field names
+proc `%`*(obj: NotificationAndCount): JsonNode =
+ result = newJObject()
+ result["type"] = %obj.`type`
+ result["count"] = %obj.count
+
diff --git a/client/fastcomments/models/model_page_user_entry.nim b/client/fastcomments/models/model_page_user_entry.nim
new file mode 100644
index 0000000..2dcb96e
--- /dev/null
+++ b/client/fastcomments/models/model_page_user_entry.nim
@@ -0,0 +1,46 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type PageUserEntry* = object
+ ##
+ isPrivate*: Option[bool]
+ avatarSrc*: Option[string]
+ displayName*: string
+ id*: string
+
+
+# Custom JSON deserialization for PageUserEntry with custom field names
+proc to*(node: JsonNode, T: typedesc[PageUserEntry]): PageUserEntry =
+ result = PageUserEntry()
+ if node.kind == JObject:
+ if node.hasKey("isPrivate") and node["isPrivate"].kind != JNull:
+ result.isPrivate = some(to(node["isPrivate"], typeof(result.isPrivate.get())))
+ if node.hasKey("avatarSrc") and node["avatarSrc"].kind != JNull:
+ result.avatarSrc = some(to(node["avatarSrc"], typeof(result.avatarSrc.get())))
+ if node.hasKey("displayName"):
+ result.displayName = to(node["displayName"], string)
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
+
+# Custom JSON serialization for PageUserEntry with custom field names
+proc `%`*(obj: PageUserEntry): JsonNode =
+ result = newJObject()
+ if obj.isPrivate.isSome():
+ result["isPrivate"] = %obj.isPrivate.get()
+ if obj.avatarSrc.isSome():
+ result["avatarSrc"] = %obj.avatarSrc.get()
+ result["displayName"] = %obj.displayName
+ result["id"] = %obj.id
+
diff --git a/client/fastcomments/models/model_page_users_info_response.nim b/client/fastcomments/models/model_page_users_info_response.nim
new file mode 100644
index 0000000..29bbedb
--- /dev/null
+++ b/client/fastcomments/models/model_page_users_info_response.nim
@@ -0,0 +1,38 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_page_user_entry
+
+type PageUsersInfoResponse* = object
+ ##
+ users*: seq[PageUserEntry]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for PageUsersInfoResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[PageUsersInfoResponse]): PageUsersInfoResponse =
+ result = PageUsersInfoResponse()
+ if node.kind == JObject:
+ if node.hasKey("users"):
+ result.users = to(node["users"], seq[PageUserEntry])
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for PageUsersInfoResponse with custom field names
+proc `%`*(obj: PageUsersInfoResponse): JsonNode =
+ result = newJObject()
+ result["users"] = %obj.users
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_page_users_offline_response.nim b/client/fastcomments/models/model_page_users_offline_response.nim
new file mode 100644
index 0000000..0d0c301
--- /dev/null
+++ b/client/fastcomments/models/model_page_users_offline_response.nim
@@ -0,0 +1,48 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_page_user_entry
+
+type PageUsersOfflineResponse* = object
+ ##
+ nextAfterUserId*: Option[string]
+ nextAfterName*: Option[string]
+ users*: seq[PageUserEntry]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for PageUsersOfflineResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[PageUsersOfflineResponse]): PageUsersOfflineResponse =
+ result = PageUsersOfflineResponse()
+ if node.kind == JObject:
+ if node.hasKey("nextAfterUserId") and node["nextAfterUserId"].kind != JNull:
+ result.nextAfterUserId = some(to(node["nextAfterUserId"], typeof(result.nextAfterUserId.get())))
+ if node.hasKey("nextAfterName") and node["nextAfterName"].kind != JNull:
+ result.nextAfterName = some(to(node["nextAfterName"], typeof(result.nextAfterName.get())))
+ if node.hasKey("users"):
+ result.users = to(node["users"], seq[PageUserEntry])
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for PageUsersOfflineResponse with custom field names
+proc `%`*(obj: PageUsersOfflineResponse): JsonNode =
+ result = newJObject()
+ if obj.nextAfterUserId.isSome():
+ result["nextAfterUserId"] = %obj.nextAfterUserId.get()
+ if obj.nextAfterName.isSome():
+ result["nextAfterName"] = %obj.nextAfterName.get()
+ result["users"] = %obj.users
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_page_users_online_response.nim b/client/fastcomments/models/model_page_users_online_response.nim
new file mode 100644
index 0000000..0be55e7
--- /dev/null
+++ b/client/fastcomments/models/model_page_users_online_response.nim
@@ -0,0 +1,56 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_page_user_entry
+
+type PageUsersOnlineResponse* = object
+ ##
+ nextAfterUserId*: Option[string]
+ nextAfterName*: Option[string]
+ totalCount*: float64
+ anonCount*: float64
+ users*: seq[PageUserEntry]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for PageUsersOnlineResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[PageUsersOnlineResponse]): PageUsersOnlineResponse =
+ result = PageUsersOnlineResponse()
+ if node.kind == JObject:
+ if node.hasKey("nextAfterUserId") and node["nextAfterUserId"].kind != JNull:
+ result.nextAfterUserId = some(to(node["nextAfterUserId"], typeof(result.nextAfterUserId.get())))
+ if node.hasKey("nextAfterName") and node["nextAfterName"].kind != JNull:
+ result.nextAfterName = some(to(node["nextAfterName"], typeof(result.nextAfterName.get())))
+ if node.hasKey("totalCount"):
+ result.totalCount = to(node["totalCount"], float64)
+ if node.hasKey("anonCount"):
+ result.anonCount = to(node["anonCount"], float64)
+ if node.hasKey("users"):
+ result.users = to(node["users"], seq[PageUserEntry])
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for PageUsersOnlineResponse with custom field names
+proc `%`*(obj: PageUsersOnlineResponse): JsonNode =
+ result = newJObject()
+ if obj.nextAfterUserId.isSome():
+ result["nextAfterUserId"] = %obj.nextAfterUserId.get()
+ if obj.nextAfterName.isSome():
+ result["nextAfterName"] = %obj.nextAfterName.get()
+ result["totalCount"] = %obj.totalCount
+ result["anonCount"] = %obj.anonCount
+ result["users"] = %obj.users
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_pages_sort_by.nim b/client/fastcomments/models/model_pages_sort_by.nim
new file mode 100644
index 0000000..8fce367
--- /dev/null
+++ b/client/fastcomments/models/model_pages_sort_by.nim
@@ -0,0 +1,46 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type PagesSortBy* {.pure.} = enum
+ UpdatedAt
+ CommentCount
+ Title
+
+func `%`*(v: PagesSortBy): JsonNode =
+ result = case v:
+ of PagesSortBy.UpdatedAt: %"updatedAt"
+ of PagesSortBy.CommentCount: %"commentCount"
+ of PagesSortBy.Title: %"title"
+
+func `$`*(v: PagesSortBy): string =
+ result = case v:
+ of PagesSortBy.UpdatedAt: $("updatedAt")
+ of PagesSortBy.CommentCount: $("commentCount")
+ of PagesSortBy.Title: $("title")
+
+proc to*(node: JsonNode, T: typedesc[PagesSortBy]): PagesSortBy =
+ if node.kind != JString:
+ raise newException(ValueError, "Expected string for enum PagesSortBy, got " & $node.kind)
+ let strVal = node.getStr()
+ case strVal:
+ of $("updatedAt"):
+ return PagesSortBy.UpdatedAt
+ of $("commentCount"):
+ return PagesSortBy.CommentCount
+ of $("title"):
+ return PagesSortBy.Title
+ else:
+ raise newException(ValueError, "Invalid enum value for PagesSortBy: " & strVal)
+
diff --git a/client/fastcomments/models/model_patch_domain_config_params.nim b/client/fastcomments/models/model_patch_domain_config_params.nim
index 07fbf63..d473f3b 100644
--- a/client/fastcomments/models/model_patch_domain_config_params.nim
+++ b/client/fastcomments/models/model_patch_domain_config_params.nim
@@ -23,3 +23,41 @@ type PatchDomainConfigParams* = object
footerUnsubscribeURL*: Option[string]
emailHeaders*: Option[Table[string, string]] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for PatchDomainConfigParams with custom field names
+proc to*(node: JsonNode, T: typedesc[PatchDomainConfigParams]): PatchDomainConfigParams =
+ result = PatchDomainConfigParams()
+ if node.kind == JObject:
+ if node.hasKey("domain") and node["domain"].kind != JNull:
+ result.domain = some(to(node["domain"], typeof(result.domain.get())))
+ if node.hasKey("emailFromName") and node["emailFromName"].kind != JNull:
+ result.emailFromName = some(to(node["emailFromName"], typeof(result.emailFromName.get())))
+ if node.hasKey("emailFromEmail") and node["emailFromEmail"].kind != JNull:
+ result.emailFromEmail = some(to(node["emailFromEmail"], typeof(result.emailFromEmail.get())))
+ if node.hasKey("logoSrc") and node["logoSrc"].kind != JNull:
+ result.logoSrc = some(to(node["logoSrc"], typeof(result.logoSrc.get())))
+ if node.hasKey("logoSrc100px") and node["logoSrc100px"].kind != JNull:
+ result.logoSrc100px = some(to(node["logoSrc100px"], typeof(result.logoSrc100px.get())))
+ if node.hasKey("footerUnsubscribeURL") and node["footerUnsubscribeURL"].kind != JNull:
+ result.footerUnsubscribeURL = some(to(node["footerUnsubscribeURL"], typeof(result.footerUnsubscribeURL.get())))
+ if node.hasKey("emailHeaders") and node["emailHeaders"].kind != JNull:
+ result.emailHeaders = some(to(node["emailHeaders"], typeof(result.emailHeaders.get())))
+
+# Custom JSON serialization for PatchDomainConfigParams with custom field names
+proc `%`*(obj: PatchDomainConfigParams): JsonNode =
+ result = newJObject()
+ if obj.domain.isSome():
+ result["domain"] = %obj.domain.get()
+ if obj.emailFromName.isSome():
+ result["emailFromName"] = %obj.emailFromName.get()
+ if obj.emailFromEmail.isSome():
+ result["emailFromEmail"] = %obj.emailFromEmail.get()
+ if obj.logoSrc.isSome():
+ result["logoSrc"] = %obj.logoSrc.get()
+ if obj.logoSrc100px.isSome():
+ result["logoSrc100px"] = %obj.logoSrc100px.get()
+ if obj.footerUnsubscribeURL.isSome():
+ result["footerUnsubscribeURL"] = %obj.footerUnsubscribeURL.get()
+ if obj.emailHeaders.isSome():
+ result["emailHeaders"] = %obj.emailHeaders.get()
+
diff --git a/client/fastcomments/models/model_patch_domain_config_response.nim b/client/fastcomments/models/model_patch_domain_config_response.nim
new file mode 100644
index 0000000..93e5135
--- /dev/null
+++ b/client/fastcomments/models/model_patch_domain_config_response.nim
@@ -0,0 +1,45 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_add_domain_config_response_any_of
+import model_any_type
+import model_get_domain_configs_response_any_of1
+
+# AnyOf type
+type PatchDomainConfigResponseKind* {.pure.} = enum
+ AddDomainConfigResponseAnyOfVariant
+ GetDomainConfigsResponseAnyOf1Variant
+
+type PatchDomainConfigResponse* = object
+ ##
+ case kind*: PatchDomainConfigResponseKind
+ of PatchDomainConfigResponseKind.AddDomainConfigResponseAnyOfVariant:
+ AddDomainConfigResponse_anyOfValue*: AddDomainConfigResponseAnyOf
+ of PatchDomainConfigResponseKind.GetDomainConfigsResponseAnyOf1Variant:
+ GetDomainConfigsResponse_anyOf_1Value*: GetDomainConfigsResponseAnyOf1
+
+proc to*(node: JsonNode, T: typedesc[PatchDomainConfigResponse]): PatchDomainConfigResponse =
+ ## Custom deserializer for anyOf type - tries each variant
+ try:
+ return PatchDomainConfigResponse(kind: PatchDomainConfigResponseKind.AddDomainConfigResponseAnyOfVariant, AddDomainConfigResponse_anyOfValue: to(node, AddDomainConfigResponseAnyOf))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as AddDomainConfigResponseAnyOf: ", e.msg
+ try:
+ return PatchDomainConfigResponse(kind: PatchDomainConfigResponseKind.GetDomainConfigsResponseAnyOf1Variant, GetDomainConfigsResponse_anyOf_1Value: to(node, GetDomainConfigsResponseAnyOf1))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as GetDomainConfigsResponseAnyOf1: ", e.msg
+ raise newException(ValueError, "Unable to deserialize into any variant of PatchDomainConfigResponse. JSON: " & $node)
+
diff --git a/client/fastcomments/models/model_patch_hash_tag200response.nim b/client/fastcomments/models/model_patch_hash_tag200response.nim
deleted file mode 100644
index 3920bfb..0000000
--- a/client/fastcomments/models/model_patch_hash_tag200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_tenant_hash_tag
-import model_update_hash_tag_response
-
-# AnyOf type
-type PatchHashTag200responseKind* {.pure.} = enum
- UpdateHashTagResponseVariant
- APIErrorVariant
-
-type PatchHashTag200response* = object
- ##
- case kind*: PatchHashTag200responseKind
- of PatchHashTag200responseKind.UpdateHashTagResponseVariant:
- UpdateHashTagResponseValue*: UpdateHashTagResponse
- of PatchHashTag200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[PatchHashTag200response]): PatchHashTag200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return PatchHashTag200response(kind: PatchHashTag200responseKind.UpdateHashTagResponseVariant, UpdateHashTagResponseValue: to(node, UpdateHashTagResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as UpdateHashTagResponse: ", e.msg
- try:
- return PatchHashTag200response(kind: PatchHashTag200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of PatchHashTag200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_patch_page_api_response.nim b/client/fastcomments/models/model_patch_page_api_response.nim
index ef42668..3d477c4 100644
--- a/client/fastcomments/models/model_patch_page_api_response.nim
+++ b/client/fastcomments/models/model_patch_page_api_response.nim
@@ -22,3 +22,32 @@ type PatchPageAPIResponse* = object
page*: Option[APIPage]
status*: string
+
+# Custom JSON deserialization for PatchPageAPIResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[PatchPageAPIResponse]): PatchPageAPIResponse =
+ result = PatchPageAPIResponse()
+ if node.kind == JObject:
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("commentsUpdated") and node["commentsUpdated"].kind != JNull:
+ result.commentsUpdated = some(to(node["commentsUpdated"], typeof(result.commentsUpdated.get())))
+ if node.hasKey("page") and node["page"].kind != JNull:
+ result.page = some(to(node["page"], typeof(result.page.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for PatchPageAPIResponse with custom field names
+proc `%`*(obj: PatchPageAPIResponse): JsonNode =
+ result = newJObject()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ if obj.commentsUpdated.isSome():
+ result["commentsUpdated"] = %obj.commentsUpdated.get()
+ if obj.page.isSome():
+ result["page"] = %obj.page.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_patch_sso_user_api_response.nim b/client/fastcomments/models/model_patch_sso_user_api_response.nim
index 693ad87..e498332 100644
--- a/client/fastcomments/models/model_patch_sso_user_api_response.nim
+++ b/client/fastcomments/models/model_patch_sso_user_api_response.nim
@@ -21,3 +21,28 @@ type PatchSSOUserAPIResponse* = object
user*: Option[APISSOUser]
status*: string
+
+# Custom JSON deserialization for PatchSSOUserAPIResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[PatchSSOUserAPIResponse]): PatchSSOUserAPIResponse =
+ result = PatchSSOUserAPIResponse()
+ if node.kind == JObject:
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("user") and node["user"].kind != JNull:
+ result.user = some(to(node["user"], typeof(result.user.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for PatchSSOUserAPIResponse with custom field names
+proc `%`*(obj: PatchSSOUserAPIResponse): JsonNode =
+ result = newJObject()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ if obj.user.isSome():
+ result["user"] = %obj.user.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_pin_comment200response.nim b/client/fastcomments/models/model_pin_comment200response.nim
deleted file mode 100644
index 8093207..0000000
--- a/client/fastcomments/models/model_pin_comment200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_change_comment_pin_status_response
-import model_custom_config_parameters
-import model_record_string_before_string_or_null_after_string_or_null_value
-
-# AnyOf type
-type PinComment200responseKind* {.pure.} = enum
- ChangeCommentPinStatusResponseVariant
- APIErrorVariant
-
-type PinComment200response* = object
- ##
- case kind*: PinComment200responseKind
- of PinComment200responseKind.ChangeCommentPinStatusResponseVariant:
- ChangeCommentPinStatusResponseValue*: ChangeCommentPinStatusResponse
- of PinComment200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[PinComment200response]): PinComment200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return PinComment200response(kind: PinComment200responseKind.ChangeCommentPinStatusResponseVariant, ChangeCommentPinStatusResponseValue: to(node, ChangeCommentPinStatusResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as ChangeCommentPinStatusResponse: ", e.msg
- try:
- return PinComment200response(kind: PinComment200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of PinComment200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_post_remove_comment_response.nim b/client/fastcomments/models/model_post_remove_comment_response.nim
new file mode 100644
index 0000000..6726b3f
--- /dev/null
+++ b/client/fastcomments/models/model_post_remove_comment_response.nim
@@ -0,0 +1,44 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_delete_comment_result
+import model_remove_comment_action_response
+
+# AnyOf type
+type PostRemoveCommentResponseKind* {.pure.} = enum
+ DeleteCommentResultVariant
+ RemoveCommentActionResponseVariant
+
+type PostRemoveCommentResponse* = object
+ ##
+ case kind*: PostRemoveCommentResponseKind
+ of PostRemoveCommentResponseKind.DeleteCommentResultVariant:
+ DeleteCommentResultValue*: DeleteCommentResult
+ of PostRemoveCommentResponseKind.RemoveCommentActionResponseVariant:
+ RemoveCommentActionResponseValue*: RemoveCommentActionResponse
+
+proc to*(node: JsonNode, T: typedesc[PostRemoveCommentResponse]): PostRemoveCommentResponse =
+ ## Custom deserializer for anyOf type - tries each variant
+ try:
+ return PostRemoveCommentResponse(kind: PostRemoveCommentResponseKind.DeleteCommentResultVariant, DeleteCommentResultValue: to(node, DeleteCommentResult))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as DeleteCommentResult: ", e.msg
+ try:
+ return PostRemoveCommentResponse(kind: PostRemoveCommentResponseKind.RemoveCommentActionResponseVariant, RemoveCommentActionResponseValue: to(node, RemoveCommentActionResponse))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as RemoveCommentActionResponse: ", e.msg
+ raise newException(ValueError, "Unable to deserialize into any variant of PostRemoveCommentResponse. JSON: " & $node)
+
diff --git a/client/fastcomments/models/model_pre_ban_summary.nim b/client/fastcomments/models/model_pre_ban_summary.nim
new file mode 100644
index 0000000..c703f5d
--- /dev/null
+++ b/client/fastcomments/models/model_pre_ban_summary.nim
@@ -0,0 +1,41 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type PreBanSummary* = object
+ ##
+ status*: APIStatus
+ usernames*: seq[string]
+ count*: float64
+
+
+# Custom JSON deserialization for PreBanSummary with custom field names
+proc to*(node: JsonNode, T: typedesc[PreBanSummary]): PreBanSummary =
+ result = PreBanSummary()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("usernames"):
+ result.usernames = to(node["usernames"], seq[string])
+ if node.hasKey("count"):
+ result.count = to(node["count"], float64)
+
+# Custom JSON serialization for PreBanSummary with custom field names
+proc `%`*(obj: PreBanSummary): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["usernames"] = %obj.usernames
+ result["count"] = %obj.count
+
diff --git a/client/fastcomments/models/model_public_api_delete_comment_response.nim b/client/fastcomments/models/model_public_api_delete_comment_response.nim
index 2b96100..26f2ed0 100644
--- a/client/fastcomments/models/model_public_api_delete_comment_response.nim
+++ b/client/fastcomments/models/model_public_api_delete_comment_response.nim
@@ -21,3 +21,23 @@ type PublicAPIDeleteCommentResponse* = object
hardRemoved*: bool
status*: APIStatus
+
+# Custom JSON deserialization for PublicAPIDeleteCommentResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[PublicAPIDeleteCommentResponse]): PublicAPIDeleteCommentResponse =
+ result = PublicAPIDeleteCommentResponse()
+ if node.kind == JObject:
+ if node.hasKey("comment") and node["comment"].kind != JNull:
+ result.comment = some(to(node["comment"], typeof(result.comment.get())))
+ if node.hasKey("hardRemoved"):
+ result.hardRemoved = to(node["hardRemoved"], bool)
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for PublicAPIDeleteCommentResponse with custom field names
+proc `%`*(obj: PublicAPIDeleteCommentResponse): JsonNode =
+ result = newJObject()
+ if obj.comment.isSome():
+ result["comment"] = %obj.comment.get()
+ result["hardRemoved"] = %obj.hardRemoved
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_public_api_get_comment_text_response.nim b/client/fastcomments/models/model_public_api_get_comment_text_response.nim
index 0b87461..0d1b6df 100644
--- a/client/fastcomments/models/model_public_api_get_comment_text_response.nim
+++ b/client/fastcomments/models/model_public_api_get_comment_text_response.nim
@@ -20,3 +20,22 @@ type PublicAPIGetCommentTextResponse* = object
commentText*: string
sanitizedCommentText*: string
+
+# Custom JSON deserialization for PublicAPIGetCommentTextResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[PublicAPIGetCommentTextResponse]): PublicAPIGetCommentTextResponse =
+ result = PublicAPIGetCommentTextResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("commentText"):
+ result.commentText = to(node["commentText"], string)
+ if node.hasKey("sanitizedCommentText"):
+ result.sanitizedCommentText = to(node["sanitizedCommentText"], string)
+
+# Custom JSON serialization for PublicAPIGetCommentTextResponse with custom field names
+proc `%`*(obj: PublicAPIGetCommentTextResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["commentText"] = %obj.commentText
+ result["sanitizedCommentText"] = %obj.sanitizedCommentText
+
diff --git a/client/fastcomments/models/model_public_api_set_comment_text_response.nim b/client/fastcomments/models/model_public_api_set_comment_text_response.nim
index 8886afd..19a5357 100644
--- a/client/fastcomments/models/model_public_api_set_comment_text_response.nim
+++ b/client/fastcomments/models/model_public_api_set_comment_text_response.nim
@@ -20,3 +20,19 @@ type PublicAPISetCommentTextResponse* = object
comment*: SetCommentTextResult
status*: APIStatus
+
+# Custom JSON deserialization for PublicAPISetCommentTextResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[PublicAPISetCommentTextResponse]): PublicAPISetCommentTextResponse =
+ result = PublicAPISetCommentTextResponse()
+ if node.kind == JObject:
+ if node.hasKey("comment"):
+ result.comment = to(node["comment"], SetCommentTextResult)
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for PublicAPISetCommentTextResponse with custom field names
+proc `%`*(obj: PublicAPISetCommentTextResponse): JsonNode =
+ result = newJObject()
+ result["comment"] = %obj.comment
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_public_block_from_comment_params.nim b/client/fastcomments/models/model_public_block_from_comment_params.nim
index 2fc4f0b..e990955 100644
--- a/client/fastcomments/models/model_public_block_from_comment_params.nim
+++ b/client/fastcomments/models/model_public_block_from_comment_params.nim
@@ -17,3 +17,17 @@ type PublicBlockFromCommentParams* = object
##
commentIds*: Option[seq[string]] ## A list of comment ids to check if are blocked after performing the update.
+
+# Custom JSON deserialization for PublicBlockFromCommentParams with custom field names
+proc to*(node: JsonNode, T: typedesc[PublicBlockFromCommentParams]): PublicBlockFromCommentParams =
+ result = PublicBlockFromCommentParams()
+ if node.kind == JObject:
+ if node.hasKey("commentIds") and node["commentIds"].kind != JNull:
+ result.commentIds = some(to(node["commentIds"], typeof(result.commentIds.get())))
+
+# Custom JSON serialization for PublicBlockFromCommentParams with custom field names
+proc `%`*(obj: PublicBlockFromCommentParams): JsonNode =
+ result = newJObject()
+ if obj.commentIds.isSome():
+ result["commentIds"] = %obj.commentIds.get()
+
diff --git a/client/fastcomments/models/model_public_page.nim b/client/fastcomments/models/model_public_page.nim
new file mode 100644
index 0000000..76c12a8
--- /dev/null
+++ b/client/fastcomments/models/model_public_page.nim
@@ -0,0 +1,48 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type PublicPage* = object
+ ##
+ updatedAt*: int64
+ commentCount*: int
+ title*: string
+ url*: string
+ urlId*: string
+
+
+# Custom JSON deserialization for PublicPage with custom field names
+proc to*(node: JsonNode, T: typedesc[PublicPage]): PublicPage =
+ result = PublicPage()
+ if node.kind == JObject:
+ if node.hasKey("updatedAt"):
+ result.updatedAt = to(node["updatedAt"], int64)
+ if node.hasKey("commentCount"):
+ result.commentCount = to(node["commentCount"], int)
+ if node.hasKey("title"):
+ result.title = to(node["title"], string)
+ if node.hasKey("url"):
+ result.url = to(node["url"], string)
+ if node.hasKey("urlId"):
+ result.urlId = to(node["urlId"], string)
+
+# Custom JSON serialization for PublicPage with custom field names
+proc `%`*(obj: PublicPage): JsonNode =
+ result = newJObject()
+ result["updatedAt"] = %obj.updatedAt
+ result["commentCount"] = %obj.commentCount
+ result["title"] = %obj.title
+ result["url"] = %obj.url
+ result["urlId"] = %obj.urlId
+
diff --git a/client/fastcomments/models/model_public_vote.nim b/client/fastcomments/models/model_public_vote.nim
index 7f4bf2b..71526cc 100644
--- a/client/fastcomments/models/model_public_vote.nim
+++ b/client/fastcomments/models/model_public_vote.nim
@@ -22,3 +22,31 @@ type PublicVote* = object
direction*: string
createdAt*: string
+
+# Custom JSON deserialization for PublicVote with custom field names
+proc to*(node: JsonNode, T: typedesc[PublicVote]): PublicVote =
+ result = PublicVote()
+ if node.kind == JObject:
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
+ if node.hasKey("urlId"):
+ result.urlId = to(node["urlId"], string)
+ if node.hasKey("commentId"):
+ result.commentId = to(node["commentId"], string)
+ if node.hasKey("userId"):
+ result.userId = to(node["userId"], string)
+ if node.hasKey("direction"):
+ result.direction = to(node["direction"], string)
+ if node.hasKey("createdAt"):
+ result.createdAt = to(node["createdAt"], string)
+
+# Custom JSON serialization for PublicVote with custom field names
+proc `%`*(obj: PublicVote): JsonNode =
+ result = newJObject()
+ result["id"] = %obj.id
+ result["urlId"] = %obj.urlId
+ result["commentId"] = %obj.commentId
+ result["userId"] = %obj.userId
+ result["direction"] = %obj.direction
+ result["createdAt"] = %obj.createdAt
+
diff --git a/client/fastcomments/models/model_put_domain_config_response.nim b/client/fastcomments/models/model_put_domain_config_response.nim
new file mode 100644
index 0000000..93f89fd
--- /dev/null
+++ b/client/fastcomments/models/model_put_domain_config_response.nim
@@ -0,0 +1,45 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_add_domain_config_response_any_of
+import model_any_type
+import model_get_domain_configs_response_any_of1
+
+# AnyOf type
+type PutDomainConfigResponseKind* {.pure.} = enum
+ AddDomainConfigResponseAnyOfVariant
+ GetDomainConfigsResponseAnyOf1Variant
+
+type PutDomainConfigResponse* = object
+ ##
+ case kind*: PutDomainConfigResponseKind
+ of PutDomainConfigResponseKind.AddDomainConfigResponseAnyOfVariant:
+ AddDomainConfigResponse_anyOfValue*: AddDomainConfigResponseAnyOf
+ of PutDomainConfigResponseKind.GetDomainConfigsResponseAnyOf1Variant:
+ GetDomainConfigsResponse_anyOf_1Value*: GetDomainConfigsResponseAnyOf1
+
+proc to*(node: JsonNode, T: typedesc[PutDomainConfigResponse]): PutDomainConfigResponse =
+ ## Custom deserializer for anyOf type - tries each variant
+ try:
+ return PutDomainConfigResponse(kind: PutDomainConfigResponseKind.AddDomainConfigResponseAnyOfVariant, AddDomainConfigResponse_anyOfValue: to(node, AddDomainConfigResponseAnyOf))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as AddDomainConfigResponseAnyOf: ", e.msg
+ try:
+ return PutDomainConfigResponse(kind: PutDomainConfigResponseKind.GetDomainConfigsResponseAnyOf1Variant, GetDomainConfigsResponse_anyOf_1Value: to(node, GetDomainConfigsResponseAnyOf1))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as GetDomainConfigsResponseAnyOf1: ", e.msg
+ raise newException(ValueError, "Unable to deserialize into any variant of PutDomainConfigResponse. JSON: " & $node)
+
diff --git a/client/fastcomments/models/model_put_sso_user_api_response.nim b/client/fastcomments/models/model_put_sso_user_api_response.nim
index 30f941a..17c0f17 100644
--- a/client/fastcomments/models/model_put_sso_user_api_response.nim
+++ b/client/fastcomments/models/model_put_sso_user_api_response.nim
@@ -21,3 +21,28 @@ type PutSSOUserAPIResponse* = object
user*: Option[APISSOUser]
status*: string
+
+# Custom JSON deserialization for PutSSOUserAPIResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[PutSSOUserAPIResponse]): PutSSOUserAPIResponse =
+ result = PutSSOUserAPIResponse()
+ if node.kind == JObject:
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("user") and node["user"].kind != JNull:
+ result.user = some(to(node["user"], typeof(result.user.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for PutSSOUserAPIResponse with custom field names
+proc `%`*(obj: PutSSOUserAPIResponse): JsonNode =
+ result = newJObject()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ if obj.user.isSome():
+ result["user"] = %obj.user.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_query_predicate.nim b/client/fastcomments/models/model_query_predicate.nim
index b03fe7f..453fcc9 100644
--- a/client/fastcomments/models/model_query_predicate.nim
+++ b/client/fastcomments/models/model_query_predicate.nim
@@ -24,7 +24,7 @@ type Operator* {.pure.} = enum
type QueryPredicate* = object
##
key*: string
- value*: QueryPredicate_value
+ value*: QueryPredicateValue
operator*: Operator
func `%`*(v: Operator): JsonNode =
@@ -60,3 +60,22 @@ proc to*(node: JsonNode, T: typedesc[Operator]): Operator =
else:
raise newException(ValueError, "Invalid enum value for Operator: " & strVal)
+
+# Custom JSON deserialization for QueryPredicate with custom field names
+proc to*(node: JsonNode, T: typedesc[QueryPredicate]): QueryPredicate =
+ result = QueryPredicate()
+ if node.kind == JObject:
+ if node.hasKey("key"):
+ result.key = to(node["key"], string)
+ if node.hasKey("value"):
+ result.value = to(node["value"], QueryPredicateValue)
+ if node.hasKey("operator"):
+ result.operator = to(node["operator"], Operator)
+
+# Custom JSON serialization for QueryPredicate with custom field names
+proc `%`*(obj: QueryPredicate): JsonNode =
+ result = newJObject()
+ result["key"] = %obj.key
+ result["value"] = %obj.value
+ result["operator"] = %obj.operator
+
diff --git a/client/fastcomments/models/model_question_config.nim b/client/fastcomments/models/model_question_config.nim
index 30d3071..44ddbe0 100644
--- a/client/fastcomments/models/model_question_config.nim
+++ b/client/fastcomments/models/model_question_config.nim
@@ -33,7 +33,7 @@ type QuestionConfig* = object
defaultValue*: float64
labelNegative*: string
labelPositive*: string
- customOptions*: seq[QuestionConfig_customOptions_inner]
+ customOptions*: seq[QuestionConfigCustomOptionsInner]
subQuestionIds*: seq[string]
alwaysShowSubQuestions*: bool
reportingOrder*: float64
@@ -78,7 +78,7 @@ proc to*(node: JsonNode, T: typedesc[QuestionConfig]): QuestionConfig =
if node.hasKey("labelPositive"):
result.labelPositive = to(node["labelPositive"], string)
if node.hasKey("customOptions"):
- result.customOptions = to(node["customOptions"], seq[QuestionConfig_customOptions_inner])
+ result.customOptions = to(node["customOptions"], seq[QuestionConfigCustomOptionsInner])
if node.hasKey("subQuestionIds"):
result.subQuestionIds = to(node["subQuestionIds"], seq[string])
if node.hasKey("alwaysShowSubQuestions"):
diff --git a/client/fastcomments/models/model_question_config_custom_options_inner.nim b/client/fastcomments/models/model_question_config_custom_options_inner.nim
index e8fc6c6..397c849 100644
--- a/client/fastcomments/models/model_question_config_custom_options_inner.nim
+++ b/client/fastcomments/models/model_question_config_custom_options_inner.nim
@@ -18,3 +18,19 @@ type QuestionConfigCustomOptionsInner* = object
imageSrc*: string
name*: string
+
+# Custom JSON deserialization for QuestionConfigCustomOptionsInner with custom field names
+proc to*(node: JsonNode, T: typedesc[QuestionConfigCustomOptionsInner]): QuestionConfigCustomOptionsInner =
+ result = QuestionConfigCustomOptionsInner()
+ if node.kind == JObject:
+ if node.hasKey("imageSrc"):
+ result.imageSrc = to(node["imageSrc"], string)
+ if node.hasKey("name"):
+ result.name = to(node["name"], string)
+
+# Custom JSON serialization for QuestionConfigCustomOptionsInner with custom field names
+proc `%`*(obj: QuestionConfigCustomOptionsInner): JsonNode =
+ result = newJObject()
+ result["imageSrc"] = %obj.imageSrc
+ result["name"] = %obj.name
+
diff --git a/client/fastcomments/models/model_question_datum.nim b/client/fastcomments/models/model_question_datum.nim
index eb8d94b..7e5dbb8 100644
--- a/client/fastcomments/models/model_question_datum.nim
+++ b/client/fastcomments/models/model_question_datum.nim
@@ -18,3 +18,19 @@ type QuestionDatum* = object
v*: Table[string, float64] ## Construct a type with a set of properties K of type T
total*: int64
+
+# Custom JSON deserialization for QuestionDatum with custom field names
+proc to*(node: JsonNode, T: typedesc[QuestionDatum]): QuestionDatum =
+ result = QuestionDatum()
+ if node.kind == JObject:
+ if node.hasKey("v"):
+ result.v = to(node["v"], Table[string, float64])
+ if node.hasKey("total"):
+ result.total = to(node["total"], int64)
+
+# Custom JSON serialization for QuestionDatum with custom field names
+proc `%`*(obj: QuestionDatum): JsonNode =
+ result = newJObject()
+ result["v"] = %obj.v
+ result["total"] = %obj.total
+
diff --git a/client/fastcomments/models/model_question_result_aggregation_overall.nim b/client/fastcomments/models/model_question_result_aggregation_overall.nim
index 61d5834..9f448da 100644
--- a/client/fastcomments/models/model_question_result_aggregation_overall.nim
+++ b/client/fastcomments/models/model_question_result_aggregation_overall.nim
@@ -23,3 +23,35 @@ type QuestionResultAggregationOverall* = object
average*: Option[float64]
createdAt*: string
+
+# Custom JSON deserialization for QuestionResultAggregationOverall with custom field names
+proc to*(node: JsonNode, T: typedesc[QuestionResultAggregationOverall]): QuestionResultAggregationOverall =
+ result = QuestionResultAggregationOverall()
+ if node.kind == JObject:
+ if node.hasKey("dataByDateBucket") and node["dataByDateBucket"].kind != JNull:
+ result.dataByDateBucket = some(to(node["dataByDateBucket"], typeof(result.dataByDateBucket.get())))
+ if node.hasKey("dataByUrlId") and node["dataByUrlId"].kind != JNull:
+ result.dataByUrlId = some(to(node["dataByUrlId"], typeof(result.dataByUrlId.get())))
+ if node.hasKey("countsByValue") and node["countsByValue"].kind != JNull:
+ result.countsByValue = some(to(node["countsByValue"], typeof(result.countsByValue.get())))
+ if node.hasKey("total"):
+ result.total = to(node["total"], int64)
+ if node.hasKey("average") and node["average"].kind != JNull:
+ result.average = some(to(node["average"], typeof(result.average.get())))
+ if node.hasKey("createdAt"):
+ result.createdAt = to(node["createdAt"], string)
+
+# Custom JSON serialization for QuestionResultAggregationOverall with custom field names
+proc `%`*(obj: QuestionResultAggregationOverall): JsonNode =
+ result = newJObject()
+ if obj.dataByDateBucket.isSome():
+ result["dataByDateBucket"] = %obj.dataByDateBucket.get()
+ if obj.dataByUrlId.isSome():
+ result["dataByUrlId"] = %obj.dataByUrlId.get()
+ if obj.countsByValue.isSome():
+ result["countsByValue"] = %obj.countsByValue.get()
+ result["total"] = %obj.total
+ if obj.average.isSome():
+ result["average"] = %obj.average.get()
+ result["createdAt"] = %obj.createdAt
+
diff --git a/client/fastcomments/models/model_react_body_params.nim b/client/fastcomments/models/model_react_body_params.nim
index 30fe95e..da36874 100644
--- a/client/fastcomments/models/model_react_body_params.nim
+++ b/client/fastcomments/models/model_react_body_params.nim
@@ -17,3 +17,17 @@ type ReactBodyParams* = object
##
reactType*: Option[string]
+
+# Custom JSON deserialization for ReactBodyParams with custom field names
+proc to*(node: JsonNode, T: typedesc[ReactBodyParams]): ReactBodyParams =
+ result = ReactBodyParams()
+ if node.kind == JObject:
+ if node.hasKey("reactType") and node["reactType"].kind != JNull:
+ result.reactType = some(to(node["reactType"], typeof(result.reactType.get())))
+
+# Custom JSON serialization for ReactBodyParams with custom field names
+proc `%`*(obj: ReactBodyParams): JsonNode =
+ result = newJObject()
+ if obj.reactType.isSome():
+ result["reactType"] = %obj.reactType.get()
+
diff --git a/client/fastcomments/models/model_react_feed_post_public200response.nim b/client/fastcomments/models/model_react_feed_post_public200response.nim
deleted file mode 100644
index 37871c8..0000000
--- a/client/fastcomments/models/model_react_feed_post_public200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_react_feed_post_response
-
-# AnyOf type
-type ReactFeedPostPublic200responseKind* {.pure.} = enum
- ReactFeedPostResponseVariant
- APIErrorVariant
-
-type ReactFeedPostPublic200response* = object
- ##
- case kind*: ReactFeedPostPublic200responseKind
- of ReactFeedPostPublic200responseKind.ReactFeedPostResponseVariant:
- ReactFeedPostResponseValue*: ReactFeedPostResponse
- of ReactFeedPostPublic200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[ReactFeedPostPublic200response]): ReactFeedPostPublic200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return ReactFeedPostPublic200response(kind: ReactFeedPostPublic200responseKind.ReactFeedPostResponseVariant, ReactFeedPostResponseValue: to(node, ReactFeedPostResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as ReactFeedPostResponse: ", e.msg
- try:
- return ReactFeedPostPublic200response(kind: ReactFeedPostPublic200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of ReactFeedPostPublic200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_react_feed_post_response.nim b/client/fastcomments/models/model_react_feed_post_response.nim
index 2189a42..613a7da 100644
--- a/client/fastcomments/models/model_react_feed_post_response.nim
+++ b/client/fastcomments/models/model_react_feed_post_response.nim
@@ -20,3 +20,22 @@ type ReactFeedPostResponse* = object
reactType*: string
isUndo*: bool
+
+# Custom JSON deserialization for ReactFeedPostResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ReactFeedPostResponse]): ReactFeedPostResponse =
+ result = ReactFeedPostResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("reactType"):
+ result.reactType = to(node["reactType"], string)
+ if node.hasKey("isUndo"):
+ result.isUndo = to(node["isUndo"], bool)
+
+# Custom JSON serialization for ReactFeedPostResponse with custom field names
+proc `%`*(obj: ReactFeedPostResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["reactType"] = %obj.reactType
+ result["isUndo"] = %obj.isUndo
+
diff --git a/client/fastcomments/models/model_record_string_before_string_or_null_after_string_or_null_value.nim b/client/fastcomments/models/model_record_string_before_string_or_null_after_string_or_null_value.nim
index 2f49614..b1236f2 100644
--- a/client/fastcomments/models/model_record_string_before_string_or_null_after_string_or_null_value.nim
+++ b/client/fastcomments/models/model_record_string_before_string_or_null_after_string_or_null_value.nim
@@ -15,6 +15,24 @@ import options
type RecordStringBeforeStringOrNullAfterStringOrNullValue* = object
##
- after*: string
- before*: string
+ after*: Option[string]
+ before*: Option[string]
+
+
+# Custom JSON deserialization for RecordStringBeforeStringOrNullAfterStringOrNullValue with custom field names
+proc to*(node: JsonNode, T: typedesc[RecordStringBeforeStringOrNullAfterStringOrNullValue]): RecordStringBeforeStringOrNullAfterStringOrNullValue =
+ result = RecordStringBeforeStringOrNullAfterStringOrNullValue()
+ if node.kind == JObject:
+ if node.hasKey("after") and node["after"].kind != JNull:
+ result.after = some(to(node["after"], typeof(result.after.get())))
+ if node.hasKey("before") and node["before"].kind != JNull:
+ result.before = some(to(node["before"], typeof(result.before.get())))
+
+# Custom JSON serialization for RecordStringBeforeStringOrNullAfterStringOrNullValue with custom field names
+proc `%`*(obj: RecordStringBeforeStringOrNullAfterStringOrNullValue): JsonNode =
+ result = newJObject()
+ if obj.after.isSome():
+ result["after"] = %obj.after.get()
+ if obj.before.isSome():
+ result["before"] = %obj.before.get()
diff --git a/client/fastcomments/models/model_remove_comment_action_response.nim b/client/fastcomments/models/model_remove_comment_action_response.nim
new file mode 100644
index 0000000..edb8832
--- /dev/null
+++ b/client/fastcomments/models/model_remove_comment_action_response.nim
@@ -0,0 +1,36 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type RemoveCommentActionResponse* = object
+ ##
+ status*: string
+ action*: string
+
+
+# Custom JSON deserialization for RemoveCommentActionResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[RemoveCommentActionResponse]): RemoveCommentActionResponse =
+ result = RemoveCommentActionResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+ if node.hasKey("action"):
+ result.action = to(node["action"], string)
+
+# Custom JSON serialization for RemoveCommentActionResponse with custom field names
+proc `%`*(obj: RemoveCommentActionResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["action"] = %obj.action
+
diff --git a/client/fastcomments/models/model_remove_user_badge_response.nim b/client/fastcomments/models/model_remove_user_badge_response.nim
new file mode 100644
index 0000000..13898c7
--- /dev/null
+++ b/client/fastcomments/models/model_remove_user_badge_response.nim
@@ -0,0 +1,39 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_comment_user_badge_info
+
+type RemoveUserBadgeResponse* = object
+ ##
+ badges*: Option[seq[CommentUserBadgeInfo]]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for RemoveUserBadgeResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[RemoveUserBadgeResponse]): RemoveUserBadgeResponse =
+ result = RemoveUserBadgeResponse()
+ if node.kind == JObject:
+ if node.hasKey("badges") and node["badges"].kind != JNull:
+ result.badges = some(to(node["badges"], typeof(result.badges.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for RemoveUserBadgeResponse with custom field names
+proc `%`*(obj: RemoveUserBadgeResponse): JsonNode =
+ result = newJObject()
+ if obj.badges.isSome():
+ result["badges"] = %obj.badges.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_render_email_template200response.nim b/client/fastcomments/models/model_render_email_template200response.nim
deleted file mode 100644
index 54ba328..0000000
--- a/client/fastcomments/models/model_render_email_template200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_render_email_template_response
-
-# AnyOf type
-type RenderEmailTemplate200responseKind* {.pure.} = enum
- RenderEmailTemplateResponseVariant
- APIErrorVariant
-
-type RenderEmailTemplate200response* = object
- ##
- case kind*: RenderEmailTemplate200responseKind
- of RenderEmailTemplate200responseKind.RenderEmailTemplateResponseVariant:
- RenderEmailTemplateResponseValue*: RenderEmailTemplateResponse
- of RenderEmailTemplate200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[RenderEmailTemplate200response]): RenderEmailTemplate200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return RenderEmailTemplate200response(kind: RenderEmailTemplate200responseKind.RenderEmailTemplateResponseVariant, RenderEmailTemplateResponseValue: to(node, RenderEmailTemplateResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as RenderEmailTemplateResponse: ", e.msg
- try:
- return RenderEmailTemplate200response(kind: RenderEmailTemplate200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of RenderEmailTemplate200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_render_email_template_body.nim b/client/fastcomments/models/model_render_email_template_body.nim
index 8c82599..a5de0aa 100644
--- a/client/fastcomments/models/model_render_email_template_body.nim
+++ b/client/fastcomments/models/model_render_email_template_body.nim
@@ -21,3 +21,27 @@ type RenderEmailTemplateBody* = object
testData*: Option[Table[string, JsonNode]] ## Construct a type with a set of properties K of type T
translationOverridesByLocale*: Option[Table[string, Table[string, string]]] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for RenderEmailTemplateBody with custom field names
+proc to*(node: JsonNode, T: typedesc[RenderEmailTemplateBody]): RenderEmailTemplateBody =
+ result = RenderEmailTemplateBody()
+ if node.kind == JObject:
+ if node.hasKey("emailTemplateId"):
+ result.emailTemplateId = to(node["emailTemplateId"], string)
+ if node.hasKey("ejs"):
+ result.ejs = to(node["ejs"], string)
+ if node.hasKey("testData") and node["testData"].kind != JNull:
+ result.testData = some(to(node["testData"], typeof(result.testData.get())))
+ if node.hasKey("translationOverridesByLocale") and node["translationOverridesByLocale"].kind != JNull:
+ result.translationOverridesByLocale = some(to(node["translationOverridesByLocale"], typeof(result.translationOverridesByLocale.get())))
+
+# Custom JSON serialization for RenderEmailTemplateBody with custom field names
+proc `%`*(obj: RenderEmailTemplateBody): JsonNode =
+ result = newJObject()
+ result["emailTemplateId"] = %obj.emailTemplateId
+ result["ejs"] = %obj.ejs
+ if obj.testData.isSome():
+ result["testData"] = %obj.testData.get()
+ if obj.translationOverridesByLocale.isSome():
+ result["translationOverridesByLocale"] = %obj.translationOverridesByLocale.get()
+
diff --git a/client/fastcomments/models/model_render_email_template_response.nim b/client/fastcomments/models/model_render_email_template_response.nim
index b361e6b..27dab95 100644
--- a/client/fastcomments/models/model_render_email_template_response.nim
+++ b/client/fastcomments/models/model_render_email_template_response.nim
@@ -19,3 +19,19 @@ type RenderEmailTemplateResponse* = object
status*: APIStatus
html*: string
+
+# Custom JSON deserialization for RenderEmailTemplateResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[RenderEmailTemplateResponse]): RenderEmailTemplateResponse =
+ result = RenderEmailTemplateResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("html"):
+ result.html = to(node["html"], string)
+
+# Custom JSON serialization for RenderEmailTemplateResponse with custom field names
+proc `%`*(obj: RenderEmailTemplateResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["html"] = %obj.html
+
diff --git a/client/fastcomments/models/model_replace_tenant_package_body.nim b/client/fastcomments/models/model_replace_tenant_package_body.nim
index 2dbc400..a38c333 100644
--- a/client/fastcomments/models/model_replace_tenant_package_body.nim
+++ b/client/fastcomments/models/model_replace_tenant_package_body.nim
@@ -47,3 +47,122 @@ type ReplaceTenantPackageBody* = object
flexDomainUnit*: Option[float64]
flexMinimumCostCents*: Option[float64]
+
+# Custom JSON deserialization for ReplaceTenantPackageBody with custom field names
+proc to*(node: JsonNode, T: typedesc[ReplaceTenantPackageBody]): ReplaceTenantPackageBody =
+ result = ReplaceTenantPackageBody()
+ if node.kind == JObject:
+ if node.hasKey("name"):
+ result.name = to(node["name"], string)
+ if node.hasKey("monthlyCostUSD"):
+ result.monthlyCostUSD = to(node["monthlyCostUSD"], float64)
+ if node.hasKey("yearlyCostUSD"):
+ result.yearlyCostUSD = to(node["yearlyCostUSD"], float64)
+ if node.hasKey("maxMonthlyPageLoads"):
+ result.maxMonthlyPageLoads = to(node["maxMonthlyPageLoads"], float64)
+ if node.hasKey("maxMonthlyAPICredits"):
+ result.maxMonthlyAPICredits = to(node["maxMonthlyAPICredits"], float64)
+ if node.hasKey("maxMonthlyComments"):
+ result.maxMonthlyComments = to(node["maxMonthlyComments"], float64)
+ if node.hasKey("maxConcurrentUsers"):
+ result.maxConcurrentUsers = to(node["maxConcurrentUsers"], float64)
+ if node.hasKey("maxTenantUsers"):
+ result.maxTenantUsers = to(node["maxTenantUsers"], float64)
+ if node.hasKey("maxSSOUsers"):
+ result.maxSSOUsers = to(node["maxSSOUsers"], float64)
+ if node.hasKey("maxModerators"):
+ result.maxModerators = to(node["maxModerators"], float64)
+ if node.hasKey("maxDomains"):
+ result.maxDomains = to(node["maxDomains"], float64)
+ if node.hasKey("maxCustomCollectionSize") and node["maxCustomCollectionSize"].kind != JNull:
+ result.maxCustomCollectionSize = some(to(node["maxCustomCollectionSize"], typeof(result.maxCustomCollectionSize.get())))
+ if node.hasKey("hasDebranding"):
+ result.hasDebranding = to(node["hasDebranding"], bool)
+ if node.hasKey("forWhoText"):
+ result.forWhoText = to(node["forWhoText"], string)
+ if node.hasKey("featureTaglines"):
+ result.featureTaglines = to(node["featureTaglines"], seq[string])
+ if node.hasKey("hasFlexPricing"):
+ result.hasFlexPricing = to(node["hasFlexPricing"], bool)
+ if node.hasKey("flexPageLoadCostCents") and node["flexPageLoadCostCents"].kind != JNull:
+ result.flexPageLoadCostCents = some(to(node["flexPageLoadCostCents"], typeof(result.flexPageLoadCostCents.get())))
+ if node.hasKey("flexPageLoadUnit") and node["flexPageLoadUnit"].kind != JNull:
+ result.flexPageLoadUnit = some(to(node["flexPageLoadUnit"], typeof(result.flexPageLoadUnit.get())))
+ if node.hasKey("flexCommentCostCents") and node["flexCommentCostCents"].kind != JNull:
+ result.flexCommentCostCents = some(to(node["flexCommentCostCents"], typeof(result.flexCommentCostCents.get())))
+ if node.hasKey("flexCommentUnit") and node["flexCommentUnit"].kind != JNull:
+ result.flexCommentUnit = some(to(node["flexCommentUnit"], typeof(result.flexCommentUnit.get())))
+ if node.hasKey("flexSSOUserCostCents") and node["flexSSOUserCostCents"].kind != JNull:
+ result.flexSSOUserCostCents = some(to(node["flexSSOUserCostCents"], typeof(result.flexSSOUserCostCents.get())))
+ if node.hasKey("flexSSOUserUnit") and node["flexSSOUserUnit"].kind != JNull:
+ result.flexSSOUserUnit = some(to(node["flexSSOUserUnit"], typeof(result.flexSSOUserUnit.get())))
+ if node.hasKey("flexAPICreditCostCents") and node["flexAPICreditCostCents"].kind != JNull:
+ result.flexAPICreditCostCents = some(to(node["flexAPICreditCostCents"], typeof(result.flexAPICreditCostCents.get())))
+ if node.hasKey("flexAPICreditUnit") and node["flexAPICreditUnit"].kind != JNull:
+ result.flexAPICreditUnit = some(to(node["flexAPICreditUnit"], typeof(result.flexAPICreditUnit.get())))
+ if node.hasKey("flexModeratorCostCents") and node["flexModeratorCostCents"].kind != JNull:
+ result.flexModeratorCostCents = some(to(node["flexModeratorCostCents"], typeof(result.flexModeratorCostCents.get())))
+ if node.hasKey("flexModeratorUnit") and node["flexModeratorUnit"].kind != JNull:
+ result.flexModeratorUnit = some(to(node["flexModeratorUnit"], typeof(result.flexModeratorUnit.get())))
+ if node.hasKey("flexAdminCostCents") and node["flexAdminCostCents"].kind != JNull:
+ result.flexAdminCostCents = some(to(node["flexAdminCostCents"], typeof(result.flexAdminCostCents.get())))
+ if node.hasKey("flexAdminUnit") and node["flexAdminUnit"].kind != JNull:
+ result.flexAdminUnit = some(to(node["flexAdminUnit"], typeof(result.flexAdminUnit.get())))
+ if node.hasKey("flexDomainCostCents") and node["flexDomainCostCents"].kind != JNull:
+ result.flexDomainCostCents = some(to(node["flexDomainCostCents"], typeof(result.flexDomainCostCents.get())))
+ if node.hasKey("flexDomainUnit") and node["flexDomainUnit"].kind != JNull:
+ result.flexDomainUnit = some(to(node["flexDomainUnit"], typeof(result.flexDomainUnit.get())))
+ if node.hasKey("flexMinimumCostCents") and node["flexMinimumCostCents"].kind != JNull:
+ result.flexMinimumCostCents = some(to(node["flexMinimumCostCents"], typeof(result.flexMinimumCostCents.get())))
+
+# Custom JSON serialization for ReplaceTenantPackageBody with custom field names
+proc `%`*(obj: ReplaceTenantPackageBody): JsonNode =
+ result = newJObject()
+ result["name"] = %obj.name
+ result["monthlyCostUSD"] = %obj.monthlyCostUSD
+ result["yearlyCostUSD"] = %obj.yearlyCostUSD
+ result["maxMonthlyPageLoads"] = %obj.maxMonthlyPageLoads
+ result["maxMonthlyAPICredits"] = %obj.maxMonthlyAPICredits
+ result["maxMonthlyComments"] = %obj.maxMonthlyComments
+ result["maxConcurrentUsers"] = %obj.maxConcurrentUsers
+ result["maxTenantUsers"] = %obj.maxTenantUsers
+ result["maxSSOUsers"] = %obj.maxSSOUsers
+ result["maxModerators"] = %obj.maxModerators
+ result["maxDomains"] = %obj.maxDomains
+ if obj.maxCustomCollectionSize.isSome():
+ result["maxCustomCollectionSize"] = %obj.maxCustomCollectionSize.get()
+ result["hasDebranding"] = %obj.hasDebranding
+ result["forWhoText"] = %obj.forWhoText
+ result["featureTaglines"] = %obj.featureTaglines
+ result["hasFlexPricing"] = %obj.hasFlexPricing
+ if obj.flexPageLoadCostCents.isSome():
+ result["flexPageLoadCostCents"] = %obj.flexPageLoadCostCents.get()
+ if obj.flexPageLoadUnit.isSome():
+ result["flexPageLoadUnit"] = %obj.flexPageLoadUnit.get()
+ if obj.flexCommentCostCents.isSome():
+ result["flexCommentCostCents"] = %obj.flexCommentCostCents.get()
+ if obj.flexCommentUnit.isSome():
+ result["flexCommentUnit"] = %obj.flexCommentUnit.get()
+ if obj.flexSSOUserCostCents.isSome():
+ result["flexSSOUserCostCents"] = %obj.flexSSOUserCostCents.get()
+ if obj.flexSSOUserUnit.isSome():
+ result["flexSSOUserUnit"] = %obj.flexSSOUserUnit.get()
+ if obj.flexAPICreditCostCents.isSome():
+ result["flexAPICreditCostCents"] = %obj.flexAPICreditCostCents.get()
+ if obj.flexAPICreditUnit.isSome():
+ result["flexAPICreditUnit"] = %obj.flexAPICreditUnit.get()
+ if obj.flexModeratorCostCents.isSome():
+ result["flexModeratorCostCents"] = %obj.flexModeratorCostCents.get()
+ if obj.flexModeratorUnit.isSome():
+ result["flexModeratorUnit"] = %obj.flexModeratorUnit.get()
+ if obj.flexAdminCostCents.isSome():
+ result["flexAdminCostCents"] = %obj.flexAdminCostCents.get()
+ if obj.flexAdminUnit.isSome():
+ result["flexAdminUnit"] = %obj.flexAdminUnit.get()
+ if obj.flexDomainCostCents.isSome():
+ result["flexDomainCostCents"] = %obj.flexDomainCostCents.get()
+ if obj.flexDomainUnit.isSome():
+ result["flexDomainUnit"] = %obj.flexDomainUnit.get()
+ if obj.flexMinimumCostCents.isSome():
+ result["flexMinimumCostCents"] = %obj.flexMinimumCostCents.get()
+
diff --git a/client/fastcomments/models/model_replace_tenant_user_body.nim b/client/fastcomments/models/model_replace_tenant_user_body.nim
index ac20f2b..d1e534f 100644
--- a/client/fastcomments/models/model_replace_tenant_user_body.nim
+++ b/client/fastcomments/models/model_replace_tenant_user_body.nim
@@ -44,3 +44,123 @@ type ReplaceTenantUserBody* = object
lastLoginDate*: Option[float64]
karma*: Option[float64]
+
+# Custom JSON deserialization for ReplaceTenantUserBody with custom field names
+proc to*(node: JsonNode, T: typedesc[ReplaceTenantUserBody]): ReplaceTenantUserBody =
+ result = ReplaceTenantUserBody()
+ if node.kind == JObject:
+ if node.hasKey("username"):
+ result.username = to(node["username"], string)
+ if node.hasKey("email"):
+ result.email = to(node["email"], string)
+ if node.hasKey("displayName") and node["displayName"].kind != JNull:
+ result.displayName = some(to(node["displayName"], typeof(result.displayName.get())))
+ if node.hasKey("websiteUrl") and node["websiteUrl"].kind != JNull:
+ result.websiteUrl = some(to(node["websiteUrl"], typeof(result.websiteUrl.get())))
+ if node.hasKey("signUpDate") and node["signUpDate"].kind != JNull:
+ result.signUpDate = some(to(node["signUpDate"], typeof(result.signUpDate.get())))
+ if node.hasKey("locale") and node["locale"].kind != JNull:
+ result.locale = some(to(node["locale"], typeof(result.locale.get())))
+ if node.hasKey("verified") and node["verified"].kind != JNull:
+ result.verified = some(to(node["verified"], typeof(result.verified.get())))
+ if node.hasKey("loginCount") and node["loginCount"].kind != JNull:
+ result.loginCount = some(to(node["loginCount"], typeof(result.loginCount.get())))
+ if node.hasKey("optedInNotifications") and node["optedInNotifications"].kind != JNull:
+ result.optedInNotifications = some(to(node["optedInNotifications"], typeof(result.optedInNotifications.get())))
+ if node.hasKey("optedInTenantNotifications") and node["optedInTenantNotifications"].kind != JNull:
+ result.optedInTenantNotifications = some(to(node["optedInTenantNotifications"], typeof(result.optedInTenantNotifications.get())))
+ if node.hasKey("hideAccountCode") and node["hideAccountCode"].kind != JNull:
+ result.hideAccountCode = some(to(node["hideAccountCode"], typeof(result.hideAccountCode.get())))
+ if node.hasKey("avatarSrc") and node["avatarSrc"].kind != JNull:
+ result.avatarSrc = some(to(node["avatarSrc"], typeof(result.avatarSrc.get())))
+ if node.hasKey("isHelpRequestAdmin") and node["isHelpRequestAdmin"].kind != JNull:
+ result.isHelpRequestAdmin = some(to(node["isHelpRequestAdmin"], typeof(result.isHelpRequestAdmin.get())))
+ if node.hasKey("isAccountOwner") and node["isAccountOwner"].kind != JNull:
+ result.isAccountOwner = some(to(node["isAccountOwner"], typeof(result.isAccountOwner.get())))
+ if node.hasKey("isAdminAdmin") and node["isAdminAdmin"].kind != JNull:
+ result.isAdminAdmin = some(to(node["isAdminAdmin"], typeof(result.isAdminAdmin.get())))
+ if node.hasKey("isBillingAdmin") and node["isBillingAdmin"].kind != JNull:
+ result.isBillingAdmin = some(to(node["isBillingAdmin"], typeof(result.isBillingAdmin.get())))
+ if node.hasKey("isAnalyticsAdmin") and node["isAnalyticsAdmin"].kind != JNull:
+ result.isAnalyticsAdmin = some(to(node["isAnalyticsAdmin"], typeof(result.isAnalyticsAdmin.get())))
+ if node.hasKey("isCustomizationAdmin") and node["isCustomizationAdmin"].kind != JNull:
+ result.isCustomizationAdmin = some(to(node["isCustomizationAdmin"], typeof(result.isCustomizationAdmin.get())))
+ if node.hasKey("isManageDataAdmin") and node["isManageDataAdmin"].kind != JNull:
+ result.isManageDataAdmin = some(to(node["isManageDataAdmin"], typeof(result.isManageDataAdmin.get())))
+ if node.hasKey("isCommentModeratorAdmin") and node["isCommentModeratorAdmin"].kind != JNull:
+ result.isCommentModeratorAdmin = some(to(node["isCommentModeratorAdmin"], typeof(result.isCommentModeratorAdmin.get())))
+ if node.hasKey("isAPIAdmin") and node["isAPIAdmin"].kind != JNull:
+ result.isAPIAdmin = some(to(node["isAPIAdmin"], typeof(result.isAPIAdmin.get())))
+ if node.hasKey("moderatorIds") and node["moderatorIds"].kind != JNull:
+ result.moderatorIds = some(to(node["moderatorIds"], typeof(result.moderatorIds.get())))
+ if node.hasKey("digestEmailFrequency") and node["digestEmailFrequency"].kind != JNull:
+ result.digestEmailFrequency = some(to(node["digestEmailFrequency"], typeof(result.digestEmailFrequency.get())))
+ if node.hasKey("displayLabel") and node["displayLabel"].kind != JNull:
+ result.displayLabel = some(to(node["displayLabel"], typeof(result.displayLabel.get())))
+ if node.hasKey("createdFromUrlId") and node["createdFromUrlId"].kind != JNull:
+ result.createdFromUrlId = some(to(node["createdFromUrlId"], typeof(result.createdFromUrlId.get())))
+ if node.hasKey("createdFromTenantId") and node["createdFromTenantId"].kind != JNull:
+ result.createdFromTenantId = some(to(node["createdFromTenantId"], typeof(result.createdFromTenantId.get())))
+ if node.hasKey("lastLoginDate") and node["lastLoginDate"].kind != JNull:
+ result.lastLoginDate = some(to(node["lastLoginDate"], typeof(result.lastLoginDate.get())))
+ if node.hasKey("karma") and node["karma"].kind != JNull:
+ result.karma = some(to(node["karma"], typeof(result.karma.get())))
+
+# Custom JSON serialization for ReplaceTenantUserBody with custom field names
+proc `%`*(obj: ReplaceTenantUserBody): JsonNode =
+ result = newJObject()
+ result["username"] = %obj.username
+ result["email"] = %obj.email
+ if obj.displayName.isSome():
+ result["displayName"] = %obj.displayName.get()
+ if obj.websiteUrl.isSome():
+ result["websiteUrl"] = %obj.websiteUrl.get()
+ if obj.signUpDate.isSome():
+ result["signUpDate"] = %obj.signUpDate.get()
+ if obj.locale.isSome():
+ result["locale"] = %obj.locale.get()
+ if obj.verified.isSome():
+ result["verified"] = %obj.verified.get()
+ if obj.loginCount.isSome():
+ result["loginCount"] = %obj.loginCount.get()
+ if obj.optedInNotifications.isSome():
+ result["optedInNotifications"] = %obj.optedInNotifications.get()
+ if obj.optedInTenantNotifications.isSome():
+ result["optedInTenantNotifications"] = %obj.optedInTenantNotifications.get()
+ if obj.hideAccountCode.isSome():
+ result["hideAccountCode"] = %obj.hideAccountCode.get()
+ if obj.avatarSrc.isSome():
+ result["avatarSrc"] = %obj.avatarSrc.get()
+ if obj.isHelpRequestAdmin.isSome():
+ result["isHelpRequestAdmin"] = %obj.isHelpRequestAdmin.get()
+ if obj.isAccountOwner.isSome():
+ result["isAccountOwner"] = %obj.isAccountOwner.get()
+ if obj.isAdminAdmin.isSome():
+ result["isAdminAdmin"] = %obj.isAdminAdmin.get()
+ if obj.isBillingAdmin.isSome():
+ result["isBillingAdmin"] = %obj.isBillingAdmin.get()
+ if obj.isAnalyticsAdmin.isSome():
+ result["isAnalyticsAdmin"] = %obj.isAnalyticsAdmin.get()
+ if obj.isCustomizationAdmin.isSome():
+ result["isCustomizationAdmin"] = %obj.isCustomizationAdmin.get()
+ if obj.isManageDataAdmin.isSome():
+ result["isManageDataAdmin"] = %obj.isManageDataAdmin.get()
+ if obj.isCommentModeratorAdmin.isSome():
+ result["isCommentModeratorAdmin"] = %obj.isCommentModeratorAdmin.get()
+ if obj.isAPIAdmin.isSome():
+ result["isAPIAdmin"] = %obj.isAPIAdmin.get()
+ if obj.moderatorIds.isSome():
+ result["moderatorIds"] = %obj.moderatorIds.get()
+ if obj.digestEmailFrequency.isSome():
+ result["digestEmailFrequency"] = %obj.digestEmailFrequency.get()
+ if obj.displayLabel.isSome():
+ result["displayLabel"] = %obj.displayLabel.get()
+ if obj.createdFromUrlId.isSome():
+ result["createdFromUrlId"] = %obj.createdFromUrlId.get()
+ if obj.createdFromTenantId.isSome():
+ result["createdFromTenantId"] = %obj.createdFromTenantId.get()
+ if obj.lastLoginDate.isSome():
+ result["lastLoginDate"] = %obj.lastLoginDate.get()
+ if obj.karma.isSome():
+ result["karma"] = %obj.karma.get()
+
diff --git a/client/fastcomments/models/model_reset_user_notifications200response.nim b/client/fastcomments/models/model_reset_user_notifications200response.nim
deleted file mode 100644
index 3c4c100..0000000
--- a/client/fastcomments/models/model_reset_user_notifications200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_reset_user_notifications_response
-
-# AnyOf type
-type ResetUserNotifications200responseKind* {.pure.} = enum
- ResetUserNotificationsResponseVariant
- APIErrorVariant
-
-type ResetUserNotifications200response* = object
- ##
- case kind*: ResetUserNotifications200responseKind
- of ResetUserNotifications200responseKind.ResetUserNotificationsResponseVariant:
- ResetUserNotificationsResponseValue*: ResetUserNotificationsResponse
- of ResetUserNotifications200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[ResetUserNotifications200response]): ResetUserNotifications200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return ResetUserNotifications200response(kind: ResetUserNotifications200responseKind.ResetUserNotificationsResponseVariant, ResetUserNotificationsResponseValue: to(node, ResetUserNotificationsResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as ResetUserNotificationsResponse: ", e.msg
- try:
- return ResetUserNotifications200response(kind: ResetUserNotifications200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of ResetUserNotifications200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_reset_user_notifications_response.nim b/client/fastcomments/models/model_reset_user_notifications_response.nim
index 475040f..83d22e6 100644
--- a/client/fastcomments/models/model_reset_user_notifications_response.nim
+++ b/client/fastcomments/models/model_reset_user_notifications_response.nim
@@ -39,3 +39,20 @@ proc to*(node: JsonNode, T: typedesc[Code]): Code =
else:
raise newException(ValueError, "Invalid enum value for Code: " & strVal)
+
+# Custom JSON deserialization for ResetUserNotificationsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[ResetUserNotificationsResponse]): ResetUserNotificationsResponse =
+ result = ResetUserNotificationsResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], Code))
+
+# Custom JSON serialization for ResetUserNotificationsResponse with custom field names
+proc `%`*(obj: ResetUserNotificationsResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+
diff --git a/client/fastcomments/models/model_save_comment200response.nim b/client/fastcomments/models/model_save_comment200response.nim
deleted file mode 100644
index 420121f..0000000
--- a/client/fastcomments/models/model_save_comment200response.nim
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_f_comment
-import model_object
-import model_save_comment_response
-import model_user_session_info
-
-# AnyOf type
-type SaveComment200responseKind* {.pure.} = enum
- SaveCommentResponseVariant
- APIErrorVariant
-
-type SaveComment200response* = object
- ##
- case kind*: SaveComment200responseKind
- of SaveComment200responseKind.SaveCommentResponseVariant:
- SaveCommentResponseValue*: SaveCommentResponse
- of SaveComment200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[SaveComment200response]): SaveComment200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return SaveComment200response(kind: SaveComment200responseKind.SaveCommentResponseVariant, SaveCommentResponseValue: to(node, SaveCommentResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as SaveCommentResponse: ", e.msg
- try:
- return SaveComment200response(kind: SaveComment200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of SaveComment200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_save_comments_bulk_response.nim b/client/fastcomments/models/model_save_comments_bulk_response.nim
new file mode 100644
index 0000000..299bf95
--- /dev/null
+++ b/client/fastcomments/models/model_save_comments_bulk_response.nim
@@ -0,0 +1,49 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_comment
+import model_api_error
+import model_api_save_comment_response
+import model_api_status
+import model_custom_config_parameters
+import model_object
+import model_user_session_info
+
+# AnyOf type
+type SaveCommentsBulkResponseKind* {.pure.} = enum
+ APISaveCommentResponseVariant
+ APIErrorVariant
+
+type SaveCommentsBulkResponse* = object
+ ##
+ case kind*: SaveCommentsBulkResponseKind
+ of SaveCommentsBulkResponseKind.APISaveCommentResponseVariant:
+ APISaveCommentResponseValue*: APISaveCommentResponse
+ of SaveCommentsBulkResponseKind.APIErrorVariant:
+ APIErrorValue*: APIError
+
+proc to*(node: JsonNode, T: typedesc[SaveCommentsBulkResponse]): SaveCommentsBulkResponse =
+ ## Custom deserializer for anyOf type - tries each variant
+ try:
+ return SaveCommentsBulkResponse(kind: SaveCommentsBulkResponseKind.APISaveCommentResponseVariant, APISaveCommentResponseValue: to(node, APISaveCommentResponse))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as APISaveCommentResponse: ", e.msg
+ try:
+ return SaveCommentsBulkResponse(kind: SaveCommentsBulkResponseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as APIError: ", e.msg
+ raise newException(ValueError, "Unable to deserialize into any variant of SaveCommentsBulkResponse. JSON: " & $node)
+
diff --git a/client/fastcomments/models/model_search_users200response.nim b/client/fastcomments/models/model_search_users200response.nim
deleted file mode 100644
index 2c9dc1f..0000000
--- a/client/fastcomments/models/model_search_users200response.nim
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_search_users_response
-import model_search_users_sectioned_response
-import model_user_search_result
-import model_user_search_section_result
-
-# AnyOf type
-type SearchUsers200responseKind* {.pure.} = enum
- SearchUsersSectionedResponseVariant
- SearchUsersResponseVariant
- APIErrorVariant
-
-type SearchUsers200response* = object
- ##
- case kind*: SearchUsers200responseKind
- of SearchUsers200responseKind.SearchUsersSectionedResponseVariant:
- SearchUsersSectionedResponseValue*: SearchUsersSectionedResponse
- of SearchUsers200responseKind.SearchUsersResponseVariant:
- SearchUsersResponseValue*: SearchUsersResponse
- of SearchUsers200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[SearchUsers200response]): SearchUsers200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return SearchUsers200response(kind: SearchUsers200responseKind.SearchUsersSectionedResponseVariant, SearchUsersSectionedResponseValue: to(node, SearchUsersSectionedResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as SearchUsersSectionedResponse: ", e.msg
- try:
- return SearchUsers200response(kind: SearchUsers200responseKind.SearchUsersResponseVariant, SearchUsersResponseValue: to(node, SearchUsersResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as SearchUsersResponse: ", e.msg
- try:
- return SearchUsers200response(kind: SearchUsers200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of SearchUsers200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_search_users_response.nim b/client/fastcomments/models/model_search_users_response.nim
index ee8055a..4a56bfb 100644
--- a/client/fastcomments/models/model_search_users_response.nim
+++ b/client/fastcomments/models/model_search_users_response.nim
@@ -20,3 +20,19 @@ type SearchUsersResponse* = object
status*: APIStatus
users*: seq[UserSearchResult]
+
+# Custom JSON deserialization for SearchUsersResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[SearchUsersResponse]): SearchUsersResponse =
+ result = SearchUsersResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("users"):
+ result.users = to(node["users"], seq[UserSearchResult])
+
+# Custom JSON serialization for SearchUsersResponse with custom field names
+proc `%`*(obj: SearchUsersResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["users"] = %obj.users
+
diff --git a/client/fastcomments/models/model_search_users_result.nim b/client/fastcomments/models/model_search_users_result.nim
new file mode 100644
index 0000000..e726eaa
--- /dev/null
+++ b/client/fastcomments/models/model_search_users_result.nim
@@ -0,0 +1,47 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_search_users_response
+import model_search_users_sectioned_response
+import model_user_search_result
+import model_user_search_section_result
+
+# AnyOf type
+type SearchUsersResultKind* {.pure.} = enum
+ SearchUsersSectionedResponseVariant
+ SearchUsersResponseVariant
+
+type SearchUsersResult* = object
+ ##
+ case kind*: SearchUsersResultKind
+ of SearchUsersResultKind.SearchUsersSectionedResponseVariant:
+ SearchUsersSectionedResponseValue*: SearchUsersSectionedResponse
+ of SearchUsersResultKind.SearchUsersResponseVariant:
+ SearchUsersResponseValue*: SearchUsersResponse
+
+proc to*(node: JsonNode, T: typedesc[SearchUsersResult]): SearchUsersResult =
+ ## Custom deserializer for anyOf type - tries each variant
+ try:
+ return SearchUsersResult(kind: SearchUsersResultKind.SearchUsersSectionedResponseVariant, SearchUsersSectionedResponseValue: to(node, SearchUsersSectionedResponse))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as SearchUsersSectionedResponse: ", e.msg
+ try:
+ return SearchUsersResult(kind: SearchUsersResultKind.SearchUsersResponseVariant, SearchUsersResponseValue: to(node, SearchUsersResponse))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as SearchUsersResponse: ", e.msg
+ raise newException(ValueError, "Unable to deserialize into any variant of SearchUsersResult. JSON: " & $node)
+
diff --git a/client/fastcomments/models/model_search_users_sectioned_response.nim b/client/fastcomments/models/model_search_users_sectioned_response.nim
index 1257493..6529cf5 100644
--- a/client/fastcomments/models/model_search_users_sectioned_response.nim
+++ b/client/fastcomments/models/model_search_users_sectioned_response.nim
@@ -20,3 +20,19 @@ type SearchUsersSectionedResponse* = object
status*: APIStatus
sections*: seq[UserSearchSectionResult]
+
+# Custom JSON deserialization for SearchUsersSectionedResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[SearchUsersSectionedResponse]): SearchUsersSectionedResponse =
+ result = SearchUsersSectionedResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("sections"):
+ result.sections = to(node["sections"], seq[UserSearchSectionResult])
+
+# Custom JSON serialization for SearchUsersSectionedResponse with custom field names
+proc `%`*(obj: SearchUsersSectionedResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["sections"] = %obj.sections
+
diff --git a/client/fastcomments/models/model_set_comment_approved_response.nim b/client/fastcomments/models/model_set_comment_approved_response.nim
new file mode 100644
index 0000000..869851b
--- /dev/null
+++ b/client/fastcomments/models/model_set_comment_approved_response.nim
@@ -0,0 +1,38 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type SetCommentApprovedResponse* = object
+ ##
+ didResetFlaggedCount*: Option[bool]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for SetCommentApprovedResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[SetCommentApprovedResponse]): SetCommentApprovedResponse =
+ result = SetCommentApprovedResponse()
+ if node.kind == JObject:
+ if node.hasKey("didResetFlaggedCount") and node["didResetFlaggedCount"].kind != JNull:
+ result.didResetFlaggedCount = some(to(node["didResetFlaggedCount"], typeof(result.didResetFlaggedCount.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for SetCommentApprovedResponse with custom field names
+proc `%`*(obj: SetCommentApprovedResponse): JsonNode =
+ result = newJObject()
+ if obj.didResetFlaggedCount.isSome():
+ result["didResetFlaggedCount"] = %obj.didResetFlaggedCount.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_set_comment_text200response.nim b/client/fastcomments/models/model_set_comment_text200response.nim
deleted file mode 100644
index 3cb7661..0000000
--- a/client/fastcomments/models/model_set_comment_text200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_public_api_set_comment_text_response
-import model_set_comment_text_result
-
-# AnyOf type
-type SetCommentText200responseKind* {.pure.} = enum
- PublicAPISetCommentTextResponseVariant
- APIErrorVariant
-
-type SetCommentText200response* = object
- ##
- case kind*: SetCommentText200responseKind
- of SetCommentText200responseKind.PublicAPISetCommentTextResponseVariant:
- PublicAPISetCommentTextResponseValue*: PublicAPISetCommentTextResponse
- of SetCommentText200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[SetCommentText200response]): SetCommentText200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return SetCommentText200response(kind: SetCommentText200responseKind.PublicAPISetCommentTextResponseVariant, PublicAPISetCommentTextResponseValue: to(node, PublicAPISetCommentTextResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as PublicAPISetCommentTextResponse: ", e.msg
- try:
- return SetCommentText200response(kind: SetCommentText200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of SetCommentText200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_set_comment_text_params.nim b/client/fastcomments/models/model_set_comment_text_params.nim
new file mode 100644
index 0000000..7289abe
--- /dev/null
+++ b/client/fastcomments/models/model_set_comment_text_params.nim
@@ -0,0 +1,32 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type SetCommentTextParams* = object
+ ##
+ comment*: string
+
+
+# Custom JSON deserialization for SetCommentTextParams with custom field names
+proc to*(node: JsonNode, T: typedesc[SetCommentTextParams]): SetCommentTextParams =
+ result = SetCommentTextParams()
+ if node.kind == JObject:
+ if node.hasKey("comment"):
+ result.comment = to(node["comment"], string)
+
+# Custom JSON serialization for SetCommentTextParams with custom field names
+proc `%`*(obj: SetCommentTextParams): JsonNode =
+ result = newJObject()
+ result["comment"] = %obj.comment
+
diff --git a/client/fastcomments/models/model_set_comment_text_response.nim b/client/fastcomments/models/model_set_comment_text_response.nim
new file mode 100644
index 0000000..1c2e83e
--- /dev/null
+++ b/client/fastcomments/models/model_set_comment_text_response.nim
@@ -0,0 +1,37 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type SetCommentTextResponse* = object
+ ##
+ newCommentTextHTML*: string
+ status*: APIStatus
+
+
+# Custom JSON deserialization for SetCommentTextResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[SetCommentTextResponse]): SetCommentTextResponse =
+ result = SetCommentTextResponse()
+ if node.kind == JObject:
+ if node.hasKey("newCommentTextHTML"):
+ result.newCommentTextHTML = to(node["newCommentTextHTML"], string)
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for SetCommentTextResponse with custom field names
+proc `%`*(obj: SetCommentTextResponse): JsonNode =
+ result = newJObject()
+ result["newCommentTextHTML"] = %obj.newCommentTextHTML
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_set_comment_text_result.nim b/client/fastcomments/models/model_set_comment_text_result.nim
index e84ac6c..97508cb 100644
--- a/client/fastcomments/models/model_set_comment_text_result.nim
+++ b/client/fastcomments/models/model_set_comment_text_result.nim
@@ -18,3 +18,19 @@ type SetCommentTextResult* = object
approved*: bool
commentHTML*: string
+
+# Custom JSON deserialization for SetCommentTextResult with custom field names
+proc to*(node: JsonNode, T: typedesc[SetCommentTextResult]): SetCommentTextResult =
+ result = SetCommentTextResult()
+ if node.kind == JObject:
+ if node.hasKey("approved"):
+ result.approved = to(node["approved"], bool)
+ if node.hasKey("commentHTML"):
+ result.commentHTML = to(node["commentHTML"], string)
+
+# Custom JSON serialization for SetCommentTextResult with custom field names
+proc `%`*(obj: SetCommentTextResult): JsonNode =
+ result = newJObject()
+ result["approved"] = %obj.approved
+ result["commentHTML"] = %obj.commentHTML
+
diff --git a/client/fastcomments/models/model_set_user_trust_factor_response.nim b/client/fastcomments/models/model_set_user_trust_factor_response.nim
new file mode 100644
index 0000000..1db609b
--- /dev/null
+++ b/client/fastcomments/models/model_set_user_trust_factor_response.nim
@@ -0,0 +1,38 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+
+type SetUserTrustFactorResponse* = object
+ ##
+ previousManualTrustFactor*: Option[float64]
+ status*: APIStatus
+
+
+# Custom JSON deserialization for SetUserTrustFactorResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[SetUserTrustFactorResponse]): SetUserTrustFactorResponse =
+ result = SetUserTrustFactorResponse()
+ if node.kind == JObject:
+ if node.hasKey("previousManualTrustFactor") and node["previousManualTrustFactor"].kind != JNull:
+ result.previousManualTrustFactor = some(to(node["previousManualTrustFactor"], typeof(result.previousManualTrustFactor.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+
+# Custom JSON serialization for SetUserTrustFactorResponse with custom field names
+proc `%`*(obj: SetUserTrustFactorResponse): JsonNode =
+ result = newJObject()
+ if obj.previousManualTrustFactor.isSome():
+ result["previousManualTrustFactor"] = %obj.previousManualTrustFactor.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_spam_rule.nim b/client/fastcomments/models/model_spam_rule.nim
index e2b1dc9..b5174c9 100644
--- a/client/fastcomments/models/model_spam_rule.nim
+++ b/client/fastcomments/models/model_spam_rule.nim
@@ -48,3 +48,20 @@ proc to*(node: JsonNode, T: typedesc[Actions]): Actions =
else:
raise newException(ValueError, "Invalid enum value for Actions: " & strVal)
+
+# Custom JSON deserialization for SpamRule with custom field names
+proc to*(node: JsonNode, T: typedesc[SpamRule]): SpamRule =
+ result = SpamRule()
+ if node.kind == JObject:
+ if node.hasKey("actions"):
+ result.actions = to(node["actions"], Actions)
+ if node.hasKey("commentContains") and node["commentContains"].kind != JNull:
+ result.commentContains = some(to(node["commentContains"], typeof(result.commentContains.get())))
+
+# Custom JSON serialization for SpamRule with custom field names
+proc `%`*(obj: SpamRule): JsonNode =
+ result = newJObject()
+ result["actions"] = %obj.actions
+ if obj.commentContains.isSome():
+ result["commentContains"] = %obj.commentContains.get()
+
diff --git a/client/fastcomments/models/model_tenant_badge.nim b/client/fastcomments/models/model_tenant_badge.nim
new file mode 100644
index 0000000..ce72f22
--- /dev/null
+++ b/client/fastcomments/models/model_tenant_badge.nim
@@ -0,0 +1,120 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type TenantBadge* = object
+ ##
+ id*: string
+ tenantId*: string
+ createdByUserId*: string
+ createdAt*: string
+ enabled*: bool
+ urlId*: Option[string]
+ `type`*: float64
+ threshold*: float64
+ uses*: float64
+ name*: string
+ description*: string
+ displayLabel*: string
+ displaySrc*: Option[string]
+ backgroundColor*: Option[string]
+ borderColor*: Option[string]
+ textColor*: Option[string]
+ cssClass*: Option[string]
+ veteranUserThresholdMillis*: Option[float64]
+ isAwaitingReprocess*: bool
+ isAwaitingDeletion*: bool
+ replacesBadgeId*: Option[string]
+
+
+# Custom JSON deserialization for TenantBadge with custom field names
+proc to*(node: JsonNode, T: typedesc[TenantBadge]): TenantBadge =
+ result = TenantBadge()
+ if node.kind == JObject:
+ if node.hasKey("_id"):
+ result.id = to(node["_id"], string)
+ if node.hasKey("tenantId"):
+ result.tenantId = to(node["tenantId"], string)
+ if node.hasKey("createdByUserId"):
+ result.createdByUserId = to(node["createdByUserId"], string)
+ if node.hasKey("createdAt"):
+ result.createdAt = to(node["createdAt"], string)
+ if node.hasKey("enabled"):
+ result.enabled = to(node["enabled"], bool)
+ if node.hasKey("urlId") and node["urlId"].kind != JNull:
+ result.urlId = some(to(node["urlId"], typeof(result.urlId.get())))
+ if node.hasKey("type"):
+ result.`type` = to(node["type"], float64)
+ if node.hasKey("threshold"):
+ result.threshold = to(node["threshold"], float64)
+ if node.hasKey("uses"):
+ result.uses = to(node["uses"], float64)
+ if node.hasKey("name"):
+ result.name = to(node["name"], string)
+ if node.hasKey("description"):
+ result.description = to(node["description"], string)
+ if node.hasKey("displayLabel"):
+ result.displayLabel = to(node["displayLabel"], string)
+ if node.hasKey("displaySrc") and node["displaySrc"].kind != JNull:
+ result.displaySrc = some(to(node["displaySrc"], typeof(result.displaySrc.get())))
+ if node.hasKey("backgroundColor") and node["backgroundColor"].kind != JNull:
+ result.backgroundColor = some(to(node["backgroundColor"], typeof(result.backgroundColor.get())))
+ if node.hasKey("borderColor") and node["borderColor"].kind != JNull:
+ result.borderColor = some(to(node["borderColor"], typeof(result.borderColor.get())))
+ if node.hasKey("textColor") and node["textColor"].kind != JNull:
+ result.textColor = some(to(node["textColor"], typeof(result.textColor.get())))
+ if node.hasKey("cssClass") and node["cssClass"].kind != JNull:
+ result.cssClass = some(to(node["cssClass"], typeof(result.cssClass.get())))
+ if node.hasKey("veteranUserThresholdMillis") and node["veteranUserThresholdMillis"].kind != JNull:
+ result.veteranUserThresholdMillis = some(to(node["veteranUserThresholdMillis"], typeof(result.veteranUserThresholdMillis.get())))
+ if node.hasKey("isAwaitingReprocess"):
+ result.isAwaitingReprocess = to(node["isAwaitingReprocess"], bool)
+ if node.hasKey("isAwaitingDeletion"):
+ result.isAwaitingDeletion = to(node["isAwaitingDeletion"], bool)
+ if node.hasKey("replacesBadgeId") and node["replacesBadgeId"].kind != JNull:
+ result.replacesBadgeId = some(to(node["replacesBadgeId"], typeof(result.replacesBadgeId.get())))
+
+# Custom JSON serialization for TenantBadge with custom field names
+proc `%`*(obj: TenantBadge): JsonNode =
+ result = newJObject()
+ result["_id"] = %obj.id
+ result["tenantId"] = %obj.tenantId
+ result["createdByUserId"] = %obj.createdByUserId
+ result["createdAt"] = %obj.createdAt
+ result["enabled"] = %obj.enabled
+ if obj.urlId.isSome():
+ result["urlId"] = %obj.urlId.get()
+ result["type"] = %obj.`type`
+ result["threshold"] = %obj.threshold
+ result["uses"] = %obj.uses
+ result["name"] = %obj.name
+ result["description"] = %obj.description
+ result["displayLabel"] = %obj.displayLabel
+ if obj.displaySrc.isSome():
+ result["displaySrc"] = %obj.displaySrc.get()
+ if obj.backgroundColor.isSome():
+ result["backgroundColor"] = %obj.backgroundColor.get()
+ if obj.borderColor.isSome():
+ result["borderColor"] = %obj.borderColor.get()
+ if obj.textColor.isSome():
+ result["textColor"] = %obj.textColor.get()
+ if obj.cssClass.isSome():
+ result["cssClass"] = %obj.cssClass.get()
+ if obj.veteranUserThresholdMillis.isSome():
+ result["veteranUserThresholdMillis"] = %obj.veteranUserThresholdMillis.get()
+ result["isAwaitingReprocess"] = %obj.isAwaitingReprocess
+ result["isAwaitingDeletion"] = %obj.isAwaitingDeletion
+ if obj.replacesBadgeId.isSome():
+ result["replacesBadgeId"] = %obj.replacesBadgeId.get()
+
diff --git a/client/fastcomments/models/model_tenant_package.nim b/client/fastcomments/models/model_tenant_package.nim
index f248327..cf6776c 100644
--- a/client/fastcomments/models/model_tenant_package.nim
+++ b/client/fastcomments/models/model_tenant_package.nim
@@ -19,6 +19,7 @@ type TenantPackage* = object
name*: string
tenantId*: string
createdAt*: string
+ templateId*: Option[string]
monthlyCostUSD*: Option[float64]
yearlyCostUSD*: Option[float64]
monthlyStripePlanId*: Option[string]
@@ -62,6 +63,8 @@ type TenantPackage* = object
flexDomainUnit*: Option[float64]
flexChatGPTCostCents*: Option[float64]
flexChatGPTUnit*: Option[float64]
+ flexLLMCostCents*: Option[float64]
+ flexLLMUnit*: Option[float64]
flexMinimumCostCents*: Option[float64]
flexManagedTenantCostCents*: Option[float64]
flexSSOAdminCostCents*: Option[float64]
@@ -69,6 +72,10 @@ type TenantPackage* = object
flexSSOModeratorCostCents*: Option[float64]
flexSSOModeratorUnit*: Option[float64]
isSSOBillingMonthlyActiveUsers*: Option[bool]
+ hasAIAgents*: Option[bool]
+ maxAIAgents*: Option[float64]
+ aiAgentDailyBudgetCents*: Option[float64]
+ aiAgentMonthlyBudgetCents*: Option[float64]
# Custom JSON deserialization for TenantPackage with custom field names
@@ -83,6 +90,8 @@ proc to*(node: JsonNode, T: typedesc[TenantPackage]): TenantPackage =
result.tenantId = to(node["tenantId"], string)
if node.hasKey("createdAt"):
result.createdAt = to(node["createdAt"], string)
+ if node.hasKey("templateId") and node["templateId"].kind != JNull:
+ result.templateId = some(to(node["templateId"], typeof(result.templateId.get())))
if node.hasKey("monthlyCostUSD") and node["monthlyCostUSD"].kind != JNull:
result.monthlyCostUSD = some(to(node["monthlyCostUSD"], typeof(result.monthlyCostUSD.get())))
if node.hasKey("yearlyCostUSD") and node["yearlyCostUSD"].kind != JNull:
@@ -169,6 +178,10 @@ proc to*(node: JsonNode, T: typedesc[TenantPackage]): TenantPackage =
result.flexChatGPTCostCents = some(to(node["flexChatGPTCostCents"], typeof(result.flexChatGPTCostCents.get())))
if node.hasKey("flexChatGPTUnit") and node["flexChatGPTUnit"].kind != JNull:
result.flexChatGPTUnit = some(to(node["flexChatGPTUnit"], typeof(result.flexChatGPTUnit.get())))
+ if node.hasKey("flexLLMCostCents") and node["flexLLMCostCents"].kind != JNull:
+ result.flexLLMCostCents = some(to(node["flexLLMCostCents"], typeof(result.flexLLMCostCents.get())))
+ if node.hasKey("flexLLMUnit") and node["flexLLMUnit"].kind != JNull:
+ result.flexLLMUnit = some(to(node["flexLLMUnit"], typeof(result.flexLLMUnit.get())))
if node.hasKey("flexMinimumCostCents") and node["flexMinimumCostCents"].kind != JNull:
result.flexMinimumCostCents = some(to(node["flexMinimumCostCents"], typeof(result.flexMinimumCostCents.get())))
if node.hasKey("flexManagedTenantCostCents") and node["flexManagedTenantCostCents"].kind != JNull:
@@ -183,6 +196,14 @@ proc to*(node: JsonNode, T: typedesc[TenantPackage]): TenantPackage =
result.flexSSOModeratorUnit = some(to(node["flexSSOModeratorUnit"], typeof(result.flexSSOModeratorUnit.get())))
if node.hasKey("isSSOBillingMonthlyActiveUsers") and node["isSSOBillingMonthlyActiveUsers"].kind != JNull:
result.isSSOBillingMonthlyActiveUsers = some(to(node["isSSOBillingMonthlyActiveUsers"], typeof(result.isSSOBillingMonthlyActiveUsers.get())))
+ if node.hasKey("hasAIAgents") and node["hasAIAgents"].kind != JNull:
+ result.hasAIAgents = some(to(node["hasAIAgents"], typeof(result.hasAIAgents.get())))
+ if node.hasKey("maxAIAgents") and node["maxAIAgents"].kind != JNull:
+ result.maxAIAgents = some(to(node["maxAIAgents"], typeof(result.maxAIAgents.get())))
+ if node.hasKey("aiAgentDailyBudgetCents") and node["aiAgentDailyBudgetCents"].kind != JNull:
+ result.aiAgentDailyBudgetCents = some(to(node["aiAgentDailyBudgetCents"], typeof(result.aiAgentDailyBudgetCents.get())))
+ if node.hasKey("aiAgentMonthlyBudgetCents") and node["aiAgentMonthlyBudgetCents"].kind != JNull:
+ result.aiAgentMonthlyBudgetCents = some(to(node["aiAgentMonthlyBudgetCents"], typeof(result.aiAgentMonthlyBudgetCents.get())))
# Custom JSON serialization for TenantPackage with custom field names
proc `%`*(obj: TenantPackage): JsonNode =
@@ -191,6 +212,8 @@ proc `%`*(obj: TenantPackage): JsonNode =
result["name"] = %obj.name
result["tenantId"] = %obj.tenantId
result["createdAt"] = %obj.createdAt
+ if obj.templateId.isSome():
+ result["templateId"] = %obj.templateId.get()
if obj.monthlyCostUSD.isSome():
result["monthlyCostUSD"] = %obj.monthlyCostUSD.get()
if obj.yearlyCostUSD.isSome():
@@ -258,6 +281,10 @@ proc `%`*(obj: TenantPackage): JsonNode =
result["flexChatGPTCostCents"] = %obj.flexChatGPTCostCents.get()
if obj.flexChatGPTUnit.isSome():
result["flexChatGPTUnit"] = %obj.flexChatGPTUnit.get()
+ if obj.flexLLMCostCents.isSome():
+ result["flexLLMCostCents"] = %obj.flexLLMCostCents.get()
+ if obj.flexLLMUnit.isSome():
+ result["flexLLMUnit"] = %obj.flexLLMUnit.get()
if obj.flexMinimumCostCents.isSome():
result["flexMinimumCostCents"] = %obj.flexMinimumCostCents.get()
if obj.flexManagedTenantCostCents.isSome():
@@ -272,4 +299,12 @@ proc `%`*(obj: TenantPackage): JsonNode =
result["flexSSOModeratorUnit"] = %obj.flexSSOModeratorUnit.get()
if obj.isSSOBillingMonthlyActiveUsers.isSome():
result["isSSOBillingMonthlyActiveUsers"] = %obj.isSSOBillingMonthlyActiveUsers.get()
+ if obj.hasAIAgents.isSome():
+ result["hasAIAgents"] = %obj.hasAIAgents.get()
+ if obj.maxAIAgents.isSome():
+ result["maxAIAgents"] = %obj.maxAIAgents.get()
+ if obj.aiAgentDailyBudgetCents.isSome():
+ result["aiAgentDailyBudgetCents"] = %obj.aiAgentDailyBudgetCents.get()
+ if obj.aiAgentMonthlyBudgetCents.isSome():
+ result["aiAgentMonthlyBudgetCents"] = %obj.aiAgentMonthlyBudgetCents.get()
diff --git a/client/fastcomments/models/model_tos_config.nim b/client/fastcomments/models/model_tos_config.nim
index 23ddcba..b02a98d 100644
--- a/client/fastcomments/models/model_tos_config.nim
+++ b/client/fastcomments/models/model_tos_config.nim
@@ -19,3 +19,25 @@ type TOSConfig* = object
textByLocale*: Option[Table[string, string]] ## Construct a type with a set of properties K of type T
lastUpdated*: Option[string]
+
+# Custom JSON deserialization for TOSConfig with custom field names
+proc to*(node: JsonNode, T: typedesc[TOSConfig]): TOSConfig =
+ result = TOSConfig()
+ if node.kind == JObject:
+ if node.hasKey("enabled") and node["enabled"].kind != JNull:
+ result.enabled = some(to(node["enabled"], typeof(result.enabled.get())))
+ if node.hasKey("textByLocale") and node["textByLocale"].kind != JNull:
+ result.textByLocale = some(to(node["textByLocale"], typeof(result.textByLocale.get())))
+ if node.hasKey("lastUpdated") and node["lastUpdated"].kind != JNull:
+ result.lastUpdated = some(to(node["lastUpdated"], typeof(result.lastUpdated.get())))
+
+# Custom JSON serialization for TOSConfig with custom field names
+proc `%`*(obj: TOSConfig): JsonNode =
+ result = newJObject()
+ if obj.enabled.isSome():
+ result["enabled"] = %obj.enabled.get()
+ if obj.textByLocale.isSome():
+ result["textByLocale"] = %obj.textByLocale.get()
+ if obj.lastUpdated.isSome():
+ result["lastUpdated"] = %obj.lastUpdated.get()
+
diff --git a/client/fastcomments/models/model_un_block_comment_public200response.nim b/client/fastcomments/models/model_un_block_comment_public200response.nim
deleted file mode 100644
index 69a4253..0000000
--- a/client/fastcomments/models/model_un_block_comment_public200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_unblock_success
-
-# AnyOf type
-type UnBlockCommentPublic200responseKind* {.pure.} = enum
- UnblockSuccessVariant
- APIErrorVariant
-
-type UnBlockCommentPublic200response* = object
- ##
- case kind*: UnBlockCommentPublic200responseKind
- of UnBlockCommentPublic200responseKind.UnblockSuccessVariant:
- UnblockSuccessValue*: UnblockSuccess
- of UnBlockCommentPublic200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[UnBlockCommentPublic200response]): UnBlockCommentPublic200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return UnBlockCommentPublic200response(kind: UnBlockCommentPublic200responseKind.UnblockSuccessVariant, UnblockSuccessValue: to(node, UnblockSuccess))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as UnblockSuccess: ", e.msg
- try:
- return UnBlockCommentPublic200response(kind: UnBlockCommentPublic200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of UnBlockCommentPublic200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_un_block_from_comment_params.nim b/client/fastcomments/models/model_un_block_from_comment_params.nim
index 1257f9b..514b7c8 100644
--- a/client/fastcomments/models/model_un_block_from_comment_params.nim
+++ b/client/fastcomments/models/model_un_block_from_comment_params.nim
@@ -17,3 +17,17 @@ type UnBlockFromCommentParams* = object
##
commentIdsToCheck*: Option[seq[string]]
+
+# Custom JSON deserialization for UnBlockFromCommentParams with custom field names
+proc to*(node: JsonNode, T: typedesc[UnBlockFromCommentParams]): UnBlockFromCommentParams =
+ result = UnBlockFromCommentParams()
+ if node.kind == JObject:
+ if node.hasKey("commentIdsToCheck") and node["commentIdsToCheck"].kind != JNull:
+ result.commentIdsToCheck = some(to(node["commentIdsToCheck"], typeof(result.commentIdsToCheck.get())))
+
+# Custom JSON serialization for UnBlockFromCommentParams with custom field names
+proc `%`*(obj: UnBlockFromCommentParams): JsonNode =
+ result = newJObject()
+ if obj.commentIdsToCheck.isSome():
+ result["commentIdsToCheck"] = %obj.commentIdsToCheck.get()
+
diff --git a/client/fastcomments/models/model_unblock_success.nim b/client/fastcomments/models/model_unblock_success.nim
index c7bedf9..0b84554 100644
--- a/client/fastcomments/models/model_unblock_success.nim
+++ b/client/fastcomments/models/model_unblock_success.nim
@@ -19,3 +19,19 @@ type UnblockSuccess* = object
status*: APIStatus
commentStatuses*: Table[string, bool] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for UnblockSuccess with custom field names
+proc to*(node: JsonNode, T: typedesc[UnblockSuccess]): UnblockSuccess =
+ result = UnblockSuccess()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("commentStatuses"):
+ result.commentStatuses = to(node["commentStatuses"], Table[string, bool])
+
+# Custom JSON serialization for UnblockSuccess with custom field names
+proc `%`*(obj: UnblockSuccess): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["commentStatuses"] = %obj.commentStatuses
+
diff --git a/client/fastcomments/models/model_updatable_comment_params.nim b/client/fastcomments/models/model_updatable_comment_params.nim
index eb329f1..04362f2 100644
--- a/client/fastcomments/models/model_updatable_comment_params.nim
+++ b/client/fastcomments/models/model_updatable_comment_params.nim
@@ -56,3 +56,169 @@ type UpdatableCommentParams* = object
moderationGroupIds*: Option[seq[string]]
feedbackIds*: Option[seq[string]]
+
+# Custom JSON deserialization for UpdatableCommentParams with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdatableCommentParams]): UpdatableCommentParams =
+ result = UpdatableCommentParams()
+ if node.kind == JObject:
+ if node.hasKey("urlId") and node["urlId"].kind != JNull:
+ result.urlId = some(to(node["urlId"], typeof(result.urlId.get())))
+ if node.hasKey("urlIdRaw") and node["urlIdRaw"].kind != JNull:
+ result.urlIdRaw = some(to(node["urlIdRaw"], typeof(result.urlIdRaw.get())))
+ if node.hasKey("url") and node["url"].kind != JNull:
+ result.url = some(to(node["url"], typeof(result.url.get())))
+ if node.hasKey("pageTitle") and node["pageTitle"].kind != JNull:
+ result.pageTitle = some(to(node["pageTitle"], typeof(result.pageTitle.get())))
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+ if node.hasKey("commenterEmail") and node["commenterEmail"].kind != JNull:
+ result.commenterEmail = some(to(node["commenterEmail"], typeof(result.commenterEmail.get())))
+ if node.hasKey("commenterName") and node["commenterName"].kind != JNull:
+ result.commenterName = some(to(node["commenterName"], typeof(result.commenterName.get())))
+ if node.hasKey("commenterLink") and node["commenterLink"].kind != JNull:
+ result.commenterLink = some(to(node["commenterLink"], typeof(result.commenterLink.get())))
+ if node.hasKey("comment") and node["comment"].kind != JNull:
+ result.comment = some(to(node["comment"], typeof(result.comment.get())))
+ if node.hasKey("commentHTML") and node["commentHTML"].kind != JNull:
+ result.commentHTML = some(to(node["commentHTML"], typeof(result.commentHTML.get())))
+ if node.hasKey("parentId") and node["parentId"].kind != JNull:
+ result.parentId = some(to(node["parentId"], typeof(result.parentId.get())))
+ if node.hasKey("date") and node["date"].kind != JNull:
+ result.date = some(to(node["date"], typeof(result.date.get())))
+ if node.hasKey("localDateString") and node["localDateString"].kind != JNull:
+ result.localDateString = some(to(node["localDateString"], typeof(result.localDateString.get())))
+ if node.hasKey("localDateHours") and node["localDateHours"].kind != JNull:
+ result.localDateHours = some(to(node["localDateHours"], typeof(result.localDateHours.get())))
+ if node.hasKey("votes") and node["votes"].kind != JNull:
+ result.votes = some(to(node["votes"], typeof(result.votes.get())))
+ if node.hasKey("votesUp") and node["votesUp"].kind != JNull:
+ result.votesUp = some(to(node["votesUp"], typeof(result.votesUp.get())))
+ if node.hasKey("votesDown") and node["votesDown"].kind != JNull:
+ result.votesDown = some(to(node["votesDown"], typeof(result.votesDown.get())))
+ if node.hasKey("expireAt") and node["expireAt"].kind != JNull:
+ result.expireAt = some(to(node["expireAt"], typeof(result.expireAt.get())))
+ if node.hasKey("verified") and node["verified"].kind != JNull:
+ result.verified = some(to(node["verified"], typeof(result.verified.get())))
+ if node.hasKey("verifiedDate") and node["verifiedDate"].kind != JNull:
+ result.verifiedDate = some(to(node["verifiedDate"], typeof(result.verifiedDate.get())))
+ if node.hasKey("notificationSentForParent") and node["notificationSentForParent"].kind != JNull:
+ result.notificationSentForParent = some(to(node["notificationSentForParent"], typeof(result.notificationSentForParent.get())))
+ if node.hasKey("notificationSentForParentTenant") and node["notificationSentForParentTenant"].kind != JNull:
+ result.notificationSentForParentTenant = some(to(node["notificationSentForParentTenant"], typeof(result.notificationSentForParentTenant.get())))
+ if node.hasKey("reviewed") and node["reviewed"].kind != JNull:
+ result.reviewed = some(to(node["reviewed"], typeof(result.reviewed.get())))
+ if node.hasKey("externalId") and node["externalId"].kind != JNull:
+ result.externalId = some(to(node["externalId"], typeof(result.externalId.get())))
+ if node.hasKey("externalParentId") and node["externalParentId"].kind != JNull:
+ result.externalParentId = some(to(node["externalParentId"], typeof(result.externalParentId.get())))
+ if node.hasKey("avatarSrc") and node["avatarSrc"].kind != JNull:
+ result.avatarSrc = some(to(node["avatarSrc"], typeof(result.avatarSrc.get())))
+ if node.hasKey("isSpam") and node["isSpam"].kind != JNull:
+ result.isSpam = some(to(node["isSpam"], typeof(result.isSpam.get())))
+ if node.hasKey("approved") and node["approved"].kind != JNull:
+ result.approved = some(to(node["approved"], typeof(result.approved.get())))
+ if node.hasKey("isDeleted") and node["isDeleted"].kind != JNull:
+ result.isDeleted = some(to(node["isDeleted"], typeof(result.isDeleted.get())))
+ if node.hasKey("isDeletedUser") and node["isDeletedUser"].kind != JNull:
+ result.isDeletedUser = some(to(node["isDeletedUser"], typeof(result.isDeletedUser.get())))
+ if node.hasKey("isByAdmin") and node["isByAdmin"].kind != JNull:
+ result.isByAdmin = some(to(node["isByAdmin"], typeof(result.isByAdmin.get())))
+ if node.hasKey("isByModerator") and node["isByModerator"].kind != JNull:
+ result.isByModerator = some(to(node["isByModerator"], typeof(result.isByModerator.get())))
+ if node.hasKey("isPinned") and node["isPinned"].kind != JNull:
+ result.isPinned = some(to(node["isPinned"], typeof(result.isPinned.get())))
+ if node.hasKey("isLocked") and node["isLocked"].kind != JNull:
+ result.isLocked = some(to(node["isLocked"], typeof(result.isLocked.get())))
+ if node.hasKey("flagCount") and node["flagCount"].kind != JNull:
+ result.flagCount = some(to(node["flagCount"], typeof(result.flagCount.get())))
+ if node.hasKey("displayLabel") and node["displayLabel"].kind != JNull:
+ result.displayLabel = some(to(node["displayLabel"], typeof(result.displayLabel.get())))
+ if node.hasKey("meta") and node["meta"].kind != JNull:
+ result.meta = some(to(node["meta"], typeof(result.meta.get())))
+ if node.hasKey("moderationGroupIds") and node["moderationGroupIds"].kind != JNull:
+ result.moderationGroupIds = some(to(node["moderationGroupIds"], typeof(result.moderationGroupIds.get())))
+ if node.hasKey("feedbackIds") and node["feedbackIds"].kind != JNull:
+ result.feedbackIds = some(to(node["feedbackIds"], typeof(result.feedbackIds.get())))
+
+# Custom JSON serialization for UpdatableCommentParams with custom field names
+proc `%`*(obj: UpdatableCommentParams): JsonNode =
+ result = newJObject()
+ if obj.urlId.isSome():
+ result["urlId"] = %obj.urlId.get()
+ if obj.urlIdRaw.isSome():
+ result["urlIdRaw"] = %obj.urlIdRaw.get()
+ if obj.url.isSome():
+ result["url"] = %obj.url.get()
+ if obj.pageTitle.isSome():
+ result["pageTitle"] = %obj.pageTitle.get()
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+ if obj.commenterEmail.isSome():
+ result["commenterEmail"] = %obj.commenterEmail.get()
+ if obj.commenterName.isSome():
+ result["commenterName"] = %obj.commenterName.get()
+ if obj.commenterLink.isSome():
+ result["commenterLink"] = %obj.commenterLink.get()
+ if obj.comment.isSome():
+ result["comment"] = %obj.comment.get()
+ if obj.commentHTML.isSome():
+ result["commentHTML"] = %obj.commentHTML.get()
+ if obj.parentId.isSome():
+ result["parentId"] = %obj.parentId.get()
+ if obj.date.isSome():
+ result["date"] = %obj.date.get()
+ if obj.localDateString.isSome():
+ result["localDateString"] = %obj.localDateString.get()
+ if obj.localDateHours.isSome():
+ result["localDateHours"] = %obj.localDateHours.get()
+ if obj.votes.isSome():
+ result["votes"] = %obj.votes.get()
+ if obj.votesUp.isSome():
+ result["votesUp"] = %obj.votesUp.get()
+ if obj.votesDown.isSome():
+ result["votesDown"] = %obj.votesDown.get()
+ if obj.expireAt.isSome():
+ result["expireAt"] = %obj.expireAt.get()
+ if obj.verified.isSome():
+ result["verified"] = %obj.verified.get()
+ if obj.verifiedDate.isSome():
+ result["verifiedDate"] = %obj.verifiedDate.get()
+ if obj.notificationSentForParent.isSome():
+ result["notificationSentForParent"] = %obj.notificationSentForParent.get()
+ if obj.notificationSentForParentTenant.isSome():
+ result["notificationSentForParentTenant"] = %obj.notificationSentForParentTenant.get()
+ if obj.reviewed.isSome():
+ result["reviewed"] = %obj.reviewed.get()
+ if obj.externalId.isSome():
+ result["externalId"] = %obj.externalId.get()
+ if obj.externalParentId.isSome():
+ result["externalParentId"] = %obj.externalParentId.get()
+ if obj.avatarSrc.isSome():
+ result["avatarSrc"] = %obj.avatarSrc.get()
+ if obj.isSpam.isSome():
+ result["isSpam"] = %obj.isSpam.get()
+ if obj.approved.isSome():
+ result["approved"] = %obj.approved.get()
+ if obj.isDeleted.isSome():
+ result["isDeleted"] = %obj.isDeleted.get()
+ if obj.isDeletedUser.isSome():
+ result["isDeletedUser"] = %obj.isDeletedUser.get()
+ if obj.isByAdmin.isSome():
+ result["isByAdmin"] = %obj.isByAdmin.get()
+ if obj.isByModerator.isSome():
+ result["isByModerator"] = %obj.isByModerator.get()
+ if obj.isPinned.isSome():
+ result["isPinned"] = %obj.isPinned.get()
+ if obj.isLocked.isSome():
+ result["isLocked"] = %obj.isLocked.get()
+ if obj.flagCount.isSome():
+ result["flagCount"] = %obj.flagCount.get()
+ if obj.displayLabel.isSome():
+ result["displayLabel"] = %obj.displayLabel.get()
+ if obj.meta.isSome():
+ result["meta"] = %obj.meta.get()
+ if obj.moderationGroupIds.isSome():
+ result["moderationGroupIds"] = %obj.moderationGroupIds.get()
+ if obj.feedbackIds.isSome():
+ result["feedbackIds"] = %obj.feedbackIds.get()
+
diff --git a/client/fastcomments/models/model_update_api_page_data.nim b/client/fastcomments/models/model_update_api_page_data.nim
index cd894af..82ed3d0 100644
--- a/client/fastcomments/models/model_update_api_page_data.nim
+++ b/client/fastcomments/models/model_update_api_page_data.nim
@@ -21,3 +21,33 @@ type UpdateAPIPageData* = object
url*: Option[string]
urlId*: Option[string]
+
+# Custom JSON deserialization for UpdateAPIPageData with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateAPIPageData]): UpdateAPIPageData =
+ result = UpdateAPIPageData()
+ if node.kind == JObject:
+ if node.hasKey("isClosed") and node["isClosed"].kind != JNull:
+ result.isClosed = some(to(node["isClosed"], typeof(result.isClosed.get())))
+ if node.hasKey("accessibleByGroupIds") and node["accessibleByGroupIds"].kind != JNull:
+ result.accessibleByGroupIds = some(to(node["accessibleByGroupIds"], typeof(result.accessibleByGroupIds.get())))
+ if node.hasKey("title") and node["title"].kind != JNull:
+ result.title = some(to(node["title"], typeof(result.title.get())))
+ if node.hasKey("url") and node["url"].kind != JNull:
+ result.url = some(to(node["url"], typeof(result.url.get())))
+ if node.hasKey("urlId") and node["urlId"].kind != JNull:
+ result.urlId = some(to(node["urlId"], typeof(result.urlId.get())))
+
+# Custom JSON serialization for UpdateAPIPageData with custom field names
+proc `%`*(obj: UpdateAPIPageData): JsonNode =
+ result = newJObject()
+ if obj.isClosed.isSome():
+ result["isClosed"] = %obj.isClosed.get()
+ if obj.accessibleByGroupIds.isSome():
+ result["accessibleByGroupIds"] = %obj.accessibleByGroupIds.get()
+ if obj.title.isSome():
+ result["title"] = %obj.title.get()
+ if obj.url.isSome():
+ result["url"] = %obj.url.get()
+ if obj.urlId.isSome():
+ result["urlId"] = %obj.urlId.get()
+
diff --git a/client/fastcomments/models/model_update_api_user_subscription_data.nim b/client/fastcomments/models/model_update_api_user_subscription_data.nim
index cd22348..2e1fe10 100644
--- a/client/fastcomments/models/model_update_api_user_subscription_data.nim
+++ b/client/fastcomments/models/model_update_api_user_subscription_data.nim
@@ -17,3 +17,17 @@ type UpdateAPIUserSubscriptionData* = object
##
notificationFrequency*: Option[float64]
+
+# Custom JSON deserialization for UpdateAPIUserSubscriptionData with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateAPIUserSubscriptionData]): UpdateAPIUserSubscriptionData =
+ result = UpdateAPIUserSubscriptionData()
+ if node.kind == JObject:
+ if node.hasKey("notificationFrequency") and node["notificationFrequency"].kind != JNull:
+ result.notificationFrequency = some(to(node["notificationFrequency"], typeof(result.notificationFrequency.get())))
+
+# Custom JSON serialization for UpdateAPIUserSubscriptionData with custom field names
+proc `%`*(obj: UpdateAPIUserSubscriptionData): JsonNode =
+ result = newJObject()
+ if obj.notificationFrequency.isSome():
+ result["notificationFrequency"] = %obj.notificationFrequency.get()
+
diff --git a/client/fastcomments/models/model_update_apisso_user_data.nim b/client/fastcomments/models/model_update_apisso_user_data.nim
index ef667af..bc9fd0e 100644
--- a/client/fastcomments/models/model_update_apisso_user_data.nim
+++ b/client/fastcomments/models/model_update_apisso_user_data.nim
@@ -36,3 +36,93 @@ type UpdateAPISSOUserData* = object
username*: Option[string]
id*: Option[string]
+
+# Custom JSON deserialization for UpdateAPISSOUserData with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateAPISSOUserData]): UpdateAPISSOUserData =
+ result = UpdateAPISSOUserData()
+ if node.kind == JObject:
+ if node.hasKey("groupIds") and node["groupIds"].kind != JNull:
+ result.groupIds = some(to(node["groupIds"], typeof(result.groupIds.get())))
+ if node.hasKey("hasBlockedUsers") and node["hasBlockedUsers"].kind != JNull:
+ result.hasBlockedUsers = some(to(node["hasBlockedUsers"], typeof(result.hasBlockedUsers.get())))
+ if node.hasKey("isProfileDMDisabled") and node["isProfileDMDisabled"].kind != JNull:
+ result.isProfileDMDisabled = some(to(node["isProfileDMDisabled"], typeof(result.isProfileDMDisabled.get())))
+ if node.hasKey("isProfileCommentsPrivate") and node["isProfileCommentsPrivate"].kind != JNull:
+ result.isProfileCommentsPrivate = some(to(node["isProfileCommentsPrivate"], typeof(result.isProfileCommentsPrivate.get())))
+ if node.hasKey("isProfileActivityPrivate") and node["isProfileActivityPrivate"].kind != JNull:
+ result.isProfileActivityPrivate = some(to(node["isProfileActivityPrivate"], typeof(result.isProfileActivityPrivate.get())))
+ if node.hasKey("isCommentModeratorAdmin") and node["isCommentModeratorAdmin"].kind != JNull:
+ result.isCommentModeratorAdmin = some(to(node["isCommentModeratorAdmin"], typeof(result.isCommentModeratorAdmin.get())))
+ if node.hasKey("isAdminAdmin") and node["isAdminAdmin"].kind != JNull:
+ result.isAdminAdmin = some(to(node["isAdminAdmin"], typeof(result.isAdminAdmin.get())))
+ if node.hasKey("isAccountOwner") and node["isAccountOwner"].kind != JNull:
+ result.isAccountOwner = some(to(node["isAccountOwner"], typeof(result.isAccountOwner.get())))
+ if node.hasKey("displayName") and node["displayName"].kind != JNull:
+ result.displayName = some(to(node["displayName"], typeof(result.displayName.get())))
+ if node.hasKey("displayLabel") and node["displayLabel"].kind != JNull:
+ result.displayLabel = some(to(node["displayLabel"], typeof(result.displayLabel.get())))
+ if node.hasKey("optedInSubscriptionNotifications") and node["optedInSubscriptionNotifications"].kind != JNull:
+ result.optedInSubscriptionNotifications = some(to(node["optedInSubscriptionNotifications"], typeof(result.optedInSubscriptionNotifications.get())))
+ if node.hasKey("optedInNotifications") and node["optedInNotifications"].kind != JNull:
+ result.optedInNotifications = some(to(node["optedInNotifications"], typeof(result.optedInNotifications.get())))
+ if node.hasKey("avatarSrc") and node["avatarSrc"].kind != JNull:
+ result.avatarSrc = some(to(node["avatarSrc"], typeof(result.avatarSrc.get())))
+ if node.hasKey("loginCount") and node["loginCount"].kind != JNull:
+ result.loginCount = some(to(node["loginCount"], typeof(result.loginCount.get())))
+ if node.hasKey("createdFromUrlId") and node["createdFromUrlId"].kind != JNull:
+ result.createdFromUrlId = some(to(node["createdFromUrlId"], typeof(result.createdFromUrlId.get())))
+ if node.hasKey("signUpDate") and node["signUpDate"].kind != JNull:
+ result.signUpDate = some(to(node["signUpDate"], typeof(result.signUpDate.get())))
+ if node.hasKey("email") and node["email"].kind != JNull:
+ result.email = some(to(node["email"], typeof(result.email.get())))
+ if node.hasKey("websiteUrl") and node["websiteUrl"].kind != JNull:
+ result.websiteUrl = some(to(node["websiteUrl"], typeof(result.websiteUrl.get())))
+ if node.hasKey("username") and node["username"].kind != JNull:
+ result.username = some(to(node["username"], typeof(result.username.get())))
+ if node.hasKey("id") and node["id"].kind != JNull:
+ result.id = some(to(node["id"], typeof(result.id.get())))
+
+# Custom JSON serialization for UpdateAPISSOUserData with custom field names
+proc `%`*(obj: UpdateAPISSOUserData): JsonNode =
+ result = newJObject()
+ if obj.groupIds.isSome():
+ result["groupIds"] = %obj.groupIds.get()
+ if obj.hasBlockedUsers.isSome():
+ result["hasBlockedUsers"] = %obj.hasBlockedUsers.get()
+ if obj.isProfileDMDisabled.isSome():
+ result["isProfileDMDisabled"] = %obj.isProfileDMDisabled.get()
+ if obj.isProfileCommentsPrivate.isSome():
+ result["isProfileCommentsPrivate"] = %obj.isProfileCommentsPrivate.get()
+ if obj.isProfileActivityPrivate.isSome():
+ result["isProfileActivityPrivate"] = %obj.isProfileActivityPrivate.get()
+ if obj.isCommentModeratorAdmin.isSome():
+ result["isCommentModeratorAdmin"] = %obj.isCommentModeratorAdmin.get()
+ if obj.isAdminAdmin.isSome():
+ result["isAdminAdmin"] = %obj.isAdminAdmin.get()
+ if obj.isAccountOwner.isSome():
+ result["isAccountOwner"] = %obj.isAccountOwner.get()
+ if obj.displayName.isSome():
+ result["displayName"] = %obj.displayName.get()
+ if obj.displayLabel.isSome():
+ result["displayLabel"] = %obj.displayLabel.get()
+ if obj.optedInSubscriptionNotifications.isSome():
+ result["optedInSubscriptionNotifications"] = %obj.optedInSubscriptionNotifications.get()
+ if obj.optedInNotifications.isSome():
+ result["optedInNotifications"] = %obj.optedInNotifications.get()
+ if obj.avatarSrc.isSome():
+ result["avatarSrc"] = %obj.avatarSrc.get()
+ if obj.loginCount.isSome():
+ result["loginCount"] = %obj.loginCount.get()
+ if obj.createdFromUrlId.isSome():
+ result["createdFromUrlId"] = %obj.createdFromUrlId.get()
+ if obj.signUpDate.isSome():
+ result["signUpDate"] = %obj.signUpDate.get()
+ if obj.email.isSome():
+ result["email"] = %obj.email.get()
+ if obj.websiteUrl.isSome():
+ result["websiteUrl"] = %obj.websiteUrl.get()
+ if obj.username.isSome():
+ result["username"] = %obj.username.get()
+ if obj.id.isSome():
+ result["id"] = %obj.id.get()
+
diff --git a/client/fastcomments/models/model_update_domain_config_params.nim b/client/fastcomments/models/model_update_domain_config_params.nim
index ded6a2a..77e7da8 100644
--- a/client/fastcomments/models/model_update_domain_config_params.nim
+++ b/client/fastcomments/models/model_update_domain_config_params.nim
@@ -23,3 +23,40 @@ type UpdateDomainConfigParams* = object
footerUnsubscribeURL*: Option[string]
emailHeaders*: Option[Table[string, string]] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for UpdateDomainConfigParams with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateDomainConfigParams]): UpdateDomainConfigParams =
+ result = UpdateDomainConfigParams()
+ if node.kind == JObject:
+ if node.hasKey("domain"):
+ result.domain = to(node["domain"], string)
+ if node.hasKey("emailFromName") and node["emailFromName"].kind != JNull:
+ result.emailFromName = some(to(node["emailFromName"], typeof(result.emailFromName.get())))
+ if node.hasKey("emailFromEmail") and node["emailFromEmail"].kind != JNull:
+ result.emailFromEmail = some(to(node["emailFromEmail"], typeof(result.emailFromEmail.get())))
+ if node.hasKey("logoSrc") and node["logoSrc"].kind != JNull:
+ result.logoSrc = some(to(node["logoSrc"], typeof(result.logoSrc.get())))
+ if node.hasKey("logoSrc100px") and node["logoSrc100px"].kind != JNull:
+ result.logoSrc100px = some(to(node["logoSrc100px"], typeof(result.logoSrc100px.get())))
+ if node.hasKey("footerUnsubscribeURL") and node["footerUnsubscribeURL"].kind != JNull:
+ result.footerUnsubscribeURL = some(to(node["footerUnsubscribeURL"], typeof(result.footerUnsubscribeURL.get())))
+ if node.hasKey("emailHeaders") and node["emailHeaders"].kind != JNull:
+ result.emailHeaders = some(to(node["emailHeaders"], typeof(result.emailHeaders.get())))
+
+# Custom JSON serialization for UpdateDomainConfigParams with custom field names
+proc `%`*(obj: UpdateDomainConfigParams): JsonNode =
+ result = newJObject()
+ result["domain"] = %obj.domain
+ if obj.emailFromName.isSome():
+ result["emailFromName"] = %obj.emailFromName.get()
+ if obj.emailFromEmail.isSome():
+ result["emailFromEmail"] = %obj.emailFromEmail.get()
+ if obj.logoSrc.isSome():
+ result["logoSrc"] = %obj.logoSrc.get()
+ if obj.logoSrc100px.isSome():
+ result["logoSrc100px"] = %obj.logoSrc100px.get()
+ if obj.footerUnsubscribeURL.isSome():
+ result["footerUnsubscribeURL"] = %obj.footerUnsubscribeURL.get()
+ if obj.emailHeaders.isSome():
+ result["emailHeaders"] = %obj.emailHeaders.get()
+
diff --git a/client/fastcomments/models/model_update_email_template_body.nim b/client/fastcomments/models/model_update_email_template_body.nim
index 30deefa..434d064 100644
--- a/client/fastcomments/models/model_update_email_template_body.nim
+++ b/client/fastcomments/models/model_update_email_template_body.nim
@@ -23,3 +23,37 @@ type UpdateEmailTemplateBody* = object
translationOverridesByLocale*: Option[Table[string, Table[string, string]]] ## Construct a type with a set of properties K of type T
testData*: Option[Table[string, JsonNode]] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for UpdateEmailTemplateBody with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateEmailTemplateBody]): UpdateEmailTemplateBody =
+ result = UpdateEmailTemplateBody()
+ if node.kind == JObject:
+ if node.hasKey("emailTemplateId") and node["emailTemplateId"].kind != JNull:
+ result.emailTemplateId = some(to(node["emailTemplateId"], typeof(result.emailTemplateId.get())))
+ if node.hasKey("displayName") and node["displayName"].kind != JNull:
+ result.displayName = some(to(node["displayName"], typeof(result.displayName.get())))
+ if node.hasKey("ejs") and node["ejs"].kind != JNull:
+ result.ejs = some(to(node["ejs"], typeof(result.ejs.get())))
+ if node.hasKey("domain") and node["domain"].kind != JNull:
+ result.domain = some(to(node["domain"], typeof(result.domain.get())))
+ if node.hasKey("translationOverridesByLocale") and node["translationOverridesByLocale"].kind != JNull:
+ result.translationOverridesByLocale = some(to(node["translationOverridesByLocale"], typeof(result.translationOverridesByLocale.get())))
+ if node.hasKey("testData") and node["testData"].kind != JNull:
+ result.testData = some(to(node["testData"], typeof(result.testData.get())))
+
+# Custom JSON serialization for UpdateEmailTemplateBody with custom field names
+proc `%`*(obj: UpdateEmailTemplateBody): JsonNode =
+ result = newJObject()
+ if obj.emailTemplateId.isSome():
+ result["emailTemplateId"] = %obj.emailTemplateId.get()
+ if obj.displayName.isSome():
+ result["displayName"] = %obj.displayName.get()
+ if obj.ejs.isSome():
+ result["ejs"] = %obj.ejs.get()
+ if obj.domain.isSome():
+ result["domain"] = %obj.domain.get()
+ if obj.translationOverridesByLocale.isSome():
+ result["translationOverridesByLocale"] = %obj.translationOverridesByLocale.get()
+ if obj.testData.isSome():
+ result["testData"] = %obj.testData.get()
+
diff --git a/client/fastcomments/models/model_update_feed_post_params.nim b/client/fastcomments/models/model_update_feed_post_params.nim
index a64c2b6..8cb3199 100644
--- a/client/fastcomments/models/model_update_feed_post_params.nim
+++ b/client/fastcomments/models/model_update_feed_post_params.nim
@@ -24,3 +24,37 @@ type UpdateFeedPostParams* = object
tags*: Option[seq[string]]
meta*: Option[Table[string, string]] ## Construct a type with a set of properties K of type T
+
+# Custom JSON deserialization for UpdateFeedPostParams with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateFeedPostParams]): UpdateFeedPostParams =
+ result = UpdateFeedPostParams()
+ if node.kind == JObject:
+ if node.hasKey("title") and node["title"].kind != JNull:
+ result.title = some(to(node["title"], typeof(result.title.get())))
+ if node.hasKey("contentHTML") and node["contentHTML"].kind != JNull:
+ result.contentHTML = some(to(node["contentHTML"], typeof(result.contentHTML.get())))
+ if node.hasKey("media") and node["media"].kind != JNull:
+ result.media = some(to(node["media"], typeof(result.media.get())))
+ if node.hasKey("links") and node["links"].kind != JNull:
+ result.links = some(to(node["links"], typeof(result.links.get())))
+ if node.hasKey("tags") and node["tags"].kind != JNull:
+ result.tags = some(to(node["tags"], typeof(result.tags.get())))
+ if node.hasKey("meta") and node["meta"].kind != JNull:
+ result.meta = some(to(node["meta"], typeof(result.meta.get())))
+
+# Custom JSON serialization for UpdateFeedPostParams with custom field names
+proc `%`*(obj: UpdateFeedPostParams): JsonNode =
+ result = newJObject()
+ if obj.title.isSome():
+ result["title"] = %obj.title.get()
+ if obj.contentHTML.isSome():
+ result["contentHTML"] = %obj.contentHTML.get()
+ if obj.media.isSome():
+ result["media"] = %obj.media.get()
+ if obj.links.isSome():
+ result["links"] = %obj.links.get()
+ if obj.tags.isSome():
+ result["tags"] = %obj.tags.get()
+ if obj.meta.isSome():
+ result["meta"] = %obj.meta.get()
+
diff --git a/client/fastcomments/models/model_update_hash_tag_body.nim b/client/fastcomments/models/model_update_hash_tag_body.nim
index 4f3a26c..98c7d77 100644
--- a/client/fastcomments/models/model_update_hash_tag_body.nim
+++ b/client/fastcomments/models/model_update_hash_tag_body.nim
@@ -19,3 +19,25 @@ type UpdateHashTagBody* = object
url*: Option[string]
tag*: Option[string]
+
+# Custom JSON deserialization for UpdateHashTagBody with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateHashTagBody]): UpdateHashTagBody =
+ result = UpdateHashTagBody()
+ if node.kind == JObject:
+ if node.hasKey("tenantId") and node["tenantId"].kind != JNull:
+ result.tenantId = some(to(node["tenantId"], typeof(result.tenantId.get())))
+ if node.hasKey("url") and node["url"].kind != JNull:
+ result.url = some(to(node["url"], typeof(result.url.get())))
+ if node.hasKey("tag") and node["tag"].kind != JNull:
+ result.tag = some(to(node["tag"], typeof(result.tag.get())))
+
+# Custom JSON serialization for UpdateHashTagBody with custom field names
+proc `%`*(obj: UpdateHashTagBody): JsonNode =
+ result = newJObject()
+ if obj.tenantId.isSome():
+ result["tenantId"] = %obj.tenantId.get()
+ if obj.url.isSome():
+ result["url"] = %obj.url.get()
+ if obj.tag.isSome():
+ result["tag"] = %obj.tag.get()
+
diff --git a/client/fastcomments/models/model_update_moderator_body.nim b/client/fastcomments/models/model_update_moderator_body.nim
index 39681bb..abef85f 100644
--- a/client/fastcomments/models/model_update_moderator_body.nim
+++ b/client/fastcomments/models/model_update_moderator_body.nim
@@ -21,3 +21,29 @@ type UpdateModeratorBody* = object
userId*: Option[string]
moderationGroupIds*: Option[seq[string]]
+
+# Custom JSON deserialization for UpdateModeratorBody with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateModeratorBody]): UpdateModeratorBody =
+ result = UpdateModeratorBody()
+ if node.kind == JObject:
+ if node.hasKey("name") and node["name"].kind != JNull:
+ result.name = some(to(node["name"], typeof(result.name.get())))
+ if node.hasKey("email") and node["email"].kind != JNull:
+ result.email = some(to(node["email"], typeof(result.email.get())))
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+ if node.hasKey("moderationGroupIds") and node["moderationGroupIds"].kind != JNull:
+ result.moderationGroupIds = some(to(node["moderationGroupIds"], typeof(result.moderationGroupIds.get())))
+
+# Custom JSON serialization for UpdateModeratorBody with custom field names
+proc `%`*(obj: UpdateModeratorBody): JsonNode =
+ result = newJObject()
+ if obj.name.isSome():
+ result["name"] = %obj.name.get()
+ if obj.email.isSome():
+ result["email"] = %obj.email.get()
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+ if obj.moderationGroupIds.isSome():
+ result["moderationGroupIds"] = %obj.moderationGroupIds.get()
+
diff --git a/client/fastcomments/models/model_update_notification_body.nim b/client/fastcomments/models/model_update_notification_body.nim
index a53a481..51f5538 100644
--- a/client/fastcomments/models/model_update_notification_body.nim
+++ b/client/fastcomments/models/model_update_notification_body.nim
@@ -19,3 +19,21 @@ type UpdateNotificationBody* = object
viewed*: Option[bool]
optedOut*: Option[bool]
+
+# Custom JSON deserialization for UpdateNotificationBody with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateNotificationBody]): UpdateNotificationBody =
+ result = UpdateNotificationBody()
+ if node.kind == JObject:
+ if node.hasKey("viewed") and node["viewed"].kind != JNull:
+ result.viewed = some(to(node["viewed"], typeof(result.viewed.get())))
+ if node.hasKey("optedOut") and node["optedOut"].kind != JNull:
+ result.optedOut = some(to(node["optedOut"], typeof(result.optedOut.get())))
+
+# Custom JSON serialization for UpdateNotificationBody with custom field names
+proc `%`*(obj: UpdateNotificationBody): JsonNode =
+ result = newJObject()
+ if obj.viewed.isSome():
+ result["viewed"] = %obj.viewed.get()
+ if obj.optedOut.isSome():
+ result["optedOut"] = %obj.optedOut.get()
+
diff --git a/client/fastcomments/models/model_update_question_config_body.nim b/client/fastcomments/models/model_update_question_config_body.nim
index 18c096a..430b497 100644
--- a/client/fastcomments/models/model_update_question_config_body.nim
+++ b/client/fastcomments/models/model_update_question_config_body.nim
@@ -27,8 +27,74 @@ type UpdateQuestionConfigBody* = object
defaultValue*: Option[float64]
labelNegative*: Option[string]
labelPositive*: Option[string]
- customOptions*: Option[seq[QuestionConfig_customOptions_inner]]
+ customOptions*: Option[seq[QuestionConfigCustomOptionsInner]]
subQuestionIds*: Option[seq[string]]
alwaysShowSubQuestions*: Option[bool]
reportingOrder*: Option[float64]
+
+# Custom JSON deserialization for UpdateQuestionConfigBody with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateQuestionConfigBody]): UpdateQuestionConfigBody =
+ result = UpdateQuestionConfigBody()
+ if node.kind == JObject:
+ if node.hasKey("name") and node["name"].kind != JNull:
+ result.name = some(to(node["name"], typeof(result.name.get())))
+ if node.hasKey("question") and node["question"].kind != JNull:
+ result.question = some(to(node["question"], typeof(result.question.get())))
+ if node.hasKey("helpText") and node["helpText"].kind != JNull:
+ result.helpText = some(to(node["helpText"], typeof(result.helpText.get())))
+ if node.hasKey("type") and node["type"].kind != JNull:
+ result.`type` = some(to(node["type"], typeof(result.`type`.get())))
+ if node.hasKey("numStars") and node["numStars"].kind != JNull:
+ result.numStars = some(to(node["numStars"], typeof(result.numStars.get())))
+ if node.hasKey("min") and node["min"].kind != JNull:
+ result.min = some(to(node["min"], typeof(result.min.get())))
+ if node.hasKey("max") and node["max"].kind != JNull:
+ result.max = some(to(node["max"], typeof(result.max.get())))
+ if node.hasKey("defaultValue") and node["defaultValue"].kind != JNull:
+ result.defaultValue = some(to(node["defaultValue"], typeof(result.defaultValue.get())))
+ if node.hasKey("labelNegative") and node["labelNegative"].kind != JNull:
+ result.labelNegative = some(to(node["labelNegative"], typeof(result.labelNegative.get())))
+ if node.hasKey("labelPositive") and node["labelPositive"].kind != JNull:
+ result.labelPositive = some(to(node["labelPositive"], typeof(result.labelPositive.get())))
+ if node.hasKey("customOptions") and node["customOptions"].kind != JNull:
+ result.customOptions = some(to(node["customOptions"], typeof(result.customOptions.get())))
+ if node.hasKey("subQuestionIds") and node["subQuestionIds"].kind != JNull:
+ result.subQuestionIds = some(to(node["subQuestionIds"], typeof(result.subQuestionIds.get())))
+ if node.hasKey("alwaysShowSubQuestions") and node["alwaysShowSubQuestions"].kind != JNull:
+ result.alwaysShowSubQuestions = some(to(node["alwaysShowSubQuestions"], typeof(result.alwaysShowSubQuestions.get())))
+ if node.hasKey("reportingOrder") and node["reportingOrder"].kind != JNull:
+ result.reportingOrder = some(to(node["reportingOrder"], typeof(result.reportingOrder.get())))
+
+# Custom JSON serialization for UpdateQuestionConfigBody with custom field names
+proc `%`*(obj: UpdateQuestionConfigBody): JsonNode =
+ result = newJObject()
+ if obj.name.isSome():
+ result["name"] = %obj.name.get()
+ if obj.question.isSome():
+ result["question"] = %obj.question.get()
+ if obj.helpText.isSome():
+ result["helpText"] = %obj.helpText.get()
+ if obj.`type`.isSome():
+ result["type"] = %obj.`type`.get()
+ if obj.numStars.isSome():
+ result["numStars"] = %obj.numStars.get()
+ if obj.min.isSome():
+ result["min"] = %obj.min.get()
+ if obj.max.isSome():
+ result["max"] = %obj.max.get()
+ if obj.defaultValue.isSome():
+ result["defaultValue"] = %obj.defaultValue.get()
+ if obj.labelNegative.isSome():
+ result["labelNegative"] = %obj.labelNegative.get()
+ if obj.labelPositive.isSome():
+ result["labelPositive"] = %obj.labelPositive.get()
+ if obj.customOptions.isSome():
+ result["customOptions"] = %obj.customOptions.get()
+ if obj.subQuestionIds.isSome():
+ result["subQuestionIds"] = %obj.subQuestionIds.get()
+ if obj.alwaysShowSubQuestions.isSome():
+ result["alwaysShowSubQuestions"] = %obj.alwaysShowSubQuestions.get()
+ if obj.reportingOrder.isSome():
+ result["reportingOrder"] = %obj.reportingOrder.get()
+
diff --git a/client/fastcomments/models/model_update_question_result_body.nim b/client/fastcomments/models/model_update_question_result_body.nim
index 153b96e..24b3139 100644
--- a/client/fastcomments/models/model_update_question_result_body.nim
+++ b/client/fastcomments/models/model_update_question_result_body.nim
@@ -25,3 +25,41 @@ type UpdateQuestionResultBody* = object
questionId*: Option[string]
meta*: Option[seq[MetaItem]]
+
+# Custom JSON deserialization for UpdateQuestionResultBody with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateQuestionResultBody]): UpdateQuestionResultBody =
+ result = UpdateQuestionResultBody()
+ if node.kind == JObject:
+ if node.hasKey("urlId") and node["urlId"].kind != JNull:
+ result.urlId = some(to(node["urlId"], typeof(result.urlId.get())))
+ if node.hasKey("anonUserId") and node["anonUserId"].kind != JNull:
+ result.anonUserId = some(to(node["anonUserId"], typeof(result.anonUserId.get())))
+ if node.hasKey("userId") and node["userId"].kind != JNull:
+ result.userId = some(to(node["userId"], typeof(result.userId.get())))
+ if node.hasKey("value") and node["value"].kind != JNull:
+ result.value = some(to(node["value"], typeof(result.value.get())))
+ if node.hasKey("commentId") and node["commentId"].kind != JNull:
+ result.commentId = some(to(node["commentId"], typeof(result.commentId.get())))
+ if node.hasKey("questionId") and node["questionId"].kind != JNull:
+ result.questionId = some(to(node["questionId"], typeof(result.questionId.get())))
+ if node.hasKey("meta") and node["meta"].kind != JNull:
+ result.meta = some(to(node["meta"], typeof(result.meta.get())))
+
+# Custom JSON serialization for UpdateQuestionResultBody with custom field names
+proc `%`*(obj: UpdateQuestionResultBody): JsonNode =
+ result = newJObject()
+ if obj.urlId.isSome():
+ result["urlId"] = %obj.urlId.get()
+ if obj.anonUserId.isSome():
+ result["anonUserId"] = %obj.anonUserId.get()
+ if obj.userId.isSome():
+ result["userId"] = %obj.userId.get()
+ if obj.value.isSome():
+ result["value"] = %obj.value.get()
+ if obj.commentId.isSome():
+ result["commentId"] = %obj.commentId.get()
+ if obj.questionId.isSome():
+ result["questionId"] = %obj.questionId.get()
+ if obj.meta.isSome():
+ result["meta"] = %obj.meta.get()
+
diff --git a/client/fastcomments/models/model_update_subscription_api_response.nim b/client/fastcomments/models/model_update_subscription_api_response.nim
index e55d073..03b180c 100644
--- a/client/fastcomments/models/model_update_subscription_api_response.nim
+++ b/client/fastcomments/models/model_update_subscription_api_response.nim
@@ -21,3 +21,28 @@ type UpdateSubscriptionAPIResponse* = object
subscription*: Option[APIUserSubscription]
status*: string
+
+# Custom JSON deserialization for UpdateSubscriptionAPIResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateSubscriptionAPIResponse]): UpdateSubscriptionAPIResponse =
+ result = UpdateSubscriptionAPIResponse()
+ if node.kind == JObject:
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+ if node.hasKey("subscription") and node["subscription"].kind != JNull:
+ result.subscription = some(to(node["subscription"], typeof(result.subscription.get())))
+ if node.hasKey("status"):
+ result.status = to(node["status"], string)
+
+# Custom JSON serialization for UpdateSubscriptionAPIResponse with custom field names
+proc `%`*(obj: UpdateSubscriptionAPIResponse): JsonNode =
+ result = newJObject()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+ if obj.subscription.isSome():
+ result["subscription"] = %obj.subscription.get()
+ result["status"] = %obj.status
+
diff --git a/client/fastcomments/models/model_update_tenant_body.nim b/client/fastcomments/models/model_update_tenant_body.nim
index fef3cd7..14bc847 100644
--- a/client/fastcomments/models/model_update_tenant_body.nim
+++ b/client/fastcomments/models/model_update_tenant_body.nim
@@ -42,3 +42,109 @@ type UpdateTenantBody* = object
meta*: Option[Table[string, string]] ## Construct a type with a set of properties K of type T
managedByTenantId*: Option[string]
+
+# Custom JSON deserialization for UpdateTenantBody with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateTenantBody]): UpdateTenantBody =
+ result = UpdateTenantBody()
+ if node.kind == JObject:
+ if node.hasKey("name") and node["name"].kind != JNull:
+ result.name = some(to(node["name"], typeof(result.name.get())))
+ if node.hasKey("email") and node["email"].kind != JNull:
+ result.email = some(to(node["email"], typeof(result.email.get())))
+ if node.hasKey("signUpDate") and node["signUpDate"].kind != JNull:
+ result.signUpDate = some(to(node["signUpDate"], typeof(result.signUpDate.get())))
+ if node.hasKey("packageId") and node["packageId"].kind != JNull:
+ result.packageId = some(to(node["packageId"], typeof(result.packageId.get())))
+ if node.hasKey("paymentFrequency") and node["paymentFrequency"].kind != JNull:
+ result.paymentFrequency = some(to(node["paymentFrequency"], typeof(result.paymentFrequency.get())))
+ if node.hasKey("billingInfoValid") and node["billingInfoValid"].kind != JNull:
+ result.billingInfoValid = some(to(node["billingInfoValid"], typeof(result.billingInfoValid.get())))
+ if node.hasKey("billingHandledExternally") and node["billingHandledExternally"].kind != JNull:
+ result.billingHandledExternally = some(to(node["billingHandledExternally"], typeof(result.billingHandledExternally.get())))
+ if node.hasKey("createdBy") and node["createdBy"].kind != JNull:
+ result.createdBy = some(to(node["createdBy"], typeof(result.createdBy.get())))
+ if node.hasKey("isSetup") and node["isSetup"].kind != JNull:
+ result.isSetup = some(to(node["isSetup"], typeof(result.isSetup.get())))
+ if node.hasKey("domainConfiguration") and node["domainConfiguration"].kind != JNull:
+ result.domainConfiguration = some(to(node["domainConfiguration"], typeof(result.domainConfiguration.get())))
+ if node.hasKey("billingInfo") and node["billingInfo"].kind != JNull:
+ result.billingInfo = some(to(node["billingInfo"], typeof(result.billingInfo.get())))
+ if node.hasKey("stripeCustomerId") and node["stripeCustomerId"].kind != JNull:
+ result.stripeCustomerId = some(to(node["stripeCustomerId"], typeof(result.stripeCustomerId.get())))
+ if node.hasKey("stripeSubscriptionId") and node["stripeSubscriptionId"].kind != JNull:
+ result.stripeSubscriptionId = some(to(node["stripeSubscriptionId"], typeof(result.stripeSubscriptionId.get())))
+ if node.hasKey("stripePlanId") and node["stripePlanId"].kind != JNull:
+ result.stripePlanId = some(to(node["stripePlanId"], typeof(result.stripePlanId.get())))
+ if node.hasKey("enableProfanityFilter") and node["enableProfanityFilter"].kind != JNull:
+ result.enableProfanityFilter = some(to(node["enableProfanityFilter"], typeof(result.enableProfanityFilter.get())))
+ if node.hasKey("enableSpamFilter") and node["enableSpamFilter"].kind != JNull:
+ result.enableSpamFilter = some(to(node["enableSpamFilter"], typeof(result.enableSpamFilter.get())))
+ if node.hasKey("removeUnverifiedComments") and node["removeUnverifiedComments"].kind != JNull:
+ result.removeUnverifiedComments = some(to(node["removeUnverifiedComments"], typeof(result.removeUnverifiedComments.get())))
+ if node.hasKey("unverifiedCommentsTTLms") and node["unverifiedCommentsTTLms"].kind != JNull:
+ result.unverifiedCommentsTTLms = some(to(node["unverifiedCommentsTTLms"], typeof(result.unverifiedCommentsTTLms.get())))
+ if node.hasKey("commentsRequireApproval") and node["commentsRequireApproval"].kind != JNull:
+ result.commentsRequireApproval = some(to(node["commentsRequireApproval"], typeof(result.commentsRequireApproval.get())))
+ if node.hasKey("autoApproveCommentOnVerification") and node["autoApproveCommentOnVerification"].kind != JNull:
+ result.autoApproveCommentOnVerification = some(to(node["autoApproveCommentOnVerification"], typeof(result.autoApproveCommentOnVerification.get())))
+ if node.hasKey("sendProfaneToSpam") and node["sendProfaneToSpam"].kind != JNull:
+ result.sendProfaneToSpam = some(to(node["sendProfaneToSpam"], typeof(result.sendProfaneToSpam.get())))
+ if node.hasKey("deAnonIpAddr") and node["deAnonIpAddr"].kind != JNull:
+ result.deAnonIpAddr = some(to(node["deAnonIpAddr"], typeof(result.deAnonIpAddr.get())))
+ if node.hasKey("meta") and node["meta"].kind != JNull:
+ result.meta = some(to(node["meta"], typeof(result.meta.get())))
+ if node.hasKey("managedByTenantId") and node["managedByTenantId"].kind != JNull:
+ result.managedByTenantId = some(to(node["managedByTenantId"], typeof(result.managedByTenantId.get())))
+
+# Custom JSON serialization for UpdateTenantBody with custom field names
+proc `%`*(obj: UpdateTenantBody): JsonNode =
+ result = newJObject()
+ if obj.name.isSome():
+ result["name"] = %obj.name.get()
+ if obj.email.isSome():
+ result["email"] = %obj.email.get()
+ if obj.signUpDate.isSome():
+ result["signUpDate"] = %obj.signUpDate.get()
+ if obj.packageId.isSome():
+ result["packageId"] = %obj.packageId.get()
+ if obj.paymentFrequency.isSome():
+ result["paymentFrequency"] = %obj.paymentFrequency.get()
+ if obj.billingInfoValid.isSome():
+ result["billingInfoValid"] = %obj.billingInfoValid.get()
+ if obj.billingHandledExternally.isSome():
+ result["billingHandledExternally"] = %obj.billingHandledExternally.get()
+ if obj.createdBy.isSome():
+ result["createdBy"] = %obj.createdBy.get()
+ if obj.isSetup.isSome():
+ result["isSetup"] = %obj.isSetup.get()
+ if obj.domainConfiguration.isSome():
+ result["domainConfiguration"] = %obj.domainConfiguration.get()
+ if obj.billingInfo.isSome():
+ result["billingInfo"] = %obj.billingInfo.get()
+ if obj.stripeCustomerId.isSome():
+ result["stripeCustomerId"] = %obj.stripeCustomerId.get()
+ if obj.stripeSubscriptionId.isSome():
+ result["stripeSubscriptionId"] = %obj.stripeSubscriptionId.get()
+ if obj.stripePlanId.isSome():
+ result["stripePlanId"] = %obj.stripePlanId.get()
+ if obj.enableProfanityFilter.isSome():
+ result["enableProfanityFilter"] = %obj.enableProfanityFilter.get()
+ if obj.enableSpamFilter.isSome():
+ result["enableSpamFilter"] = %obj.enableSpamFilter.get()
+ if obj.removeUnverifiedComments.isSome():
+ result["removeUnverifiedComments"] = %obj.removeUnverifiedComments.get()
+ if obj.unverifiedCommentsTTLms.isSome():
+ result["unverifiedCommentsTTLms"] = %obj.unverifiedCommentsTTLms.get()
+ if obj.commentsRequireApproval.isSome():
+ result["commentsRequireApproval"] = %obj.commentsRequireApproval.get()
+ if obj.autoApproveCommentOnVerification.isSome():
+ result["autoApproveCommentOnVerification"] = %obj.autoApproveCommentOnVerification.get()
+ if obj.sendProfaneToSpam.isSome():
+ result["sendProfaneToSpam"] = %obj.sendProfaneToSpam.get()
+ if obj.deAnonIpAddr.isSome():
+ result["deAnonIpAddr"] = %obj.deAnonIpAddr.get()
+ if obj.meta.isSome():
+ result["meta"] = %obj.meta.get()
+ if obj.managedByTenantId.isSome():
+ result["managedByTenantId"] = %obj.managedByTenantId.get()
+
diff --git a/client/fastcomments/models/model_update_tenant_package_body.nim b/client/fastcomments/models/model_update_tenant_package_body.nim
index a522423..cd9c48f 100644
--- a/client/fastcomments/models/model_update_tenant_package_body.nim
+++ b/client/fastcomments/models/model_update_tenant_package_body.nim
@@ -48,3 +48,141 @@ type UpdateTenantPackageBody* = object
flexDomainUnit*: Option[float64]
flexMinimumCostCents*: Option[float64]
+
+# Custom JSON deserialization for UpdateTenantPackageBody with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateTenantPackageBody]): UpdateTenantPackageBody =
+ result = UpdateTenantPackageBody()
+ if node.kind == JObject:
+ if node.hasKey("name") and node["name"].kind != JNull:
+ result.name = some(to(node["name"], typeof(result.name.get())))
+ if node.hasKey("monthlyCostUSD") and node["monthlyCostUSD"].kind != JNull:
+ result.monthlyCostUSD = some(to(node["monthlyCostUSD"], typeof(result.monthlyCostUSD.get())))
+ if node.hasKey("yearlyCostUSD") and node["yearlyCostUSD"].kind != JNull:
+ result.yearlyCostUSD = some(to(node["yearlyCostUSD"], typeof(result.yearlyCostUSD.get())))
+ if node.hasKey("maxMonthlyPageLoads") and node["maxMonthlyPageLoads"].kind != JNull:
+ result.maxMonthlyPageLoads = some(to(node["maxMonthlyPageLoads"], typeof(result.maxMonthlyPageLoads.get())))
+ if node.hasKey("maxMonthlyAPICredits") and node["maxMonthlyAPICredits"].kind != JNull:
+ result.maxMonthlyAPICredits = some(to(node["maxMonthlyAPICredits"], typeof(result.maxMonthlyAPICredits.get())))
+ if node.hasKey("maxMonthlyComments") and node["maxMonthlyComments"].kind != JNull:
+ result.maxMonthlyComments = some(to(node["maxMonthlyComments"], typeof(result.maxMonthlyComments.get())))
+ if node.hasKey("maxConcurrentUsers") and node["maxConcurrentUsers"].kind != JNull:
+ result.maxConcurrentUsers = some(to(node["maxConcurrentUsers"], typeof(result.maxConcurrentUsers.get())))
+ if node.hasKey("maxTenantUsers") and node["maxTenantUsers"].kind != JNull:
+ result.maxTenantUsers = some(to(node["maxTenantUsers"], typeof(result.maxTenantUsers.get())))
+ if node.hasKey("maxSSOUsers") and node["maxSSOUsers"].kind != JNull:
+ result.maxSSOUsers = some(to(node["maxSSOUsers"], typeof(result.maxSSOUsers.get())))
+ if node.hasKey("maxModerators") and node["maxModerators"].kind != JNull:
+ result.maxModerators = some(to(node["maxModerators"], typeof(result.maxModerators.get())))
+ if node.hasKey("maxDomains") and node["maxDomains"].kind != JNull:
+ result.maxDomains = some(to(node["maxDomains"], typeof(result.maxDomains.get())))
+ if node.hasKey("maxCustomCollectionSize") and node["maxCustomCollectionSize"].kind != JNull:
+ result.maxCustomCollectionSize = some(to(node["maxCustomCollectionSize"], typeof(result.maxCustomCollectionSize.get())))
+ if node.hasKey("hasDebranding") and node["hasDebranding"].kind != JNull:
+ result.hasDebranding = some(to(node["hasDebranding"], typeof(result.hasDebranding.get())))
+ if node.hasKey("hasWhiteLabeling") and node["hasWhiteLabeling"].kind != JNull:
+ result.hasWhiteLabeling = some(to(node["hasWhiteLabeling"], typeof(result.hasWhiteLabeling.get())))
+ if node.hasKey("forWhoText") and node["forWhoText"].kind != JNull:
+ result.forWhoText = some(to(node["forWhoText"], typeof(result.forWhoText.get())))
+ if node.hasKey("featureTaglines") and node["featureTaglines"].kind != JNull:
+ result.featureTaglines = some(to(node["featureTaglines"], typeof(result.featureTaglines.get())))
+ if node.hasKey("hasFlexPricing") and node["hasFlexPricing"].kind != JNull:
+ result.hasFlexPricing = some(to(node["hasFlexPricing"], typeof(result.hasFlexPricing.get())))
+ if node.hasKey("flexPageLoadCostCents") and node["flexPageLoadCostCents"].kind != JNull:
+ result.flexPageLoadCostCents = some(to(node["flexPageLoadCostCents"], typeof(result.flexPageLoadCostCents.get())))
+ if node.hasKey("flexPageLoadUnit") and node["flexPageLoadUnit"].kind != JNull:
+ result.flexPageLoadUnit = some(to(node["flexPageLoadUnit"], typeof(result.flexPageLoadUnit.get())))
+ if node.hasKey("flexCommentCostCents") and node["flexCommentCostCents"].kind != JNull:
+ result.flexCommentCostCents = some(to(node["flexCommentCostCents"], typeof(result.flexCommentCostCents.get())))
+ if node.hasKey("flexCommentUnit") and node["flexCommentUnit"].kind != JNull:
+ result.flexCommentUnit = some(to(node["flexCommentUnit"], typeof(result.flexCommentUnit.get())))
+ if node.hasKey("flexSSOUserCostCents") and node["flexSSOUserCostCents"].kind != JNull:
+ result.flexSSOUserCostCents = some(to(node["flexSSOUserCostCents"], typeof(result.flexSSOUserCostCents.get())))
+ if node.hasKey("flexSSOUserUnit") and node["flexSSOUserUnit"].kind != JNull:
+ result.flexSSOUserUnit = some(to(node["flexSSOUserUnit"], typeof(result.flexSSOUserUnit.get())))
+ if node.hasKey("flexAPICreditCostCents") and node["flexAPICreditCostCents"].kind != JNull:
+ result.flexAPICreditCostCents = some(to(node["flexAPICreditCostCents"], typeof(result.flexAPICreditCostCents.get())))
+ if node.hasKey("flexAPICreditUnit") and node["flexAPICreditUnit"].kind != JNull:
+ result.flexAPICreditUnit = some(to(node["flexAPICreditUnit"], typeof(result.flexAPICreditUnit.get())))
+ if node.hasKey("flexModeratorCostCents") and node["flexModeratorCostCents"].kind != JNull:
+ result.flexModeratorCostCents = some(to(node["flexModeratorCostCents"], typeof(result.flexModeratorCostCents.get())))
+ if node.hasKey("flexModeratorUnit") and node["flexModeratorUnit"].kind != JNull:
+ result.flexModeratorUnit = some(to(node["flexModeratorUnit"], typeof(result.flexModeratorUnit.get())))
+ if node.hasKey("flexAdminCostCents") and node["flexAdminCostCents"].kind != JNull:
+ result.flexAdminCostCents = some(to(node["flexAdminCostCents"], typeof(result.flexAdminCostCents.get())))
+ if node.hasKey("flexAdminUnit") and node["flexAdminUnit"].kind != JNull:
+ result.flexAdminUnit = some(to(node["flexAdminUnit"], typeof(result.flexAdminUnit.get())))
+ if node.hasKey("flexDomainCostCents") and node["flexDomainCostCents"].kind != JNull:
+ result.flexDomainCostCents = some(to(node["flexDomainCostCents"], typeof(result.flexDomainCostCents.get())))
+ if node.hasKey("flexDomainUnit") and node["flexDomainUnit"].kind != JNull:
+ result.flexDomainUnit = some(to(node["flexDomainUnit"], typeof(result.flexDomainUnit.get())))
+ if node.hasKey("flexMinimumCostCents") and node["flexMinimumCostCents"].kind != JNull:
+ result.flexMinimumCostCents = some(to(node["flexMinimumCostCents"], typeof(result.flexMinimumCostCents.get())))
+
+# Custom JSON serialization for UpdateTenantPackageBody with custom field names
+proc `%`*(obj: UpdateTenantPackageBody): JsonNode =
+ result = newJObject()
+ if obj.name.isSome():
+ result["name"] = %obj.name.get()
+ if obj.monthlyCostUSD.isSome():
+ result["monthlyCostUSD"] = %obj.monthlyCostUSD.get()
+ if obj.yearlyCostUSD.isSome():
+ result["yearlyCostUSD"] = %obj.yearlyCostUSD.get()
+ if obj.maxMonthlyPageLoads.isSome():
+ result["maxMonthlyPageLoads"] = %obj.maxMonthlyPageLoads.get()
+ if obj.maxMonthlyAPICredits.isSome():
+ result["maxMonthlyAPICredits"] = %obj.maxMonthlyAPICredits.get()
+ if obj.maxMonthlyComments.isSome():
+ result["maxMonthlyComments"] = %obj.maxMonthlyComments.get()
+ if obj.maxConcurrentUsers.isSome():
+ result["maxConcurrentUsers"] = %obj.maxConcurrentUsers.get()
+ if obj.maxTenantUsers.isSome():
+ result["maxTenantUsers"] = %obj.maxTenantUsers.get()
+ if obj.maxSSOUsers.isSome():
+ result["maxSSOUsers"] = %obj.maxSSOUsers.get()
+ if obj.maxModerators.isSome():
+ result["maxModerators"] = %obj.maxModerators.get()
+ if obj.maxDomains.isSome():
+ result["maxDomains"] = %obj.maxDomains.get()
+ if obj.maxCustomCollectionSize.isSome():
+ result["maxCustomCollectionSize"] = %obj.maxCustomCollectionSize.get()
+ if obj.hasDebranding.isSome():
+ result["hasDebranding"] = %obj.hasDebranding.get()
+ if obj.hasWhiteLabeling.isSome():
+ result["hasWhiteLabeling"] = %obj.hasWhiteLabeling.get()
+ if obj.forWhoText.isSome():
+ result["forWhoText"] = %obj.forWhoText.get()
+ if obj.featureTaglines.isSome():
+ result["featureTaglines"] = %obj.featureTaglines.get()
+ if obj.hasFlexPricing.isSome():
+ result["hasFlexPricing"] = %obj.hasFlexPricing.get()
+ if obj.flexPageLoadCostCents.isSome():
+ result["flexPageLoadCostCents"] = %obj.flexPageLoadCostCents.get()
+ if obj.flexPageLoadUnit.isSome():
+ result["flexPageLoadUnit"] = %obj.flexPageLoadUnit.get()
+ if obj.flexCommentCostCents.isSome():
+ result["flexCommentCostCents"] = %obj.flexCommentCostCents.get()
+ if obj.flexCommentUnit.isSome():
+ result["flexCommentUnit"] = %obj.flexCommentUnit.get()
+ if obj.flexSSOUserCostCents.isSome():
+ result["flexSSOUserCostCents"] = %obj.flexSSOUserCostCents.get()
+ if obj.flexSSOUserUnit.isSome():
+ result["flexSSOUserUnit"] = %obj.flexSSOUserUnit.get()
+ if obj.flexAPICreditCostCents.isSome():
+ result["flexAPICreditCostCents"] = %obj.flexAPICreditCostCents.get()
+ if obj.flexAPICreditUnit.isSome():
+ result["flexAPICreditUnit"] = %obj.flexAPICreditUnit.get()
+ if obj.flexModeratorCostCents.isSome():
+ result["flexModeratorCostCents"] = %obj.flexModeratorCostCents.get()
+ if obj.flexModeratorUnit.isSome():
+ result["flexModeratorUnit"] = %obj.flexModeratorUnit.get()
+ if obj.flexAdminCostCents.isSome():
+ result["flexAdminCostCents"] = %obj.flexAdminCostCents.get()
+ if obj.flexAdminUnit.isSome():
+ result["flexAdminUnit"] = %obj.flexAdminUnit.get()
+ if obj.flexDomainCostCents.isSome():
+ result["flexDomainCostCents"] = %obj.flexDomainCostCents.get()
+ if obj.flexDomainUnit.isSome():
+ result["flexDomainUnit"] = %obj.flexDomainUnit.get()
+ if obj.flexMinimumCostCents.isSome():
+ result["flexMinimumCostCents"] = %obj.flexMinimumCostCents.get()
+
diff --git a/client/fastcomments/models/model_update_tenant_user_body.nim b/client/fastcomments/models/model_update_tenant_user_body.nim
index a3f5bc2..02180eb 100644
--- a/client/fastcomments/models/model_update_tenant_user_body.nim
+++ b/client/fastcomments/models/model_update_tenant_user_body.nim
@@ -40,3 +40,109 @@ type UpdateTenantUserBody* = object
digestEmailFrequency*: Option[float64]
displayLabel*: Option[string]
+
+# Custom JSON deserialization for UpdateTenantUserBody with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateTenantUserBody]): UpdateTenantUserBody =
+ result = UpdateTenantUserBody()
+ if node.kind == JObject:
+ if node.hasKey("username") and node["username"].kind != JNull:
+ result.username = some(to(node["username"], typeof(result.username.get())))
+ if node.hasKey("displayName") and node["displayName"].kind != JNull:
+ result.displayName = some(to(node["displayName"], typeof(result.displayName.get())))
+ if node.hasKey("websiteUrl") and node["websiteUrl"].kind != JNull:
+ result.websiteUrl = some(to(node["websiteUrl"], typeof(result.websiteUrl.get())))
+ if node.hasKey("email") and node["email"].kind != JNull:
+ result.email = some(to(node["email"], typeof(result.email.get())))
+ if node.hasKey("signUpDate") and node["signUpDate"].kind != JNull:
+ result.signUpDate = some(to(node["signUpDate"], typeof(result.signUpDate.get())))
+ if node.hasKey("verified") and node["verified"].kind != JNull:
+ result.verified = some(to(node["verified"], typeof(result.verified.get())))
+ if node.hasKey("loginCount") and node["loginCount"].kind != JNull:
+ result.loginCount = some(to(node["loginCount"], typeof(result.loginCount.get())))
+ if node.hasKey("optedInNotifications") and node["optedInNotifications"].kind != JNull:
+ result.optedInNotifications = some(to(node["optedInNotifications"], typeof(result.optedInNotifications.get())))
+ if node.hasKey("optedInTenantNotifications") and node["optedInTenantNotifications"].kind != JNull:
+ result.optedInTenantNotifications = some(to(node["optedInTenantNotifications"], typeof(result.optedInTenantNotifications.get())))
+ if node.hasKey("hideAccountCode") and node["hideAccountCode"].kind != JNull:
+ result.hideAccountCode = some(to(node["hideAccountCode"], typeof(result.hideAccountCode.get())))
+ if node.hasKey("avatarSrc") and node["avatarSrc"].kind != JNull:
+ result.avatarSrc = some(to(node["avatarSrc"], typeof(result.avatarSrc.get())))
+ if node.hasKey("isHelpRequestAdmin") and node["isHelpRequestAdmin"].kind != JNull:
+ result.isHelpRequestAdmin = some(to(node["isHelpRequestAdmin"], typeof(result.isHelpRequestAdmin.get())))
+ if node.hasKey("isAccountOwner") and node["isAccountOwner"].kind != JNull:
+ result.isAccountOwner = some(to(node["isAccountOwner"], typeof(result.isAccountOwner.get())))
+ if node.hasKey("isAdminAdmin") and node["isAdminAdmin"].kind != JNull:
+ result.isAdminAdmin = some(to(node["isAdminAdmin"], typeof(result.isAdminAdmin.get())))
+ if node.hasKey("isBillingAdmin") and node["isBillingAdmin"].kind != JNull:
+ result.isBillingAdmin = some(to(node["isBillingAdmin"], typeof(result.isBillingAdmin.get())))
+ if node.hasKey("isAnalyticsAdmin") and node["isAnalyticsAdmin"].kind != JNull:
+ result.isAnalyticsAdmin = some(to(node["isAnalyticsAdmin"], typeof(result.isAnalyticsAdmin.get())))
+ if node.hasKey("isCustomizationAdmin") and node["isCustomizationAdmin"].kind != JNull:
+ result.isCustomizationAdmin = some(to(node["isCustomizationAdmin"], typeof(result.isCustomizationAdmin.get())))
+ if node.hasKey("isManageDataAdmin") and node["isManageDataAdmin"].kind != JNull:
+ result.isManageDataAdmin = some(to(node["isManageDataAdmin"], typeof(result.isManageDataAdmin.get())))
+ if node.hasKey("isCommentModeratorAdmin") and node["isCommentModeratorAdmin"].kind != JNull:
+ result.isCommentModeratorAdmin = some(to(node["isCommentModeratorAdmin"], typeof(result.isCommentModeratorAdmin.get())))
+ if node.hasKey("isAPIAdmin") and node["isAPIAdmin"].kind != JNull:
+ result.isAPIAdmin = some(to(node["isAPIAdmin"], typeof(result.isAPIAdmin.get())))
+ if node.hasKey("moderatorIds") and node["moderatorIds"].kind != JNull:
+ result.moderatorIds = some(to(node["moderatorIds"], typeof(result.moderatorIds.get())))
+ if node.hasKey("locale") and node["locale"].kind != JNull:
+ result.locale = some(to(node["locale"], typeof(result.locale.get())))
+ if node.hasKey("digestEmailFrequency") and node["digestEmailFrequency"].kind != JNull:
+ result.digestEmailFrequency = some(to(node["digestEmailFrequency"], typeof(result.digestEmailFrequency.get())))
+ if node.hasKey("displayLabel") and node["displayLabel"].kind != JNull:
+ result.displayLabel = some(to(node["displayLabel"], typeof(result.displayLabel.get())))
+
+# Custom JSON serialization for UpdateTenantUserBody with custom field names
+proc `%`*(obj: UpdateTenantUserBody): JsonNode =
+ result = newJObject()
+ if obj.username.isSome():
+ result["username"] = %obj.username.get()
+ if obj.displayName.isSome():
+ result["displayName"] = %obj.displayName.get()
+ if obj.websiteUrl.isSome():
+ result["websiteUrl"] = %obj.websiteUrl.get()
+ if obj.email.isSome():
+ result["email"] = %obj.email.get()
+ if obj.signUpDate.isSome():
+ result["signUpDate"] = %obj.signUpDate.get()
+ if obj.verified.isSome():
+ result["verified"] = %obj.verified.get()
+ if obj.loginCount.isSome():
+ result["loginCount"] = %obj.loginCount.get()
+ if obj.optedInNotifications.isSome():
+ result["optedInNotifications"] = %obj.optedInNotifications.get()
+ if obj.optedInTenantNotifications.isSome():
+ result["optedInTenantNotifications"] = %obj.optedInTenantNotifications.get()
+ if obj.hideAccountCode.isSome():
+ result["hideAccountCode"] = %obj.hideAccountCode.get()
+ if obj.avatarSrc.isSome():
+ result["avatarSrc"] = %obj.avatarSrc.get()
+ if obj.isHelpRequestAdmin.isSome():
+ result["isHelpRequestAdmin"] = %obj.isHelpRequestAdmin.get()
+ if obj.isAccountOwner.isSome():
+ result["isAccountOwner"] = %obj.isAccountOwner.get()
+ if obj.isAdminAdmin.isSome():
+ result["isAdminAdmin"] = %obj.isAdminAdmin.get()
+ if obj.isBillingAdmin.isSome():
+ result["isBillingAdmin"] = %obj.isBillingAdmin.get()
+ if obj.isAnalyticsAdmin.isSome():
+ result["isAnalyticsAdmin"] = %obj.isAnalyticsAdmin.get()
+ if obj.isCustomizationAdmin.isSome():
+ result["isCustomizationAdmin"] = %obj.isCustomizationAdmin.get()
+ if obj.isManageDataAdmin.isSome():
+ result["isManageDataAdmin"] = %obj.isManageDataAdmin.get()
+ if obj.isCommentModeratorAdmin.isSome():
+ result["isCommentModeratorAdmin"] = %obj.isCommentModeratorAdmin.get()
+ if obj.isAPIAdmin.isSome():
+ result["isAPIAdmin"] = %obj.isAPIAdmin.get()
+ if obj.moderatorIds.isSome():
+ result["moderatorIds"] = %obj.moderatorIds.get()
+ if obj.locale.isSome():
+ result["locale"] = %obj.locale.get()
+ if obj.digestEmailFrequency.isSome():
+ result["digestEmailFrequency"] = %obj.digestEmailFrequency.get()
+ if obj.displayLabel.isSome():
+ result["displayLabel"] = %obj.displayLabel.get()
+
diff --git a/client/fastcomments/models/model_update_user_badge200response.nim b/client/fastcomments/models/model_update_user_badge200response.nim
deleted file mode 100644
index ba40a48..0000000
--- a/client/fastcomments/models/model_update_user_badge200response.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_empty_success_response
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-
-# AnyOf type
-type UpdateUserBadge200responseKind* {.pure.} = enum
- APIEmptySuccessResponseVariant
- APIErrorVariant
-
-type UpdateUserBadge200response* = object
- ##
- case kind*: UpdateUserBadge200responseKind
- of UpdateUserBadge200responseKind.APIEmptySuccessResponseVariant:
- APIEmptySuccessResponseValue*: APIEmptySuccessResponse
- of UpdateUserBadge200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[UpdateUserBadge200response]): UpdateUserBadge200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return UpdateUserBadge200response(kind: UpdateUserBadge200responseKind.APIEmptySuccessResponseVariant, APIEmptySuccessResponseValue: to(node, APIEmptySuccessResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIEmptySuccessResponse: ", e.msg
- try:
- return UpdateUserBadge200response(kind: UpdateUserBadge200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of UpdateUserBadge200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_update_user_badge_params.nim b/client/fastcomments/models/model_update_user_badge_params.nim
index b4057f7..c01fbff 100644
--- a/client/fastcomments/models/model_update_user_badge_params.nim
+++ b/client/fastcomments/models/model_update_user_badge_params.nim
@@ -17,3 +17,17 @@ type UpdateUserBadgeParams* = object
##
displayedOnComments*: Option[bool]
+
+# Custom JSON deserialization for UpdateUserBadgeParams with custom field names
+proc to*(node: JsonNode, T: typedesc[UpdateUserBadgeParams]): UpdateUserBadgeParams =
+ result = UpdateUserBadgeParams()
+ if node.kind == JObject:
+ if node.hasKey("displayedOnComments") and node["displayedOnComments"].kind != JNull:
+ result.displayedOnComments = some(to(node["displayedOnComments"], typeof(result.displayedOnComments.get())))
+
+# Custom JSON serialization for UpdateUserBadgeParams with custom field names
+proc `%`*(obj: UpdateUserBadgeParams): JsonNode =
+ result = newJObject()
+ if obj.displayedOnComments.isSome():
+ result["displayedOnComments"] = %obj.displayedOnComments.get()
+
diff --git a/client/fastcomments/models/model_update_user_notification_comment_subscription_status_response.nim b/client/fastcomments/models/model_update_user_notification_comment_subscription_status_response.nim
new file mode 100644
index 0000000..aaff22a
--- /dev/null
+++ b/client/fastcomments/models/model_update_user_notification_comment_subscription_status_response.nim
@@ -0,0 +1,45 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_ignored_response
+import model_user_notification_write_response
+
+# AnyOf type
+type UpdateUserNotificationCommentSubscriptionStatusResponseKind* {.pure.} = enum
+ UserNotificationWriteResponseVariant
+ IgnoredResponseVariant
+
+type UpdateUserNotificationCommentSubscriptionStatusResponse* = object
+ ##
+ case kind*: UpdateUserNotificationCommentSubscriptionStatusResponseKind
+ of UpdateUserNotificationCommentSubscriptionStatusResponseKind.UserNotificationWriteResponseVariant:
+ UserNotificationWriteResponseValue*: UserNotificationWriteResponse
+ of UpdateUserNotificationCommentSubscriptionStatusResponseKind.IgnoredResponseVariant:
+ IgnoredResponseValue*: IgnoredResponse
+
+proc to*(node: JsonNode, T: typedesc[UpdateUserNotificationCommentSubscriptionStatusResponse]): UpdateUserNotificationCommentSubscriptionStatusResponse =
+ ## Custom deserializer for anyOf type - tries each variant
+ try:
+ return UpdateUserNotificationCommentSubscriptionStatusResponse(kind: UpdateUserNotificationCommentSubscriptionStatusResponseKind.UserNotificationWriteResponseVariant, UserNotificationWriteResponseValue: to(node, UserNotificationWriteResponse))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as UserNotificationWriteResponse: ", e.msg
+ try:
+ return UpdateUserNotificationCommentSubscriptionStatusResponse(kind: UpdateUserNotificationCommentSubscriptionStatusResponseKind.IgnoredResponseVariant, IgnoredResponseValue: to(node, IgnoredResponse))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as IgnoredResponse: ", e.msg
+ raise newException(ValueError, "Unable to deserialize into any variant of UpdateUserNotificationCommentSubscriptionStatusResponse. JSON: " & $node)
+
diff --git a/client/fastcomments/models/model_update_user_notification_page_subscription_status_response.nim b/client/fastcomments/models/model_update_user_notification_page_subscription_status_response.nim
new file mode 100644
index 0000000..b3c8418
--- /dev/null
+++ b/client/fastcomments/models/model_update_user_notification_page_subscription_status_response.nim
@@ -0,0 +1,45 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_ignored_response
+import model_user_notification_write_response
+
+# AnyOf type
+type UpdateUserNotificationPageSubscriptionStatusResponseKind* {.pure.} = enum
+ UserNotificationWriteResponseVariant
+ IgnoredResponseVariant
+
+type UpdateUserNotificationPageSubscriptionStatusResponse* = object
+ ##
+ case kind*: UpdateUserNotificationPageSubscriptionStatusResponseKind
+ of UpdateUserNotificationPageSubscriptionStatusResponseKind.UserNotificationWriteResponseVariant:
+ UserNotificationWriteResponseValue*: UserNotificationWriteResponse
+ of UpdateUserNotificationPageSubscriptionStatusResponseKind.IgnoredResponseVariant:
+ IgnoredResponseValue*: IgnoredResponse
+
+proc to*(node: JsonNode, T: typedesc[UpdateUserNotificationPageSubscriptionStatusResponse]): UpdateUserNotificationPageSubscriptionStatusResponse =
+ ## Custom deserializer for anyOf type - tries each variant
+ try:
+ return UpdateUserNotificationPageSubscriptionStatusResponse(kind: UpdateUserNotificationPageSubscriptionStatusResponseKind.UserNotificationWriteResponseVariant, UserNotificationWriteResponseValue: to(node, UserNotificationWriteResponse))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as UserNotificationWriteResponse: ", e.msg
+ try:
+ return UpdateUserNotificationPageSubscriptionStatusResponse(kind: UpdateUserNotificationPageSubscriptionStatusResponseKind.IgnoredResponseVariant, IgnoredResponseValue: to(node, IgnoredResponse))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as IgnoredResponse: ", e.msg
+ raise newException(ValueError, "Unable to deserialize into any variant of UpdateUserNotificationPageSubscriptionStatusResponse. JSON: " & $node)
+
diff --git a/client/fastcomments/models/model_update_user_notification_status200response.nim b/client/fastcomments/models/model_update_user_notification_status200response.nim
deleted file mode 100644
index ac0d0fa..0000000
--- a/client/fastcomments/models/model_update_user_notification_status200response.nim
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_ignored_response
-import model_user_notification_write_response
-
-# AnyOf type
-type UpdateUserNotificationStatus200responseKind* {.pure.} = enum
- UserNotificationWriteResponseVariant
- IgnoredResponseVariant
- APIErrorVariant
-
-type UpdateUserNotificationStatus200response* = object
- ##
- case kind*: UpdateUserNotificationStatus200responseKind
- of UpdateUserNotificationStatus200responseKind.UserNotificationWriteResponseVariant:
- UserNotificationWriteResponseValue*: UserNotificationWriteResponse
- of UpdateUserNotificationStatus200responseKind.IgnoredResponseVariant:
- IgnoredResponseValue*: IgnoredResponse
- of UpdateUserNotificationStatus200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[UpdateUserNotificationStatus200response]): UpdateUserNotificationStatus200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return UpdateUserNotificationStatus200response(kind: UpdateUserNotificationStatus200responseKind.UserNotificationWriteResponseVariant, UserNotificationWriteResponseValue: to(node, UserNotificationWriteResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as UserNotificationWriteResponse: ", e.msg
- try:
- return UpdateUserNotificationStatus200response(kind: UpdateUserNotificationStatus200responseKind.IgnoredResponseVariant, IgnoredResponseValue: to(node, IgnoredResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as IgnoredResponse: ", e.msg
- try:
- return UpdateUserNotificationStatus200response(kind: UpdateUserNotificationStatus200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of UpdateUserNotificationStatus200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_update_user_notification_status_response.nim b/client/fastcomments/models/model_update_user_notification_status_response.nim
new file mode 100644
index 0000000..c1b4a89
--- /dev/null
+++ b/client/fastcomments/models/model_update_user_notification_status_response.nim
@@ -0,0 +1,45 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+import model_api_status
+import model_ignored_response
+import model_user_notification_write_response
+
+# AnyOf type
+type UpdateUserNotificationStatusResponseKind* {.pure.} = enum
+ UserNotificationWriteResponseVariant
+ IgnoredResponseVariant
+
+type UpdateUserNotificationStatusResponse* = object
+ ##
+ case kind*: UpdateUserNotificationStatusResponseKind
+ of UpdateUserNotificationStatusResponseKind.UserNotificationWriteResponseVariant:
+ UserNotificationWriteResponseValue*: UserNotificationWriteResponse
+ of UpdateUserNotificationStatusResponseKind.IgnoredResponseVariant:
+ IgnoredResponseValue*: IgnoredResponse
+
+proc to*(node: JsonNode, T: typedesc[UpdateUserNotificationStatusResponse]): UpdateUserNotificationStatusResponse =
+ ## Custom deserializer for anyOf type - tries each variant
+ try:
+ return UpdateUserNotificationStatusResponse(kind: UpdateUserNotificationStatusResponseKind.UserNotificationWriteResponseVariant, UserNotificationWriteResponseValue: to(node, UserNotificationWriteResponse))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as UserNotificationWriteResponse: ", e.msg
+ try:
+ return UpdateUserNotificationStatusResponse(kind: UpdateUserNotificationStatusResponseKind.IgnoredResponseVariant, IgnoredResponseValue: to(node, IgnoredResponse))
+ except Exception as e:
+ when defined(debug):
+ echo "Failed to deserialize as IgnoredResponse: ", e.msg
+ raise newException(ValueError, "Unable to deserialize into any variant of UpdateUserNotificationStatusResponse. JSON: " & $node)
+
diff --git a/client/fastcomments/models/model_upload_image_response.nim b/client/fastcomments/models/model_upload_image_response.nim
index 0d25841..f5907f9 100644
--- a/client/fastcomments/models/model_upload_image_response.nim
+++ b/client/fastcomments/models/model_upload_image_response.nim
@@ -23,3 +23,32 @@ type UploadImageResponse* = object
reason*: Option[string]
code*: Option[string]
+
+# Custom JSON deserialization for UploadImageResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[UploadImageResponse]): UploadImageResponse =
+ result = UploadImageResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("url") and node["url"].kind != JNull:
+ result.url = some(to(node["url"], typeof(result.url.get())))
+ if node.hasKey("media") and node["media"].kind != JNull:
+ result.media = some(to(node["media"], typeof(result.media.get())))
+ if node.hasKey("reason") and node["reason"].kind != JNull:
+ result.reason = some(to(node["reason"], typeof(result.reason.get())))
+ if node.hasKey("code") and node["code"].kind != JNull:
+ result.code = some(to(node["code"], typeof(result.code.get())))
+
+# Custom JSON serialization for UploadImageResponse with custom field names
+proc `%`*(obj: UploadImageResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ if obj.url.isSome():
+ result["url"] = %obj.url.get()
+ if obj.media.isSome():
+ result["media"] = %obj.media.get()
+ if obj.reason.isSome():
+ result["reason"] = %obj.reason.get()
+ if obj.code.isSome():
+ result["code"] = %obj.code.get()
+
diff --git a/client/fastcomments/models/model_user.nim b/client/fastcomments/models/model_user.nim
index 2bfd953..9e7fbd9 100644
--- a/client/fastcomments/models/model_user.nim
+++ b/client/fastcomments/models/model_user.nim
@@ -13,6 +13,7 @@ import marshal
import options
import model_digest_email_frequency
+import model_imported_agent_approval_notification_frequency
type User* = object
##
@@ -55,6 +56,7 @@ type User* = object
digestEmailFrequency*: Option[DigestEmailFrequency]
notificationFrequency*: Option[float64]
adminNotificationFrequency*: Option[float64]
+ agentApprovalNotificationFrequency*: Option[ImportedAgentApprovalNotificationFrequency]
lastTenantNotificationSentDate*: Option[string]
lastReplyNotificationSentDate*: Option[string]
ignoredAddToMySiteMessages*: Option[bool]
@@ -159,6 +161,8 @@ proc to*(node: JsonNode, T: typedesc[User]): User =
result.notificationFrequency = some(to(node["notificationFrequency"], typeof(result.notificationFrequency.get())))
if node.hasKey("adminNotificationFrequency") and node["adminNotificationFrequency"].kind != JNull:
result.adminNotificationFrequency = some(to(node["adminNotificationFrequency"], typeof(result.adminNotificationFrequency.get())))
+ if node.hasKey("agentApprovalNotificationFrequency") and node["agentApprovalNotificationFrequency"].kind != JNull:
+ result.agentApprovalNotificationFrequency = some(to(node["agentApprovalNotificationFrequency"], typeof(result.agentApprovalNotificationFrequency.get())))
if node.hasKey("lastTenantNotificationSentDate") and node["lastTenantNotificationSentDate"].kind != JNull:
result.lastTenantNotificationSentDate = some(to(node["lastTenantNotificationSentDate"], typeof(result.lastTenantNotificationSentDate.get())))
if node.hasKey("lastReplyNotificationSentDate") and node["lastReplyNotificationSentDate"].kind != JNull:
@@ -274,6 +278,8 @@ proc `%`*(obj: User): JsonNode =
result["notificationFrequency"] = %obj.notificationFrequency.get()
if obj.adminNotificationFrequency.isSome():
result["adminNotificationFrequency"] = %obj.adminNotificationFrequency.get()
+ if obj.agentApprovalNotificationFrequency.isSome():
+ result["agentApprovalNotificationFrequency"] = %obj.agentApprovalNotificationFrequency.get()
if obj.lastTenantNotificationSentDate.isSome():
result["lastTenantNotificationSentDate"] = %obj.lastTenantNotificationSentDate.get()
if obj.lastReplyNotificationSentDate.isSome():
diff --git a/client/fastcomments/models/model_user_notification_write_response.nim b/client/fastcomments/models/model_user_notification_write_response.nim
index 376bf5b..2bd394e 100644
--- a/client/fastcomments/models/model_user_notification_write_response.nim
+++ b/client/fastcomments/models/model_user_notification_write_response.nim
@@ -20,3 +20,22 @@ type UserNotificationWriteResponse* = object
matchedCount*: int64
modifiedCount*: int64
+
+# Custom JSON deserialization for UserNotificationWriteResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[UserNotificationWriteResponse]): UserNotificationWriteResponse =
+ result = UserNotificationWriteResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("matchedCount"):
+ result.matchedCount = to(node["matchedCount"], int64)
+ if node.hasKey("modifiedCount"):
+ result.modifiedCount = to(node["modifiedCount"], int64)
+
+# Custom JSON serialization for UserNotificationWriteResponse with custom field names
+proc `%`*(obj: UserNotificationWriteResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["matchedCount"] = %obj.matchedCount
+ result["modifiedCount"] = %obj.modifiedCount
+
diff --git a/client/fastcomments/models/model_user_presence_data.nim b/client/fastcomments/models/model_user_presence_data.nim
index d870103..35425c1 100644
--- a/client/fastcomments/models/model_user_presence_data.nim
+++ b/client/fastcomments/models/model_user_presence_data.nim
@@ -19,3 +19,25 @@ type UserPresenceData* = object
userIdWS*: Option[string]
tenantIdWS*: Option[string]
+
+# Custom JSON deserialization for UserPresenceData with custom field names
+proc to*(node: JsonNode, T: typedesc[UserPresenceData]): UserPresenceData =
+ result = UserPresenceData()
+ if node.kind == JObject:
+ if node.hasKey("urlIdWS") and node["urlIdWS"].kind != JNull:
+ result.urlIdWS = some(to(node["urlIdWS"], typeof(result.urlIdWS.get())))
+ if node.hasKey("userIdWS") and node["userIdWS"].kind != JNull:
+ result.userIdWS = some(to(node["userIdWS"], typeof(result.userIdWS.get())))
+ if node.hasKey("tenantIdWS") and node["tenantIdWS"].kind != JNull:
+ result.tenantIdWS = some(to(node["tenantIdWS"], typeof(result.tenantIdWS.get())))
+
+# Custom JSON serialization for UserPresenceData with custom field names
+proc `%`*(obj: UserPresenceData): JsonNode =
+ result = newJObject()
+ if obj.urlIdWS.isSome():
+ result["urlIdWS"] = %obj.urlIdWS.get()
+ if obj.userIdWS.isSome():
+ result["userIdWS"] = %obj.userIdWS.get()
+ if obj.tenantIdWS.isSome():
+ result["tenantIdWS"] = %obj.tenantIdWS.get()
+
diff --git a/client/fastcomments/models/model_user_reacts_response.nim b/client/fastcomments/models/model_user_reacts_response.nim
index 14969a4..6397463 100644
--- a/client/fastcomments/models/model_user_reacts_response.nim
+++ b/client/fastcomments/models/model_user_reacts_response.nim
@@ -19,3 +19,19 @@ type UserReactsResponse* = object
status*: APIStatus
reacts*: Table[string, Table[string, bool]]
+
+# Custom JSON deserialization for UserReactsResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[UserReactsResponse]): UserReactsResponse =
+ result = UserReactsResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("reacts"):
+ result.reacts = to(node["reacts"], Table[string, Table[string, bool]])
+
+# Custom JSON serialization for UserReactsResponse with custom field names
+proc `%`*(obj: UserReactsResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ result["reacts"] = %obj.reacts
+
diff --git a/client/fastcomments/models/model_user_search_result.nim b/client/fastcomments/models/model_user_search_result.nim
index 9d05008..421bf57 100644
--- a/client/fastcomments/models/model_user_search_result.nim
+++ b/client/fastcomments/models/model_user_search_result.nim
@@ -46,3 +46,30 @@ proc to*(node: JsonNode, T: typedesc[`Type`]): `Type` =
else:
raise newException(ValueError, "Invalid enum value for `Type`: " & strVal)
+
+# Custom JSON deserialization for UserSearchResult with custom field names
+proc to*(node: JsonNode, T: typedesc[UserSearchResult]): UserSearchResult =
+ result = UserSearchResult()
+ if node.kind == JObject:
+ if node.hasKey("id"):
+ result.id = to(node["id"], string)
+ if node.hasKey("name"):
+ result.name = to(node["name"], string)
+ if node.hasKey("displayName") and node["displayName"].kind != JNull:
+ result.displayName = some(to(node["displayName"], typeof(result.displayName.get())))
+ if node.hasKey("avatarSrc") and node["avatarSrc"].kind != JNull:
+ result.avatarSrc = some(to(node["avatarSrc"], typeof(result.avatarSrc.get())))
+ if node.hasKey("type"):
+ result.`type` = to(node["type"], `Type`)
+
+# Custom JSON serialization for UserSearchResult with custom field names
+proc `%`*(obj: UserSearchResult): JsonNode =
+ result = newJObject()
+ result["id"] = %obj.id
+ result["name"] = %obj.name
+ if obj.displayName.isSome():
+ result["displayName"] = %obj.displayName.get()
+ if obj.avatarSrc.isSome():
+ result["avatarSrc"] = %obj.avatarSrc.get()
+ result["type"] = %obj.`type`
+
diff --git a/client/fastcomments/models/model_user_search_section_result.nim b/client/fastcomments/models/model_user_search_section_result.nim
index 835f65e..2b958d0 100644
--- a/client/fastcomments/models/model_user_search_section_result.nim
+++ b/client/fastcomments/models/model_user_search_section_result.nim
@@ -20,3 +20,19 @@ type UserSearchSectionResult* = object
section*: UserSearchSection
users*: seq[UserSearchResult]
+
+# Custom JSON deserialization for UserSearchSectionResult with custom field names
+proc to*(node: JsonNode, T: typedesc[UserSearchSectionResult]): UserSearchSectionResult =
+ result = UserSearchSectionResult()
+ if node.kind == JObject:
+ if node.hasKey("section"):
+ result.section = to(node["section"], UserSearchSection)
+ if node.hasKey("users"):
+ result.users = to(node["users"], seq[UserSearchResult])
+
+# Custom JSON serialization for UserSearchSectionResult with custom field names
+proc `%`*(obj: UserSearchSectionResult): JsonNode =
+ result = newJObject()
+ result["section"] = %obj.section
+ result["users"] = %obj.users
+
diff --git a/client/fastcomments/models/model_user_session_info.nim b/client/fastcomments/models/model_user_session_info.nim
index dc145c0..e376679 100644
--- a/client/fastcomments/models/model_user_session_info.nim
+++ b/client/fastcomments/models/model_user_session_info.nim
@@ -31,3 +31,69 @@ type UserSessionInfo* = object
username*: Option[string]
websiteUrl*: Option[string]
+
+# Custom JSON deserialization for UserSessionInfo with custom field names
+proc to*(node: JsonNode, T: typedesc[UserSessionInfo]): UserSessionInfo =
+ result = UserSessionInfo()
+ if node.kind == JObject:
+ if node.hasKey("id") and node["id"].kind != JNull:
+ result.id = some(to(node["id"], typeof(result.id.get())))
+ if node.hasKey("authorized") and node["authorized"].kind != JNull:
+ result.authorized = some(to(node["authorized"], typeof(result.authorized.get())))
+ if node.hasKey("avatarSrc") and node["avatarSrc"].kind != JNull:
+ result.avatarSrc = some(to(node["avatarSrc"], typeof(result.avatarSrc.get())))
+ if node.hasKey("badges") and node["badges"].kind != JNull:
+ result.badges = some(to(node["badges"], typeof(result.badges.get())))
+ if node.hasKey("displayLabel") and node["displayLabel"].kind != JNull:
+ result.displayLabel = some(to(node["displayLabel"], typeof(result.displayLabel.get())))
+ if node.hasKey("displayName") and node["displayName"].kind != JNull:
+ result.displayName = some(to(node["displayName"], typeof(result.displayName.get())))
+ if node.hasKey("email") and node["email"].kind != JNull:
+ result.email = some(to(node["email"], typeof(result.email.get())))
+ if node.hasKey("groupIds") and node["groupIds"].kind != JNull:
+ result.groupIds = some(to(node["groupIds"], typeof(result.groupIds.get())))
+ if node.hasKey("hasBlockedUsers") and node["hasBlockedUsers"].kind != JNull:
+ result.hasBlockedUsers = some(to(node["hasBlockedUsers"], typeof(result.hasBlockedUsers.get())))
+ if node.hasKey("isAnonSession") and node["isAnonSession"].kind != JNull:
+ result.isAnonSession = some(to(node["isAnonSession"], typeof(result.isAnonSession.get())))
+ if node.hasKey("needsTOS") and node["needsTOS"].kind != JNull:
+ result.needsTOS = some(to(node["needsTOS"], typeof(result.needsTOS.get())))
+ if node.hasKey("sessionId") and node["sessionId"].kind != JNull:
+ result.sessionId = some(to(node["sessionId"], typeof(result.sessionId.get())))
+ if node.hasKey("username") and node["username"].kind != JNull:
+ result.username = some(to(node["username"], typeof(result.username.get())))
+ if node.hasKey("websiteUrl") and node["websiteUrl"].kind != JNull:
+ result.websiteUrl = some(to(node["websiteUrl"], typeof(result.websiteUrl.get())))
+
+# Custom JSON serialization for UserSessionInfo with custom field names
+proc `%`*(obj: UserSessionInfo): JsonNode =
+ result = newJObject()
+ if obj.id.isSome():
+ result["id"] = %obj.id.get()
+ if obj.authorized.isSome():
+ result["authorized"] = %obj.authorized.get()
+ if obj.avatarSrc.isSome():
+ result["avatarSrc"] = %obj.avatarSrc.get()
+ if obj.badges.isSome():
+ result["badges"] = %obj.badges.get()
+ if obj.displayLabel.isSome():
+ result["displayLabel"] = %obj.displayLabel.get()
+ if obj.displayName.isSome():
+ result["displayName"] = %obj.displayName.get()
+ if obj.email.isSome():
+ result["email"] = %obj.email.get()
+ if obj.groupIds.isSome():
+ result["groupIds"] = %obj.groupIds.get()
+ if obj.hasBlockedUsers.isSome():
+ result["hasBlockedUsers"] = %obj.hasBlockedUsers.get()
+ if obj.isAnonSession.isSome():
+ result["isAnonSession"] = %obj.isAnonSession.get()
+ if obj.needsTOS.isSome():
+ result["needsTOS"] = %obj.needsTOS.get()
+ if obj.sessionId.isSome():
+ result["sessionId"] = %obj.sessionId.get()
+ if obj.username.isSome():
+ result["username"] = %obj.username.get()
+ if obj.websiteUrl.isSome():
+ result["websiteUrl"] = %obj.websiteUrl.get()
+
diff --git a/client/fastcomments/models/model_users_list_location.nim b/client/fastcomments/models/model_users_list_location.nim
new file mode 100644
index 0000000..ee94a52
--- /dev/null
+++ b/client/fastcomments/models/model_users_list_location.nim
@@ -0,0 +1,50 @@
+#
+# fastcomments
+#
+# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+# The version of the OpenAPI document: 0.0.0
+#
+# Generated by: https://openapi-generator.tech
+#
+
+import json
+import tables
+import marshal
+import options
+
+
+type UsersListLocation* {.pure.} = enum
+ `0`
+ `1`
+ `2`
+ `3`
+
+func `%`*(v: UsersListLocation): JsonNode =
+ result = case v:
+ of UsersListLocation.`0`: %(0)
+ of UsersListLocation.`1`: %(1)
+ of UsersListLocation.`2`: %(2)
+ of UsersListLocation.`3`: %(3)
+
+func `$`*(v: UsersListLocation): string =
+ result = case v:
+ of UsersListLocation.`0`: $(0)
+ of UsersListLocation.`1`: $(1)
+ of UsersListLocation.`2`: $(2)
+ of UsersListLocation.`3`: $(3)
+proc to*(node: JsonNode, T: typedesc[UsersListLocation]): UsersListLocation =
+ if node.kind != JInt:
+ raise newException(ValueError, "Expected integer for enum UsersListLocation, got " & $node.kind)
+ let intVal = node.getInt()
+ case intVal:
+ of 0:
+ return UsersListLocation.`0`
+ of 1:
+ return UsersListLocation.`1`
+ of 2:
+ return UsersListLocation.`2`
+ of 3:
+ return UsersListLocation.`3`
+ else:
+ raise newException(ValueError, "Invalid enum value for UsersListLocation: " & $intVal)
+
diff --git a/client/fastcomments/models/model_vote_body_params.nim b/client/fastcomments/models/model_vote_body_params.nim
index 84a7870..96c25ee 100644
--- a/client/fastcomments/models/model_vote_body_params.nim
+++ b/client/fastcomments/models/model_vote_body_params.nim
@@ -45,3 +45,28 @@ proc to*(node: JsonNode, T: typedesc[VoteDir]): VoteDir =
else:
raise newException(ValueError, "Invalid enum value for VoteDir: " & strVal)
+
+# Custom JSON deserialization for VoteBodyParams with custom field names
+proc to*(node: JsonNode, T: typedesc[VoteBodyParams]): VoteBodyParams =
+ result = VoteBodyParams()
+ if node.kind == JObject:
+ if node.hasKey("commenterEmail") and node["commenterEmail"].kind != JNull:
+ result.commenterEmail = some(to(node["commenterEmail"], typeof(result.commenterEmail.get())))
+ if node.hasKey("commenterName") and node["commenterName"].kind != JNull:
+ result.commenterName = some(to(node["commenterName"], typeof(result.commenterName.get())))
+ if node.hasKey("voteDir"):
+ result.voteDir = to(node["voteDir"], VoteDir)
+ if node.hasKey("url") and node["url"].kind != JNull:
+ result.url = some(to(node["url"], typeof(result.url.get())))
+
+# Custom JSON serialization for VoteBodyParams with custom field names
+proc `%`*(obj: VoteBodyParams): JsonNode =
+ result = newJObject()
+ if obj.commenterEmail.isSome():
+ result["commenterEmail"] = %obj.commenterEmail.get()
+ if obj.commenterName.isSome():
+ result["commenterName"] = %obj.commenterName.get()
+ result["voteDir"] = %obj.voteDir
+ if obj.url.isSome():
+ result["url"] = %obj.url.get()
+
diff --git a/client/fastcomments/models/model_vote_comment200response.nim b/client/fastcomments/models/model_vote_comment200response.nim
deleted file mode 100644
index 66816f7..0000000
--- a/client/fastcomments/models/model_vote_comment200response.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# fastcomments
-#
-# No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-# The version of the OpenAPI document: 0.0.0
-#
-# Generated by: https://openapi-generator.tech
-#
-
-import json
-import tables
-import marshal
-import options
-
-import model_api_error
-import model_api_status
-import model_custom_config_parameters
-import model_vote_response
-import model_vote_response_user
-
-# AnyOf type
-type VoteComment200responseKind* {.pure.} = enum
- VoteResponseVariant
- APIErrorVariant
-
-type VoteComment200response* = object
- ##
- case kind*: VoteComment200responseKind
- of VoteComment200responseKind.VoteResponseVariant:
- VoteResponseValue*: VoteResponse
- of VoteComment200responseKind.APIErrorVariant:
- APIErrorValue*: APIError
-
-proc to*(node: JsonNode, T: typedesc[VoteComment200response]): VoteComment200response =
- ## Custom deserializer for anyOf type - tries each variant
- try:
- return VoteComment200response(kind: VoteComment200responseKind.VoteResponseVariant, VoteResponseValue: to(node, VoteResponse))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as VoteResponse: ", e.msg
- try:
- return VoteComment200response(kind: VoteComment200responseKind.APIErrorVariant, APIErrorValue: to(node, APIError))
- except Exception as e:
- when defined(debug):
- echo "Failed to deserialize as APIError: ", e.msg
- raise newException(ValueError, "Unable to deserialize into any variant of VoteComment200response. JSON: " & $node)
-
diff --git a/client/fastcomments/models/model_vote_delete_response.nim b/client/fastcomments/models/model_vote_delete_response.nim
index 79868e6..1480e8e 100644
--- a/client/fastcomments/models/model_vote_delete_response.nim
+++ b/client/fastcomments/models/model_vote_delete_response.nim
@@ -19,3 +19,20 @@ type VoteDeleteResponse* = object
status*: APIStatus
wasPendingVote*: Option[bool]
+
+# Custom JSON deserialization for VoteDeleteResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[VoteDeleteResponse]): VoteDeleteResponse =
+ result = VoteDeleteResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], APIStatus)
+ if node.hasKey("wasPendingVote") and node["wasPendingVote"].kind != JNull:
+ result.wasPendingVote = some(to(node["wasPendingVote"], typeof(result.wasPendingVote.get())))
+
+# Custom JSON serialization for VoteDeleteResponse with custom field names
+proc `%`*(obj: VoteDeleteResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ if obj.wasPendingVote.isSome():
+ result["wasPendingVote"] = %obj.wasPendingVote.get()
+
diff --git a/client/fastcomments/models/model_vote_response.nim b/client/fastcomments/models/model_vote_response.nim
index 098b3cf..fe668a4 100644
--- a/client/fastcomments/models/model_vote_response.nim
+++ b/client/fastcomments/models/model_vote_response.nim
@@ -52,3 +52,32 @@ proc to*(node: JsonNode, T: typedesc[Status]): Status =
else:
raise newException(ValueError, "Invalid enum value for Status: " & strVal)
+
+# Custom JSON deserialization for VoteResponse with custom field names
+proc to*(node: JsonNode, T: typedesc[VoteResponse]): VoteResponse =
+ result = VoteResponse()
+ if node.kind == JObject:
+ if node.hasKey("status"):
+ result.status = to(node["status"], Status)
+ if node.hasKey("voteId") and node["voteId"].kind != JNull:
+ result.voteId = some(to(node["voteId"], typeof(result.voteId.get())))
+ if node.hasKey("isVerified") and node["isVerified"].kind != JNull:
+ result.isVerified = some(to(node["isVerified"], typeof(result.isVerified.get())))
+ if node.hasKey("user") and node["user"].kind != JNull:
+ result.user = some(to(node["user"], typeof(result.user.get())))
+ if node.hasKey("editKey") and node["editKey"].kind != JNull:
+ result.editKey = some(to(node["editKey"], typeof(result.editKey.get())))
+
+# Custom JSON serialization for VoteResponse with custom field names
+proc `%`*(obj: VoteResponse): JsonNode =
+ result = newJObject()
+ result["status"] = %obj.status
+ if obj.voteId.isSome():
+ result["voteId"] = %obj.voteId.get()
+ if obj.isVerified.isSome():
+ result["isVerified"] = %obj.isVerified.get()
+ if obj.user.isSome():
+ result["user"] = %obj.user.get()
+ if obj.editKey.isSome():
+ result["editKey"] = %obj.editKey.get()
+
diff --git a/client/fastcomments/models/model_vote_response_user.nim b/client/fastcomments/models/model_vote_response_user.nim
index 0f6cc51..fd78048 100644
--- a/client/fastcomments/models/model_vote_response_user.nim
+++ b/client/fastcomments/models/model_vote_response_user.nim
@@ -17,3 +17,17 @@ type VoteResponseUser* = object
##
sessionId*: Option[string]
+
+# Custom JSON deserialization for VoteResponseUser with custom field names
+proc to*(node: JsonNode, T: typedesc[VoteResponseUser]): VoteResponseUser =
+ result = VoteResponseUser()
+ if node.kind == JObject:
+ if node.hasKey("sessionId") and node["sessionId"].kind != JNull:
+ result.sessionId = some(to(node["sessionId"], typeof(result.sessionId.get())))
+
+# Custom JSON serialization for VoteResponseUser with custom field names
+proc `%`*(obj: VoteResponseUser): JsonNode =
+ result = newJObject()
+ if obj.sessionId.isSome():
+ result["sessionId"] = %obj.sessionId.get()
+
diff --git a/docs/Apis/DefaultApi.md b/docs/Apis/DefaultApi.md
index 766e977..899940e 100644
--- a/docs/Apis/DefaultApi.md
+++ b/docs/Apis/DefaultApi.md
@@ -122,7 +122,7 @@ All URIs are relative to *https://fastcomments.com*
# **addDomainConfig**
-> AddDomainConfig_200_response addDomainConfig(tenantId, AddDomainConfigParams)
+> AddDomainConfigResponse addDomainConfig(tenantId, AddDomainConfigParams)
@@ -135,7 +135,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**AddDomainConfig_200_response**](../Models/AddDomainConfig_200_response.md)
+[**AddDomainConfigResponse**](../Models/AddDomainConfigResponse.md)
### Authorization
@@ -148,7 +148,7 @@ All URIs are relative to *https://fastcomments.com*
# **addHashTag**
-> AddHashTag_200_response addHashTag(tenantId, CreateHashTagBody)
+> CreateHashTagResponse addHashTag(tenantId, CreateHashTagBody)
@@ -161,7 +161,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**AddHashTag_200_response**](../Models/AddHashTag_200_response.md)
+[**CreateHashTagResponse**](../Models/CreateHashTagResponse.md)
### Authorization
@@ -174,7 +174,7 @@ All URIs are relative to *https://fastcomments.com*
# **addHashTagsBulk**
-> AddHashTagsBulk_200_response addHashTagsBulk(tenantId, BulkCreateHashTagsBody)
+> BulkCreateHashTagsResponse addHashTagsBulk(tenantId, BulkCreateHashTagsBody)
@@ -187,7 +187,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**AddHashTagsBulk_200_response**](../Models/AddHashTagsBulk_200_response.md)
+[**BulkCreateHashTagsResponse**](../Models/BulkCreateHashTagsResponse.md)
### Authorization
@@ -252,7 +252,7 @@ All URIs are relative to *https://fastcomments.com*
# **aggregate**
-> AggregationResponse aggregate(tenantId, AggregationRequest, parentTenantId, includeStats)
+> AggregateResponse aggregate(tenantId, AggregationRequest, parentTenantId, includeStats)
@@ -269,7 +269,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**AggregationResponse**](../Models/AggregationResponse.md)
+[**AggregateResponse**](../Models/AggregateResponse.md)
### Authorization
@@ -282,7 +282,7 @@ All URIs are relative to *https://fastcomments.com*
# **aggregateQuestionResults**
-> AggregateQuestionResults_200_response aggregateQuestionResults(tenantId, questionId, questionIds, urlId, timeBucket, startDate, forceRecalculate)
+> AggregateQuestionResultsResponse aggregateQuestionResults(tenantId, questionId, questionIds, urlId, timeBucket, startDate, forceRecalculate)
@@ -300,7 +300,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**AggregateQuestionResults_200_response**](../Models/AggregateQuestionResults_200_response.md)
+[**AggregateQuestionResultsResponse**](../Models/AggregateQuestionResultsResponse.md)
### Authorization
@@ -313,7 +313,7 @@ All URIs are relative to *https://fastcomments.com*
# **blockUserFromComment**
-> BlockFromCommentPublic_200_response blockUserFromComment(tenantId, id, BlockFromCommentParams, userId, anonUserId)
+> BlockSuccess blockUserFromComment(tenantId, id, BlockFromCommentParams, userId, anonUserId)
@@ -329,7 +329,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**BlockFromCommentPublic_200_response**](../Models/BlockFromCommentPublic_200_response.md)
+[**BlockSuccess**](../Models/BlockSuccess.md)
### Authorization
@@ -342,7 +342,7 @@ All URIs are relative to *https://fastcomments.com*
# **bulkAggregateQuestionResults**
-> BulkAggregateQuestionResults_200_response bulkAggregateQuestionResults(tenantId, BulkAggregateQuestionResultsRequest, forceRecalculate)
+> BulkAggregateQuestionResultsResponse bulkAggregateQuestionResults(tenantId, BulkAggregateQuestionResultsRequest, forceRecalculate)
@@ -356,7 +356,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**BulkAggregateQuestionResults_200_response**](../Models/BulkAggregateQuestionResults_200_response.md)
+[**BulkAggregateQuestionResultsResponse**](../Models/BulkAggregateQuestionResultsResponse.md)
### Authorization
@@ -369,7 +369,7 @@ All URIs are relative to *https://fastcomments.com*
# **changeTicketState**
-> ChangeTicketState_200_response changeTicketState(tenantId, userId, id, ChangeTicketStateBody)
+> ChangeTicketStateResponse changeTicketState(tenantId, userId, id, ChangeTicketStateBody)
@@ -384,7 +384,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**ChangeTicketState_200_response**](../Models/ChangeTicketState_200_response.md)
+[**ChangeTicketStateResponse**](../Models/ChangeTicketStateResponse.md)
### Authorization
@@ -397,7 +397,7 @@ All URIs are relative to *https://fastcomments.com*
# **combineCommentsWithQuestionResults**
-> CombineCommentsWithQuestionResults_200_response combineCommentsWithQuestionResults(tenantId, questionId, questionIds, urlId, startDate, forceRecalculate, minValue, maxValue, limit)
+> CombineQuestionResultsWithCommentsResponse combineCommentsWithQuestionResults(tenantId, questionId, questionIds, urlId, startDate, forceRecalculate, minValue, maxValue, limit)
@@ -417,7 +417,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**CombineCommentsWithQuestionResults_200_response**](../Models/CombineCommentsWithQuestionResults_200_response.md)
+[**CombineQuestionResultsWithCommentsResponse**](../Models/CombineQuestionResultsWithCommentsResponse.md)
### Authorization
@@ -430,7 +430,7 @@ All URIs are relative to *https://fastcomments.com*
# **createEmailTemplate**
-> CreateEmailTemplate_200_response createEmailTemplate(tenantId, CreateEmailTemplateBody)
+> CreateEmailTemplateResponse createEmailTemplate(tenantId, CreateEmailTemplateBody)
@@ -443,7 +443,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**CreateEmailTemplate_200_response**](../Models/CreateEmailTemplate_200_response.md)
+[**CreateEmailTemplateResponse**](../Models/CreateEmailTemplateResponse.md)
### Authorization
@@ -456,7 +456,7 @@ All URIs are relative to *https://fastcomments.com*
# **createFeedPost**
-> CreateFeedPost_200_response createFeedPost(tenantId, CreateFeedPostParams, broadcastId, isLive, doSpamCheck, skipDupCheck)
+> CreateFeedPostsResponse createFeedPost(tenantId, CreateFeedPostParams, broadcastId, isLive, doSpamCheck, skipDupCheck)
@@ -473,7 +473,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**CreateFeedPost_200_response**](../Models/CreateFeedPost_200_response.md)
+[**CreateFeedPostsResponse**](../Models/CreateFeedPostsResponse.md)
### Authorization
@@ -486,7 +486,7 @@ All URIs are relative to *https://fastcomments.com*
# **createModerator**
-> CreateModerator_200_response createModerator(tenantId, CreateModeratorBody)
+> CreateModeratorResponse createModerator(tenantId, CreateModeratorBody)
@@ -499,7 +499,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**CreateModerator_200_response**](../Models/CreateModerator_200_response.md)
+[**CreateModeratorResponse**](../Models/CreateModeratorResponse.md)
### Authorization
@@ -512,7 +512,7 @@ All URIs are relative to *https://fastcomments.com*
# **createQuestionConfig**
-> CreateQuestionConfig_200_response createQuestionConfig(tenantId, CreateQuestionConfigBody)
+> CreateQuestionConfigResponse createQuestionConfig(tenantId, CreateQuestionConfigBody)
@@ -525,7 +525,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**CreateQuestionConfig_200_response**](../Models/CreateQuestionConfig_200_response.md)
+[**CreateQuestionConfigResponse**](../Models/CreateQuestionConfigResponse.md)
### Authorization
@@ -538,7 +538,7 @@ All URIs are relative to *https://fastcomments.com*
# **createQuestionResult**
-> CreateQuestionResult_200_response createQuestionResult(tenantId, CreateQuestionResultBody)
+> CreateQuestionResultResponse createQuestionResult(tenantId, CreateQuestionResultBody)
@@ -551,7 +551,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**CreateQuestionResult_200_response**](../Models/CreateQuestionResult_200_response.md)
+[**CreateQuestionResultResponse**](../Models/CreateQuestionResultResponse.md)
### Authorization
@@ -590,7 +590,7 @@ All URIs are relative to *https://fastcomments.com*
# **createTenant**
-> CreateTenant_200_response createTenant(tenantId, CreateTenantBody)
+> CreateTenantResponse createTenant(tenantId, CreateTenantBody)
@@ -603,7 +603,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**CreateTenant_200_response**](../Models/CreateTenant_200_response.md)
+[**CreateTenantResponse**](../Models/CreateTenantResponse.md)
### Authorization
@@ -616,7 +616,7 @@ All URIs are relative to *https://fastcomments.com*
# **createTenantPackage**
-> CreateTenantPackage_200_response createTenantPackage(tenantId, CreateTenantPackageBody)
+> CreateTenantPackageResponse createTenantPackage(tenantId, CreateTenantPackageBody)
@@ -629,7 +629,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**CreateTenantPackage_200_response**](../Models/CreateTenantPackage_200_response.md)
+[**CreateTenantPackageResponse**](../Models/CreateTenantPackageResponse.md)
### Authorization
@@ -642,7 +642,7 @@ All URIs are relative to *https://fastcomments.com*
# **createTenantUser**
-> CreateTenantUser_200_response createTenantUser(tenantId, CreateTenantUserBody)
+> CreateTenantUserResponse createTenantUser(tenantId, CreateTenantUserBody)
@@ -655,7 +655,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**CreateTenantUser_200_response**](../Models/CreateTenantUser_200_response.md)
+[**CreateTenantUserResponse**](../Models/CreateTenantUserResponse.md)
### Authorization
@@ -668,7 +668,7 @@ All URIs are relative to *https://fastcomments.com*
# **createTicket**
-> CreateTicket_200_response createTicket(tenantId, userId, CreateTicketBody)
+> CreateTicketResponse createTicket(tenantId, userId, CreateTicketBody)
@@ -682,7 +682,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**CreateTicket_200_response**](../Models/CreateTicket_200_response.md)
+[**CreateTicketResponse**](../Models/CreateTicketResponse.md)
### Authorization
@@ -695,7 +695,7 @@ All URIs are relative to *https://fastcomments.com*
# **createUserBadge**
-> CreateUserBadge_200_response createUserBadge(tenantId, CreateUserBadgeParams)
+> APICreateUserBadgeResponse createUserBadge(tenantId, CreateUserBadgeParams)
@@ -708,7 +708,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**CreateUserBadge_200_response**](../Models/CreateUserBadge_200_response.md)
+[**APICreateUserBadgeResponse**](../Models/APICreateUserBadgeResponse.md)
### Authorization
@@ -721,7 +721,7 @@ All URIs are relative to *https://fastcomments.com*
# **createVote**
-> VoteComment_200_response createVote(tenantId, commentId, direction, userId, anonUserId)
+> VoteResponse createVote(tenantId, commentId, direction, userId, anonUserId)
@@ -737,7 +737,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**VoteComment_200_response**](../Models/VoteComment_200_response.md)
+[**VoteResponse**](../Models/VoteResponse.md)
### Authorization
@@ -750,7 +750,7 @@ All URIs are relative to *https://fastcomments.com*
# **deleteComment**
-> DeleteComment_200_response deleteComment(tenantId, id, contextUserId, isLive)
+> DeleteCommentResult deleteComment(tenantId, id, contextUserId, isLive)
@@ -765,7 +765,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**DeleteComment_200_response**](../Models/DeleteComment_200_response.md)
+[**DeleteCommentResult**](../Models/DeleteCommentResult.md)
### Authorization
@@ -778,7 +778,7 @@ All URIs are relative to *https://fastcomments.com*
# **deleteDomainConfig**
-> DeleteDomainConfig_200_response deleteDomainConfig(tenantId, domain)
+> DeleteDomainConfigResponse deleteDomainConfig(tenantId, domain)
@@ -791,7 +791,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**DeleteDomainConfig_200_response**](../Models/DeleteDomainConfig_200_response.md)
+[**DeleteDomainConfigResponse**](../Models/DeleteDomainConfigResponse.md)
### Authorization
@@ -804,7 +804,7 @@ All URIs are relative to *https://fastcomments.com*
# **deleteEmailTemplate**
-> FlagCommentPublic_200_response deleteEmailTemplate(tenantId, id)
+> APIEmptyResponse deleteEmailTemplate(tenantId, id)
@@ -817,7 +817,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -830,7 +830,7 @@ All URIs are relative to *https://fastcomments.com*
# **deleteEmailTemplateRenderError**
-> FlagCommentPublic_200_response deleteEmailTemplateRenderError(tenantId, id, errorId)
+> APIEmptyResponse deleteEmailTemplateRenderError(tenantId, id, errorId)
@@ -844,7 +844,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -857,7 +857,7 @@ All URIs are relative to *https://fastcomments.com*
# **deleteHashTag**
-> FlagCommentPublic_200_response deleteHashTag(tag, tenantId, DeleteHashTag\_request)
+> APIEmptyResponse deleteHashTag(tag, tenantId, DeleteHashTagRequestBody)
@@ -867,11 +867,11 @@ All URIs are relative to *https://fastcomments.com*
|------------- | ------------- | ------------- | -------------|
| **tag** | **String**| | [default to null] |
| **tenantId** | **String**| | [optional] [default to null] |
-| **DeleteHashTag\_request** | [**DeleteHashTag_request**](../Models/DeleteHashTag_request.md)| | [optional] |
+| **DeleteHashTagRequestBody** | [**DeleteHashTagRequestBody**](../Models/DeleteHashTagRequestBody.md)| | [optional] |
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -884,7 +884,7 @@ All URIs are relative to *https://fastcomments.com*
# **deleteModerator**
-> FlagCommentPublic_200_response deleteModerator(tenantId, id, sendEmail)
+> APIEmptyResponse deleteModerator(tenantId, id, sendEmail)
@@ -898,7 +898,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -911,7 +911,7 @@ All URIs are relative to *https://fastcomments.com*
# **deleteNotificationCount**
-> FlagCommentPublic_200_response deleteNotificationCount(tenantId, id)
+> APIEmptyResponse deleteNotificationCount(tenantId, id)
@@ -924,7 +924,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -963,7 +963,7 @@ All URIs are relative to *https://fastcomments.com*
# **deletePendingWebhookEvent**
-> FlagCommentPublic_200_response deletePendingWebhookEvent(tenantId, id)
+> APIEmptyResponse deletePendingWebhookEvent(tenantId, id)
@@ -976,7 +976,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -989,7 +989,7 @@ All URIs are relative to *https://fastcomments.com*
# **deleteQuestionConfig**
-> FlagCommentPublic_200_response deleteQuestionConfig(tenantId, id)
+> APIEmptyResponse deleteQuestionConfig(tenantId, id)
@@ -1002,7 +1002,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -1015,7 +1015,7 @@ All URIs are relative to *https://fastcomments.com*
# **deleteQuestionResult**
-> FlagCommentPublic_200_response deleteQuestionResult(tenantId, id)
+> APIEmptyResponse deleteQuestionResult(tenantId, id)
@@ -1028,7 +1028,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -1096,7 +1096,7 @@ All URIs are relative to *https://fastcomments.com*
# **deleteTenant**
-> FlagCommentPublic_200_response deleteTenant(tenantId, id, sure)
+> APIEmptyResponse deleteTenant(tenantId, id, sure)
@@ -1110,7 +1110,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -1123,7 +1123,7 @@ All URIs are relative to *https://fastcomments.com*
# **deleteTenantPackage**
-> FlagCommentPublic_200_response deleteTenantPackage(tenantId, id)
+> APIEmptyResponse deleteTenantPackage(tenantId, id)
@@ -1136,7 +1136,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -1149,7 +1149,7 @@ All URIs are relative to *https://fastcomments.com*
# **deleteTenantUser**
-> FlagCommentPublic_200_response deleteTenantUser(tenantId, id, deleteComments, commentDeleteMode)
+> APIEmptyResponse deleteTenantUser(tenantId, id, deleteComments, commentDeleteMode)
@@ -1164,7 +1164,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -1177,7 +1177,7 @@ All URIs are relative to *https://fastcomments.com*
# **deleteUserBadge**
-> UpdateUserBadge_200_response deleteUserBadge(tenantId, id)
+> APIEmptySuccessResponse deleteUserBadge(tenantId, id)
@@ -1190,7 +1190,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**UpdateUserBadge_200_response**](../Models/UpdateUserBadge_200_response.md)
+[**APIEmptySuccessResponse**](../Models/APIEmptySuccessResponse.md)
### Authorization
@@ -1203,7 +1203,7 @@ All URIs are relative to *https://fastcomments.com*
# **deleteVote**
-> DeleteCommentVote_200_response deleteVote(tenantId, id, editKey)
+> VoteDeleteResponse deleteVote(tenantId, id, editKey)
@@ -1217,7 +1217,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**DeleteCommentVote_200_response**](../Models/DeleteCommentVote_200_response.md)
+[**VoteDeleteResponse**](../Models/VoteDeleteResponse.md)
### Authorization
@@ -1230,7 +1230,7 @@ All URIs are relative to *https://fastcomments.com*
# **flagComment**
-> FlagComment_200_response flagComment(tenantId, id, userId, anonUserId)
+> FlagCommentResponse flagComment(tenantId, id, userId, anonUserId)
@@ -1245,7 +1245,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagComment_200_response**](../Models/FlagComment_200_response.md)
+[**FlagCommentResponse**](../Models/FlagCommentResponse.md)
### Authorization
@@ -1258,7 +1258,7 @@ All URIs are relative to *https://fastcomments.com*
# **getAuditLogs**
-> GetAuditLogs_200_response getAuditLogs(tenantId, limit, skip, order, after, before)
+> GetAuditLogsResponse getAuditLogs(tenantId, limit, skip, order, after, before)
@@ -1275,7 +1275,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetAuditLogs_200_response**](../Models/GetAuditLogs_200_response.md)
+[**GetAuditLogsResponse**](../Models/GetAuditLogsResponse.md)
### Authorization
@@ -1288,7 +1288,7 @@ All URIs are relative to *https://fastcomments.com*
# **getCachedNotificationCount**
-> GetCachedNotificationCount_200_response getCachedNotificationCount(tenantId, id)
+> GetCachedNotificationCountResponse getCachedNotificationCount(tenantId, id)
@@ -1301,7 +1301,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetCachedNotificationCount_200_response**](../Models/GetCachedNotificationCount_200_response.md)
+[**GetCachedNotificationCountResponse**](../Models/GetCachedNotificationCountResponse.md)
### Authorization
@@ -1314,7 +1314,7 @@ All URIs are relative to *https://fastcomments.com*
# **getComment**
-> GetComment_200_response getComment(tenantId, id)
+> APIGetCommentResponse getComment(tenantId, id)
@@ -1327,7 +1327,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetComment_200_response**](../Models/GetComment_200_response.md)
+[**APIGetCommentResponse**](../Models/APIGetCommentResponse.md)
### Authorization
@@ -1340,7 +1340,7 @@ All URIs are relative to *https://fastcomments.com*
# **getComments**
-> GetComments_200_response getComments(tenantId, page, limit, skip, asTree, skipChildren, limitChildren, maxTreeDepth, urlId, userId, anonUserId, contextUserId, hashTag, parentId, direction)
+> APIGetCommentsResponse getComments(tenantId, page, limit, skip, asTree, skipChildren, limitChildren, maxTreeDepth, urlId, userId, anonUserId, contextUserId, hashTag, parentId, direction, fromDate, toDate)
@@ -1363,10 +1363,12 @@ All URIs are relative to *https://fastcomments.com*
| **hashTag** | **String**| | [optional] [default to null] |
| **parentId** | **String**| | [optional] [default to null] |
| **direction** | [**SortDirections**](../Models/.md)| | [optional] [default to null] [enum: OF, NF, MR] |
+| **fromDate** | **Long**| | [optional] [default to null] |
+| **toDate** | **Long**| | [optional] [default to null] |
### Return type
-[**GetComments_200_response**](../Models/GetComments_200_response.md)
+[**APIGetCommentsResponse**](../Models/APIGetCommentsResponse.md)
### Authorization
@@ -1379,7 +1381,7 @@ All URIs are relative to *https://fastcomments.com*
# **getDomainConfig**
-> GetDomainConfig_200_response getDomainConfig(tenantId, domain)
+> GetDomainConfigResponse getDomainConfig(tenantId, domain)
@@ -1392,7 +1394,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetDomainConfig_200_response**](../Models/GetDomainConfig_200_response.md)
+[**GetDomainConfigResponse**](../Models/GetDomainConfigResponse.md)
### Authorization
@@ -1405,7 +1407,7 @@ All URIs are relative to *https://fastcomments.com*
# **getDomainConfigs**
-> GetDomainConfigs_200_response getDomainConfigs(tenantId)
+> GetDomainConfigsResponse getDomainConfigs(tenantId)
@@ -1417,7 +1419,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetDomainConfigs_200_response**](../Models/GetDomainConfigs_200_response.md)
+[**GetDomainConfigsResponse**](../Models/GetDomainConfigsResponse.md)
### Authorization
@@ -1430,7 +1432,7 @@ All URIs are relative to *https://fastcomments.com*
# **getEmailTemplate**
-> GetEmailTemplate_200_response getEmailTemplate(tenantId, id)
+> GetEmailTemplateResponse getEmailTemplate(tenantId, id)
@@ -1443,7 +1445,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetEmailTemplate_200_response**](../Models/GetEmailTemplate_200_response.md)
+[**GetEmailTemplateResponse**](../Models/GetEmailTemplateResponse.md)
### Authorization
@@ -1456,7 +1458,7 @@ All URIs are relative to *https://fastcomments.com*
# **getEmailTemplateDefinitions**
-> GetEmailTemplateDefinitions_200_response getEmailTemplateDefinitions(tenantId)
+> GetEmailTemplateDefinitionsResponse getEmailTemplateDefinitions(tenantId)
@@ -1468,7 +1470,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetEmailTemplateDefinitions_200_response**](../Models/GetEmailTemplateDefinitions_200_response.md)
+[**GetEmailTemplateDefinitionsResponse**](../Models/GetEmailTemplateDefinitionsResponse.md)
### Authorization
@@ -1481,7 +1483,7 @@ All URIs are relative to *https://fastcomments.com*
# **getEmailTemplateRenderErrors**
-> GetEmailTemplateRenderErrors_200_response getEmailTemplateRenderErrors(tenantId, id, skip)
+> GetEmailTemplateRenderErrorsResponse getEmailTemplateRenderErrors(tenantId, id, skip)
@@ -1495,7 +1497,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetEmailTemplateRenderErrors_200_response**](../Models/GetEmailTemplateRenderErrors_200_response.md)
+[**GetEmailTemplateRenderErrorsResponse**](../Models/GetEmailTemplateRenderErrorsResponse.md)
### Authorization
@@ -1508,7 +1510,7 @@ All URIs are relative to *https://fastcomments.com*
# **getEmailTemplates**
-> GetEmailTemplates_200_response getEmailTemplates(tenantId, skip)
+> GetEmailTemplatesResponse getEmailTemplates(tenantId, skip)
@@ -1521,7 +1523,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetEmailTemplates_200_response**](../Models/GetEmailTemplates_200_response.md)
+[**GetEmailTemplatesResponse**](../Models/GetEmailTemplatesResponse.md)
### Authorization
@@ -1534,7 +1536,7 @@ All URIs are relative to *https://fastcomments.com*
# **getFeedPosts**
-> GetFeedPosts_200_response getFeedPosts(tenantId, afterId, limit, tags)
+> GetFeedPostsResponse getFeedPosts(tenantId, afterId, limit, tags)
@@ -1551,7 +1553,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetFeedPosts_200_response**](../Models/GetFeedPosts_200_response.md)
+[**GetFeedPostsResponse**](../Models/GetFeedPostsResponse.md)
### Authorization
@@ -1564,7 +1566,7 @@ All URIs are relative to *https://fastcomments.com*
# **getHashTags**
-> GetHashTags_200_response getHashTags(tenantId, page)
+> GetHashTagsResponse getHashTags(tenantId, page)
@@ -1577,7 +1579,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetHashTags_200_response**](../Models/GetHashTags_200_response.md)
+[**GetHashTagsResponse**](../Models/GetHashTagsResponse.md)
### Authorization
@@ -1590,7 +1592,7 @@ All URIs are relative to *https://fastcomments.com*
# **getModerator**
-> GetModerator_200_response getModerator(tenantId, id)
+> GetModeratorResponse getModerator(tenantId, id)
@@ -1603,7 +1605,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetModerator_200_response**](../Models/GetModerator_200_response.md)
+[**GetModeratorResponse**](../Models/GetModeratorResponse.md)
### Authorization
@@ -1616,7 +1618,7 @@ All URIs are relative to *https://fastcomments.com*
# **getModerators**
-> GetModerators_200_response getModerators(tenantId, skip)
+> GetModeratorsResponse getModerators(tenantId, skip)
@@ -1629,7 +1631,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetModerators_200_response**](../Models/GetModerators_200_response.md)
+[**GetModeratorsResponse**](../Models/GetModeratorsResponse.md)
### Authorization
@@ -1642,7 +1644,7 @@ All URIs are relative to *https://fastcomments.com*
# **getNotificationCount**
-> GetNotificationCount_200_response getNotificationCount(tenantId, userId, urlId, fromCommentId, viewed, type)
+> GetNotificationCountResponse getNotificationCount(tenantId, userId, urlId, fromCommentId, viewed, type)
@@ -1659,7 +1661,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetNotificationCount_200_response**](../Models/GetNotificationCount_200_response.md)
+[**GetNotificationCountResponse**](../Models/GetNotificationCountResponse.md)
### Authorization
@@ -1672,7 +1674,7 @@ All URIs are relative to *https://fastcomments.com*
# **getNotifications**
-> GetNotifications_200_response getNotifications(tenantId, userId, urlId, fromCommentId, viewed, type, skip)
+> GetNotificationsResponse getNotifications(tenantId, userId, urlId, fromCommentId, viewed, type, skip)
@@ -1690,7 +1692,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetNotifications_200_response**](../Models/GetNotifications_200_response.md)
+[**GetNotificationsResponse**](../Models/GetNotificationsResponse.md)
### Authorization
@@ -1754,7 +1756,7 @@ All URIs are relative to *https://fastcomments.com*
# **getPendingWebhookEventCount**
-> GetPendingWebhookEventCount_200_response getPendingWebhookEventCount(tenantId, commentId, externalId, eventType, type, domain, attemptCountGT)
+> GetPendingWebhookEventCountResponse getPendingWebhookEventCount(tenantId, commentId, externalId, eventType, type, domain, attemptCountGT)
@@ -1772,7 +1774,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetPendingWebhookEventCount_200_response**](../Models/GetPendingWebhookEventCount_200_response.md)
+[**GetPendingWebhookEventCountResponse**](../Models/GetPendingWebhookEventCountResponse.md)
### Authorization
@@ -1785,7 +1787,7 @@ All URIs are relative to *https://fastcomments.com*
# **getPendingWebhookEvents**
-> GetPendingWebhookEvents_200_response getPendingWebhookEvents(tenantId, commentId, externalId, eventType, type, domain, attemptCountGT, skip)
+> GetPendingWebhookEventsResponse getPendingWebhookEvents(tenantId, commentId, externalId, eventType, type, domain, attemptCountGT, skip)
@@ -1804,7 +1806,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetPendingWebhookEvents_200_response**](../Models/GetPendingWebhookEvents_200_response.md)
+[**GetPendingWebhookEventsResponse**](../Models/GetPendingWebhookEventsResponse.md)
### Authorization
@@ -1817,7 +1819,7 @@ All URIs are relative to *https://fastcomments.com*
# **getQuestionConfig**
-> GetQuestionConfig_200_response getQuestionConfig(tenantId, id)
+> GetQuestionConfigResponse getQuestionConfig(tenantId, id)
@@ -1830,7 +1832,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetQuestionConfig_200_response**](../Models/GetQuestionConfig_200_response.md)
+[**GetQuestionConfigResponse**](../Models/GetQuestionConfigResponse.md)
### Authorization
@@ -1843,7 +1845,7 @@ All URIs are relative to *https://fastcomments.com*
# **getQuestionConfigs**
-> GetQuestionConfigs_200_response getQuestionConfigs(tenantId, skip)
+> GetQuestionConfigsResponse getQuestionConfigs(tenantId, skip)
@@ -1856,7 +1858,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetQuestionConfigs_200_response**](../Models/GetQuestionConfigs_200_response.md)
+[**GetQuestionConfigsResponse**](../Models/GetQuestionConfigsResponse.md)
### Authorization
@@ -1869,7 +1871,7 @@ All URIs are relative to *https://fastcomments.com*
# **getQuestionResult**
-> GetQuestionResult_200_response getQuestionResult(tenantId, id)
+> GetQuestionResultResponse getQuestionResult(tenantId, id)
@@ -1882,7 +1884,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetQuestionResult_200_response**](../Models/GetQuestionResult_200_response.md)
+[**GetQuestionResultResponse**](../Models/GetQuestionResultResponse.md)
### Authorization
@@ -1895,7 +1897,7 @@ All URIs are relative to *https://fastcomments.com*
# **getQuestionResults**
-> GetQuestionResults_200_response getQuestionResults(tenantId, urlId, userId, startDate, questionId, questionIds, skip)
+> GetQuestionResultsResponse getQuestionResults(tenantId, urlId, userId, startDate, questionId, questionIds, skip)
@@ -1913,7 +1915,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetQuestionResults_200_response**](../Models/GetQuestionResults_200_response.md)
+[**GetQuestionResultsResponse**](../Models/GetQuestionResultsResponse.md)
### Authorization
@@ -1978,7 +1980,7 @@ All URIs are relative to *https://fastcomments.com*
# **getSSOUsers**
-> GetSSOUsers_200_response getSSOUsers(tenantId, skip)
+> GetSSOUsersResponse getSSOUsers(tenantId, skip)
@@ -1991,7 +1993,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetSSOUsers_200_response**](../Models/GetSSOUsers_200_response.md)
+[**GetSSOUsersResponse**](../Models/GetSSOUsersResponse.md)
### Authorization
@@ -2030,7 +2032,7 @@ All URIs are relative to *https://fastcomments.com*
# **getTenant**
-> GetTenant_200_response getTenant(tenantId, id)
+> GetTenantResponse getTenant(tenantId, id)
@@ -2043,7 +2045,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetTenant_200_response**](../Models/GetTenant_200_response.md)
+[**GetTenantResponse**](../Models/GetTenantResponse.md)
### Authorization
@@ -2056,7 +2058,7 @@ All URIs are relative to *https://fastcomments.com*
# **getTenantDailyUsages**
-> GetTenantDailyUsages_200_response getTenantDailyUsages(tenantId, yearNumber, monthNumber, dayNumber, skip)
+> GetTenantDailyUsagesResponse getTenantDailyUsages(tenantId, yearNumber, monthNumber, dayNumber, skip)
@@ -2072,7 +2074,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetTenantDailyUsages_200_response**](../Models/GetTenantDailyUsages_200_response.md)
+[**GetTenantDailyUsagesResponse**](../Models/GetTenantDailyUsagesResponse.md)
### Authorization
@@ -2085,7 +2087,7 @@ All URIs are relative to *https://fastcomments.com*
# **getTenantPackage**
-> GetTenantPackage_200_response getTenantPackage(tenantId, id)
+> GetTenantPackageResponse getTenantPackage(tenantId, id)
@@ -2098,7 +2100,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetTenantPackage_200_response**](../Models/GetTenantPackage_200_response.md)
+[**GetTenantPackageResponse**](../Models/GetTenantPackageResponse.md)
### Authorization
@@ -2111,7 +2113,7 @@ All URIs are relative to *https://fastcomments.com*
# **getTenantPackages**
-> GetTenantPackages_200_response getTenantPackages(tenantId, skip)
+> GetTenantPackagesResponse getTenantPackages(tenantId, skip)
@@ -2124,7 +2126,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetTenantPackages_200_response**](../Models/GetTenantPackages_200_response.md)
+[**GetTenantPackagesResponse**](../Models/GetTenantPackagesResponse.md)
### Authorization
@@ -2137,7 +2139,7 @@ All URIs are relative to *https://fastcomments.com*
# **getTenantUser**
-> GetTenantUser_200_response getTenantUser(tenantId, id)
+> GetTenantUserResponse getTenantUser(tenantId, id)
@@ -2150,7 +2152,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetTenantUser_200_response**](../Models/GetTenantUser_200_response.md)
+[**GetTenantUserResponse**](../Models/GetTenantUserResponse.md)
### Authorization
@@ -2163,7 +2165,7 @@ All URIs are relative to *https://fastcomments.com*
# **getTenantUsers**
-> GetTenantUsers_200_response getTenantUsers(tenantId, skip)
+> GetTenantUsersResponse getTenantUsers(tenantId, skip)
@@ -2176,7 +2178,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetTenantUsers_200_response**](../Models/GetTenantUsers_200_response.md)
+[**GetTenantUsersResponse**](../Models/GetTenantUsersResponse.md)
### Authorization
@@ -2189,7 +2191,7 @@ All URIs are relative to *https://fastcomments.com*
# **getTenants**
-> GetTenants_200_response getTenants(tenantId, meta, skip)
+> GetTenantsResponse getTenants(tenantId, meta, skip)
@@ -2203,7 +2205,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetTenants_200_response**](../Models/GetTenants_200_response.md)
+[**GetTenantsResponse**](../Models/GetTenantsResponse.md)
### Authorization
@@ -2216,7 +2218,7 @@ All URIs are relative to *https://fastcomments.com*
# **getTicket**
-> GetTicket_200_response getTicket(tenantId, id, userId)
+> GetTicketResponse getTicket(tenantId, id, userId)
@@ -2230,7 +2232,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetTicket_200_response**](../Models/GetTicket_200_response.md)
+[**GetTicketResponse**](../Models/GetTicketResponse.md)
### Authorization
@@ -2243,7 +2245,7 @@ All URIs are relative to *https://fastcomments.com*
# **getTickets**
-> GetTickets_200_response getTickets(tenantId, userId, state, skip, limit)
+> GetTicketsResponse getTickets(tenantId, userId, state, skip, limit)
@@ -2259,7 +2261,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetTickets_200_response**](../Models/GetTickets_200_response.md)
+[**GetTicketsResponse**](../Models/GetTicketsResponse.md)
### Authorization
@@ -2272,7 +2274,7 @@ All URIs are relative to *https://fastcomments.com*
# **getUser**
-> GetUser_200_response getUser(tenantId, id)
+> GetUserResponse getUser(tenantId, id)
@@ -2285,7 +2287,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetUser_200_response**](../Models/GetUser_200_response.md)
+[**GetUserResponse**](../Models/GetUserResponse.md)
### Authorization
@@ -2298,7 +2300,7 @@ All URIs are relative to *https://fastcomments.com*
# **getUserBadge**
-> GetUserBadge_200_response getUserBadge(tenantId, id)
+> APIGetUserBadgeResponse getUserBadge(tenantId, id)
@@ -2311,7 +2313,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetUserBadge_200_response**](../Models/GetUserBadge_200_response.md)
+[**APIGetUserBadgeResponse**](../Models/APIGetUserBadgeResponse.md)
### Authorization
@@ -2324,7 +2326,7 @@ All URIs are relative to *https://fastcomments.com*
# **getUserBadgeProgressById**
-> GetUserBadgeProgressById_200_response getUserBadgeProgressById(tenantId, id)
+> APIGetUserBadgeProgressResponse getUserBadgeProgressById(tenantId, id)
@@ -2337,7 +2339,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetUserBadgeProgressById_200_response**](../Models/GetUserBadgeProgressById_200_response.md)
+[**APIGetUserBadgeProgressResponse**](../Models/APIGetUserBadgeProgressResponse.md)
### Authorization
@@ -2350,7 +2352,7 @@ All URIs are relative to *https://fastcomments.com*
# **getUserBadgeProgressByUserId**
-> GetUserBadgeProgressById_200_response getUserBadgeProgressByUserId(tenantId, userId)
+> APIGetUserBadgeProgressResponse getUserBadgeProgressByUserId(tenantId, userId)
@@ -2363,7 +2365,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetUserBadgeProgressById_200_response**](../Models/GetUserBadgeProgressById_200_response.md)
+[**APIGetUserBadgeProgressResponse**](../Models/APIGetUserBadgeProgressResponse.md)
### Authorization
@@ -2376,7 +2378,7 @@ All URIs are relative to *https://fastcomments.com*
# **getUserBadgeProgressList**
-> GetUserBadgeProgressList_200_response getUserBadgeProgressList(tenantId, userId, limit, skip)
+> APIGetUserBadgeProgressListResponse getUserBadgeProgressList(tenantId, userId, limit, skip)
@@ -2391,7 +2393,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetUserBadgeProgressList_200_response**](../Models/GetUserBadgeProgressList_200_response.md)
+[**APIGetUserBadgeProgressListResponse**](../Models/APIGetUserBadgeProgressListResponse.md)
### Authorization
@@ -2404,7 +2406,7 @@ All URIs are relative to *https://fastcomments.com*
# **getUserBadges**
-> GetUserBadges_200_response getUserBadges(tenantId, userId, badgeId, type, displayedOnComments, limit, skip)
+> APIGetUserBadgesResponse getUserBadges(tenantId, userId, badgeId, type, displayedOnComments, limit, skip)
@@ -2422,7 +2424,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetUserBadges_200_response**](../Models/GetUserBadges_200_response.md)
+[**APIGetUserBadgesResponse**](../Models/APIGetUserBadgesResponse.md)
### Authorization
@@ -2435,7 +2437,7 @@ All URIs are relative to *https://fastcomments.com*
# **getVotes**
-> GetVotes_200_response getVotes(tenantId, urlId)
+> GetVotesResponse getVotes(tenantId, urlId)
@@ -2448,7 +2450,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetVotes_200_response**](../Models/GetVotes_200_response.md)
+[**GetVotesResponse**](../Models/GetVotesResponse.md)
### Authorization
@@ -2461,7 +2463,7 @@ All URIs are relative to *https://fastcomments.com*
# **getVotesForUser**
-> GetVotesForUser_200_response getVotesForUser(tenantId, urlId, userId, anonUserId)
+> GetVotesForUserResponse getVotesForUser(tenantId, urlId, userId, anonUserId)
@@ -2476,7 +2478,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetVotesForUser_200_response**](../Models/GetVotesForUser_200_response.md)
+[**GetVotesForUserResponse**](../Models/GetVotesForUserResponse.md)
### Authorization
@@ -2489,7 +2491,7 @@ All URIs are relative to *https://fastcomments.com*
# **patchDomainConfig**
-> GetDomainConfig_200_response patchDomainConfig(tenantId, domainToUpdate, PatchDomainConfigParams)
+> PatchDomainConfigResponse patchDomainConfig(tenantId, domainToUpdate, PatchDomainConfigParams)
@@ -2503,7 +2505,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetDomainConfig_200_response**](../Models/GetDomainConfig_200_response.md)
+[**PatchDomainConfigResponse**](../Models/PatchDomainConfigResponse.md)
### Authorization
@@ -2516,7 +2518,7 @@ All URIs are relative to *https://fastcomments.com*
# **patchHashTag**
-> PatchHashTag_200_response patchHashTag(tag, tenantId, UpdateHashTagBody)
+> UpdateHashTagResponse patchHashTag(tag, tenantId, UpdateHashTagBody)
@@ -2530,7 +2532,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**PatchHashTag_200_response**](../Models/PatchHashTag_200_response.md)
+[**UpdateHashTagResponse**](../Models/UpdateHashTagResponse.md)
### Authorization
@@ -2598,7 +2600,7 @@ All URIs are relative to *https://fastcomments.com*
# **putDomainConfig**
-> GetDomainConfig_200_response putDomainConfig(tenantId, domainToUpdate, UpdateDomainConfigParams)
+> PutDomainConfigResponse putDomainConfig(tenantId, domainToUpdate, UpdateDomainConfigParams)
@@ -2612,7 +2614,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**GetDomainConfig_200_response**](../Models/GetDomainConfig_200_response.md)
+[**PutDomainConfigResponse**](../Models/PutDomainConfigResponse.md)
### Authorization
@@ -2653,7 +2655,7 @@ All URIs are relative to *https://fastcomments.com*
# **renderEmailTemplate**
-> RenderEmailTemplate_200_response renderEmailTemplate(tenantId, RenderEmailTemplateBody, locale)
+> RenderEmailTemplateResponse renderEmailTemplate(tenantId, RenderEmailTemplateBody, locale)
@@ -2667,7 +2669,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**RenderEmailTemplate_200_response**](../Models/RenderEmailTemplate_200_response.md)
+[**RenderEmailTemplateResponse**](../Models/RenderEmailTemplateResponse.md)
### Authorization
@@ -2680,7 +2682,7 @@ All URIs are relative to *https://fastcomments.com*
# **replaceTenantPackage**
-> FlagCommentPublic_200_response replaceTenantPackage(tenantId, id, ReplaceTenantPackageBody)
+> APIEmptyResponse replaceTenantPackage(tenantId, id, ReplaceTenantPackageBody)
@@ -2694,7 +2696,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -2707,7 +2709,7 @@ All URIs are relative to *https://fastcomments.com*
# **replaceTenantUser**
-> FlagCommentPublic_200_response replaceTenantUser(tenantId, id, ReplaceTenantUserBody, updateComments)
+> APIEmptyResponse replaceTenantUser(tenantId, id, ReplaceTenantUserBody, updateComments)
@@ -2722,7 +2724,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -2735,7 +2737,7 @@ All URIs are relative to *https://fastcomments.com*
# **saveComment**
-> SaveComment_200_response saveComment(tenantId, CreateCommentParams, isLive, doSpamCheck, sendEmails, populateNotifications)
+> APISaveCommentResponse saveComment(tenantId, CreateCommentParams, isLive, doSpamCheck, sendEmails, populateNotifications)
@@ -2752,7 +2754,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**SaveComment_200_response**](../Models/SaveComment_200_response.md)
+[**APISaveCommentResponse**](../Models/APISaveCommentResponse.md)
### Authorization
@@ -2782,7 +2784,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**List**](../Models/SaveComment_200_response.md)
+[**List**](../Models/SaveCommentsBulkResponse.md)
### Authorization
@@ -2795,7 +2797,7 @@ All URIs are relative to *https://fastcomments.com*
# **sendInvite**
-> FlagCommentPublic_200_response sendInvite(tenantId, id, fromName)
+> APIEmptyResponse sendInvite(tenantId, id, fromName)
@@ -2809,7 +2811,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -2822,7 +2824,7 @@ All URIs are relative to *https://fastcomments.com*
# **sendLoginLink**
-> FlagCommentPublic_200_response sendLoginLink(tenantId, id, redirectURL)
+> APIEmptyResponse sendLoginLink(tenantId, id, redirectURL)
@@ -2836,7 +2838,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -2849,7 +2851,7 @@ All URIs are relative to *https://fastcomments.com*
# **unBlockUserFromComment**
-> UnBlockCommentPublic_200_response unBlockUserFromComment(tenantId, id, UnBlockFromCommentParams, userId, anonUserId)
+> UnblockSuccess unBlockUserFromComment(tenantId, id, UnBlockFromCommentParams, userId, anonUserId)
@@ -2865,7 +2867,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**UnBlockCommentPublic_200_response**](../Models/UnBlockCommentPublic_200_response.md)
+[**UnblockSuccess**](../Models/UnblockSuccess.md)
### Authorization
@@ -2878,7 +2880,7 @@ All URIs are relative to *https://fastcomments.com*
# **unFlagComment**
-> FlagComment_200_response unFlagComment(tenantId, id, userId, anonUserId)
+> FlagCommentResponse unFlagComment(tenantId, id, userId, anonUserId)
@@ -2893,7 +2895,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagComment_200_response**](../Models/FlagComment_200_response.md)
+[**FlagCommentResponse**](../Models/FlagCommentResponse.md)
### Authorization
@@ -2906,7 +2908,7 @@ All URIs are relative to *https://fastcomments.com*
# **updateComment**
-> FlagCommentPublic_200_response updateComment(tenantId, id, UpdatableCommentParams, contextUserId, doSpamCheck, isLive)
+> APIEmptyResponse updateComment(tenantId, id, UpdatableCommentParams, contextUserId, doSpamCheck, isLive)
@@ -2923,7 +2925,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -2936,7 +2938,7 @@ All URIs are relative to *https://fastcomments.com*
# **updateEmailTemplate**
-> FlagCommentPublic_200_response updateEmailTemplate(tenantId, id, UpdateEmailTemplateBody)
+> APIEmptyResponse updateEmailTemplate(tenantId, id, UpdateEmailTemplateBody)
@@ -2950,7 +2952,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -2963,7 +2965,7 @@ All URIs are relative to *https://fastcomments.com*
# **updateFeedPost**
-> FlagCommentPublic_200_response updateFeedPost(tenantId, id, FeedPost)
+> APIEmptyResponse updateFeedPost(tenantId, id, FeedPost)
@@ -2977,7 +2979,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -2990,7 +2992,7 @@ All URIs are relative to *https://fastcomments.com*
# **updateModerator**
-> FlagCommentPublic_200_response updateModerator(tenantId, id, UpdateModeratorBody)
+> APIEmptyResponse updateModerator(tenantId, id, UpdateModeratorBody)
@@ -3004,7 +3006,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -3017,7 +3019,7 @@ All URIs are relative to *https://fastcomments.com*
# **updateNotification**
-> FlagCommentPublic_200_response updateNotification(tenantId, id, UpdateNotificationBody, userId)
+> APIEmptyResponse updateNotification(tenantId, id, UpdateNotificationBody, userId)
@@ -3032,7 +3034,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -3045,7 +3047,7 @@ All URIs are relative to *https://fastcomments.com*
# **updateQuestionConfig**
-> FlagCommentPublic_200_response updateQuestionConfig(tenantId, id, UpdateQuestionConfigBody)
+> APIEmptyResponse updateQuestionConfig(tenantId, id, UpdateQuestionConfigBody)
@@ -3059,7 +3061,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -3072,7 +3074,7 @@ All URIs are relative to *https://fastcomments.com*
# **updateQuestionResult**
-> FlagCommentPublic_200_response updateQuestionResult(tenantId, id, UpdateQuestionResultBody)
+> APIEmptyResponse updateQuestionResult(tenantId, id, UpdateQuestionResultBody)
@@ -3086,7 +3088,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -3127,7 +3129,7 @@ All URIs are relative to *https://fastcomments.com*
# **updateTenant**
-> FlagCommentPublic_200_response updateTenant(tenantId, id, UpdateTenantBody)
+> APIEmptyResponse updateTenant(tenantId, id, UpdateTenantBody)
@@ -3141,7 +3143,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -3154,7 +3156,7 @@ All URIs are relative to *https://fastcomments.com*
# **updateTenantPackage**
-> FlagCommentPublic_200_response updateTenantPackage(tenantId, id, UpdateTenantPackageBody)
+> APIEmptyResponse updateTenantPackage(tenantId, id, UpdateTenantPackageBody)
@@ -3168,7 +3170,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -3181,7 +3183,7 @@ All URIs are relative to *https://fastcomments.com*
# **updateTenantUser**
-> FlagCommentPublic_200_response updateTenantUser(tenantId, id, UpdateTenantUserBody, updateComments)
+> APIEmptyResponse updateTenantUser(tenantId, id, UpdateTenantUserBody, updateComments)
@@ -3196,7 +3198,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -3209,7 +3211,7 @@ All URIs are relative to *https://fastcomments.com*
# **updateUserBadge**
-> UpdateUserBadge_200_response updateUserBadge(tenantId, id, UpdateUserBadgeParams)
+> APIEmptySuccessResponse updateUserBadge(tenantId, id, UpdateUserBadgeParams)
@@ -3223,7 +3225,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**UpdateUserBadge_200_response**](../Models/UpdateUserBadge_200_response.md)
+[**APIEmptySuccessResponse**](../Models/APIEmptySuccessResponse.md)
### Authorization
diff --git a/docs/Apis/ModerationApi.md b/docs/Apis/ModerationApi.md
new file mode 100644
index 0000000..8ecaec1
--- /dev/null
+++ b/docs/Apis/ModerationApi.md
@@ -0,0 +1,1220 @@
+# ModerationApi
+
+All URIs are relative to *https://fastcomments.com*
+
+| Method | HTTP request | Description |
+|------------- | ------------- | -------------|
+| [**deleteModerationVote**](ModerationApi.md#deleteModerationVote) | **DELETE** /auth/my-account/moderate-comments/vote/{commentId}/{voteId} | |
+| [**getApiComments**](ModerationApi.md#getApiComments) | **GET** /auth/my-account/moderate-comments/api/comments | |
+| [**getApiExportStatus**](ModerationApi.md#getApiExportStatus) | **GET** /auth/my-account/moderate-comments/api/export/status | |
+| [**getApiIds**](ModerationApi.md#getApiIds) | **GET** /auth/my-account/moderate-comments/api/ids | |
+| [**getBanUsersFromComment**](ModerationApi.md#getBanUsersFromComment) | **GET** /auth/my-account/moderate-comments/ban-users/from-comment/{commentId} | |
+| [**getCommentBanStatus**](ModerationApi.md#getCommentBanStatus) | **GET** /auth/my-account/moderate-comments/get-comment-ban-status/{commentId} | |
+| [**getCommentChildren**](ModerationApi.md#getCommentChildren) | **GET** /auth/my-account/moderate-comments/comment-children/{commentId} | |
+| [**getCount**](ModerationApi.md#getCount) | **GET** /auth/my-account/moderate-comments/count | |
+| [**getCounts**](ModerationApi.md#getCounts) | **GET** /auth/my-account/moderate-comments/banned-users/counts | |
+| [**getLogs**](ModerationApi.md#getLogs) | **GET** /auth/my-account/moderate-comments/logs/{commentId} | |
+| [**getManualBadges**](ModerationApi.md#getManualBadges) | **GET** /auth/my-account/moderate-comments/get-manual-badges | |
+| [**getManualBadgesForUser**](ModerationApi.md#getManualBadgesForUser) | **GET** /auth/my-account/moderate-comments/get-manual-badges-for-user | |
+| [**getModerationComment**](ModerationApi.md#getModerationComment) | **GET** /auth/my-account/moderate-comments/comment/{commentId} | |
+| [**getModerationCommentText**](ModerationApi.md#getModerationCommentText) | **GET** /auth/my-account/moderate-comments/get-comment-text/{commentId} | |
+| [**getPreBanSummary**](ModerationApi.md#getPreBanSummary) | **GET** /auth/my-account/moderate-comments/pre-ban-summary/{commentId} | |
+| [**getSearchCommentsSummary**](ModerationApi.md#getSearchCommentsSummary) | **GET** /auth/my-account/moderate-comments/search/comments/summary | |
+| [**getSearchPages**](ModerationApi.md#getSearchPages) | **GET** /auth/my-account/moderate-comments/search/pages | |
+| [**getSearchSites**](ModerationApi.md#getSearchSites) | **GET** /auth/my-account/moderate-comments/search/sites | |
+| [**getSearchSuggest**](ModerationApi.md#getSearchSuggest) | **GET** /auth/my-account/moderate-comments/search/suggest | |
+| [**getSearchUsers**](ModerationApi.md#getSearchUsers) | **GET** /auth/my-account/moderate-comments/search/users | |
+| [**getTrustFactor**](ModerationApi.md#getTrustFactor) | **GET** /auth/my-account/moderate-comments/get-trust-factor | |
+| [**getUserBanPreference**](ModerationApi.md#getUserBanPreference) | **GET** /auth/my-account/moderate-comments/user-ban-preference | |
+| [**getUserInternalProfile**](ModerationApi.md#getUserInternalProfile) | **GET** /auth/my-account/moderate-comments/get-user-internal-profile | |
+| [**postAdjustCommentVotes**](ModerationApi.md#postAdjustCommentVotes) | **POST** /auth/my-account/moderate-comments/adjust-comment-votes/{commentId} | |
+| [**postApiExport**](ModerationApi.md#postApiExport) | **POST** /auth/my-account/moderate-comments/api/export | |
+| [**postBanUserFromComment**](ModerationApi.md#postBanUserFromComment) | **POST** /auth/my-account/moderate-comments/ban-user/from-comment/{commentId} | |
+| [**postBanUserUndo**](ModerationApi.md#postBanUserUndo) | **POST** /auth/my-account/moderate-comments/ban-user/undo | |
+| [**postBulkPreBanSummary**](ModerationApi.md#postBulkPreBanSummary) | **POST** /auth/my-account/moderate-comments/bulk-pre-ban-summary | |
+| [**postCommentsByIds**](ModerationApi.md#postCommentsByIds) | **POST** /auth/my-account/moderate-comments/comments-by-ids | |
+| [**postFlagComment**](ModerationApi.md#postFlagComment) | **POST** /auth/my-account/moderate-comments/flag-comment/{commentId} | |
+| [**postRemoveComment**](ModerationApi.md#postRemoveComment) | **POST** /auth/my-account/moderate-comments/remove-comment/{commentId} | |
+| [**postRestoreDeletedComment**](ModerationApi.md#postRestoreDeletedComment) | **POST** /auth/my-account/moderate-comments/restore-deleted-comment/{commentId} | |
+| [**postSetCommentApprovalStatus**](ModerationApi.md#postSetCommentApprovalStatus) | **POST** /auth/my-account/moderate-comments/set-comment-approval-status/{commentId} | |
+| [**postSetCommentReviewStatus**](ModerationApi.md#postSetCommentReviewStatus) | **POST** /auth/my-account/moderate-comments/set-comment-review-status/{commentId} | |
+| [**postSetCommentSpamStatus**](ModerationApi.md#postSetCommentSpamStatus) | **POST** /auth/my-account/moderate-comments/set-comment-spam-status/{commentId} | |
+| [**postSetCommentText**](ModerationApi.md#postSetCommentText) | **POST** /auth/my-account/moderate-comments/set-comment-text/{commentId} | |
+| [**postUnFlagComment**](ModerationApi.md#postUnFlagComment) | **POST** /auth/my-account/moderate-comments/un-flag-comment/{commentId} | |
+| [**postVote**](ModerationApi.md#postVote) | **POST** /auth/my-account/moderate-comments/vote/{commentId} | |
+| [**putAwardBadge**](ModerationApi.md#putAwardBadge) | **PUT** /auth/my-account/moderate-comments/award-badge | |
+| [**putCloseThread**](ModerationApi.md#putCloseThread) | **PUT** /auth/my-account/moderate-comments/close-thread | |
+| [**putRemoveBadge**](ModerationApi.md#putRemoveBadge) | **PUT** /auth/my-account/moderate-comments/remove-badge | |
+| [**putReopenThread**](ModerationApi.md#putReopenThread) | **PUT** /auth/my-account/moderate-comments/reopen-thread | |
+| [**setTrustFactor**](ModerationApi.md#setTrustFactor) | **PUT** /auth/my-account/moderate-comments/set-trust-factor | |
+
+
+
+# **deleteModerationVote**
+> VoteDeleteResponse deleteModerationVote(commentId, voteId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **voteId** | **String**| | [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**VoteDeleteResponse**](../Models/VoteDeleteResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getApiComments**
+> ModerationAPIGetCommentsResponse getApiComments(page, count, text-search, byIPFromComment, filters, searchFilters, sorts, demo, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **page** | **Double**| | [optional] [default to null] |
+| **count** | **Double**| | [optional] [default to null] |
+| **text-search** | **String**| | [optional] [default to null] |
+| **byIPFromComment** | **String**| | [optional] [default to null] |
+| **filters** | **String**| | [optional] [default to null] |
+| **searchFilters** | **String**| | [optional] [default to null] |
+| **sorts** | **String**| | [optional] [default to null] |
+| **demo** | **Boolean**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**ModerationAPIGetCommentsResponse**](../Models/ModerationAPIGetCommentsResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getApiExportStatus**
+> ModerationExportStatusResponse getApiExportStatus(batchJobId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **batchJobId** | **String**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**ModerationExportStatusResponse**](../Models/ModerationExportStatusResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getApiIds**
+> ModerationAPIGetCommentIdsResponse getApiIds(text-search, byIPFromComment, filters, searchFilters, afterId, demo, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **text-search** | **String**| | [optional] [default to null] |
+| **byIPFromComment** | **String**| | [optional] [default to null] |
+| **filters** | **String**| | [optional] [default to null] |
+| **searchFilters** | **String**| | [optional] [default to null] |
+| **afterId** | **String**| | [optional] [default to null] |
+| **demo** | **Boolean**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**ModerationAPIGetCommentIdsResponse**](../Models/ModerationAPIGetCommentIdsResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getBanUsersFromComment**
+> GetBannedUsersFromCommentResponse getBanUsersFromComment(commentId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**GetBannedUsersFromCommentResponse**](../Models/GetBannedUsersFromCommentResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getCommentBanStatus**
+> GetCommentBanStatusResponse getCommentBanStatus(commentId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**GetCommentBanStatusResponse**](../Models/GetCommentBanStatusResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getCommentChildren**
+> ModerationAPIChildCommentsResponse getCommentChildren(commentId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**ModerationAPIChildCommentsResponse**](../Models/ModerationAPIChildCommentsResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getCount**
+> ModerationAPICountCommentsResponse getCount(text-search, byIPFromComment, filter, searchFilters, demo, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **text-search** | **String**| | [optional] [default to null] |
+| **byIPFromComment** | **String**| | [optional] [default to null] |
+| **filter** | **String**| | [optional] [default to null] |
+| **searchFilters** | **String**| | [optional] [default to null] |
+| **demo** | **Boolean**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**ModerationAPICountCommentsResponse**](../Models/ModerationAPICountCommentsResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getCounts**
+> GetBannedUsersCountResponse getCounts(sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**GetBannedUsersCountResponse**](../Models/GetBannedUsersCountResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getLogs**
+> ModerationAPIGetLogsResponse getLogs(commentId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**ModerationAPIGetLogsResponse**](../Models/ModerationAPIGetLogsResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getManualBadges**
+> GetTenantManualBadgesResponse getManualBadges(sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**GetTenantManualBadgesResponse**](../Models/GetTenantManualBadgesResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getManualBadgesForUser**
+> GetUserManualBadgesResponse getManualBadgesForUser(badgesUserId, commentId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **badgesUserId** | **String**| | [optional] [default to null] |
+| **commentId** | **String**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**GetUserManualBadgesResponse**](../Models/GetUserManualBadgesResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getModerationComment**
+> ModerationAPICommentResponse getModerationComment(commentId, includeEmail, includeIP, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **includeEmail** | **Boolean**| | [optional] [default to null] |
+| **includeIP** | **Boolean**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**ModerationAPICommentResponse**](../Models/ModerationAPICommentResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getModerationCommentText**
+> GetCommentTextResponse getModerationCommentText(commentId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**GetCommentTextResponse**](../Models/GetCommentTextResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getPreBanSummary**
+> PreBanSummary getPreBanSummary(commentId, includeByUserIdAndEmail, includeByIP, includeByEmailDomain, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **includeByUserIdAndEmail** | **Boolean**| | [optional] [default to null] |
+| **includeByIP** | **Boolean**| | [optional] [default to null] |
+| **includeByEmailDomain** | **Boolean**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**PreBanSummary**](../Models/PreBanSummary.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getSearchCommentsSummary**
+> ModerationCommentSearchResponse getSearchCommentsSummary(value, filters, searchFilters, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **value** | **String**| | [optional] [default to null] |
+| **filters** | **String**| | [optional] [default to null] |
+| **searchFilters** | **String**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**ModerationCommentSearchResponse**](../Models/ModerationCommentSearchResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getSearchPages**
+> ModerationPageSearchResponse getSearchPages(value, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **value** | **String**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**ModerationPageSearchResponse**](../Models/ModerationPageSearchResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getSearchSites**
+> ModerationSiteSearchResponse getSearchSites(value, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **value** | **String**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**ModerationSiteSearchResponse**](../Models/ModerationSiteSearchResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getSearchSuggest**
+> ModerationSuggestResponse getSearchSuggest(text-search, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **text-search** | **String**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**ModerationSuggestResponse**](../Models/ModerationSuggestResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getSearchUsers**
+> ModerationUserSearchResponse getSearchUsers(value, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **value** | **String**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**ModerationUserSearchResponse**](../Models/ModerationUserSearchResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getTrustFactor**
+> GetUserTrustFactorResponse getTrustFactor(userId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **userId** | **String**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**GetUserTrustFactorResponse**](../Models/GetUserTrustFactorResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getUserBanPreference**
+> APIModerateGetUserBanPreferencesResponse getUserBanPreference(sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**APIModerateGetUserBanPreferencesResponse**](../Models/APIModerateGetUserBanPreferencesResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getUserInternalProfile**
+> GetUserInternalProfileResponse getUserInternalProfile(commentId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**GetUserInternalProfileResponse**](../Models/GetUserInternalProfileResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **postAdjustCommentVotes**
+> AdjustVotesResponse postAdjustCommentVotes(commentId, AdjustCommentVotesParams, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **AdjustCommentVotesParams** | [**AdjustCommentVotesParams**](../Models/AdjustCommentVotesParams.md)| | |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**AdjustVotesResponse**](../Models/AdjustVotesResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+# **postApiExport**
+> ModerationExportResponse postApiExport(text-search, byIPFromComment, filters, searchFilters, sorts, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **text-search** | **String**| | [optional] [default to null] |
+| **byIPFromComment** | **String**| | [optional] [default to null] |
+| **filters** | **String**| | [optional] [default to null] |
+| **searchFilters** | **String**| | [optional] [default to null] |
+| **sorts** | **String**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**ModerationExportResponse**](../Models/ModerationExportResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **postBanUserFromComment**
+> BanUserFromCommentResult postBanUserFromComment(commentId, banEmail, banEmailDomain, banIP, deleteAllUsersComments, bannedUntil, isShadowBan, updateId, banReason, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **banEmail** | **Boolean**| | [optional] [default to null] |
+| **banEmailDomain** | **Boolean**| | [optional] [default to null] |
+| **banIP** | **Boolean**| | [optional] [default to null] |
+| **deleteAllUsersComments** | **Boolean**| | [optional] [default to null] |
+| **bannedUntil** | **String**| | [optional] [default to null] |
+| **isShadowBan** | **Boolean**| | [optional] [default to null] |
+| **updateId** | **String**| | [optional] [default to null] |
+| **banReason** | **String**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**BanUserFromCommentResult**](../Models/BanUserFromCommentResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **postBanUserUndo**
+> APIEmptyResponse postBanUserUndo(BanUserUndoParams, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **BanUserUndoParams** | [**BanUserUndoParams**](../Models/BanUserUndoParams.md)| | |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+# **postBulkPreBanSummary**
+> BulkPreBanSummary postBulkPreBanSummary(BulkPreBanParams, includeByUserIdAndEmail, includeByIP, includeByEmailDomain, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **BulkPreBanParams** | [**BulkPreBanParams**](../Models/BulkPreBanParams.md)| | |
+| **includeByUserIdAndEmail** | **Boolean**| | [optional] [default to null] |
+| **includeByIP** | **Boolean**| | [optional] [default to null] |
+| **includeByEmailDomain** | **Boolean**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**BulkPreBanSummary**](../Models/BulkPreBanSummary.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+# **postCommentsByIds**
+> ModerationAPIChildCommentsResponse postCommentsByIds(CommentsByIdsParams, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **CommentsByIdsParams** | [**CommentsByIdsParams**](../Models/CommentsByIdsParams.md)| | |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**ModerationAPIChildCommentsResponse**](../Models/ModerationAPIChildCommentsResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+# **postFlagComment**
+> APIEmptyResponse postFlagComment(commentId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **postRemoveComment**
+> PostRemoveCommentResponse postRemoveComment(commentId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**PostRemoveCommentResponse**](../Models/PostRemoveCommentResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **postRestoreDeletedComment**
+> APIEmptyResponse postRestoreDeletedComment(commentId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **postSetCommentApprovalStatus**
+> SetCommentApprovedResponse postSetCommentApprovalStatus(commentId, approved, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **approved** | **Boolean**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**SetCommentApprovedResponse**](../Models/SetCommentApprovedResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **postSetCommentReviewStatus**
+> APIEmptyResponse postSetCommentReviewStatus(commentId, reviewed, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **reviewed** | **Boolean**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **postSetCommentSpamStatus**
+> APIEmptyResponse postSetCommentSpamStatus(commentId, spam, permNotSpam, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **spam** | **Boolean**| | [optional] [default to null] |
+| **permNotSpam** | **Boolean**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **postSetCommentText**
+> SetCommentTextResponse postSetCommentText(commentId, SetCommentTextParams, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **SetCommentTextParams** | [**SetCommentTextParams**](../Models/SetCommentTextParams.md)| | |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**SetCommentTextResponse**](../Models/SetCommentTextResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+# **postUnFlagComment**
+> APIEmptyResponse postUnFlagComment(commentId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **postVote**
+> VoteResponse postVote(commentId, direction, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **commentId** | **String**| | [default to null] |
+| **direction** | **String**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**VoteResponse**](../Models/VoteResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **putAwardBadge**
+> AwardUserBadgeResponse putAwardBadge(badgeId, userId, commentId, broadcastId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **badgeId** | **String**| | [default to null] |
+| **userId** | **String**| | [optional] [default to null] |
+| **commentId** | **String**| | [optional] [default to null] |
+| **broadcastId** | **String**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**AwardUserBadgeResponse**](../Models/AwardUserBadgeResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **putCloseThread**
+> APIEmptyResponse putCloseThread(urlId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **urlId** | **String**| | [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **putRemoveBadge**
+> RemoveUserBadgeResponse putRemoveBadge(badgeId, userId, commentId, broadcastId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **badgeId** | **String**| | [default to null] |
+| **userId** | **String**| | [optional] [default to null] |
+| **commentId** | **String**| | [optional] [default to null] |
+| **broadcastId** | **String**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**RemoveUserBadgeResponse**](../Models/RemoveUserBadgeResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **putReopenThread**
+> APIEmptyResponse putReopenThread(urlId, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **urlId** | **String**| | [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **setTrustFactor**
+> SetUserTrustFactorResponse setTrustFactor(userId, trustFactor, sso)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **userId** | **String**| | [optional] [default to null] |
+| **trustFactor** | **String**| | [optional] [default to null] |
+| **sso** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**SetUserTrustFactorResponse**](../Models/SetUserTrustFactorResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
diff --git a/docs/Apis/PublicApi.md b/docs/Apis/PublicApi.md
index bec1de4..9b2dc5e 100644
--- a/docs/Apis/PublicApi.md
+++ b/docs/Apis/PublicApi.md
@@ -8,22 +8,39 @@ All URIs are relative to *https://fastcomments.com*
| [**checkedCommentsForBlocked**](PublicApi.md#checkedCommentsForBlocked) | **GET** /check-blocked-comments | |
| [**createCommentPublic**](PublicApi.md#createCommentPublic) | **POST** /comments/{tenantId} | |
| [**createFeedPostPublic**](PublicApi.md#createFeedPostPublic) | **POST** /feed-posts/{tenantId} | |
+| [**createV1PageReact**](PublicApi.md#createV1PageReact) | **POST** /page-reacts/v1/likes/{tenantId} | |
+| [**createV2PageReact**](PublicApi.md#createV2PageReact) | **POST** /page-reacts/v2/{tenantId} | |
| [**deleteCommentPublic**](PublicApi.md#deleteCommentPublic) | **DELETE** /comments/{tenantId}/{commentId} | |
| [**deleteCommentVote**](PublicApi.md#deleteCommentVote) | **DELETE** /comments/{tenantId}/{commentId}/vote/{voteId} | |
| [**deleteFeedPostPublic**](PublicApi.md#deleteFeedPostPublic) | **DELETE** /feed-posts/{tenantId}/{postId} | |
+| [**deleteV1PageReact**](PublicApi.md#deleteV1PageReact) | **DELETE** /page-reacts/v1/likes/{tenantId} | |
+| [**deleteV2PageReact**](PublicApi.md#deleteV2PageReact) | **DELETE** /page-reacts/v2/{tenantId} | |
| [**flagCommentPublic**](PublicApi.md#flagCommentPublic) | **POST** /flag-comment/{commentId} | |
| [**getCommentText**](PublicApi.md#getCommentText) | **GET** /comments/{tenantId}/{commentId}/text | |
| [**getCommentVoteUserNames**](PublicApi.md#getCommentVoteUserNames) | **GET** /comments/{tenantId}/{commentId}/votes | |
+| [**getCommentsForUser**](PublicApi.md#getCommentsForUser) | **GET** /comments-for-user | |
| [**getCommentsPublic**](PublicApi.md#getCommentsPublic) | **GET** /comments/{tenantId} | |
| [**getEventLog**](PublicApi.md#getEventLog) | **GET** /event-log/{tenantId} | |
| [**getFeedPostsPublic**](PublicApi.md#getFeedPostsPublic) | **GET** /feed-posts/{tenantId} | |
| [**getFeedPostsStats**](PublicApi.md#getFeedPostsStats) | **GET** /feed-posts/{tenantId}/stats | |
+| [**getGifLarge**](PublicApi.md#getGifLarge) | **GET** /gifs/get-large/{tenantId} | |
+| [**getGifsSearch**](PublicApi.md#getGifsSearch) | **GET** /gifs/search/{tenantId} | |
+| [**getGifsTrending**](PublicApi.md#getGifsTrending) | **GET** /gifs/trending/{tenantId} | |
| [**getGlobalEventLog**](PublicApi.md#getGlobalEventLog) | **GET** /event-log/global/{tenantId} | |
+| [**getOfflineUsers**](PublicApi.md#getOfflineUsers) | **GET** /pages/{tenantId}/users/offline | |
+| [**getOnlineUsers**](PublicApi.md#getOnlineUsers) | **GET** /pages/{tenantId}/users/online | |
+| [**getPagesPublic**](PublicApi.md#getPagesPublic) | **GET** /pages/{tenantId} | |
+| [**getTranslations**](PublicApi.md#getTranslations) | **GET** /translations/{namespace}/{component} | |
| [**getUserNotificationCount**](PublicApi.md#getUserNotificationCount) | **GET** /user-notifications/get-count | |
| [**getUserNotifications**](PublicApi.md#getUserNotifications) | **GET** /user-notifications | |
| [**getUserPresenceStatuses**](PublicApi.md#getUserPresenceStatuses) | **GET** /user-presence-status | |
| [**getUserReactsPublic**](PublicApi.md#getUserReactsPublic) | **GET** /feed-posts/{tenantId}/user-reacts | |
+| [**getUsersInfo**](PublicApi.md#getUsersInfo) | **GET** /pages/{tenantId}/users/info | |
+| [**getV1PageLikes**](PublicApi.md#getV1PageLikes) | **GET** /page-reacts/v1/likes/{tenantId} | |
+| [**getV2PageReactUsers**](PublicApi.md#getV2PageReactUsers) | **GET** /page-reacts/v2/{tenantId}/list | |
+| [**getV2PageReacts**](PublicApi.md#getV2PageReacts) | **GET** /page-reacts/v2/{tenantId} | |
| [**lockComment**](PublicApi.md#lockComment) | **POST** /comments/{tenantId}/{commentId}/lock | |
+| [**logoutPublic**](PublicApi.md#logoutPublic) | **PUT** /auth/logout | |
| [**pinComment**](PublicApi.md#pinComment) | **POST** /comments/{tenantId}/{commentId}/pin | |
| [**reactFeedPostPublic**](PublicApi.md#reactFeedPostPublic) | **POST** /feed-posts/{tenantId}/react/{postId} | |
| [**resetUserNotificationCount**](PublicApi.md#resetUserNotificationCount) | **POST** /user-notifications/reset-count | |
@@ -43,7 +60,7 @@ All URIs are relative to *https://fastcomments.com*
# **blockFromCommentPublic**
-> BlockFromCommentPublic_200_response blockFromCommentPublic(tenantId, commentId, PublicBlockFromCommentParams, sso)
+> BlockSuccess blockFromCommentPublic(tenantId, commentId, PublicBlockFromCommentParams, sso)
@@ -58,7 +75,7 @@ All URIs are relative to *https://fastcomments.com*
### Return type
-[**BlockFromCommentPublic_200_response**](../Models/BlockFromCommentPublic_200_response.md)
+[**BlockSuccess**](../Models/BlockSuccess.md)
### Authorization
@@ -71,7 +88,7 @@ No authorization required
# **checkedCommentsForBlocked**
-> CheckedCommentsForBlocked_200_response checkedCommentsForBlocked(tenantId, commentIds, sso)
+> CheckBlockedCommentsResponse checkedCommentsForBlocked(tenantId, commentIds, sso)
@@ -85,7 +102,7 @@ No authorization required
### Return type
-[**CheckedCommentsForBlocked_200_response**](../Models/CheckedCommentsForBlocked_200_response.md)
+[**CheckBlockedCommentsResponse**](../Models/CheckBlockedCommentsResponse.md)
### Authorization
@@ -98,7 +115,7 @@ No authorization required
# **createCommentPublic**
-> CreateCommentPublic_200_response createCommentPublic(tenantId, urlId, broadcastId, CommentData, sessionId, sso)
+> SaveCommentsResponseWithPresence createCommentPublic(tenantId, urlId, broadcastId, CommentData, sessionId, sso)
@@ -115,7 +132,7 @@ No authorization required
### Return type
-[**CreateCommentPublic_200_response**](../Models/CreateCommentPublic_200_response.md)
+[**SaveCommentsResponseWithPresence**](../Models/SaveCommentsResponseWithPresence.md)
### Authorization
@@ -128,7 +145,7 @@ No authorization required
# **createFeedPostPublic**
-> CreateFeedPostPublic_200_response createFeedPostPublic(tenantId, CreateFeedPostParams, broadcastId, sso)
+> CreateFeedPostResponse createFeedPostPublic(tenantId, CreateFeedPostParams, broadcastId, sso)
@@ -143,7 +160,7 @@ No authorization required
### Return type
-[**CreateFeedPostPublic_200_response**](../Models/CreateFeedPostPublic_200_response.md)
+[**CreateFeedPostResponse**](../Models/CreateFeedPostResponse.md)
### Authorization
@@ -154,9 +171,64 @@ No authorization required
- **Content-Type**: application/json
- **Accept**: application/json
+
+# **createV1PageReact**
+> CreateV1PageReact createV1PageReact(tenantId, urlId, title)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **tenantId** | **String**| | [default to null] |
+| **urlId** | **String**| | [default to null] |
+| **title** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**CreateV1PageReact**](../Models/CreateV1PageReact.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **createV2PageReact**
+> CreateV1PageReact createV2PageReact(tenantId, urlId, id, title)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **tenantId** | **String**| | [default to null] |
+| **urlId** | **String**| | [default to null] |
+| **id** | **String**| | [default to null] |
+| **title** | **String**| | [optional] [default to null] |
+
+### Return type
+
+[**CreateV1PageReact**](../Models/CreateV1PageReact.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
# **deleteCommentPublic**
-> DeleteCommentPublic_200_response deleteCommentPublic(tenantId, commentId, broadcastId, editKey, sso)
+> PublicAPIDeleteCommentResponse deleteCommentPublic(tenantId, commentId, broadcastId, editKey, sso)
@@ -172,7 +244,7 @@ No authorization required
### Return type
-[**DeleteCommentPublic_200_response**](../Models/DeleteCommentPublic_200_response.md)
+[**PublicAPIDeleteCommentResponse**](../Models/PublicAPIDeleteCommentResponse.md)
### Authorization
@@ -185,7 +257,7 @@ No authorization required
# **deleteCommentVote**
-> DeleteCommentVote_200_response deleteCommentVote(tenantId, commentId, voteId, urlId, broadcastId, editKey, sso)
+> VoteDeleteResponse deleteCommentVote(tenantId, commentId, voteId, urlId, broadcastId, editKey, sso)
@@ -203,7 +275,7 @@ No authorization required
### Return type
-[**DeleteCommentVote_200_response**](../Models/DeleteCommentVote_200_response.md)
+[**VoteDeleteResponse**](../Models/VoteDeleteResponse.md)
### Authorization
@@ -216,7 +288,7 @@ No authorization required
# **deleteFeedPostPublic**
-> DeleteFeedPostPublic_200_response deleteFeedPostPublic(tenantId, postId, broadcastId, sso)
+> DeleteFeedPostPublicResponse deleteFeedPostPublic(tenantId, postId, broadcastId, sso)
@@ -231,7 +303,60 @@ No authorization required
### Return type
-[**DeleteFeedPostPublic_200_response**](../Models/DeleteFeedPostPublic_200_response.md)
+[**DeleteFeedPostPublicResponse**](../Models/DeleteFeedPostPublicResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **deleteV1PageReact**
+> CreateV1PageReact deleteV1PageReact(tenantId, urlId)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **tenantId** | **String**| | [default to null] |
+| **urlId** | **String**| | [default to null] |
+
+### Return type
+
+[**CreateV1PageReact**](../Models/CreateV1PageReact.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **deleteV2PageReact**
+> CreateV1PageReact deleteV2PageReact(tenantId, urlId, id)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **tenantId** | **String**| | [default to null] |
+| **urlId** | **String**| | [default to null] |
+| **id** | **String**| | [default to null] |
+
+### Return type
+
+[**CreateV1PageReact**](../Models/CreateV1PageReact.md)
### Authorization
@@ -244,7 +369,7 @@ No authorization required
# **flagCommentPublic**
-> FlagCommentPublic_200_response flagCommentPublic(tenantId, commentId, isFlagged, sso)
+> APIEmptyResponse flagCommentPublic(tenantId, commentId, isFlagged, sso)
@@ -259,7 +384,7 @@ No authorization required
### Return type
-[**FlagCommentPublic_200_response**](../Models/FlagCommentPublic_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -272,7 +397,7 @@ No authorization required
# **getCommentText**
-> GetCommentText_200_response getCommentText(tenantId, commentId, editKey, sso)
+> PublicAPIGetCommentTextResponse getCommentText(tenantId, commentId, editKey, sso)
@@ -287,7 +412,7 @@ No authorization required
### Return type
-[**GetCommentText_200_response**](../Models/GetCommentText_200_response.md)
+[**PublicAPIGetCommentTextResponse**](../Models/PublicAPIGetCommentTextResponse.md)
### Authorization
@@ -300,7 +425,7 @@ No authorization required
# **getCommentVoteUserNames**
-> GetCommentVoteUserNames_200_response getCommentVoteUserNames(tenantId, commentId, dir, sso)
+> GetCommentVoteUserNamesSuccessResponse getCommentVoteUserNames(tenantId, commentId, dir, sso)
@@ -315,7 +440,38 @@ No authorization required
### Return type
-[**GetCommentVoteUserNames_200_response**](../Models/GetCommentVoteUserNames_200_response.md)
+[**GetCommentVoteUserNamesSuccessResponse**](../Models/GetCommentVoteUserNamesSuccessResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getCommentsForUser**
+> GetCommentsForUserResponse getCommentsForUser(userId, direction, repliesToUserId, page, includei10n, locale, isCrawler)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **userId** | **String**| | [optional] [default to null] |
+| **direction** | [**SortDirections**](../Models/.md)| | [optional] [default to null] [enum: OF, NF, MR] |
+| **repliesToUserId** | **String**| | [optional] [default to null] |
+| **page** | **Double**| | [optional] [default to null] |
+| **includei10n** | **Boolean**| | [optional] [default to null] |
+| **locale** | **String**| | [optional] [default to null] |
+| **isCrawler** | **Boolean**| | [optional] [default to null] |
+
+### Return type
+
+[**GetCommentsForUserResponse**](../Models/GetCommentsForUserResponse.md)
### Authorization
@@ -328,7 +484,7 @@ No authorization required
# **getCommentsPublic**
-> GetCommentsPublic_200_response getCommentsPublic(tenantId, urlId, page, direction, sso, skip, skipChildren, limit, limitChildren, countChildren, fetchPageForCommentId, includeConfig, countAll, includei10n, locale, modules, isCrawler, includeNotificationCount, asTree, maxTreeDepth, useFullTranslationIds, parentId, searchText, hashTags, userId, customConfigStr, afterCommentId, beforeCommentId)
+> GetCommentsResponseWithPresence_PublicComment_ getCommentsPublic(tenantId, urlId, page, direction, sso, skip, skipChildren, limit, limitChildren, countChildren, fetchPageForCommentId, includeConfig, countAll, includei10n, locale, modules, isCrawler, includeNotificationCount, asTree, maxTreeDepth, useFullTranslationIds, parentId, searchText, hashTags, userId, customConfigStr, afterCommentId, beforeCommentId)
@@ -369,7 +525,7 @@ No authorization required
### Return type
-[**GetCommentsPublic_200_response**](../Models/GetCommentsPublic_200_response.md)
+[**GetCommentsResponseWithPresence_PublicComment_**](../Models/GetCommentsResponseWithPresence_PublicComment_.md)
### Authorization
@@ -382,7 +538,7 @@ No authorization required
# **getEventLog**
-> GetEventLog_200_response getEventLog(tenantId, urlId, userIdWS, startTime, endTime)
+> GetEventLogResponse getEventLog(tenantId, urlId, userIdWS, startTime, endTime)
@@ -396,11 +552,11 @@ No authorization required
| **urlId** | **String**| | [default to null] |
| **userIdWS** | **String**| | [default to null] |
| **startTime** | **Long**| | [default to null] |
-| **endTime** | **Long**| | [default to null] |
+| **endTime** | **Long**| | [optional] [default to null] |
### Return type
-[**GetEventLog_200_response**](../Models/GetEventLog_200_response.md)
+[**GetEventLogResponse**](../Models/GetEventLogResponse.md)
### Authorization
@@ -413,7 +569,7 @@ No authorization required
# **getFeedPostsPublic**
-> GetFeedPostsPublic_200_response getFeedPostsPublic(tenantId, afterId, limit, tags, sso, isCrawler, includeUserInfo)
+> PublicFeedPostsResponse getFeedPostsPublic(tenantId, afterId, limit, tags, sso, isCrawler, includeUserInfo)
@@ -433,7 +589,7 @@ No authorization required
### Return type
-[**GetFeedPostsPublic_200_response**](../Models/GetFeedPostsPublic_200_response.md)
+[**PublicFeedPostsResponse**](../Models/PublicFeedPostsResponse.md)
### Authorization
@@ -446,7 +602,7 @@ No authorization required
# **getFeedPostsStats**
-> GetFeedPostsStats_200_response getFeedPostsStats(tenantId, postIds, sso)
+> FeedPostsStatsResponse getFeedPostsStats(tenantId, postIds, sso)
@@ -460,7 +616,90 @@ No authorization required
### Return type
-[**GetFeedPostsStats_200_response**](../Models/GetFeedPostsStats_200_response.md)
+[**FeedPostsStatsResponse**](../Models/FeedPostsStatsResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getGifLarge**
+> GifGetLargeResponse getGifLarge(tenantId, largeInternalURLSanitized)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **tenantId** | **String**| | [default to null] |
+| **largeInternalURLSanitized** | **String**| | [default to null] |
+
+### Return type
+
+[**GifGetLargeResponse**](../Models/GifGetLargeResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getGifsSearch**
+> GetGifsSearchResponse getGifsSearch(tenantId, search, locale, rating, page)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **tenantId** | **String**| | [default to null] |
+| **search** | **String**| | [default to null] |
+| **locale** | **String**| | [optional] [default to null] |
+| **rating** | **String**| | [optional] [default to null] |
+| **page** | **Double**| | [optional] [default to null] |
+
+### Return type
+
+[**GetGifsSearchResponse**](../Models/GetGifsSearchResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getGifsTrending**
+> GetGifsTrendingResponse getGifsTrending(tenantId, locale, rating, page)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **tenantId** | **String**| | [default to null] |
+| **locale** | **String**| | [optional] [default to null] |
+| **rating** | **String**| | [optional] [default to null] |
+| **page** | **Double**| | [optional] [default to null] |
+
+### Return type
+
+[**GetGifsTrendingResponse**](../Models/GetGifsTrendingResponse.md)
### Authorization
@@ -473,7 +712,7 @@ No authorization required
# **getGlobalEventLog**
-> GetEventLog_200_response getGlobalEventLog(tenantId, urlId, userIdWS, startTime, endTime)
+> GetEventLogResponse getGlobalEventLog(tenantId, urlId, userIdWS, startTime, endTime)
@@ -487,11 +726,131 @@ No authorization required
| **urlId** | **String**| | [default to null] |
| **userIdWS** | **String**| | [default to null] |
| **startTime** | **Long**| | [default to null] |
-| **endTime** | **Long**| | [default to null] |
+| **endTime** | **Long**| | [optional] [default to null] |
### Return type
-[**GetEventLog_200_response**](../Models/GetEventLog_200_response.md)
+[**GetEventLogResponse**](../Models/GetEventLogResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getOfflineUsers**
+> PageUsersOfflineResponse getOfflineUsers(tenantId, urlId, afterName, afterUserId)
+
+
+
+ Past commenters on the page who are NOT currently online. Sorted by displayName. Use this after exhausting /users/online to render a \"Members\" section. Cursor pagination on commenterName: server walks the partial {tenantId, urlId, commenterName} index from afterName forward via $gt, no $skip cost.
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **tenantId** | **String**| | [default to null] |
+| **urlId** | **String**| Page URL identifier (cleaned server-side). | [default to null] |
+| **afterName** | **String**| Cursor: pass nextAfterName from the previous response. | [optional] [default to null] |
+| **afterUserId** | **String**| Cursor tiebreaker: pass nextAfterUserId from the previous response. Required when afterName is set so name-ties don't drop entries. | [optional] [default to null] |
+
+### Return type
+
+[**PageUsersOfflineResponse**](../Models/PageUsersOfflineResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getOnlineUsers**
+> PageUsersOnlineResponse getOnlineUsers(tenantId, urlId, afterName, afterUserId)
+
+
+
+ Currently-online viewers of a page: people whose websocket session is subscribed to the page right now. Returns anonCount + totalCount (room-wide subscribers, including anon viewers we don't enumerate).
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **tenantId** | **String**| | [default to null] |
+| **urlId** | **String**| Page URL identifier (cleaned server-side). | [default to null] |
+| **afterName** | **String**| Cursor: pass nextAfterName from the previous response. | [optional] [default to null] |
+| **afterUserId** | **String**| Cursor tiebreaker: pass nextAfterUserId from the previous response. Required when afterName is set so name-ties don't drop entries. | [optional] [default to null] |
+
+### Return type
+
+[**PageUsersOnlineResponse**](../Models/PageUsersOnlineResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getPagesPublic**
+> GetPublicPagesResponse getPagesPublic(tenantId, cursor, limit, q, sortBy, hasComments)
+
+
+
+ List pages for a tenant. Used by the FChat desktop client to populate its room list. Requires `enableFChat` to be true on the resolved custom config for each page. Pages that require SSO are filtered against the requesting user's group access.
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **tenantId** | **String**| | [default to null] |
+| **cursor** | **String**| Opaque pagination cursor returned as `nextCursor` from a prior request. Tied to the same `sortBy`. | [optional] [default to null] |
+| **limit** | **Integer**| 1..200, default 50 | [optional] [default to null] |
+| **q** | **String**| Optional case-insensitive title prefix filter. | [optional] [default to null] |
+| **sortBy** | [**PagesSortBy**](../Models/.md)| Sort order. `updatedAt` (default, newest first), `commentCount` (most comments first), or `title` (alphabetical). | [optional] [default to null] [enum: updatedAt, commentCount, title] |
+| **hasComments** | **Boolean**| If true, only return pages with at least one comment. | [optional] [default to null] |
+
+### Return type
+
+[**GetPublicPagesResponse**](../Models/GetPublicPagesResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getTranslations**
+> GetTranslationsResponse getTranslations(namespace, component, locale, useFullTranslationIds)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **namespace** | **String**| | [default to null] |
+| **component** | **String**| | [default to null] |
+| **locale** | **String**| | [optional] [default to null] |
+| **useFullTranslationIds** | **Boolean**| | [optional] [default to null] |
+
+### Return type
+
+[**GetTranslationsResponse**](../Models/GetTranslationsResponse.md)
### Authorization
@@ -504,7 +863,7 @@ No authorization required
# **getUserNotificationCount**
-> GetUserNotificationCount_200_response getUserNotificationCount(tenantId, sso)
+> GetUserNotificationCountResponse getUserNotificationCount(tenantId, sso)
@@ -517,7 +876,7 @@ No authorization required
### Return type
-[**GetUserNotificationCount_200_response**](../Models/GetUserNotificationCount_200_response.md)
+[**GetUserNotificationCountResponse**](../Models/GetUserNotificationCountResponse.md)
### Authorization
@@ -530,7 +889,7 @@ No authorization required
# **getUserNotifications**
-> GetUserNotifications_200_response getUserNotifications(tenantId, pageSize, afterId, includeContext, afterCreatedAt, unreadOnly, dmOnly, noDm, includeTranslations, sso)
+> GetMyNotificationsResponse getUserNotifications(tenantId, urlId, pageSize, afterId, includeContext, afterCreatedAt, unreadOnly, dmOnly, noDm, includeTranslations, includeTenantNotifications, sso)
@@ -539,6 +898,7 @@ No authorization required
|Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **tenantId** | **String**| | [default to null] |
+| **urlId** | **String**| Used to determine whether the current page is subscribed. | [optional] [default to null] |
| **pageSize** | **Integer**| | [optional] [default to null] |
| **afterId** | **String**| | [optional] [default to null] |
| **includeContext** | **Boolean**| | [optional] [default to null] |
@@ -547,11 +907,12 @@ No authorization required
| **dmOnly** | **Boolean**| | [optional] [default to null] |
| **noDm** | **Boolean**| | [optional] [default to null] |
| **includeTranslations** | **Boolean**| | [optional] [default to null] |
+| **includeTenantNotifications** | **Boolean**| | [optional] [default to null] |
| **sso** | **String**| | [optional] [default to null] |
### Return type
-[**GetUserNotifications_200_response**](../Models/GetUserNotifications_200_response.md)
+[**GetMyNotificationsResponse**](../Models/GetMyNotificationsResponse.md)
### Authorization
@@ -564,7 +925,7 @@ No authorization required
# **getUserPresenceStatuses**
-> GetUserPresenceStatuses_200_response getUserPresenceStatuses(tenantId, urlIdWS, userIds)
+> GetUserPresenceStatusesResponse getUserPresenceStatuses(tenantId, urlIdWS, userIds)
@@ -578,7 +939,7 @@ No authorization required
### Return type
-[**GetUserPresenceStatuses_200_response**](../Models/GetUserPresenceStatuses_200_response.md)
+[**GetUserPresenceStatusesResponse**](../Models/GetUserPresenceStatusesResponse.md)
### Authorization
@@ -591,7 +952,7 @@ No authorization required
# **getUserReactsPublic**
-> GetUserReactsPublic_200_response getUserReactsPublic(tenantId, postIds, sso)
+> UserReactsResponse getUserReactsPublic(tenantId, postIds, sso)
@@ -605,7 +966,114 @@ No authorization required
### Return type
-[**GetUserReactsPublic_200_response**](../Models/GetUserReactsPublic_200_response.md)
+[**UserReactsResponse**](../Models/UserReactsResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getUsersInfo**
+> PageUsersInfoResponse getUsersInfo(tenantId, ids)
+
+
+
+ Bulk user info for a tenant. Given userIds, return display info from User / SSOUser. Used by the comment widget to enrich users that just appeared via a presence event. No page context: privacy is enforced uniformly (private profiles are masked).
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **tenantId** | **String**| | [default to null] |
+| **ids** | **String**| Comma-delimited userIds. | [default to null] |
+
+### Return type
+
+[**PageUsersInfoResponse**](../Models/PageUsersInfoResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getV1PageLikes**
+> GetV1PageLikes getV1PageLikes(tenantId, urlId)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **tenantId** | **String**| | [default to null] |
+| **urlId** | **String**| | [default to null] |
+
+### Return type
+
+[**GetV1PageLikes**](../Models/GetV1PageLikes.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getV2PageReactUsers**
+> GetV2PageReactUsersResponse getV2PageReactUsers(tenantId, urlId, id)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **tenantId** | **String**| | [default to null] |
+| **urlId** | **String**| | [default to null] |
+| **id** | **String**| | [default to null] |
+
+### Return type
+
+[**GetV2PageReactUsersResponse**](../Models/GetV2PageReactUsersResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **getV2PageReacts**
+> GetV2PageReacts getV2PageReacts(tenantId, urlId)
+
+
+
+### Parameters
+
+|Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **tenantId** | **String**| | [default to null] |
+| **urlId** | **String**| | [default to null] |
+
+### Return type
+
+[**GetV2PageReacts**](../Models/GetV2PageReacts.md)
### Authorization
@@ -618,7 +1086,7 @@ No authorization required
# **lockComment**
-> LockComment_200_response lockComment(tenantId, commentId, broadcastId, sso)
+> APIEmptyResponse lockComment(tenantId, commentId, broadcastId, sso)
@@ -633,7 +1101,29 @@ No authorization required
### Return type
-[**LockComment_200_response**](../Models/LockComment_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+# **logoutPublic**
+> APIEmptyResponse logoutPublic()
+
+
+
+### Parameters
+This endpoint does not need any parameter.
+
+### Return type
+
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -646,7 +1136,7 @@ No authorization required
# **pinComment**
-> PinComment_200_response pinComment(tenantId, commentId, broadcastId, sso)
+> ChangeCommentPinStatusResponse pinComment(tenantId, commentId, broadcastId, sso)
@@ -661,7 +1151,7 @@ No authorization required
### Return type
-[**PinComment_200_response**](../Models/PinComment_200_response.md)
+[**ChangeCommentPinStatusResponse**](../Models/ChangeCommentPinStatusResponse.md)
### Authorization
@@ -674,7 +1164,7 @@ No authorization required
# **reactFeedPostPublic**
-> ReactFeedPostPublic_200_response reactFeedPostPublic(tenantId, postId, ReactBodyParams, isUndo, broadcastId, sso)
+> ReactFeedPostResponse reactFeedPostPublic(tenantId, postId, ReactBodyParams, isUndo, broadcastId, sso)
@@ -691,7 +1181,7 @@ No authorization required
### Return type
-[**ReactFeedPostPublic_200_response**](../Models/ReactFeedPostPublic_200_response.md)
+[**ReactFeedPostResponse**](../Models/ReactFeedPostResponse.md)
### Authorization
@@ -704,7 +1194,7 @@ No authorization required
# **resetUserNotificationCount**
-> ResetUserNotifications_200_response resetUserNotificationCount(tenantId, sso)
+> ResetUserNotificationsResponse resetUserNotificationCount(tenantId, sso)
@@ -717,7 +1207,7 @@ No authorization required
### Return type
-[**ResetUserNotifications_200_response**](../Models/ResetUserNotifications_200_response.md)
+[**ResetUserNotificationsResponse**](../Models/ResetUserNotificationsResponse.md)
### Authorization
@@ -730,7 +1220,7 @@ No authorization required
# **resetUserNotifications**
-> ResetUserNotifications_200_response resetUserNotifications(tenantId, afterId, afterCreatedAt, unreadOnly, dmOnly, noDm, sso)
+> ResetUserNotificationsResponse resetUserNotifications(tenantId, afterId, afterCreatedAt, unreadOnly, dmOnly, noDm, sso)
@@ -748,7 +1238,7 @@ No authorization required
### Return type
-[**ResetUserNotifications_200_response**](../Models/ResetUserNotifications_200_response.md)
+[**ResetUserNotificationsResponse**](../Models/ResetUserNotificationsResponse.md)
### Authorization
@@ -761,7 +1251,7 @@ No authorization required
# **searchUsers**
-> SearchUsers_200_response searchUsers(tenantId, urlId, usernameStartsWith, mentionGroupIds, sso, searchSection)
+> SearchUsersResult searchUsers(tenantId, urlId, usernameStartsWith, mentionGroupIds, sso, searchSection)
@@ -778,7 +1268,7 @@ No authorization required
### Return type
-[**SearchUsers_200_response**](../Models/SearchUsers_200_response.md)
+[**SearchUsersResult**](../Models/SearchUsersResult.md)
### Authorization
@@ -791,7 +1281,7 @@ No authorization required
# **setCommentText**
-> SetCommentText_200_response setCommentText(tenantId, commentId, broadcastId, CommentTextUpdateRequest, editKey, sso)
+> PublicAPISetCommentTextResponse setCommentText(tenantId, commentId, broadcastId, CommentTextUpdateRequest, editKey, sso)
@@ -808,7 +1298,7 @@ No authorization required
### Return type
-[**SetCommentText_200_response**](../Models/SetCommentText_200_response.md)
+[**PublicAPISetCommentTextResponse**](../Models/PublicAPISetCommentTextResponse.md)
### Authorization
@@ -821,7 +1311,7 @@ No authorization required
# **unBlockCommentPublic**
-> UnBlockCommentPublic_200_response unBlockCommentPublic(tenantId, commentId, PublicBlockFromCommentParams, sso)
+> UnblockSuccess unBlockCommentPublic(tenantId, commentId, PublicBlockFromCommentParams, sso)
@@ -836,7 +1326,7 @@ No authorization required
### Return type
-[**UnBlockCommentPublic_200_response**](../Models/UnBlockCommentPublic_200_response.md)
+[**UnblockSuccess**](../Models/UnblockSuccess.md)
### Authorization
@@ -849,7 +1339,7 @@ No authorization required
# **unLockComment**
-> LockComment_200_response unLockComment(tenantId, commentId, broadcastId, sso)
+> APIEmptyResponse unLockComment(tenantId, commentId, broadcastId, sso)
@@ -864,7 +1354,7 @@ No authorization required
### Return type
-[**LockComment_200_response**](../Models/LockComment_200_response.md)
+[**APIEmptyResponse**](../Models/APIEmptyResponse.md)
### Authorization
@@ -877,7 +1367,7 @@ No authorization required
# **unPinComment**
-> PinComment_200_response unPinComment(tenantId, commentId, broadcastId, sso)
+> ChangeCommentPinStatusResponse unPinComment(tenantId, commentId, broadcastId, sso)
@@ -892,7 +1382,7 @@ No authorization required
### Return type
-[**PinComment_200_response**](../Models/PinComment_200_response.md)
+[**ChangeCommentPinStatusResponse**](../Models/ChangeCommentPinStatusResponse.md)
### Authorization
@@ -905,7 +1395,7 @@ No authorization required
# **updateFeedPostPublic**
-> CreateFeedPostPublic_200_response updateFeedPostPublic(tenantId, postId, UpdateFeedPostParams, broadcastId, sso)
+> CreateFeedPostResponse updateFeedPostPublic(tenantId, postId, UpdateFeedPostParams, broadcastId, sso)
@@ -921,7 +1411,7 @@ No authorization required
### Return type
-[**CreateFeedPostPublic_200_response**](../Models/CreateFeedPostPublic_200_response.md)
+[**CreateFeedPostResponse**](../Models/CreateFeedPostResponse.md)
### Authorization
@@ -934,7 +1424,7 @@ No authorization required
# **updateUserNotificationCommentSubscriptionStatus**
-> UpdateUserNotificationStatus_200_response updateUserNotificationCommentSubscriptionStatus(tenantId, notificationId, optedInOrOut, commentId, sso)
+> UpdateUserNotificationCommentSubscriptionStatusResponse updateUserNotificationCommentSubscriptionStatus(tenantId, notificationId, optedInOrOut, commentId, sso)
@@ -952,7 +1442,7 @@ No authorization required
### Return type
-[**UpdateUserNotificationStatus_200_response**](../Models/UpdateUserNotificationStatus_200_response.md)
+[**UpdateUserNotificationCommentSubscriptionStatusResponse**](../Models/UpdateUserNotificationCommentSubscriptionStatusResponse.md)
### Authorization
@@ -965,7 +1455,7 @@ No authorization required
# **updateUserNotificationPageSubscriptionStatus**
-> UpdateUserNotificationStatus_200_response updateUserNotificationPageSubscriptionStatus(tenantId, urlId, url, pageTitle, subscribedOrUnsubscribed, sso)
+> UpdateUserNotificationPageSubscriptionStatusResponse updateUserNotificationPageSubscriptionStatus(tenantId, urlId, url, pageTitle, subscribedOrUnsubscribed, sso)
@@ -984,7 +1474,7 @@ No authorization required
### Return type
-[**UpdateUserNotificationStatus_200_response**](../Models/UpdateUserNotificationStatus_200_response.md)
+[**UpdateUserNotificationPageSubscriptionStatusResponse**](../Models/UpdateUserNotificationPageSubscriptionStatusResponse.md)
### Authorization
@@ -997,7 +1487,7 @@ No authorization required
# **updateUserNotificationStatus**
-> UpdateUserNotificationStatus_200_response updateUserNotificationStatus(tenantId, notificationId, newStatus, sso)
+> UpdateUserNotificationStatusResponse updateUserNotificationStatus(tenantId, notificationId, newStatus, sso)
@@ -1012,7 +1502,7 @@ No authorization required
### Return type
-[**UpdateUserNotificationStatus_200_response**](../Models/UpdateUserNotificationStatus_200_response.md)
+[**UpdateUserNotificationStatusResponse**](../Models/UpdateUserNotificationStatusResponse.md)
### Authorization
@@ -1055,7 +1545,7 @@ No authorization required
# **voteComment**
-> VoteComment_200_response voteComment(tenantId, commentId, urlId, broadcastId, VoteBodyParams, sessionId, sso)
+> VoteResponse voteComment(tenantId, commentId, urlId, broadcastId, VoteBodyParams, sessionId, sso)
@@ -1073,7 +1563,7 @@ No authorization required
### Return type
-[**VoteComment_200_response**](../Models/VoteComment_200_response.md)
+[**VoteResponse**](../Models/VoteResponse.md)
### Authorization
diff --git a/docs/Models/APIBanUserChangeLog.md b/docs/Models/APIBanUserChangeLog.md
new file mode 100644
index 0000000..1afea5a
--- /dev/null
+++ b/docs/Models/APIBanUserChangeLog.md
@@ -0,0 +1,12 @@
+# APIBanUserChangeLog
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **createdBannedUserId** | **String** | | [optional] [default to null] |
+| **updatedBannedUserId** | **String** | | [optional] [default to null] |
+| **deletedBannedUsers** | [**List**](APIBannedUser.md) | | [optional] [default to null] |
+| **changedValuesBefore** | [**APIBanUserChangedValues**](APIBanUserChangedValues.md) | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/APIBanUserChangedValues.md b/docs/Models/APIBanUserChangedValues.md
new file mode 100644
index 0000000..3c63b39
--- /dev/null
+++ b/docs/Models/APIBanUserChangedValues.md
@@ -0,0 +1,21 @@
+# APIBanUserChangedValues
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **\_id** | **String** | | [optional] [default to null] |
+| **tenantId** | **String** | | [optional] [default to null] |
+| **userId** | **String** | | [optional] [default to null] |
+| **email** | **String** | | [optional] [default to null] |
+| **username** | **String** | | [optional] [default to null] |
+| **ipHash** | **String** | | [optional] [default to null] |
+| **createdAt** | **Date** | | [optional] [default to null] |
+| **bannedByUserId** | **String** | | [optional] [default to null] |
+| **bannedCommentText** | **String** | | [optional] [default to null] |
+| **banType** | **String** | | [optional] [default to null] |
+| **bannedUntil** | **Date** | | [optional] [default to null] |
+| **hasEmailWildcard** | **Boolean** | | [optional] [default to null] |
+| **banReason** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/APIBannedUser.md b/docs/Models/APIBannedUser.md
new file mode 100644
index 0000000..79e2400
--- /dev/null
+++ b/docs/Models/APIBannedUser.md
@@ -0,0 +1,21 @@
+# APIBannedUser
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **\_id** | **String** | | [default to null] |
+| **tenantId** | **String** | | [default to null] |
+| **userId** | **String** | | [optional] [default to null] |
+| **email** | **String** | | [optional] [default to null] |
+| **username** | **String** | | [optional] [default to null] |
+| **ipHash** | **String** | | [optional] [default to null] |
+| **createdAt** | **Date** | | [default to null] |
+| **bannedByUserId** | **String** | | [default to null] |
+| **bannedCommentText** | **String** | | [default to null] |
+| **banType** | **String** | | [default to null] |
+| **bannedUntil** | **Date** | | [default to null] |
+| **hasEmailWildcard** | **Boolean** | | [default to null] |
+| **banReason** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/APIBannedUserWithMultiMatchInfo.md b/docs/Models/APIBannedUserWithMultiMatchInfo.md
new file mode 100644
index 0000000..b1ee282
--- /dev/null
+++ b/docs/Models/APIBannedUserWithMultiMatchInfo.md
@@ -0,0 +1,17 @@
+# APIBannedUserWithMultiMatchInfo
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **\_id** | **String** | | [default to null] |
+| **userId** | **String** | | [optional] [default to null] |
+| **banType** | **String** | | [default to null] |
+| **email** | **String** | | [optional] [default to null] |
+| **ipHash** | **String** | | [optional] [default to null] |
+| **bannedUntil** | **Date** | | [default to null] |
+| **hasEmailWildcard** | **Boolean** | | [default to null] |
+| **banReason** | **String** | | [optional] [default to null] |
+| **matches** | [**List**](BannedUserMatch.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/APIComment.md b/docs/Models/APIComment.md
index 4116840..96de931 100644
--- a/docs/Models/APIComment.md
+++ b/docs/Models/APIComment.md
@@ -3,7 +3,7 @@
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-| **\_id** | **String** | | [default to null] |
+| **id** | **String** | | [default to null] |
| **aiDeterminedSpam** | **Boolean** | | [optional] [default to null] |
| **anonUserId** | **String** | | [optional] [default to null] |
| **approved** | **Boolean** | | [default to null] |
diff --git a/docs/Models/APICommentBase.md b/docs/Models/APICommentBase.md
index 2f08e86..ac0bdcd 100644
--- a/docs/Models/APICommentBase.md
+++ b/docs/Models/APICommentBase.md
@@ -3,7 +3,7 @@
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-| **\_id** | **String** | | [default to null] |
+| **id** | **String** | | [default to null] |
| **aiDeterminedSpam** | **Boolean** | | [optional] [default to null] |
| **anonUserId** | **String** | | [optional] [default to null] |
| **approved** | **Boolean** | | [default to null] |
diff --git a/docs/Models/APICommentCommonBannedUser.md b/docs/Models/APICommentCommonBannedUser.md
new file mode 100644
index 0000000..2a62f02
--- /dev/null
+++ b/docs/Models/APICommentCommonBannedUser.md
@@ -0,0 +1,16 @@
+# APICommentCommonBannedUser
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **\_id** | **String** | | [default to null] |
+| **userId** | **String** | | [optional] [default to null] |
+| **banType** | **String** | | [default to null] |
+| **email** | **String** | | [optional] [default to null] |
+| **ipHash** | **String** | | [optional] [default to null] |
+| **bannedUntil** | **Date** | | [default to null] |
+| **hasEmailWildcard** | **Boolean** | | [default to null] |
+| **banReason** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/APIModerateGetUserBanPreferencesResponse.md b/docs/Models/APIModerateGetUserBanPreferencesResponse.md
new file mode 100644
index 0000000..562efc0
--- /dev/null
+++ b/docs/Models/APIModerateGetUserBanPreferencesResponse.md
@@ -0,0 +1,10 @@
+# APIModerateGetUserBanPreferencesResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **preferences** | [**APIModerateUserBanPreferences**](APIModerateUserBanPreferences.md) | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/APIModerateUserBanPreferences.md b/docs/Models/APIModerateUserBanPreferences.md
new file mode 100644
index 0000000..31004fc
--- /dev/null
+++ b/docs/Models/APIModerateUserBanPreferences.md
@@ -0,0 +1,12 @@
+# APIModerateUserBanPreferences
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **shouldBanEmail** | **Boolean** | | [default to null] |
+| **shouldBanByIP** | **Boolean** | | [default to null] |
+| **lastBanType** | **String** | | [default to null] |
+| **lastBanDuration** | **String** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/SaveCommentResponse.md b/docs/Models/APISaveCommentResponse.md
similarity index 85%
rename from docs/Models/SaveCommentResponse.md
rename to docs/Models/APISaveCommentResponse.md
index 6b5cd87..0352024 100644
--- a/docs/Models/SaveCommentResponse.md
+++ b/docs/Models/APISaveCommentResponse.md
@@ -1,10 +1,10 @@
-# SaveCommentResponse
+# APISaveCommentResponse
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **comment** | [**FComment**](FComment.md) | | [default to null] |
+| **comment** | [**APIComment**](APIComment.md) | | [default to null] |
| **user** | [**UserSessionInfo**](UserSessionInfo.md) | | [default to null] |
| **moduleData** | [**Map**](AnyType.md) | Construct a type with a set of properties K of type T | [optional] [default to null] |
diff --git a/docs/Models/GetDomainConfig_200_response.md b/docs/Models/AddDomainConfigResponse.md
similarity index 59%
rename from docs/Models/GetDomainConfig_200_response.md
rename to docs/Models/AddDomainConfigResponse.md
index 85a9596..a3f431a 100644
--- a/docs/Models/GetDomainConfig_200_response.md
+++ b/docs/Models/AddDomainConfigResponse.md
@@ -1,12 +1,12 @@
-# GetDomainConfig_200_response
+# AddDomainConfigResponse
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-| **configuration** | [**oas_any_type_not_mapped**](.md) | | [default to null] |
+| **reason** | **String** | | [optional] [default to null] |
+| **code** | **String** | | [optional] [default to null] |
| **status** | [**oas_any_type_not_mapped**](.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
+| **configuration** | [**oas_any_type_not_mapped**](.md) | | [optional] [default to null] |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Models/AddDomainConfig_200_response_anyOf.md b/docs/Models/AddDomainConfigResponse_anyOf.md
similarity index 92%
rename from docs/Models/AddDomainConfig_200_response_anyOf.md
rename to docs/Models/AddDomainConfigResponse_anyOf.md
index ee61031..569d092 100644
--- a/docs/Models/AddDomainConfig_200_response_anyOf.md
+++ b/docs/Models/AddDomainConfigResponse_anyOf.md
@@ -1,4 +1,4 @@
-# AddDomainConfig_200_response_anyOf
+# AddDomainConfigResponse_anyOf
## Properties
| Name | Type | Description | Notes |
diff --git a/docs/Models/AddHashTag_200_response.md b/docs/Models/AddHashTag_200_response.md
deleted file mode 100644
index f4580c6..0000000
--- a/docs/Models/AddHashTag_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# AddHashTag_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **hashTag** | [**TenantHashTag**](TenantHashTag.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/AdjustCommentVotesParams.md b/docs/Models/AdjustCommentVotesParams.md
new file mode 100644
index 0000000..793109e
--- /dev/null
+++ b/docs/Models/AdjustCommentVotesParams.md
@@ -0,0 +1,9 @@
+# AdjustCommentVotesParams
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **adjustVoteAmount** | **Double** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/AdjustVotesResponse.md b/docs/Models/AdjustVotesResponse.md
new file mode 100644
index 0000000..5b76430
--- /dev/null
+++ b/docs/Models/AdjustVotesResponse.md
@@ -0,0 +1,10 @@
+# AdjustVotesResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | **String** | | [default to null] |
+| **newCommentVotes** | **Integer** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/AggregateQuestionResults_200_response.md b/docs/Models/AggregateQuestionResults_200_response.md
deleted file mode 100644
index 4290ef0..0000000
--- a/docs/Models/AggregateQuestionResults_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# AggregateQuestionResults_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **data** | [**QuestionResultAggregationOverall**](QuestionResultAggregationOverall.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/AggregateResponse.md b/docs/Models/AggregateResponse.md
new file mode 100644
index 0000000..5dffec9
--- /dev/null
+++ b/docs/Models/AggregateResponse.md
@@ -0,0 +1,14 @@
+# AggregateResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+| **data** | [**List**](AggregationItem.md) | | [optional] [default to null] |
+| **stats** | [**AggregationResponse_stats**](AggregationResponse_stats.md) | | [optional] [default to null] |
+| **reason** | **String** | | [optional] [default to null] |
+| **code** | **String** | | [optional] [default to null] |
+| **validResourceNames** | **List** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/AddDomainConfig_200_response.md b/docs/Models/AggregationAPIError.md
similarity index 66%
rename from docs/Models/AddDomainConfig_200_response.md
rename to docs/Models/AggregationAPIError.md
index 7a7758f..8449de5 100644
--- a/docs/Models/AddDomainConfig_200_response.md
+++ b/docs/Models/AggregationAPIError.md
@@ -1,12 +1,12 @@
-# AddDomainConfig_200_response
+# AggregationAPIError
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
| **reason** | **String** | | [default to null] |
| **code** | **String** | | [default to null] |
-| **status** | [**oas_any_type_not_mapped**](.md) | | [default to null] |
-| **configuration** | [**oas_any_type_not_mapped**](.md) | | [default to null] |
+| **validResourceNames** | **List** | | [optional] [default to null] |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Models/AwardUserBadgeResponse.md b/docs/Models/AwardUserBadgeResponse.md
new file mode 100644
index 0000000..ef9a97a
--- /dev/null
+++ b/docs/Models/AwardUserBadgeResponse.md
@@ -0,0 +1,11 @@
+# AwardUserBadgeResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **notes** | **List** | | [optional] [default to null] |
+| **badges** | [**List**](CommentUserBadgeInfo.md) | | [optional] [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/BanUserFromCommentResult.md b/docs/Models/BanUserFromCommentResult.md
new file mode 100644
index 0000000..fa18dfd
--- /dev/null
+++ b/docs/Models/BanUserFromCommentResult.md
@@ -0,0 +1,12 @@
+# BanUserFromCommentResult
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | **String** | | [default to null] |
+| **changelog** | [**APIBanUserChangeLog**](APIBanUserChangeLog.md) | | [optional] [default to null] |
+| **code** | **String** | | [optional] [default to null] |
+| **reason** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/BanUserUndoParams.md b/docs/Models/BanUserUndoParams.md
new file mode 100644
index 0000000..1f9253f
--- /dev/null
+++ b/docs/Models/BanUserUndoParams.md
@@ -0,0 +1,9 @@
+# BanUserUndoParams
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **changelog** | [**APIBanUserChangeLog**](APIBanUserChangeLog.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/BannedUserMatch.md b/docs/Models/BannedUserMatch.md
new file mode 100644
index 0000000..ce658a1
--- /dev/null
+++ b/docs/Models/BannedUserMatch.md
@@ -0,0 +1,10 @@
+# BannedUserMatch
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **matchedOn** | [**BannedUserMatchType**](BannedUserMatchType.md) | | [default to null] |
+| **matchedOnValue** | [**BannedUserMatch_matchedOnValue**](BannedUserMatch_matchedOnValue.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/Record_string_string_or_number__value.md b/docs/Models/BannedUserMatchType.md
similarity index 87%
rename from docs/Models/Record_string_string_or_number__value.md
rename to docs/Models/BannedUserMatchType.md
index 0bd2a7d..f48e336 100644
--- a/docs/Models/Record_string_string_or_number__value.md
+++ b/docs/Models/BannedUserMatchType.md
@@ -1,4 +1,4 @@
-# Record_string_string_or_number__value
+# BannedUserMatchType
## Properties
| Name | Type | Description | Notes |
diff --git a/docs/Models/BannedUserMatch_matchedOnValue.md b/docs/Models/BannedUserMatch_matchedOnValue.md
new file mode 100644
index 0000000..9f0a408
--- /dev/null
+++ b/docs/Models/BannedUserMatch_matchedOnValue.md
@@ -0,0 +1,8 @@
+# BannedUserMatch_matchedOnValue
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/BlockFromCommentPublic_200_response.md b/docs/Models/BlockFromCommentPublic_200_response.md
deleted file mode 100644
index 0c9bf73..0000000
--- a/docs/Models/BlockFromCommentPublic_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# BlockFromCommentPublic_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **commentStatuses** | **Map** | Construct a type with a set of properties K of type T | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/BuildModerationFilterParams.md b/docs/Models/BuildModerationFilterParams.md
new file mode 100644
index 0000000..2b7cce3
--- /dev/null
+++ b/docs/Models/BuildModerationFilterParams.md
@@ -0,0 +1,13 @@
+# BuildModerationFilterParams
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **userId** | **String** | | [default to null] |
+| **tenantId** | **String** | | [default to null] |
+| **filters** | **String** | | [optional] [default to null] |
+| **searchFilters** | **String** | | [optional] [default to null] |
+| **textSearch** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/BuildModerationFilterResponse.md b/docs/Models/BuildModerationFilterResponse.md
new file mode 100644
index 0000000..3d64aae
--- /dev/null
+++ b/docs/Models/BuildModerationFilterResponse.md
@@ -0,0 +1,10 @@
+# BuildModerationFilterResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | **String** | | [default to null] |
+| **moderationFilter** | [**ModerationFilter**](ModerationFilter.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/BulkAggregateQuestionResults_200_response.md b/docs/Models/BulkAggregateQuestionResults_200_response.md
deleted file mode 100644
index 05ac24c..0000000
--- a/docs/Models/BulkAggregateQuestionResults_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# BulkAggregateQuestionResults_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **data** | [**Map**](QuestionResultAggregationOverall.md) | Construct a type with a set of properties K of type T | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/BulkCreateHashTagsResponse.md b/docs/Models/BulkCreateHashTagsResponse.md
index 96e98f0..562cf19 100644
--- a/docs/Models/BulkCreateHashTagsResponse.md
+++ b/docs/Models/BulkCreateHashTagsResponse.md
@@ -4,7 +4,7 @@
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **results** | [**List**](AddHashTag_200_response.md) | | [default to null] |
+| **results** | [**List**](BulkCreateHashTagsResponse_results_inner.md) | | [default to null] |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Models/AddHashTagsBulk_200_response.md b/docs/Models/BulkCreateHashTagsResponse_results_inner.md
similarity index 74%
rename from docs/Models/AddHashTagsBulk_200_response.md
rename to docs/Models/BulkCreateHashTagsResponse_results_inner.md
index d68c3c4..5fe21d7 100644
--- a/docs/Models/AddHashTagsBulk_200_response.md
+++ b/docs/Models/BulkCreateHashTagsResponse_results_inner.md
@@ -1,12 +1,12 @@
-# AddHashTagsBulk_200_response
+# BulkCreateHashTagsResponse_results_inner
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **results** | [**List**](AddHashTag_200_response.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
+| **hashTag** | [**TenantHashTag**](TenantHashTag.md) | | [optional] [default to null] |
+| **reason** | **String** | | [optional] [default to null] |
+| **code** | **String** | | [optional] [default to null] |
| **secondaryCode** | **String** | | [optional] [default to null] |
| **bannedUntil** | **Long** | | [optional] [default to null] |
| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
diff --git a/docs/Models/BulkPreBanParams.md b/docs/Models/BulkPreBanParams.md
new file mode 100644
index 0000000..2b26e5f
--- /dev/null
+++ b/docs/Models/BulkPreBanParams.md
@@ -0,0 +1,9 @@
+# BulkPreBanParams
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **commentIds** | **List** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/BulkPreBanSummary.md b/docs/Models/BulkPreBanSummary.md
new file mode 100644
index 0000000..bb80f12
--- /dev/null
+++ b/docs/Models/BulkPreBanSummary.md
@@ -0,0 +1,14 @@
+# BulkPreBanSummary
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | **String** | | [default to null] |
+| **totalRelatedCommentCount** | **Integer** | | [default to null] |
+| **emailDomains** | **List** | | [default to null] |
+| **emails** | **List** | | [default to null] |
+| **userIds** | **List** | | [default to null] |
+| **ipHashes** | **List** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ChangeTicketState_200_response.md b/docs/Models/ChangeTicketState_200_response.md
deleted file mode 100644
index ad3b4d5..0000000
--- a/docs/Models/ChangeTicketState_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# ChangeTicketState_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **ticket** | [**APITicket**](APITicket.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/CheckedCommentsForBlocked_200_response.md b/docs/Models/CheckedCommentsForBlocked_200_response.md
deleted file mode 100644
index d2eccbe..0000000
--- a/docs/Models/CheckedCommentsForBlocked_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# CheckedCommentsForBlocked_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **commentStatuses** | **Map** | Construct a type with a set of properties K of type T | [default to null] |
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/CombineCommentsWithQuestionResults_200_response.md b/docs/Models/CombineCommentsWithQuestionResults_200_response.md
deleted file mode 100644
index ebd6a71..0000000
--- a/docs/Models/CombineCommentsWithQuestionResults_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# CombineCommentsWithQuestionResults_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **data** | [**FindCommentsByRangeResponse**](FindCommentsByRangeResponse.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/CommentData.md b/docs/Models/CommentData.md
index 56c7c78..c46d550 100644
--- a/docs/Models/CommentData.md
+++ b/docs/Models/CommentData.md
@@ -26,8 +26,9 @@
| **fromOfflineRestore** | **Boolean** | | [optional] [default to null] |
| **autoplayDelayMS** | **Long** | | [optional] [default to null] |
| **feedbackIds** | **List** | | [optional] [default to null] |
-| **questionValues** | [**Map**](Record_string_string_or_number__value.md) | Construct a type with a set of properties K of type T | [optional] [default to null] |
+| **questionValues** | [**Map**](GifSearchResponse_images_inner_inner.md) | Construct a type with a set of properties K of type T | [optional] [default to null] |
| **tos** | **Boolean** | | [optional] [default to null] |
+| **botId** | **String** | | [optional] [default to null] |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Models/CommentLogData.md b/docs/Models/CommentLogData.md
index 417a376..36040c2 100644
--- a/docs/Models/CommentLogData.md
+++ b/docs/Models/CommentLogData.md
@@ -18,6 +18,7 @@
| **engineResponse** | **String** | | [optional] [default to null] |
| **engineTokens** | **Double** | | [optional] [default to null] |
| **trustFactor** | **Double** | | [optional] [default to null] |
+| **source** | **String** | | [optional] [default to null] |
| **rule** | [**SpamRule**](SpamRule.md) | | [optional] [default to null] |
| **userId** | **String** | | [optional] [default to null] |
| **subscribers** | **Double** | | [optional] [default to null] |
diff --git a/docs/Models/CommentsByIdsParams.md b/docs/Models/CommentsByIdsParams.md
new file mode 100644
index 0000000..1ca91e1
--- /dev/null
+++ b/docs/Models/CommentsByIdsParams.md
@@ -0,0 +1,9 @@
+# CommentsByIdsParams
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **ids** | **List** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/CreateCommentParams.md b/docs/Models/CreateCommentParams.md
index 8ad144c..69cb807 100644
--- a/docs/Models/CreateCommentParams.md
+++ b/docs/Models/CreateCommentParams.md
@@ -26,8 +26,9 @@
| **fromOfflineRestore** | **Boolean** | | [optional] [default to null] |
| **autoplayDelayMS** | **Long** | | [optional] [default to null] |
| **feedbackIds** | **List** | | [optional] [default to null] |
-| **questionValues** | [**Map**](Record_string_string_or_number__value.md) | Construct a type with a set of properties K of type T | [optional] [default to null] |
+| **questionValues** | [**Map**](GifSearchResponse_images_inner_inner.md) | Construct a type with a set of properties K of type T | [optional] [default to null] |
| **tos** | **Boolean** | | [optional] [default to null] |
+| **botId** | **String** | | [optional] [default to null] |
| **approved** | **Boolean** | | [optional] [default to null] |
| **domain** | **String** | | [optional] [default to null] |
| **ip** | **String** | | [optional] [default to null] |
diff --git a/docs/Models/CreateCommentPublic_200_response.md b/docs/Models/CreateCommentPublic_200_response.md
deleted file mode 100644
index 7214b40..0000000
--- a/docs/Models/CreateCommentPublic_200_response.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# CreateCommentPublic_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **comment** | [**PublicComment**](PublicComment.md) | | [default to null] |
-| **user** | [**UserSessionInfo**](UserSessionInfo.md) | | [default to null] |
-| **moduleData** | **Map** | Construct a type with a set of properties K of type T | [optional] [default to null] |
-| **userIdWS** | **String** | | [optional] [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/CreateEmailTemplate_200_response.md b/docs/Models/CreateEmailTemplate_200_response.md
deleted file mode 100644
index 15f9ef6..0000000
--- a/docs/Models/CreateEmailTemplate_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# CreateEmailTemplate_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **emailTemplate** | [**CustomEmailTemplate**](CustomEmailTemplate.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/CreateFeedPostPublic_200_response.md b/docs/Models/CreateFeedPostPublic_200_response.md
deleted file mode 100644
index 97f7caf..0000000
--- a/docs/Models/CreateFeedPostPublic_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# CreateFeedPostPublic_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **feedPost** | [**FeedPost**](FeedPost.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/CreateFeedPost_200_response.md b/docs/Models/CreateFeedPost_200_response.md
deleted file mode 100644
index d413374..0000000
--- a/docs/Models/CreateFeedPost_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# CreateFeedPost_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **feedPost** | [**FeedPost**](FeedPost.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/CreateModerator_200_response.md b/docs/Models/CreateModerator_200_response.md
deleted file mode 100644
index 33457ca..0000000
--- a/docs/Models/CreateModerator_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# CreateModerator_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **moderator** | [**Moderator**](Moderator.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/CreateQuestionConfig_200_response.md b/docs/Models/CreateQuestionConfig_200_response.md
deleted file mode 100644
index 565af8d..0000000
--- a/docs/Models/CreateQuestionConfig_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# CreateQuestionConfig_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **questionConfig** | [**QuestionConfig**](QuestionConfig.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/CreateQuestionResult_200_response.md b/docs/Models/CreateQuestionResult_200_response.md
deleted file mode 100644
index c82e7d5..0000000
--- a/docs/Models/CreateQuestionResult_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# CreateQuestionResult_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **questionResult** | [**QuestionResult**](QuestionResult.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/CreateTenantPackageBody.md b/docs/Models/CreateTenantPackageBody.md
index 055984d..fd6c867 100644
--- a/docs/Models/CreateTenantPackageBody.md
+++ b/docs/Models/CreateTenantPackageBody.md
@@ -44,8 +44,8 @@
| **flexAdminUnit** | **Double** | | [optional] [default to null] |
| **flexDomainCostCents** | **Double** | | [optional] [default to null] |
| **flexDomainUnit** | **Double** | | [optional] [default to null] |
-| **flexChatGPTCostCents** | **Double** | | [optional] [default to null] |
-| **flexChatGPTUnit** | **Double** | | [optional] [default to null] |
+| **flexLLMCostCents** | **Double** | | [optional] [default to null] |
+| **flexLLMUnit** | **Double** | | [optional] [default to null] |
| **flexMinimumCostCents** | **Double** | | [optional] [default to null] |
| **flexManagedTenantCostCents** | **Double** | | [optional] [default to null] |
| **flexSSOAdminCostCents** | **Double** | | [optional] [default to null] |
diff --git a/docs/Models/CreateTenantPackage_200_response.md b/docs/Models/CreateTenantPackage_200_response.md
deleted file mode 100644
index 8e2802a..0000000
--- a/docs/Models/CreateTenantPackage_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# CreateTenantPackage_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **tenantPackage** | [**TenantPackage**](TenantPackage.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/CreateTenantUser_200_response.md b/docs/Models/CreateTenantUser_200_response.md
deleted file mode 100644
index 377a67d..0000000
--- a/docs/Models/CreateTenantUser_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# CreateTenantUser_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **tenantUser** | [**User**](User.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/CreateTenant_200_response.md b/docs/Models/CreateTenant_200_response.md
deleted file mode 100644
index 1967a69..0000000
--- a/docs/Models/CreateTenant_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# CreateTenant_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **tenant** | [**APITenant**](APITenant.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/CreateTicket_200_response.md b/docs/Models/CreateTicket_200_response.md
deleted file mode 100644
index c612212..0000000
--- a/docs/Models/CreateTicket_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# CreateTicket_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **ticket** | [**APITicket**](APITicket.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/CreateUserBadge_200_response.md b/docs/Models/CreateUserBadge_200_response.md
deleted file mode 100644
index 598ecc6..0000000
--- a/docs/Models/CreateUserBadge_200_response.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# CreateUserBadge_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **userBadge** | [**UserBadge**](UserBadge.md) | | [default to null] |
-| **notes** | **List** | | [optional] [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/CreateV1PageReact.md b/docs/Models/CreateV1PageReact.md
new file mode 100644
index 0000000..8a98ad8
--- /dev/null
+++ b/docs/Models/CreateV1PageReact.md
@@ -0,0 +1,10 @@
+# CreateV1PageReact
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **code** | **String** | | [optional] [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/CustomConfigParameters.md b/docs/Models/CustomConfigParameters.md
index bb3f013..3046c43 100644
--- a/docs/Models/CustomConfigParameters.md
+++ b/docs/Models/CustomConfigParameters.md
@@ -55,11 +55,14 @@
| **noCustomConfig** | **Boolean** | | [optional] [default to null] |
| **mentionAutoCompleteMode** | [**MentionAutoCompleteMode**](MentionAutoCompleteMode.md) | | [optional] [default to null] |
| **noImageUploads** | **Boolean** | | [optional] [default to null] |
+| **allowEmbeds** | **Boolean** | | [optional] [default to null] |
+| **allowedEmbedDomains** | **List** | | [optional] [default to null] |
| **noStyles** | **Boolean** | | [optional] [default to null] |
| **pageSize** | **Integer** | | [optional] [default to null] |
| **readonly** | **Boolean** | | [optional] [default to null] |
| **noNewRootComments** | **Boolean** | | [optional] [default to null] |
| **requireSSO** | **Boolean** | | [optional] [default to null] |
+| **enableFChat** | **Boolean** | | [optional] [default to null] |
| **enableResizeHandle** | **Boolean** | | [optional] [default to null] |
| **restrictedLinkDomains** | **List** | | [optional] [default to null] |
| **showBadgesInTopBar** | **Boolean** | | [optional] [default to null] |
@@ -80,6 +83,8 @@
| **widgetQuestionsRequired** | [**CommentQuestionsRequired**](CommentQuestionsRequired.md) | | [optional] [default to null] |
| **widgetSubQuestionVisibility** | [**QuestionSubQuestionVisibility**](QuestionSubQuestionVisibility.md) | | [optional] [default to null] |
| **wrap** | **Boolean** | | [optional] [default to null] |
+| **usersListLocation** | [**UsersListLocation**](UsersListLocation.md) | | [optional] [default to null] |
+| **usersListIncludeOffline** | **Boolean** | | [optional] [default to null] |
| **ticketBaseUrl** | **String** | | [optional] [default to null] |
| **ticketKBSearchEndpoint** | **String** | | [optional] [default to null] |
| **ticketFileUploadsEnabled** | **Boolean** | | [optional] [default to null] |
diff --git a/docs/Models/DeleteCommentPublic_200_response.md b/docs/Models/DeleteCommentPublic_200_response.md
deleted file mode 100644
index 7cfa50b..0000000
--- a/docs/Models/DeleteCommentPublic_200_response.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# DeleteCommentPublic_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **comment** | [**DeletedCommentResultComment**](DeletedCommentResultComment.md) | | [optional] [default to null] |
-| **hardRemoved** | **Boolean** | | [default to null] |
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/DeleteCommentVote_200_response.md b/docs/Models/DeleteCommentVote_200_response.md
deleted file mode 100644
index cdc2266..0000000
--- a/docs/Models/DeleteCommentVote_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# DeleteCommentVote_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **wasPendingVote** | **Boolean** | | [optional] [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/DeleteComment_200_response.md b/docs/Models/DeleteComment_200_response.md
deleted file mode 100644
index d3c9a4a..0000000
--- a/docs/Models/DeleteComment_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# DeleteComment_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **action** | [**DeleteCommentAction**](DeleteCommentAction.md) | | [default to null] |
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/DeleteDomainConfig_200_response.md b/docs/Models/DeleteDomainConfigResponse.md
similarity index 91%
rename from docs/Models/DeleteDomainConfig_200_response.md
rename to docs/Models/DeleteDomainConfigResponse.md
index 3723ad2..9574f81 100644
--- a/docs/Models/DeleteDomainConfig_200_response.md
+++ b/docs/Models/DeleteDomainConfigResponse.md
@@ -1,4 +1,4 @@
-# DeleteDomainConfig_200_response
+# DeleteDomainConfigResponse
## Properties
| Name | Type | Description | Notes |
diff --git a/docs/Models/DeleteFeedPostPublic_200_response_anyOf.md b/docs/Models/DeleteFeedPostPublicResponse.md
similarity index 89%
rename from docs/Models/DeleteFeedPostPublic_200_response_anyOf.md
rename to docs/Models/DeleteFeedPostPublicResponse.md
index c7b4663..1d9a593 100644
--- a/docs/Models/DeleteFeedPostPublic_200_response_anyOf.md
+++ b/docs/Models/DeleteFeedPostPublicResponse.md
@@ -1,4 +1,4 @@
-# DeleteFeedPostPublic_200_response_anyOf
+# DeleteFeedPostPublicResponse
## Properties
| Name | Type | Description | Notes |
diff --git a/docs/Models/DeleteFeedPostPublic_200_response.md b/docs/Models/DeleteFeedPostPublic_200_response.md
deleted file mode 100644
index 3a6723f..0000000
--- a/docs/Models/DeleteFeedPostPublic_200_response.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# DeleteFeedPostPublic_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/DeleteHashTag_request.md b/docs/Models/DeleteHashTagRequestBody.md
similarity index 92%
rename from docs/Models/DeleteHashTag_request.md
rename to docs/Models/DeleteHashTagRequestBody.md
index a59cb66..838d5ca 100644
--- a/docs/Models/DeleteHashTag_request.md
+++ b/docs/Models/DeleteHashTagRequestBody.md
@@ -1,4 +1,4 @@
-# DeleteHashTag_request
+# DeleteHashTagRequestBody
## Properties
| Name | Type | Description | Notes |
diff --git a/docs/Models/FComment.md b/docs/Models/FComment.md
index 76ce8cd..d2d003c 100644
--- a/docs/Models/FComment.md
+++ b/docs/Models/FComment.md
@@ -75,6 +75,7 @@
| **requiresVerification** | **Boolean** | | [optional] [default to null] |
| **editKey** | **String** | | [optional] [default to null] |
| **tosAcceptedAt** | **Date** | | [optional] [default to null] |
+| **botId** | **String** | | [optional] [default to null] |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Models/FlagCommentPublic_200_response.md b/docs/Models/FlagCommentPublic_200_response.md
deleted file mode 100644
index a64f079..0000000
--- a/docs/Models/FlagCommentPublic_200_response.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# FlagCommentPublic_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/FlagComment_200_response.md b/docs/Models/FlagComment_200_response.md
deleted file mode 100644
index dc94c33..0000000
--- a/docs/Models/FlagComment_200_response.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# FlagComment_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **statusCode** | **Integer** | | [optional] [default to null] |
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **wasUnapproved** | **Boolean** | | [optional] [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetAuditLogs_200_response.md b/docs/Models/GetAuditLogs_200_response.md
deleted file mode 100644
index b4c04d4..0000000
--- a/docs/Models/GetAuditLogs_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetAuditLogs_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **auditLogs** | [**List**](APIAuditLog.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetBannedUsersCountResponse.md b/docs/Models/GetBannedUsersCountResponse.md
new file mode 100644
index 0000000..1dc6f2f
--- /dev/null
+++ b/docs/Models/GetBannedUsersCountResponse.md
@@ -0,0 +1,10 @@
+# GetBannedUsersCountResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **totalCount** | **Double** | | [default to null] |
+| **status** | **String** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetBannedUsersFromCommentResponse.md b/docs/Models/GetBannedUsersFromCommentResponse.md
new file mode 100644
index 0000000..1ff3682
--- /dev/null
+++ b/docs/Models/GetBannedUsersFromCommentResponse.md
@@ -0,0 +1,11 @@
+# GetBannedUsersFromCommentResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **bannedUsers** | [**List**](APIBannedUserWithMultiMatchInfo.md) | | [default to null] |
+| **code** | **String** | | [optional] [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetCachedNotificationCount_200_response.md b/docs/Models/GetCachedNotificationCount_200_response.md
deleted file mode 100644
index 0e84ad0..0000000
--- a/docs/Models/GetCachedNotificationCount_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetCachedNotificationCount_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **data** | [**UserNotificationCount**](UserNotificationCount.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetCommentBanStatusResponse.md b/docs/Models/GetCommentBanStatusResponse.md
new file mode 100644
index 0000000..ad3a593
--- /dev/null
+++ b/docs/Models/GetCommentBanStatusResponse.md
@@ -0,0 +1,11 @@
+# GetCommentBanStatusResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | **String** | | [default to null] |
+| **emailDomain** | **String** | | [default to null] |
+| **canIPBan** | **Boolean** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetCommentTextResponse.md b/docs/Models/GetCommentTextResponse.md
new file mode 100644
index 0000000..4358914
--- /dev/null
+++ b/docs/Models/GetCommentTextResponse.md
@@ -0,0 +1,10 @@
+# GetCommentTextResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **comment** | **String** | | [optional] [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetCommentText_200_response.md b/docs/Models/GetCommentText_200_response.md
deleted file mode 100644
index b8eda1d..0000000
--- a/docs/Models/GetCommentText_200_response.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# GetCommentText_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **commentText** | **String** | | [default to null] |
-| **sanitizedCommentText** | **String** | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetCommentVoteUserNames_200_response.md b/docs/Models/GetCommentVoteUserNames_200_response.md
deleted file mode 100644
index b05e4d8..0000000
--- a/docs/Models/GetCommentVoteUserNames_200_response.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# GetCommentVoteUserNames_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **voteUserNames** | **List** | | [default to null] |
-| **hasMore** | **Boolean** | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetComment_200_response.md b/docs/Models/GetComment_200_response.md
deleted file mode 100644
index a78db1a..0000000
--- a/docs/Models/GetComment_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetComment_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **comment** | [**APIComment**](APIComment.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetCommentsForUserResponse.md b/docs/Models/GetCommentsForUserResponse.md
new file mode 100644
index 0000000..e882389
--- /dev/null
+++ b/docs/Models/GetCommentsForUserResponse.md
@@ -0,0 +1,9 @@
+# GetCommentsForUserResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **moderatingTenantIds** | **List** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetCommentsPublic_200_response.md b/docs/Models/GetCommentsPublic_200_response.md
deleted file mode 100644
index 5fed27f..0000000
--- a/docs/Models/GetCommentsPublic_200_response.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# GetCommentsPublic_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **statusCode** | **Integer** | | [optional] [default to null] |
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **translatedWarning** | **String** | | [optional] [default to null] |
-| **comments** | [**List**](PublicComment.md) | | [default to null] |
-| **user** | [**UserSessionInfo**](UserSessionInfo.md) | | [default to null] |
-| **urlIdClean** | **String** | | [optional] [default to null] |
-| **lastGenDate** | **Long** | | [optional] [default to null] |
-| **includesPastPages** | **Boolean** | | [optional] [default to null] |
-| **isDemo** | **Boolean** | | [optional] [default to null] |
-| **commentCount** | **Integer** | | [optional] [default to null] |
-| **isSiteAdmin** | **Boolean** | | [optional] [default to null] |
-| **hasBillingIssue** | **Boolean** | | [optional] [default to null] |
-| **moduleData** | **Map** | Construct a type with a set of properties K of type T | [optional] [default to null] |
-| **pageNumber** | **Integer** | | [default to null] |
-| **isWhiteLabeled** | **Boolean** | | [optional] [default to null] |
-| **isProd** | **Boolean** | | [optional] [default to null] |
-| **isCrawler** | **Boolean** | | [optional] [default to null] |
-| **notificationCount** | **Integer** | | [optional] [default to null] |
-| **hasMore** | **Boolean** | | [optional] [default to null] |
-| **isClosed** | **Boolean** | | [optional] [default to null] |
-| **presencePollState** | **Integer** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-| **urlIdWS** | **String** | | [optional] [default to null] |
-| **userIdWS** | **String** | | [optional] [default to null] |
-| **tenantIdWS** | **String** | | [optional] [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetComments_200_response.md b/docs/Models/GetComments_200_response.md
deleted file mode 100644
index 8909751..0000000
--- a/docs/Models/GetComments_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetComments_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **comments** | [**List**](APIComment.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetDomainConfigResponse.md b/docs/Models/GetDomainConfigResponse.md
new file mode 100644
index 0000000..8f7fe86
--- /dev/null
+++ b/docs/Models/GetDomainConfigResponse.md
@@ -0,0 +1,12 @@
+# GetDomainConfigResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **configuration** | [**oas_any_type_not_mapped**](.md) | | [optional] [default to null] |
+| **status** | [**oas_any_type_not_mapped**](.md) | | [default to null] |
+| **reason** | **String** | | [optional] [default to null] |
+| **code** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetDomainConfigs_200_response.md b/docs/Models/GetDomainConfigsResponse.md
similarity index 70%
rename from docs/Models/GetDomainConfigs_200_response.md
rename to docs/Models/GetDomainConfigsResponse.md
index 7f600e5..cf4b958 100644
--- a/docs/Models/GetDomainConfigs_200_response.md
+++ b/docs/Models/GetDomainConfigsResponse.md
@@ -1,12 +1,12 @@
-# GetDomainConfigs_200_response
+# GetDomainConfigsResponse
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-| **configurations** | [**oas_any_type_not_mapped**](.md) | | [default to null] |
+| **configurations** | [**oas_any_type_not_mapped**](.md) | | [optional] [default to null] |
| **status** | [**oas_any_type_not_mapped**](.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
+| **reason** | **String** | | [optional] [default to null] |
+| **code** | **String** | | [optional] [default to null] |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Models/GetDomainConfigs_200_response_anyOf.md b/docs/Models/GetDomainConfigsResponse_anyOf.md
similarity index 92%
rename from docs/Models/GetDomainConfigs_200_response_anyOf.md
rename to docs/Models/GetDomainConfigsResponse_anyOf.md
index 06af00a..b1101ae 100644
--- a/docs/Models/GetDomainConfigs_200_response_anyOf.md
+++ b/docs/Models/GetDomainConfigsResponse_anyOf.md
@@ -1,4 +1,4 @@
-# GetDomainConfigs_200_response_anyOf
+# GetDomainConfigsResponse_anyOf
## Properties
| Name | Type | Description | Notes |
diff --git a/docs/Models/GetDomainConfigs_200_response_anyOf_1.md b/docs/Models/GetDomainConfigsResponse_anyOf_1.md
similarity index 91%
rename from docs/Models/GetDomainConfigs_200_response_anyOf_1.md
rename to docs/Models/GetDomainConfigsResponse_anyOf_1.md
index 1e5e3c7..8e9c9eb 100644
--- a/docs/Models/GetDomainConfigs_200_response_anyOf_1.md
+++ b/docs/Models/GetDomainConfigsResponse_anyOf_1.md
@@ -1,4 +1,4 @@
-# GetDomainConfigs_200_response_anyOf_1
+# GetDomainConfigsResponse_anyOf_1
## Properties
| Name | Type | Description | Notes |
diff --git a/docs/Models/GetEmailTemplateDefinitions_200_response.md b/docs/Models/GetEmailTemplateDefinitions_200_response.md
deleted file mode 100644
index 851a686..0000000
--- a/docs/Models/GetEmailTemplateDefinitions_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetEmailTemplateDefinitions_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **definitions** | [**List**](EmailTemplateDefinition.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetEmailTemplateRenderErrors_200_response.md b/docs/Models/GetEmailTemplateRenderErrors_200_response.md
deleted file mode 100644
index c0c9b52..0000000
--- a/docs/Models/GetEmailTemplateRenderErrors_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetEmailTemplateRenderErrors_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **renderErrors** | [**List**](EmailTemplateRenderErrorResponse.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetEmailTemplate_200_response.md b/docs/Models/GetEmailTemplate_200_response.md
deleted file mode 100644
index 78cb107..0000000
--- a/docs/Models/GetEmailTemplate_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetEmailTemplate_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **emailTemplate** | [**CustomEmailTemplate**](CustomEmailTemplate.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetEmailTemplates_200_response.md b/docs/Models/GetEmailTemplates_200_response.md
deleted file mode 100644
index c27cf71..0000000
--- a/docs/Models/GetEmailTemplates_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetEmailTemplates_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **emailTemplates** | [**List**](CustomEmailTemplate.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetEventLog_200_response.md b/docs/Models/GetEventLog_200_response.md
deleted file mode 100644
index 4a4bf3b..0000000
--- a/docs/Models/GetEventLog_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetEventLog_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **events** | [**List**](EventLogEntry.md) | | [default to null] |
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetFeedPostsPublic_200_response.md b/docs/Models/GetFeedPostsPublic_200_response.md
deleted file mode 100644
index 0dc6989..0000000
--- a/docs/Models/GetFeedPostsPublic_200_response.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# GetFeedPostsPublic_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **myReacts** | [**Map**](map.md) | | [optional] [default to null] |
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **feedPosts** | [**List**](FeedPost.md) | | [default to null] |
-| **user** | [**UserSessionInfo**](UserSessionInfo.md) | | [optional] [default to null] |
-| **urlIdWS** | **String** | | [optional] [default to null] |
-| **userIdWS** | **String** | | [optional] [default to null] |
-| **tenantIdWS** | **String** | | [optional] [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetFeedPostsStats_200_response.md b/docs/Models/GetFeedPostsStats_200_response.md
deleted file mode 100644
index 86083fc..0000000
--- a/docs/Models/GetFeedPostsStats_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetFeedPostsStats_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **stats** | [**Map**](FeedPostStats.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetFeedPosts_200_response.md b/docs/Models/GetFeedPosts_200_response.md
deleted file mode 100644
index 7449fdf..0000000
--- a/docs/Models/GetFeedPosts_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetFeedPosts_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **feedPosts** | [**List**](FeedPost.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetGifsSearchResponse.md b/docs/Models/GetGifsSearchResponse.md
new file mode 100644
index 0000000..45eb9c8
--- /dev/null
+++ b/docs/Models/GetGifsSearchResponse.md
@@ -0,0 +1,11 @@
+# GetGifsSearchResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **images** | [**List**](array.md) | | [optional] [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+| **code** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetGifsTrendingResponse.md b/docs/Models/GetGifsTrendingResponse.md
new file mode 100644
index 0000000..b9eb2cb
--- /dev/null
+++ b/docs/Models/GetGifsTrendingResponse.md
@@ -0,0 +1,11 @@
+# GetGifsTrendingResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **images** | [**List**](array.md) | | [optional] [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+| **code** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetHashTags_200_response.md b/docs/Models/GetHashTags_200_response.md
deleted file mode 100644
index 8ce5114..0000000
--- a/docs/Models/GetHashTags_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetHashTags_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **hashTags** | [**List**](TenantHashTag.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetModerator_200_response.md b/docs/Models/GetModerator_200_response.md
deleted file mode 100644
index b4872bc..0000000
--- a/docs/Models/GetModerator_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetModerator_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **moderator** | [**Moderator**](Moderator.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetModerators_200_response.md b/docs/Models/GetModerators_200_response.md
deleted file mode 100644
index 65ae043..0000000
--- a/docs/Models/GetModerators_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetModerators_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **moderators** | [**List**](Moderator.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetNotificationCount_200_response.md b/docs/Models/GetNotificationCount_200_response.md
deleted file mode 100644
index 337a486..0000000
--- a/docs/Models/GetNotificationCount_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetNotificationCount_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **count** | **Double** | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetNotifications_200_response.md b/docs/Models/GetNotifications_200_response.md
deleted file mode 100644
index 00c0db2..0000000
--- a/docs/Models/GetNotifications_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetNotifications_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **notifications** | [**List**](UserNotification.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetPendingWebhookEventCount_200_response.md b/docs/Models/GetPendingWebhookEventCount_200_response.md
deleted file mode 100644
index 697ab9a..0000000
--- a/docs/Models/GetPendingWebhookEventCount_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetPendingWebhookEventCount_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **count** | **Double** | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetPendingWebhookEvents_200_response.md b/docs/Models/GetPendingWebhookEvents_200_response.md
deleted file mode 100644
index 77825f0..0000000
--- a/docs/Models/GetPendingWebhookEvents_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetPendingWebhookEvents_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **pendingWebhookEvents** | [**List**](PendingCommentToSyncOutbound.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetPublicPagesResponse.md b/docs/Models/GetPublicPagesResponse.md
new file mode 100644
index 0000000..70d75ea
--- /dev/null
+++ b/docs/Models/GetPublicPagesResponse.md
@@ -0,0 +1,11 @@
+# GetPublicPagesResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **nextCursor** | **String** | | [default to null] |
+| **pages** | [**List**](PublicPage.md) | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetQuestionConfig_200_response.md b/docs/Models/GetQuestionConfig_200_response.md
deleted file mode 100644
index 942e930..0000000
--- a/docs/Models/GetQuestionConfig_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetQuestionConfig_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **questionConfig** | [**QuestionConfig**](QuestionConfig.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetQuestionConfigs_200_response.md b/docs/Models/GetQuestionConfigs_200_response.md
deleted file mode 100644
index 3aea9c8..0000000
--- a/docs/Models/GetQuestionConfigs_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetQuestionConfigs_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **questionConfigs** | [**List**](QuestionConfig.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetQuestionResult_200_response.md b/docs/Models/GetQuestionResult_200_response.md
deleted file mode 100644
index e15206c..0000000
--- a/docs/Models/GetQuestionResult_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetQuestionResult_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **questionResult** | [**QuestionResult**](QuestionResult.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetQuestionResults_200_response.md b/docs/Models/GetQuestionResults_200_response.md
deleted file mode 100644
index 611fbaf..0000000
--- a/docs/Models/GetQuestionResults_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetQuestionResults_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **questionResults** | [**List**](QuestionResult.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetSSOUsers_200_response.md b/docs/Models/GetSSOUsersResponse.md
similarity index 93%
rename from docs/Models/GetSSOUsers_200_response.md
rename to docs/Models/GetSSOUsersResponse.md
index 1bc84d4..39c6a90 100644
--- a/docs/Models/GetSSOUsers_200_response.md
+++ b/docs/Models/GetSSOUsersResponse.md
@@ -1,4 +1,4 @@
-# GetSSOUsers_200_response
+# GetSSOUsersResponse
## Properties
| Name | Type | Description | Notes |
diff --git a/docs/Models/GetTenantDailyUsages_200_response.md b/docs/Models/GetTenantDailyUsages_200_response.md
deleted file mode 100644
index 2e03a1b..0000000
--- a/docs/Models/GetTenantDailyUsages_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetTenantDailyUsages_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **tenantDailyUsages** | [**List**](APITenantDailyUsage.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetTenantManualBadgesResponse.md b/docs/Models/GetTenantManualBadgesResponse.md
new file mode 100644
index 0000000..38b9cd0
--- /dev/null
+++ b/docs/Models/GetTenantManualBadgesResponse.md
@@ -0,0 +1,10 @@
+# GetTenantManualBadgesResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **badges** | [**List**](TenantBadge.md) | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetTenantPackage_200_response.md b/docs/Models/GetTenantPackage_200_response.md
deleted file mode 100644
index 7e088da..0000000
--- a/docs/Models/GetTenantPackage_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetTenantPackage_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **tenantPackage** | [**TenantPackage**](TenantPackage.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetTenantPackages_200_response.md b/docs/Models/GetTenantPackages_200_response.md
deleted file mode 100644
index 768933c..0000000
--- a/docs/Models/GetTenantPackages_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetTenantPackages_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **tenantPackages** | [**List**](TenantPackage.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetTenantUser_200_response.md b/docs/Models/GetTenantUser_200_response.md
deleted file mode 100644
index 94776c5..0000000
--- a/docs/Models/GetTenantUser_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetTenantUser_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **tenantUser** | [**User**](User.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetTenantUsers_200_response.md b/docs/Models/GetTenantUsers_200_response.md
deleted file mode 100644
index 0ff4053..0000000
--- a/docs/Models/GetTenantUsers_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetTenantUsers_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **tenantUsers** | [**List**](User.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetTenant_200_response.md b/docs/Models/GetTenant_200_response.md
deleted file mode 100644
index 8ba4cf4..0000000
--- a/docs/Models/GetTenant_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetTenant_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **tenant** | [**APITenant**](APITenant.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetTenants_200_response.md b/docs/Models/GetTenants_200_response.md
deleted file mode 100644
index 5b4f174..0000000
--- a/docs/Models/GetTenants_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetTenants_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **tenants** | [**List**](APITenant.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetTicket_200_response.md b/docs/Models/GetTicket_200_response.md
deleted file mode 100644
index e9b2fc1..0000000
--- a/docs/Models/GetTicket_200_response.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# GetTicket_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **ticket** | [**APITicketDetail**](APITicketDetail.md) | | [default to null] |
-| **availableStates** | **List** | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetTickets_200_response.md b/docs/Models/GetTickets_200_response.md
deleted file mode 100644
index 632c444..0000000
--- a/docs/Models/GetTickets_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetTickets_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **tickets** | [**List**](APITicket.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetTranslationsResponse.md b/docs/Models/GetTranslationsResponse.md
new file mode 100644
index 0000000..5c52056
--- /dev/null
+++ b/docs/Models/GetTranslationsResponse.md
@@ -0,0 +1,10 @@
+# GetTranslationsResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **translations** | **Map** | Construct a type with a set of properties K of type T | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetUserBadgeProgressById_200_response.md b/docs/Models/GetUserBadgeProgressById_200_response.md
deleted file mode 100644
index 3d4b390..0000000
--- a/docs/Models/GetUserBadgeProgressById_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetUserBadgeProgressById_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **userBadgeProgress** | [**UserBadgeProgress**](UserBadgeProgress.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetUserBadgeProgressList_200_response.md b/docs/Models/GetUserBadgeProgressList_200_response.md
deleted file mode 100644
index e8badda..0000000
--- a/docs/Models/GetUserBadgeProgressList_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetUserBadgeProgressList_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **userBadgeProgresses** | [**List**](UserBadgeProgress.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetUserBadge_200_response.md b/docs/Models/GetUserBadge_200_response.md
deleted file mode 100644
index b8941c6..0000000
--- a/docs/Models/GetUserBadge_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetUserBadge_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **userBadge** | [**UserBadge**](UserBadge.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetUserBadges_200_response.md b/docs/Models/GetUserBadges_200_response.md
deleted file mode 100644
index 792a734..0000000
--- a/docs/Models/GetUserBadges_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetUserBadges_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **userBadges** | [**List**](UserBadge.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetUserInternalProfileResponse.md b/docs/Models/GetUserInternalProfileResponse.md
new file mode 100644
index 0000000..a06009f
--- /dev/null
+++ b/docs/Models/GetUserInternalProfileResponse.md
@@ -0,0 +1,10 @@
+# GetUserInternalProfileResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **profile** | [**GetUserInternalProfileResponse_profile**](GetUserInternalProfileResponse_profile.md) | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetUserInternalProfileResponse_profile.md b/docs/Models/GetUserInternalProfileResponse_profile.md
new file mode 100644
index 0000000..7a3e134
--- /dev/null
+++ b/docs/Models/GetUserInternalProfileResponse_profile.md
@@ -0,0 +1,25 @@
+# GetUserInternalProfileResponse_profile
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **commenterName** | **String** | | [optional] [default to null] |
+| **firstCommentDate** | **Date** | | [optional] [default to null] |
+| **ipHash** | **String** | | [optional] [default to null] |
+| **countryFlag** | **String** | | [optional] [default to null] |
+| **countryCode** | **String** | | [optional] [default to null] |
+| **websiteUrl** | **String** | | [optional] [default to null] |
+| **bio** | **String** | | [optional] [default to null] |
+| **karma** | **Double** | | [optional] [default to null] |
+| **locale** | **String** | | [optional] [default to null] |
+| **verified** | **Boolean** | | [optional] [default to null] |
+| **avatarSrc** | **String** | | [optional] [default to null] |
+| **displayName** | **String** | | [optional] [default to null] |
+| **username** | **String** | | [optional] [default to null] |
+| **commenterEmail** | **String** | | [optional] [default to null] |
+| **email** | **String** | | [optional] [default to null] |
+| **anonUserId** | **String** | | [optional] [default to null] |
+| **userId** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetUserManualBadgesResponse.md b/docs/Models/GetUserManualBadgesResponse.md
new file mode 100644
index 0000000..a0e84c0
--- /dev/null
+++ b/docs/Models/GetUserManualBadgesResponse.md
@@ -0,0 +1,10 @@
+# GetUserManualBadgesResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **badges** | [**List**](UserBadge.md) | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetUserNotificationCount_200_response.md b/docs/Models/GetUserNotificationCount_200_response.md
deleted file mode 100644
index 702e1ba..0000000
--- a/docs/Models/GetUserNotificationCount_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetUserNotificationCount_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **count** | **Long** | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetUserNotifications_200_response.md b/docs/Models/GetUserNotifications_200_response.md
deleted file mode 100644
index 2ca8796..0000000
--- a/docs/Models/GetUserNotifications_200_response.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# GetUserNotifications_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **translations** | **Map** | Construct a type with a set of properties K of type T | [optional] [default to null] |
-| **isSubscribed** | **Boolean** | | [default to null] |
-| **hasMore** | **Boolean** | | [default to null] |
-| **notifications** | [**List**](RenderableUserNotification.md) | | [default to null] |
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetUserPresenceStatuses_200_response.md b/docs/Models/GetUserPresenceStatuses_200_response.md
deleted file mode 100644
index 35f0da5..0000000
--- a/docs/Models/GetUserPresenceStatuses_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetUserPresenceStatuses_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **userIdsOnline** | **Map** | Construct a type with a set of properties K of type T | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetUserReactsPublic_200_response.md b/docs/Models/GetUserReactsPublic_200_response.md
deleted file mode 100644
index f0270b5..0000000
--- a/docs/Models/GetUserReactsPublic_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetUserReactsPublic_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **reacts** | [**Map**](map.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetUserTrustFactorResponse.md b/docs/Models/GetUserTrustFactorResponse.md
new file mode 100644
index 0000000..6afa359
--- /dev/null
+++ b/docs/Models/GetUserTrustFactorResponse.md
@@ -0,0 +1,11 @@
+# GetUserTrustFactorResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **manualTrustFactor** | **Double** | | [optional] [default to null] |
+| **autoTrustFactor** | **Double** | | [optional] [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetUser_200_response.md b/docs/Models/GetUser_200_response.md
deleted file mode 100644
index 31f6437..0000000
--- a/docs/Models/GetUser_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# GetUser_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **user** | [**User**](User.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetV1PageLikes.md b/docs/Models/GetV1PageLikes.md
new file mode 100644
index 0000000..6129339
--- /dev/null
+++ b/docs/Models/GetV1PageLikes.md
@@ -0,0 +1,13 @@
+# GetV1PageLikes
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **urlIdWS** | **String** | | [default to null] |
+| **didLike** | **Boolean** | | [default to null] |
+| **commentCount** | **Integer** | | [default to null] |
+| **likeCount** | **Integer** | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetV2PageReactUsersResponse.md b/docs/Models/GetV2PageReactUsersResponse.md
new file mode 100644
index 0000000..5e98aa6
--- /dev/null
+++ b/docs/Models/GetV2PageReactUsersResponse.md
@@ -0,0 +1,10 @@
+# GetV2PageReactUsersResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **userNames** | **List** | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetV2PageReacts.md b/docs/Models/GetV2PageReacts.md
new file mode 100644
index 0000000..e46eb08
--- /dev/null
+++ b/docs/Models/GetV2PageReacts.md
@@ -0,0 +1,11 @@
+# GetV2PageReacts
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **reactedIds** | **List** | | [optional] [default to null] |
+| **counts** | **Map** | Construct a type with a set of properties K of type T | [optional] [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GetVotesForUser_200_response.md b/docs/Models/GetVotesForUser_200_response.md
deleted file mode 100644
index 00ce5e0..0000000
--- a/docs/Models/GetVotesForUser_200_response.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# GetVotesForUser_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **appliedAuthorizedVotes** | [**List**](PublicVote.md) | | [default to null] |
-| **appliedAnonymousVotes** | [**List**](PublicVote.md) | | [default to null] |
-| **pendingVotes** | [**List**](PublicVote.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GetVotes_200_response.md b/docs/Models/GetVotes_200_response.md
deleted file mode 100644
index fd6883a..0000000
--- a/docs/Models/GetVotes_200_response.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# GetVotes_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **appliedAuthorizedVotes** | [**List**](PublicVote.md) | | [default to null] |
-| **appliedAnonymousVotes** | [**List**](PublicVote.md) | | [default to null] |
-| **pendingVotes** | [**List**](PublicVote.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/GifGetLargeResponse.md b/docs/Models/GifGetLargeResponse.md
new file mode 100644
index 0000000..04062cc
--- /dev/null
+++ b/docs/Models/GifGetLargeResponse.md
@@ -0,0 +1,10 @@
+# GifGetLargeResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **src** | **String** | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GifSearchInternalError.md b/docs/Models/GifSearchInternalError.md
new file mode 100644
index 0000000..a55fa82
--- /dev/null
+++ b/docs/Models/GifSearchInternalError.md
@@ -0,0 +1,10 @@
+# GifSearchInternalError
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **code** | **String** | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GifSearchResponse.md b/docs/Models/GifSearchResponse.md
new file mode 100644
index 0000000..fadf0c5
--- /dev/null
+++ b/docs/Models/GifSearchResponse.md
@@ -0,0 +1,10 @@
+# GifSearchResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **images** | [**List**](array.md) | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/GifSearchResponse_images_inner_inner.md b/docs/Models/GifSearchResponse_images_inner_inner.md
new file mode 100644
index 0000000..99f5c03
--- /dev/null
+++ b/docs/Models/GifSearchResponse_images_inner_inner.md
@@ -0,0 +1,8 @@
+# GifSearchResponse_images_inner_inner
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/HeaderAccountNotification.md b/docs/Models/HeaderAccountNotification.md
index 2ca7573..eb2c156 100644
--- a/docs/Models/HeaderAccountNotification.md
+++ b/docs/Models/HeaderAccountNotification.md
@@ -12,6 +12,7 @@
| **linkUrl** | **String** | | [default to null] |
| **linkText** | **String** | | [default to null] |
| **createdAt** | **Date** | | [default to null] |
+| **type** | **String** | Discriminator for notifications with a special layout/click handler (e.g. \"feedback-offer\"). | [optional] [default to null] |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Models/ImportedAgentApprovalNotificationFrequency.md b/docs/Models/ImportedAgentApprovalNotificationFrequency.md
new file mode 100644
index 0000000..11d3408
--- /dev/null
+++ b/docs/Models/ImportedAgentApprovalNotificationFrequency.md
@@ -0,0 +1,8 @@
+# ImportedAgentApprovalNotificationFrequency
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/LiveEvent.md b/docs/Models/LiveEvent.md
index 6c7cf91..5281f13 100644
--- a/docs/Models/LiveEvent.md
+++ b/docs/Models/LiveEvent.md
@@ -18,6 +18,7 @@
| **isClosed** | **Boolean** | | [optional] [default to null] |
| **uj** | **List** | | [optional] [default to null] |
| **ul** | **List** | | [optional] [default to null] |
+| **sc** | **Integer** | | [optional] [default to null] |
| **changes** | **Map** | | [optional] [default to null] |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Models/LockComment_200_response.md b/docs/Models/LockComment_200_response.md
deleted file mode 100644
index bde2173..0000000
--- a/docs/Models/LockComment_200_response.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# LockComment_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/ModerationAPIChildCommentsResponse.md b/docs/Models/ModerationAPIChildCommentsResponse.md
new file mode 100644
index 0000000..a51f076
--- /dev/null
+++ b/docs/Models/ModerationAPIChildCommentsResponse.md
@@ -0,0 +1,10 @@
+# ModerationAPIChildCommentsResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **comments** | [**List**](ModerationAPIComment.md) | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationAPIComment.md b/docs/Models/ModerationAPIComment.md
new file mode 100644
index 0000000..73e3efc
--- /dev/null
+++ b/docs/Models/ModerationAPIComment.md
@@ -0,0 +1,50 @@
+# ModerationAPIComment
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **isLocalDeleted** | **Boolean** | | [optional] [default to null] |
+| **replyCount** | **Double** | | [optional] [default to null] |
+| **feedbackResults** | **List** | | [optional] [default to null] |
+| **isVotedUp** | **Boolean** | | [optional] [default to null] |
+| **isVotedDown** | **Boolean** | | [optional] [default to null] |
+| **myVoteId** | **String** | | [optional] [default to null] |
+| **\_id** | **String** | | [default to null] |
+| **tenantId** | **String** | | [default to null] |
+| **urlId** | **String** | | [default to null] |
+| **url** | **String** | | [default to null] |
+| **pageTitle** | **String** | | [optional] [default to null] |
+| **userId** | **String** | | [optional] [default to null] |
+| **anonUserId** | **String** | | [optional] [default to null] |
+| **commenterName** | **String** | | [default to null] |
+| **commenterLink** | **String** | | [optional] [default to null] |
+| **commentHTML** | **String** | | [default to null] |
+| **parentId** | **String** | | [optional] [default to null] |
+| **date** | **Date** | | [default to null] |
+| **localDateString** | **String** | | [optional] [default to null] |
+| **votes** | **Double** | | [optional] [default to null] |
+| **votesUp** | **Double** | | [optional] [default to null] |
+| **votesDown** | **Double** | | [optional] [default to null] |
+| **expireAt** | **Date** | | [optional] [default to null] |
+| **reviewed** | **Boolean** | | [optional] [default to null] |
+| **avatarSrc** | **String** | | [optional] [default to null] |
+| **isSpam** | **Boolean** | | [optional] [default to null] |
+| **permNotSpam** | **Boolean** | | [optional] [default to null] |
+| **hasLinks** | **Boolean** | | [optional] [default to null] |
+| **hasCode** | **Boolean** | | [optional] [default to null] |
+| **approved** | **Boolean** | | [default to null] |
+| **locale** | **String** | | [default to null] |
+| **isBannedUser** | **Boolean** | | [optional] [default to null] |
+| **isByAdmin** | **Boolean** | | [optional] [default to null] |
+| **isByModerator** | **Boolean** | | [optional] [default to null] |
+| **isPinned** | **Boolean** | | [optional] [default to null] |
+| **isLocked** | **Boolean** | | [optional] [default to null] |
+| **flagCount** | **Double** | | [optional] [default to null] |
+| **displayLabel** | **String** | | [optional] [default to null] |
+| **badges** | [**List**](CommentUserBadgeInfo.md) | | [optional] [default to null] |
+| **verified** | **Boolean** | | [default to null] |
+| **feedbackIds** | **List** | | [optional] [default to null] |
+| **isDeleted** | **Boolean** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationAPICommentLog.md b/docs/Models/ModerationAPICommentLog.md
new file mode 100644
index 0000000..05d30b9
--- /dev/null
+++ b/docs/Models/ModerationAPICommentLog.md
@@ -0,0 +1,12 @@
+# ModerationAPICommentLog
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **date** | **Date** | | [default to null] |
+| **username** | **String** | | [optional] [default to null] |
+| **actionName** | **String** | | [default to null] |
+| **messageHTML** | **String** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationAPICommentResponse.md b/docs/Models/ModerationAPICommentResponse.md
new file mode 100644
index 0000000..f3e1400
--- /dev/null
+++ b/docs/Models/ModerationAPICommentResponse.md
@@ -0,0 +1,10 @@
+# ModerationAPICommentResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **comment** | [**ModerationAPIComment**](ModerationAPIComment.md) | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationAPICountCommentsResponse.md b/docs/Models/ModerationAPICountCommentsResponse.md
new file mode 100644
index 0000000..5dba69a
--- /dev/null
+++ b/docs/Models/ModerationAPICountCommentsResponse.md
@@ -0,0 +1,10 @@
+# ModerationAPICountCommentsResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+| **count** | **Double** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationAPIGetCommentIdsResponse.md b/docs/Models/ModerationAPIGetCommentIdsResponse.md
new file mode 100644
index 0000000..1695c12
--- /dev/null
+++ b/docs/Models/ModerationAPIGetCommentIdsResponse.md
@@ -0,0 +1,11 @@
+# ModerationAPIGetCommentIdsResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **ids** | **List** | | [default to null] |
+| **hasMore** | **Boolean** | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationAPIGetCommentsResponse.md b/docs/Models/ModerationAPIGetCommentsResponse.md
new file mode 100644
index 0000000..dc3cba0
--- /dev/null
+++ b/docs/Models/ModerationAPIGetCommentsResponse.md
@@ -0,0 +1,12 @@
+# ModerationAPIGetCommentsResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+| **translations** | [**Object**](.md) | | [default to null] |
+| **comments** | [**List**](ModerationAPIComment.md) | | [default to null] |
+| **moderationFilter** | [**ModerationFilter**](ModerationFilter.md) | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationAPIGetLogsResponse.md b/docs/Models/ModerationAPIGetLogsResponse.md
new file mode 100644
index 0000000..40e3fdc
--- /dev/null
+++ b/docs/Models/ModerationAPIGetLogsResponse.md
@@ -0,0 +1,10 @@
+# ModerationAPIGetLogsResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **logs** | [**List**](ModerationAPICommentLog.md) | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationCommentSearchResponse.md b/docs/Models/ModerationCommentSearchResponse.md
new file mode 100644
index 0000000..5a0406b
--- /dev/null
+++ b/docs/Models/ModerationCommentSearchResponse.md
@@ -0,0 +1,10 @@
+# ModerationCommentSearchResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **commentCount** | **Integer** | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationExportResponse.md b/docs/Models/ModerationExportResponse.md
new file mode 100644
index 0000000..b540ee1
--- /dev/null
+++ b/docs/Models/ModerationExportResponse.md
@@ -0,0 +1,10 @@
+# ModerationExportResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | **String** | | [default to null] |
+| **batchJobId** | **String** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationExportStatusResponse.md b/docs/Models/ModerationExportStatusResponse.md
new file mode 100644
index 0000000..69a5827
--- /dev/null
+++ b/docs/Models/ModerationExportStatusResponse.md
@@ -0,0 +1,12 @@
+# ModerationExportStatusResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | **String** | | [default to null] |
+| **jobStatus** | **String** | | [default to null] |
+| **recordCount** | **Integer** | | [default to null] |
+| **downloadUrl** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationFilter.md b/docs/Models/ModerationFilter.md
new file mode 100644
index 0000000..80deeff
--- /dev/null
+++ b/docs/Models/ModerationFilter.md
@@ -0,0 +1,20 @@
+# ModerationFilter
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **reviewed** | **Boolean** | | [optional] [default to null] |
+| **approved** | **Boolean** | | [optional] [default to null] |
+| **isSpam** | **Boolean** | | [optional] [default to null] |
+| **isBannedUser** | **Boolean** | | [optional] [default to null] |
+| **isLocked** | **Boolean** | | [optional] [default to null] |
+| **flagCountGt** | **Double** | | [optional] [default to null] |
+| **userId** | **String** | | [optional] [default to null] |
+| **urlId** | **String** | | [optional] [default to null] |
+| **domain** | **String** | | [optional] [default to null] |
+| **moderationGroupIds** | **List** | | [optional] [default to null] |
+| **commentTextSearch** | **List** | Text search terms. Each term is matched case-insensitively against the comment text. A term wrapped in quotes means exact phrase match. | [optional] [default to null] |
+| **exactCommentText** | **String** | Set by the `exact=\"...\"` search syntax. The comment text must equal this value exactly (case-sensitive, full-string), as opposed to the substring matching of commentTextSearch. | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationPageSearchProjected.md b/docs/Models/ModerationPageSearchProjected.md
new file mode 100644
index 0000000..ee3862b
--- /dev/null
+++ b/docs/Models/ModerationPageSearchProjected.md
@@ -0,0 +1,12 @@
+# ModerationPageSearchProjected
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **urlId** | **String** | | [default to null] |
+| **url** | **String** | | [default to null] |
+| **title** | **String** | | [default to null] |
+| **commentCount** | **Double** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationPageSearchResponse.md b/docs/Models/ModerationPageSearchResponse.md
new file mode 100644
index 0000000..796ceed
--- /dev/null
+++ b/docs/Models/ModerationPageSearchResponse.md
@@ -0,0 +1,10 @@
+# ModerationPageSearchResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **pages** | [**List**](ModerationPageSearchProjected.md) | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationSiteSearchProjected.md b/docs/Models/ModerationSiteSearchProjected.md
new file mode 100644
index 0000000..696c64d
--- /dev/null
+++ b/docs/Models/ModerationSiteSearchProjected.md
@@ -0,0 +1,10 @@
+# ModerationSiteSearchProjected
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **domain** | **String** | | [default to null] |
+| **logoSrc100px** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationSiteSearchResponse.md b/docs/Models/ModerationSiteSearchResponse.md
new file mode 100644
index 0000000..a1f7d8f
--- /dev/null
+++ b/docs/Models/ModerationSiteSearchResponse.md
@@ -0,0 +1,10 @@
+# ModerationSiteSearchResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **sites** | [**List**](ModerationSiteSearchProjected.md) | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationSuggestResponse.md b/docs/Models/ModerationSuggestResponse.md
new file mode 100644
index 0000000..3a439d1
--- /dev/null
+++ b/docs/Models/ModerationSuggestResponse.md
@@ -0,0 +1,12 @@
+# ModerationSuggestResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | **String** | | [default to null] |
+| **pages** | [**List**](ModerationPageSearchProjected.md) | | [optional] [default to null] |
+| **users** | [**List**](ModerationUserSearchProjected.md) | | [optional] [default to null] |
+| **code** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationUserSearchProjected.md b/docs/Models/ModerationUserSearchProjected.md
new file mode 100644
index 0000000..73b0133
--- /dev/null
+++ b/docs/Models/ModerationUserSearchProjected.md
@@ -0,0 +1,12 @@
+# ModerationUserSearchProjected
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **\_id** | **String** | | [default to null] |
+| **username** | **String** | | [default to null] |
+| **displayName** | **String** | | [optional] [default to null] |
+| **avatarSrc** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ModerationUserSearchResponse.md b/docs/Models/ModerationUserSearchResponse.md
new file mode 100644
index 0000000..f313987
--- /dev/null
+++ b/docs/Models/ModerationUserSearchResponse.md
@@ -0,0 +1,10 @@
+# ModerationUserSearchResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **users** | [**List**](ModerationUserSearchProjected.md) | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/PageUserEntry.md b/docs/Models/PageUserEntry.md
new file mode 100644
index 0000000..2476b93
--- /dev/null
+++ b/docs/Models/PageUserEntry.md
@@ -0,0 +1,12 @@
+# PageUserEntry
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **isPrivate** | **Boolean** | | [optional] [default to null] |
+| **avatarSrc** | **String** | | [optional] [default to null] |
+| **displayName** | **String** | | [default to null] |
+| **id** | **String** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/PageUsersInfoResponse.md b/docs/Models/PageUsersInfoResponse.md
new file mode 100644
index 0000000..2b588c8
--- /dev/null
+++ b/docs/Models/PageUsersInfoResponse.md
@@ -0,0 +1,10 @@
+# PageUsersInfoResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **users** | [**List**](PageUserEntry.md) | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/PageUsersOfflineResponse.md b/docs/Models/PageUsersOfflineResponse.md
new file mode 100644
index 0000000..6e39a20
--- /dev/null
+++ b/docs/Models/PageUsersOfflineResponse.md
@@ -0,0 +1,12 @@
+# PageUsersOfflineResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **nextAfterUserId** | **String** | | [default to null] |
+| **nextAfterName** | **String** | | [default to null] |
+| **users** | [**List**](PageUserEntry.md) | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/PageUsersOnlineResponse.md b/docs/Models/PageUsersOnlineResponse.md
new file mode 100644
index 0000000..5eab6e1
--- /dev/null
+++ b/docs/Models/PageUsersOnlineResponse.md
@@ -0,0 +1,14 @@
+# PageUsersOnlineResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **nextAfterUserId** | **String** | | [default to null] |
+| **nextAfterName** | **String** | | [default to null] |
+| **totalCount** | **Double** | | [default to null] |
+| **anonCount** | **Double** | | [default to null] |
+| **users** | [**List**](PageUserEntry.md) | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/PagesSortBy.md b/docs/Models/PagesSortBy.md
new file mode 100644
index 0000000..28edca4
--- /dev/null
+++ b/docs/Models/PagesSortBy.md
@@ -0,0 +1,8 @@
+# PagesSortBy
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/PatchDomainConfigResponse.md b/docs/Models/PatchDomainConfigResponse.md
new file mode 100644
index 0000000..26e1e7f
--- /dev/null
+++ b/docs/Models/PatchDomainConfigResponse.md
@@ -0,0 +1,12 @@
+# PatchDomainConfigResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **configuration** | [**oas_any_type_not_mapped**](.md) | | [optional] [default to null] |
+| **status** | [**oas_any_type_not_mapped**](.md) | | [default to null] |
+| **reason** | **String** | | [optional] [default to null] |
+| **code** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/PatchHashTag_200_response.md b/docs/Models/PatchHashTag_200_response.md
deleted file mode 100644
index 6f1b168..0000000
--- a/docs/Models/PatchHashTag_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# PatchHashTag_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **hashTag** | [**TenantHashTag**](TenantHashTag.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/PinComment_200_response.md b/docs/Models/PinComment_200_response.md
deleted file mode 100644
index 45672c6..0000000
--- a/docs/Models/PinComment_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# PinComment_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **commentPositions** | [**Map**](Record_string__before_string_or_null__after_string_or_null___value.md) | Construct a type with a set of properties K of type T | [default to null] |
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/PostRemoveCommentResponse.md b/docs/Models/PostRemoveCommentResponse.md
new file mode 100644
index 0000000..057e54b
--- /dev/null
+++ b/docs/Models/PostRemoveCommentResponse.md
@@ -0,0 +1,10 @@
+# PostRemoveCommentResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **action** | **String** | | [default to null] |
+| **status** | **String** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/PreBanSummary.md b/docs/Models/PreBanSummary.md
new file mode 100644
index 0000000..bd4be69
--- /dev/null
+++ b/docs/Models/PreBanSummary.md
@@ -0,0 +1,11 @@
+# PreBanSummary
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+| **usernames** | **List** | | [default to null] |
+| **count** | **Double** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/PublicPage.md b/docs/Models/PublicPage.md
new file mode 100644
index 0000000..6967b32
--- /dev/null
+++ b/docs/Models/PublicPage.md
@@ -0,0 +1,13 @@
+# PublicPage
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **updatedAt** | **Long** | | [default to null] |
+| **commentCount** | **Integer** | | [default to null] |
+| **title** | **String** | | [default to null] |
+| **url** | **String** | | [default to null] |
+| **urlId** | **String** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/PutDomainConfigResponse.md b/docs/Models/PutDomainConfigResponse.md
new file mode 100644
index 0000000..b66c223
--- /dev/null
+++ b/docs/Models/PutDomainConfigResponse.md
@@ -0,0 +1,12 @@
+# PutDomainConfigResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **configuration** | [**oas_any_type_not_mapped**](.md) | | [optional] [default to null] |
+| **status** | [**oas_any_type_not_mapped**](.md) | | [default to null] |
+| **reason** | **String** | | [optional] [default to null] |
+| **code** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/ReactFeedPostPublic_200_response.md b/docs/Models/ReactFeedPostPublic_200_response.md
deleted file mode 100644
index 5ae18ce..0000000
--- a/docs/Models/ReactFeedPostPublic_200_response.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# ReactFeedPostPublic_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **reactType** | **String** | | [default to null] |
-| **isUndo** | **Boolean** | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/RemoveCommentActionResponse.md b/docs/Models/RemoveCommentActionResponse.md
new file mode 100644
index 0000000..78e6970
--- /dev/null
+++ b/docs/Models/RemoveCommentActionResponse.md
@@ -0,0 +1,10 @@
+# RemoveCommentActionResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | **String** | | [default to null] |
+| **action** | **String** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/RemoveUserBadgeResponse.md b/docs/Models/RemoveUserBadgeResponse.md
new file mode 100644
index 0000000..e40a8d2
--- /dev/null
+++ b/docs/Models/RemoveUserBadgeResponse.md
@@ -0,0 +1,10 @@
+# RemoveUserBadgeResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **badges** | [**List**](CommentUserBadgeInfo.md) | | [optional] [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/RenderEmailTemplate_200_response.md b/docs/Models/RenderEmailTemplate_200_response.md
deleted file mode 100644
index 9e90901..0000000
--- a/docs/Models/RenderEmailTemplate_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# RenderEmailTemplate_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **html** | **String** | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/ResetUserNotifications_200_response.md b/docs/Models/ResetUserNotifications_200_response.md
deleted file mode 100644
index 003d65f..0000000
--- a/docs/Models/ResetUserNotifications_200_response.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# ResetUserNotifications_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/SaveComment_200_response.md b/docs/Models/SaveCommentsBulkResponse.md
similarity index 72%
rename from docs/Models/SaveComment_200_response.md
rename to docs/Models/SaveCommentsBulkResponse.md
index ecb65cf..5fe2cb7 100644
--- a/docs/Models/SaveComment_200_response.md
+++ b/docs/Models/SaveCommentsBulkResponse.md
@@ -1,14 +1,14 @@
-# SaveComment_200_response
+# SaveCommentsBulkResponse
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **comment** | [**FComment**](FComment.md) | | [default to null] |
-| **user** | [**UserSessionInfo**](UserSessionInfo.md) | | [default to null] |
+| **comment** | [**APIComment**](APIComment.md) | | [optional] [default to null] |
+| **user** | [**UserSessionInfo**](UserSessionInfo.md) | | [optional] [default to null] |
| **moduleData** | **Map** | Construct a type with a set of properties K of type T | [optional] [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
+| **reason** | **String** | | [optional] [default to null] |
+| **code** | **String** | | [optional] [default to null] |
| **secondaryCode** | **String** | | [optional] [default to null] |
| **bannedUntil** | **Long** | | [optional] [default to null] |
| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
diff --git a/docs/Models/SearchUsersResult.md b/docs/Models/SearchUsersResult.md
new file mode 100644
index 0000000..b21ee07
--- /dev/null
+++ b/docs/Models/SearchUsersResult.md
@@ -0,0 +1,11 @@
+# SearchUsersResult
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+| **sections** | [**List**](UserSearchSectionResult.md) | | [optional] [default to null] |
+| **users** | [**List**](UserSearchResult.md) | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/SearchUsers_200_response.md b/docs/Models/SearchUsers_200_response.md
deleted file mode 100644
index bea4dab..0000000
--- a/docs/Models/SearchUsers_200_response.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# SearchUsers_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **sections** | [**List**](UserSearchSectionResult.md) | | [default to null] |
-| **users** | [**List**](UserSearchResult.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/SetCommentApprovedResponse.md b/docs/Models/SetCommentApprovedResponse.md
new file mode 100644
index 0000000..15fc3f1
--- /dev/null
+++ b/docs/Models/SetCommentApprovedResponse.md
@@ -0,0 +1,10 @@
+# SetCommentApprovedResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **didResetFlaggedCount** | **Boolean** | | [optional] [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/SetCommentTextParams.md b/docs/Models/SetCommentTextParams.md
new file mode 100644
index 0000000..920a77b
--- /dev/null
+++ b/docs/Models/SetCommentTextParams.md
@@ -0,0 +1,9 @@
+# SetCommentTextParams
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **comment** | **String** | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/SetCommentTextResponse.md b/docs/Models/SetCommentTextResponse.md
new file mode 100644
index 0000000..9f2e28f
--- /dev/null
+++ b/docs/Models/SetCommentTextResponse.md
@@ -0,0 +1,10 @@
+# SetCommentTextResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **newCommentTextHTML** | **String** | | [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/SetCommentText_200_response.md b/docs/Models/SetCommentText_200_response.md
deleted file mode 100644
index 77a44b3..0000000
--- a/docs/Models/SetCommentText_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# SetCommentText_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **comment** | [**SetCommentTextResult**](SetCommentTextResult.md) | | [default to null] |
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/SetUserTrustFactorResponse.md b/docs/Models/SetUserTrustFactorResponse.md
new file mode 100644
index 0000000..90a1f09
--- /dev/null
+++ b/docs/Models/SetUserTrustFactorResponse.md
@@ -0,0 +1,10 @@
+# SetUserTrustFactorResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **previousManualTrustFactor** | **Double** | | [optional] [default to null] |
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/TenantBadge.md b/docs/Models/TenantBadge.md
new file mode 100644
index 0000000..8ba678d
--- /dev/null
+++ b/docs/Models/TenantBadge.md
@@ -0,0 +1,29 @@
+# TenantBadge
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **\_id** | **String** | | [default to null] |
+| **tenantId** | **String** | | [default to null] |
+| **createdByUserId** | **String** | | [default to null] |
+| **createdAt** | **Date** | | [default to null] |
+| **enabled** | **Boolean** | | [default to null] |
+| **urlId** | **String** | | [optional] [default to null] |
+| **type** | **Double** | | [default to null] |
+| **threshold** | **Double** | | [default to null] |
+| **uses** | **Double** | | [default to null] |
+| **name** | **String** | | [default to null] |
+| **description** | **String** | | [default to null] |
+| **displayLabel** | **String** | | [default to null] |
+| **displaySrc** | **String** | | [default to null] |
+| **backgroundColor** | **String** | | [default to null] |
+| **borderColor** | **String** | | [default to null] |
+| **textColor** | **String** | | [default to null] |
+| **cssClass** | **String** | | [optional] [default to null] |
+| **veteranUserThresholdMillis** | **Double** | | [optional] [default to null] |
+| **isAwaitingReprocess** | **Boolean** | | [default to null] |
+| **isAwaitingDeletion** | **Boolean** | | [default to null] |
+| **replacesBadgeId** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/TenantPackage.md b/docs/Models/TenantPackage.md
index 1ba8e86..896e43c 100644
--- a/docs/Models/TenantPackage.md
+++ b/docs/Models/TenantPackage.md
@@ -7,6 +7,7 @@
| **name** | **String** | | [default to null] |
| **tenantId** | **String** | | [default to null] |
| **createdAt** | **Date** | | [default to null] |
+| **templateId** | **String** | | [optional] [default to null] |
| **monthlyCostUSD** | **Double** | | [default to null] |
| **yearlyCostUSD** | **Double** | | [default to null] |
| **monthlyStripePlanId** | **String** | | [default to null] |
@@ -50,6 +51,8 @@
| **flexDomainUnit** | **Double** | | [optional] [default to null] |
| **flexChatGPTCostCents** | **Double** | | [optional] [default to null] |
| **flexChatGPTUnit** | **Double** | | [optional] [default to null] |
+| **flexLLMCostCents** | **Double** | | [optional] [default to null] |
+| **flexLLMUnit** | **Double** | | [optional] [default to null] |
| **flexMinimumCostCents** | **Double** | | [optional] [default to null] |
| **flexManagedTenantCostCents** | **Double** | | [optional] [default to null] |
| **flexSSOAdminCostCents** | **Double** | | [optional] [default to null] |
@@ -57,6 +60,10 @@
| **flexSSOModeratorCostCents** | **Double** | | [optional] [default to null] |
| **flexSSOModeratorUnit** | **Double** | | [optional] [default to null] |
| **isSSOBillingMonthlyActiveUsers** | **Boolean** | | [optional] [default to null] |
+| **hasAIAgents** | **Boolean** | | [optional] [default to null] |
+| **maxAIAgents** | **Double** | | [optional] [default to null] |
+| **aiAgentDailyBudgetCents** | **Double** | | [optional] [default to null] |
+| **aiAgentMonthlyBudgetCents** | **Double** | | [optional] [default to null] |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Models/UnBlockCommentPublic_200_response.md b/docs/Models/UnBlockCommentPublic_200_response.md
deleted file mode 100644
index 03d5d65..0000000
--- a/docs/Models/UnBlockCommentPublic_200_response.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# UnBlockCommentPublic_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **commentStatuses** | **Map** | Construct a type with a set of properties K of type T | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/UpdateUserBadge_200_response.md b/docs/Models/UpdateUserBadge_200_response.md
deleted file mode 100644
index da5ddc0..0000000
--- a/docs/Models/UpdateUserBadge_200_response.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# UpdateUserBadge_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/UpdateUserNotificationCommentSubscriptionStatusResponse.md b/docs/Models/UpdateUserNotificationCommentSubscriptionStatusResponse.md
new file mode 100644
index 0000000..43874ef
--- /dev/null
+++ b/docs/Models/UpdateUserNotificationCommentSubscriptionStatusResponse.md
@@ -0,0 +1,12 @@
+# UpdateUserNotificationCommentSubscriptionStatusResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+| **matchedCount** | **Long** | | [optional] [default to null] |
+| **modifiedCount** | **Long** | | [optional] [default to null] |
+| **note** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/UpdateUserNotificationPageSubscriptionStatusResponse.md b/docs/Models/UpdateUserNotificationPageSubscriptionStatusResponse.md
new file mode 100644
index 0000000..3e93cbd
--- /dev/null
+++ b/docs/Models/UpdateUserNotificationPageSubscriptionStatusResponse.md
@@ -0,0 +1,12 @@
+# UpdateUserNotificationPageSubscriptionStatusResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+| **matchedCount** | **Long** | | [optional] [default to null] |
+| **modifiedCount** | **Long** | | [optional] [default to null] |
+| **note** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/UpdateUserNotificationStatusResponse.md b/docs/Models/UpdateUserNotificationStatusResponse.md
new file mode 100644
index 0000000..8f1a2ce
--- /dev/null
+++ b/docs/Models/UpdateUserNotificationStatusResponse.md
@@ -0,0 +1,12 @@
+# UpdateUserNotificationStatusResponse
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
+| **matchedCount** | **Long** | | [optional] [default to null] |
+| **modifiedCount** | **Long** | | [optional] [default to null] |
+| **note** | **String** | | [optional] [default to null] |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/UpdateUserNotificationStatus_200_response.md b/docs/Models/UpdateUserNotificationStatus_200_response.md
deleted file mode 100644
index 7e3df7b..0000000
--- a/docs/Models/UpdateUserNotificationStatus_200_response.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# UpdateUserNotificationStatus_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **matchedCount** | **Long** | | [default to null] |
-| **modifiedCount** | **Long** | | [default to null] |
-| **note** | **String** | | [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/Models/User.md b/docs/Models/User.md
index 5549c4a..3d782b0 100644
--- a/docs/Models/User.md
+++ b/docs/Models/User.md
@@ -42,6 +42,7 @@
| **digestEmailFrequency** | [**DigestEmailFrequency**](DigestEmailFrequency.md) | | [optional] [default to null] |
| **notificationFrequency** | **Double** | | [optional] [default to null] |
| **adminNotificationFrequency** | **Double** | | [optional] [default to null] |
+| **agentApprovalNotificationFrequency** | [**ImportedAgentApprovalNotificationFrequency**](ImportedAgentApprovalNotificationFrequency.md) | | [optional] [default to null] |
| **lastTenantNotificationSentDate** | **Date** | | [optional] [default to null] |
| **lastReplyNotificationSentDate** | **Date** | | [optional] [default to null] |
| **ignoredAddToMySiteMessages** | **Boolean** | | [optional] [default to null] |
diff --git a/docs/Models/UsersListLocation.md b/docs/Models/UsersListLocation.md
new file mode 100644
index 0000000..17b8470
--- /dev/null
+++ b/docs/Models/UsersListLocation.md
@@ -0,0 +1,8 @@
+# UsersListLocation
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Models/VoteComment_200_response.md b/docs/Models/VoteComment_200_response.md
deleted file mode 100644
index 61c57e5..0000000
--- a/docs/Models/VoteComment_200_response.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# VoteComment_200_response
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-| **status** | [**APIStatus**](APIStatus.md) | | [default to null] |
-| **voteId** | **String** | | [optional] [default to null] |
-| **isVerified** | **Boolean** | | [optional] [default to null] |
-| **user** | [**VoteResponseUser**](VoteResponseUser.md) | | [optional] [default to null] |
-| **editKey** | **String** | | [optional] [default to null] |
-| **reason** | **String** | | [default to null] |
-| **code** | **String** | | [default to null] |
-| **secondaryCode** | **String** | | [optional] [default to null] |
-| **bannedUntil** | **Long** | | [optional] [default to null] |
-| **maxCharacterLength** | **Integer** | | [optional] [default to null] |
-| **translatedError** | **String** | | [optional] [default to null] |
-| **customConfig** | [**CustomConfigParameters**](CustomConfigParameters.md) | | [optional] [default to null] |
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
diff --git a/docs/README.md b/docs/README.md
index e9072eb..c923b37 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -121,26 +121,86 @@ All URIs are relative to *https://fastcomments.com*
*DefaultApi* | [**updateTenantPackage**](Apis/DefaultApi.md#updateTenantPackage) | **PATCH** /api/v1/tenant-packages/{id} | |
*DefaultApi* | [**updateTenantUser**](Apis/DefaultApi.md#updateTenantUser) | **PATCH** /api/v1/tenant-users/{id} | |
*DefaultApi* | [**updateUserBadge**](Apis/DefaultApi.md#updateUserBadge) | **PUT** /api/v1/user-badges/{id} | |
+| *ModerationApi* | [**deleteModerationVote**](Apis/ModerationApi.md#deleteModerationVote) | **DELETE** /auth/my-account/moderate-comments/vote/{commentId}/{voteId} | |
+*ModerationApi* | [**getApiComments**](Apis/ModerationApi.md#getApiComments) | **GET** /auth/my-account/moderate-comments/api/comments | |
+*ModerationApi* | [**getApiExportStatus**](Apis/ModerationApi.md#getApiExportStatus) | **GET** /auth/my-account/moderate-comments/api/export/status | |
+*ModerationApi* | [**getApiIds**](Apis/ModerationApi.md#getApiIds) | **GET** /auth/my-account/moderate-comments/api/ids | |
+*ModerationApi* | [**getBanUsersFromComment**](Apis/ModerationApi.md#getBanUsersFromComment) | **GET** /auth/my-account/moderate-comments/ban-users/from-comment/{commentId} | |
+*ModerationApi* | [**getCommentBanStatus**](Apis/ModerationApi.md#getCommentBanStatus) | **GET** /auth/my-account/moderate-comments/get-comment-ban-status/{commentId} | |
+*ModerationApi* | [**getCommentChildren**](Apis/ModerationApi.md#getCommentChildren) | **GET** /auth/my-account/moderate-comments/comment-children/{commentId} | |
+*ModerationApi* | [**getCount**](Apis/ModerationApi.md#getCount) | **GET** /auth/my-account/moderate-comments/count | |
+*ModerationApi* | [**getCounts**](Apis/ModerationApi.md#getCounts) | **GET** /auth/my-account/moderate-comments/banned-users/counts | |
+*ModerationApi* | [**getLogs**](Apis/ModerationApi.md#getLogs) | **GET** /auth/my-account/moderate-comments/logs/{commentId} | |
+*ModerationApi* | [**getManualBadges**](Apis/ModerationApi.md#getManualBadges) | **GET** /auth/my-account/moderate-comments/get-manual-badges | |
+*ModerationApi* | [**getManualBadgesForUser**](Apis/ModerationApi.md#getManualBadgesForUser) | **GET** /auth/my-account/moderate-comments/get-manual-badges-for-user | |
+*ModerationApi* | [**getModerationComment**](Apis/ModerationApi.md#getModerationComment) | **GET** /auth/my-account/moderate-comments/comment/{commentId} | |
+*ModerationApi* | [**getModerationCommentText**](Apis/ModerationApi.md#getModerationCommentText) | **GET** /auth/my-account/moderate-comments/get-comment-text/{commentId} | |
+*ModerationApi* | [**getPreBanSummary**](Apis/ModerationApi.md#getPreBanSummary) | **GET** /auth/my-account/moderate-comments/pre-ban-summary/{commentId} | |
+*ModerationApi* | [**getSearchCommentsSummary**](Apis/ModerationApi.md#getSearchCommentsSummary) | **GET** /auth/my-account/moderate-comments/search/comments/summary | |
+*ModerationApi* | [**getSearchPages**](Apis/ModerationApi.md#getSearchPages) | **GET** /auth/my-account/moderate-comments/search/pages | |
+*ModerationApi* | [**getSearchSites**](Apis/ModerationApi.md#getSearchSites) | **GET** /auth/my-account/moderate-comments/search/sites | |
+*ModerationApi* | [**getSearchSuggest**](Apis/ModerationApi.md#getSearchSuggest) | **GET** /auth/my-account/moderate-comments/search/suggest | |
+*ModerationApi* | [**getSearchUsers**](Apis/ModerationApi.md#getSearchUsers) | **GET** /auth/my-account/moderate-comments/search/users | |
+*ModerationApi* | [**getTrustFactor**](Apis/ModerationApi.md#getTrustFactor) | **GET** /auth/my-account/moderate-comments/get-trust-factor | |
+*ModerationApi* | [**getUserBanPreference**](Apis/ModerationApi.md#getUserBanPreference) | **GET** /auth/my-account/moderate-comments/user-ban-preference | |
+*ModerationApi* | [**getUserInternalProfile**](Apis/ModerationApi.md#getUserInternalProfile) | **GET** /auth/my-account/moderate-comments/get-user-internal-profile | |
+*ModerationApi* | [**postAdjustCommentVotes**](Apis/ModerationApi.md#postAdjustCommentVotes) | **POST** /auth/my-account/moderate-comments/adjust-comment-votes/{commentId} | |
+*ModerationApi* | [**postApiExport**](Apis/ModerationApi.md#postApiExport) | **POST** /auth/my-account/moderate-comments/api/export | |
+*ModerationApi* | [**postBanUserFromComment**](Apis/ModerationApi.md#postBanUserFromComment) | **POST** /auth/my-account/moderate-comments/ban-user/from-comment/{commentId} | |
+*ModerationApi* | [**postBanUserUndo**](Apis/ModerationApi.md#postBanUserUndo) | **POST** /auth/my-account/moderate-comments/ban-user/undo | |
+*ModerationApi* | [**postBulkPreBanSummary**](Apis/ModerationApi.md#postBulkPreBanSummary) | **POST** /auth/my-account/moderate-comments/bulk-pre-ban-summary | |
+*ModerationApi* | [**postCommentsByIds**](Apis/ModerationApi.md#postCommentsByIds) | **POST** /auth/my-account/moderate-comments/comments-by-ids | |
+*ModerationApi* | [**postFlagComment**](Apis/ModerationApi.md#postFlagComment) | **POST** /auth/my-account/moderate-comments/flag-comment/{commentId} | |
+*ModerationApi* | [**postRemoveComment**](Apis/ModerationApi.md#postRemoveComment) | **POST** /auth/my-account/moderate-comments/remove-comment/{commentId} | |
+*ModerationApi* | [**postRestoreDeletedComment**](Apis/ModerationApi.md#postRestoreDeletedComment) | **POST** /auth/my-account/moderate-comments/restore-deleted-comment/{commentId} | |
+*ModerationApi* | [**postSetCommentApprovalStatus**](Apis/ModerationApi.md#postSetCommentApprovalStatus) | **POST** /auth/my-account/moderate-comments/set-comment-approval-status/{commentId} | |
+*ModerationApi* | [**postSetCommentReviewStatus**](Apis/ModerationApi.md#postSetCommentReviewStatus) | **POST** /auth/my-account/moderate-comments/set-comment-review-status/{commentId} | |
+*ModerationApi* | [**postSetCommentSpamStatus**](Apis/ModerationApi.md#postSetCommentSpamStatus) | **POST** /auth/my-account/moderate-comments/set-comment-spam-status/{commentId} | |
+*ModerationApi* | [**postSetCommentText**](Apis/ModerationApi.md#postSetCommentText) | **POST** /auth/my-account/moderate-comments/set-comment-text/{commentId} | |
+*ModerationApi* | [**postUnFlagComment**](Apis/ModerationApi.md#postUnFlagComment) | **POST** /auth/my-account/moderate-comments/un-flag-comment/{commentId} | |
+*ModerationApi* | [**postVote**](Apis/ModerationApi.md#postVote) | **POST** /auth/my-account/moderate-comments/vote/{commentId} | |
+*ModerationApi* | [**putAwardBadge**](Apis/ModerationApi.md#putAwardBadge) | **PUT** /auth/my-account/moderate-comments/award-badge | |
+*ModerationApi* | [**putCloseThread**](Apis/ModerationApi.md#putCloseThread) | **PUT** /auth/my-account/moderate-comments/close-thread | |
+*ModerationApi* | [**putRemoveBadge**](Apis/ModerationApi.md#putRemoveBadge) | **PUT** /auth/my-account/moderate-comments/remove-badge | |
+*ModerationApi* | [**putReopenThread**](Apis/ModerationApi.md#putReopenThread) | **PUT** /auth/my-account/moderate-comments/reopen-thread | |
+*ModerationApi* | [**setTrustFactor**](Apis/ModerationApi.md#setTrustFactor) | **PUT** /auth/my-account/moderate-comments/set-trust-factor | |
| *PublicApi* | [**blockFromCommentPublic**](Apis/PublicApi.md#blockFromCommentPublic) | **POST** /block-from-comment/{commentId} | |
*PublicApi* | [**checkedCommentsForBlocked**](Apis/PublicApi.md#checkedCommentsForBlocked) | **GET** /check-blocked-comments | |
*PublicApi* | [**createCommentPublic**](Apis/PublicApi.md#createCommentPublic) | **POST** /comments/{tenantId} | |
*PublicApi* | [**createFeedPostPublic**](Apis/PublicApi.md#createFeedPostPublic) | **POST** /feed-posts/{tenantId} | |
+*PublicApi* | [**createV1PageReact**](Apis/PublicApi.md#createV1PageReact) | **POST** /page-reacts/v1/likes/{tenantId} | |
+*PublicApi* | [**createV2PageReact**](Apis/PublicApi.md#createV2PageReact) | **POST** /page-reacts/v2/{tenantId} | |
*PublicApi* | [**deleteCommentPublic**](Apis/PublicApi.md#deleteCommentPublic) | **DELETE** /comments/{tenantId}/{commentId} | |
*PublicApi* | [**deleteCommentVote**](Apis/PublicApi.md#deleteCommentVote) | **DELETE** /comments/{tenantId}/{commentId}/vote/{voteId} | |
*PublicApi* | [**deleteFeedPostPublic**](Apis/PublicApi.md#deleteFeedPostPublic) | **DELETE** /feed-posts/{tenantId}/{postId} | |
+*PublicApi* | [**deleteV1PageReact**](Apis/PublicApi.md#deleteV1PageReact) | **DELETE** /page-reacts/v1/likes/{tenantId} | |
+*PublicApi* | [**deleteV2PageReact**](Apis/PublicApi.md#deleteV2PageReact) | **DELETE** /page-reacts/v2/{tenantId} | |
*PublicApi* | [**flagCommentPublic**](Apis/PublicApi.md#flagCommentPublic) | **POST** /flag-comment/{commentId} | |
*PublicApi* | [**getCommentText**](Apis/PublicApi.md#getCommentText) | **GET** /comments/{tenantId}/{commentId}/text | |
*PublicApi* | [**getCommentVoteUserNames**](Apis/PublicApi.md#getCommentVoteUserNames) | **GET** /comments/{tenantId}/{commentId}/votes | |
+*PublicApi* | [**getCommentsForUser**](Apis/PublicApi.md#getCommentsForUser) | **GET** /comments-for-user | |
*PublicApi* | [**getCommentsPublic**](Apis/PublicApi.md#getCommentsPublic) | **GET** /comments/{tenantId} | req tenantId urlId |
*PublicApi* | [**getEventLog**](Apis/PublicApi.md#getEventLog) | **GET** /event-log/{tenantId} | req tenantId urlId userIdWS |
*PublicApi* | [**getFeedPostsPublic**](Apis/PublicApi.md#getFeedPostsPublic) | **GET** /feed-posts/{tenantId} | req tenantId afterId |
*PublicApi* | [**getFeedPostsStats**](Apis/PublicApi.md#getFeedPostsStats) | **GET** /feed-posts/{tenantId}/stats | |
+*PublicApi* | [**getGifLarge**](Apis/PublicApi.md#getGifLarge) | **GET** /gifs/get-large/{tenantId} | |
+*PublicApi* | [**getGifsSearch**](Apis/PublicApi.md#getGifsSearch) | **GET** /gifs/search/{tenantId} | |
+*PublicApi* | [**getGifsTrending**](Apis/PublicApi.md#getGifsTrending) | **GET** /gifs/trending/{tenantId} | |
*PublicApi* | [**getGlobalEventLog**](Apis/PublicApi.md#getGlobalEventLog) | **GET** /event-log/global/{tenantId} | req tenantId urlId userIdWS |
+*PublicApi* | [**getOfflineUsers**](Apis/PublicApi.md#getOfflineUsers) | **GET** /pages/{tenantId}/users/offline | Past commenters on the page who are NOT currently online. Sorted by displayName. Use this after exhausting /users/online to render a \"Members\" section. Cursor pagination on commenterName: server walks the partial {tenantId, urlId, commenterName} index from afterName forward via $gt, no $skip cost. |
+*PublicApi* | [**getOnlineUsers**](Apis/PublicApi.md#getOnlineUsers) | **GET** /pages/{tenantId}/users/online | Currently-online viewers of a page: people whose websocket session is subscribed to the page right now. Returns anonCount + totalCount (room-wide subscribers, including anon viewers we don't enumerate). |
+*PublicApi* | [**getPagesPublic**](Apis/PublicApi.md#getPagesPublic) | **GET** /pages/{tenantId} | List pages for a tenant. Used by the FChat desktop client to populate its room list. Requires `enableFChat` to be true on the resolved custom config for each page. Pages that require SSO are filtered against the requesting user's group access. |
+*PublicApi* | [**getTranslations**](Apis/PublicApi.md#getTranslations) | **GET** /translations/{namespace}/{component} | |
*PublicApi* | [**getUserNotificationCount**](Apis/PublicApi.md#getUserNotificationCount) | **GET** /user-notifications/get-count | |
*PublicApi* | [**getUserNotifications**](Apis/PublicApi.md#getUserNotifications) | **GET** /user-notifications | |
*PublicApi* | [**getUserPresenceStatuses**](Apis/PublicApi.md#getUserPresenceStatuses) | **GET** /user-presence-status | |
*PublicApi* | [**getUserReactsPublic**](Apis/PublicApi.md#getUserReactsPublic) | **GET** /feed-posts/{tenantId}/user-reacts | |
+*PublicApi* | [**getUsersInfo**](Apis/PublicApi.md#getUsersInfo) | **GET** /pages/{tenantId}/users/info | Bulk user info for a tenant. Given userIds, return display info from User / SSOUser. Used by the comment widget to enrich users that just appeared via a presence event. No page context: privacy is enforced uniformly (private profiles are masked). |
+*PublicApi* | [**getV1PageLikes**](Apis/PublicApi.md#getV1PageLikes) | **GET** /page-reacts/v1/likes/{tenantId} | |
+*PublicApi* | [**getV2PageReactUsers**](Apis/PublicApi.md#getV2PageReactUsers) | **GET** /page-reacts/v2/{tenantId}/list | |
+*PublicApi* | [**getV2PageReacts**](Apis/PublicApi.md#getV2PageReacts) | **GET** /page-reacts/v2/{tenantId} | |
*PublicApi* | [**lockComment**](Apis/PublicApi.md#lockComment) | **POST** /comments/{tenantId}/{commentId}/lock | |
+*PublicApi* | [**logoutPublic**](Apis/PublicApi.md#logoutPublic) | **PUT** /auth/logout | |
*PublicApi* | [**pinComment**](Apis/PublicApi.md#pinComment) | **POST** /comments/{tenantId}/{commentId}/pin | |
*PublicApi* | [**reactFeedPostPublic**](Apis/PublicApi.md#reactFeedPostPublic) | **POST** /feed-posts/{tenantId}/react/{postId} | |
*PublicApi* | [**resetUserNotificationCount**](Apis/PublicApi.md#resetUserNotificationCount) | **POST** /user-notifications/reset-count | |
@@ -162,9 +222,14 @@ All URIs are relative to *https://fastcomments.com*
## Documentation for Models
- [APIAuditLog](./Models/APIAuditLog.md)
+ - [APIBanUserChangeLog](./Models/APIBanUserChangeLog.md)
+ - [APIBanUserChangedValues](./Models/APIBanUserChangedValues.md)
+ - [APIBannedUser](./Models/APIBannedUser.md)
+ - [APIBannedUserWithMultiMatchInfo](./Models/APIBannedUserWithMultiMatchInfo.md)
- [APIComment](./Models/APIComment.md)
- [APICommentBase](./Models/APICommentBase.md)
- [APICommentBase_meta](./Models/APICommentBase_meta.md)
+ - [APICommentCommonBannedUser](./Models/APICommentCommonBannedUser.md)
- [APICreateUserBadgeResponse](./Models/APICreateUserBadgeResponse.md)
- [APIDomainConfiguration](./Models/APIDomainConfiguration.md)
- [APIEmptyResponse](./Models/APIEmptyResponse.md)
@@ -176,8 +241,11 @@ All URIs are relative to *https://fastcomments.com*
- [APIGetUserBadgeProgressResponse](./Models/APIGetUserBadgeProgressResponse.md)
- [APIGetUserBadgeResponse](./Models/APIGetUserBadgeResponse.md)
- [APIGetUserBadgesResponse](./Models/APIGetUserBadgesResponse.md)
+ - [APIModerateGetUserBanPreferencesResponse](./Models/APIModerateGetUserBanPreferencesResponse.md)
+ - [APIModerateUserBanPreferences](./Models/APIModerateUserBanPreferences.md)
- [APIPage](./Models/APIPage.md)
- [APISSOUser](./Models/APISSOUser.md)
+ - [APISaveCommentResponse](./Models/APISaveCommentResponse.md)
- [APIStatus](./Models/APIStatus.md)
- [APITenant](./Models/APITenant.md)
- [APITenantDailyUsage](./Models/APITenantDailyUsage.md)
@@ -186,15 +254,16 @@ All URIs are relative to *https://fastcomments.com*
- [APITicketFile](./Models/APITicketFile.md)
- [APIUserSubscription](./Models/APIUserSubscription.md)
- [AddDomainConfigParams](./Models/AddDomainConfigParams.md)
- - [AddDomainConfig_200_response](./Models/AddDomainConfig_200_response.md)
- - [AddDomainConfig_200_response_anyOf](./Models/AddDomainConfig_200_response_anyOf.md)
- - [AddHashTag_200_response](./Models/AddHashTag_200_response.md)
- - [AddHashTagsBulk_200_response](./Models/AddHashTagsBulk_200_response.md)
+ - [AddDomainConfigResponse](./Models/AddDomainConfigResponse.md)
+ - [AddDomainConfigResponse_anyOf](./Models/AddDomainConfigResponse_anyOf.md)
- [AddPageAPIResponse](./Models/AddPageAPIResponse.md)
- [AddSSOUserAPIResponse](./Models/AddSSOUserAPIResponse.md)
+ - [AdjustCommentVotesParams](./Models/AdjustCommentVotesParams.md)
+ - [AdjustVotesResponse](./Models/AdjustVotesResponse.md)
- [AggregateQuestionResultsResponse](./Models/AggregateQuestionResultsResponse.md)
- - [AggregateQuestionResults_200_response](./Models/AggregateQuestionResults_200_response.md)
+ - [AggregateResponse](./Models/AggregateResponse.md)
- [AggregateTimeBucket](./Models/AggregateTimeBucket.md)
+ - [AggregationAPIError](./Models/AggregationAPIError.md)
- [AggregationItem](./Models/AggregationItem.md)
- [AggregationOpType](./Models/AggregationOpType.md)
- [AggregationOperation](./Models/AggregationOperation.md)
@@ -203,24 +272,30 @@ All URIs are relative to *https://fastcomments.com*
- [AggregationResponse](./Models/AggregationResponse.md)
- [AggregationResponse_stats](./Models/AggregationResponse_stats.md)
- [AggregationValue](./Models/AggregationValue.md)
+ - [AwardUserBadgeResponse](./Models/AwardUserBadgeResponse.md)
+ - [BanUserFromCommentResult](./Models/BanUserFromCommentResult.md)
+ - [BanUserUndoParams](./Models/BanUserUndoParams.md)
+ - [BannedUserMatch](./Models/BannedUserMatch.md)
+ - [BannedUserMatchType](./Models/BannedUserMatchType.md)
+ - [BannedUserMatch_matchedOnValue](./Models/BannedUserMatch_matchedOnValue.md)
- [BillingInfo](./Models/BillingInfo.md)
- [BlockFromCommentParams](./Models/BlockFromCommentParams.md)
- - [BlockFromCommentPublic_200_response](./Models/BlockFromCommentPublic_200_response.md)
- [BlockSuccess](./Models/BlockSuccess.md)
+ - [BuildModerationFilterParams](./Models/BuildModerationFilterParams.md)
+ - [BuildModerationFilterResponse](./Models/BuildModerationFilterResponse.md)
- [BulkAggregateQuestionItem](./Models/BulkAggregateQuestionItem.md)
- [BulkAggregateQuestionResultsRequest](./Models/BulkAggregateQuestionResultsRequest.md)
- [BulkAggregateQuestionResultsResponse](./Models/BulkAggregateQuestionResultsResponse.md)
- - [BulkAggregateQuestionResults_200_response](./Models/BulkAggregateQuestionResults_200_response.md)
- [BulkCreateHashTagsBody](./Models/BulkCreateHashTagsBody.md)
- [BulkCreateHashTagsBody_tags_inner](./Models/BulkCreateHashTagsBody_tags_inner.md)
- [BulkCreateHashTagsResponse](./Models/BulkCreateHashTagsResponse.md)
+ - [BulkCreateHashTagsResponse_results_inner](./Models/BulkCreateHashTagsResponse_results_inner.md)
+ - [BulkPreBanParams](./Models/BulkPreBanParams.md)
+ - [BulkPreBanSummary](./Models/BulkPreBanSummary.md)
- [ChangeCommentPinStatusResponse](./Models/ChangeCommentPinStatusResponse.md)
- [ChangeTicketStateBody](./Models/ChangeTicketStateBody.md)
- [ChangeTicketStateResponse](./Models/ChangeTicketStateResponse.md)
- - [ChangeTicketState_200_response](./Models/ChangeTicketState_200_response.md)
- [CheckBlockedCommentsResponse](./Models/CheckBlockedCommentsResponse.md)
- - [CheckedCommentsForBlocked_200_response](./Models/CheckedCommentsForBlocked_200_response.md)
- - [CombineCommentsWithQuestionResults_200_response](./Models/CombineCommentsWithQuestionResults_200_response.md)
- [CombineQuestionResultsWithCommentsResponse](./Models/CombineQuestionResultsWithCommentsResponse.md)
- [CommentData](./Models/CommentData.md)
- [CommentHTMLRenderingMode](./Models/CommentHTMLRenderingMode.md)
@@ -235,56 +310,42 @@ All URIs are relative to *https://fastcomments.com*
- [CommentUserHashTagInfo](./Models/CommentUserHashTagInfo.md)
- [CommentUserMentionInfo](./Models/CommentUserMentionInfo.md)
- [CommenterNameFormats](./Models/CommenterNameFormats.md)
+ - [CommentsByIdsParams](./Models/CommentsByIdsParams.md)
- [CreateAPIPageData](./Models/CreateAPIPageData.md)
- [CreateAPISSOUserData](./Models/CreateAPISSOUserData.md)
- [CreateAPIUserSubscriptionData](./Models/CreateAPIUserSubscriptionData.md)
- [CreateCommentParams](./Models/CreateCommentParams.md)
- - [CreateCommentPublic_200_response](./Models/CreateCommentPublic_200_response.md)
- [CreateEmailTemplateBody](./Models/CreateEmailTemplateBody.md)
- [CreateEmailTemplateResponse](./Models/CreateEmailTemplateResponse.md)
- - [CreateEmailTemplate_200_response](./Models/CreateEmailTemplate_200_response.md)
- [CreateFeedPostParams](./Models/CreateFeedPostParams.md)
- - [CreateFeedPostPublic_200_response](./Models/CreateFeedPostPublic_200_response.md)
- [CreateFeedPostResponse](./Models/CreateFeedPostResponse.md)
- - [CreateFeedPost_200_response](./Models/CreateFeedPost_200_response.md)
- [CreateFeedPostsResponse](./Models/CreateFeedPostsResponse.md)
- [CreateHashTagBody](./Models/CreateHashTagBody.md)
- [CreateHashTagResponse](./Models/CreateHashTagResponse.md)
- [CreateModeratorBody](./Models/CreateModeratorBody.md)
- [CreateModeratorResponse](./Models/CreateModeratorResponse.md)
- - [CreateModerator_200_response](./Models/CreateModerator_200_response.md)
- [CreateQuestionConfigBody](./Models/CreateQuestionConfigBody.md)
- [CreateQuestionConfigResponse](./Models/CreateQuestionConfigResponse.md)
- - [CreateQuestionConfig_200_response](./Models/CreateQuestionConfig_200_response.md)
- [CreateQuestionResultBody](./Models/CreateQuestionResultBody.md)
- [CreateQuestionResultResponse](./Models/CreateQuestionResultResponse.md)
- - [CreateQuestionResult_200_response](./Models/CreateQuestionResult_200_response.md)
- [CreateSubscriptionAPIResponse](./Models/CreateSubscriptionAPIResponse.md)
- [CreateTenantBody](./Models/CreateTenantBody.md)
- [CreateTenantPackageBody](./Models/CreateTenantPackageBody.md)
- [CreateTenantPackageResponse](./Models/CreateTenantPackageResponse.md)
- - [CreateTenantPackage_200_response](./Models/CreateTenantPackage_200_response.md)
- [CreateTenantResponse](./Models/CreateTenantResponse.md)
- [CreateTenantUserBody](./Models/CreateTenantUserBody.md)
- [CreateTenantUserResponse](./Models/CreateTenantUserResponse.md)
- - [CreateTenantUser_200_response](./Models/CreateTenantUser_200_response.md)
- - [CreateTenant_200_response](./Models/CreateTenant_200_response.md)
- [CreateTicketBody](./Models/CreateTicketBody.md)
- [CreateTicketResponse](./Models/CreateTicketResponse.md)
- - [CreateTicket_200_response](./Models/CreateTicket_200_response.md)
- [CreateUserBadgeParams](./Models/CreateUserBadgeParams.md)
- - [CreateUserBadge_200_response](./Models/CreateUserBadge_200_response.md)
+ - [CreateV1PageReact](./Models/CreateV1PageReact.md)
- [CustomConfigParameters](./Models/CustomConfigParameters.md)
- [CustomEmailTemplate](./Models/CustomEmailTemplate.md)
- [DeleteCommentAction](./Models/DeleteCommentAction.md)
- - [DeleteCommentPublic_200_response](./Models/DeleteCommentPublic_200_response.md)
- [DeleteCommentResult](./Models/DeleteCommentResult.md)
- - [DeleteCommentVote_200_response](./Models/DeleteCommentVote_200_response.md)
- - [DeleteComment_200_response](./Models/DeleteComment_200_response.md)
- - [DeleteDomainConfig_200_response](./Models/DeleteDomainConfig_200_response.md)
- - [DeleteFeedPostPublic_200_response](./Models/DeleteFeedPostPublic_200_response.md)
- - [DeleteFeedPostPublic_200_response_anyOf](./Models/DeleteFeedPostPublic_200_response_anyOf.md)
- - [DeleteHashTag_request](./Models/DeleteHashTag_request.md)
+ - [DeleteDomainConfigResponse](./Models/DeleteDomainConfigResponse.md)
+ - [DeleteFeedPostPublicResponse](./Models/DeleteFeedPostPublicResponse.md)
+ - [DeleteHashTagRequestBody](./Models/DeleteHashTagRequestBody.md)
- [DeletePageAPIResponse](./Models/DeletePageAPIResponse.md)
- [DeleteSSOUserAPIResponse](./Models/DeleteSSOUserAPIResponse.md)
- [DeleteSubscriptionAPIResponse](./Models/DeleteSubscriptionAPIResponse.md)
@@ -303,126 +364,124 @@ All URIs are relative to *https://fastcomments.com*
- [FeedPostsStatsResponse](./Models/FeedPostsStatsResponse.md)
- [FindCommentsByRangeItem](./Models/FindCommentsByRangeItem.md)
- [FindCommentsByRangeResponse](./Models/FindCommentsByRangeResponse.md)
- - [FlagCommentPublic_200_response](./Models/FlagCommentPublic_200_response.md)
- [FlagCommentResponse](./Models/FlagCommentResponse.md)
- - [FlagComment_200_response](./Models/FlagComment_200_response.md)
- [GetAuditLogsResponse](./Models/GetAuditLogsResponse.md)
- - [GetAuditLogs_200_response](./Models/GetAuditLogs_200_response.md)
+ - [GetBannedUsersCountResponse](./Models/GetBannedUsersCountResponse.md)
+ - [GetBannedUsersFromCommentResponse](./Models/GetBannedUsersFromCommentResponse.md)
- [GetCachedNotificationCountResponse](./Models/GetCachedNotificationCountResponse.md)
- - [GetCachedNotificationCount_200_response](./Models/GetCachedNotificationCount_200_response.md)
- - [GetCommentText_200_response](./Models/GetCommentText_200_response.md)
+ - [GetCommentBanStatusResponse](./Models/GetCommentBanStatusResponse.md)
+ - [GetCommentTextResponse](./Models/GetCommentTextResponse.md)
- [GetCommentVoteUserNamesSuccessResponse](./Models/GetCommentVoteUserNamesSuccessResponse.md)
- - [GetCommentVoteUserNames_200_response](./Models/GetCommentVoteUserNames_200_response.md)
- - [GetComment_200_response](./Models/GetComment_200_response.md)
- - [GetCommentsPublic_200_response](./Models/GetCommentsPublic_200_response.md)
+ - [GetCommentsForUserResponse](./Models/GetCommentsForUserResponse.md)
- [GetCommentsResponseWithPresence_PublicComment_](./Models/GetCommentsResponseWithPresence_PublicComment_.md)
- [GetCommentsResponse_PublicComment_](./Models/GetCommentsResponse_PublicComment_.md)
- - [GetComments_200_response](./Models/GetComments_200_response.md)
- - [GetDomainConfig_200_response](./Models/GetDomainConfig_200_response.md)
- - [GetDomainConfigs_200_response](./Models/GetDomainConfigs_200_response.md)
- - [GetDomainConfigs_200_response_anyOf](./Models/GetDomainConfigs_200_response_anyOf.md)
- - [GetDomainConfigs_200_response_anyOf_1](./Models/GetDomainConfigs_200_response_anyOf_1.md)
+ - [GetDomainConfigResponse](./Models/GetDomainConfigResponse.md)
+ - [GetDomainConfigsResponse](./Models/GetDomainConfigsResponse.md)
+ - [GetDomainConfigsResponse_anyOf](./Models/GetDomainConfigsResponse_anyOf.md)
+ - [GetDomainConfigsResponse_anyOf_1](./Models/GetDomainConfigsResponse_anyOf_1.md)
- [GetEmailTemplateDefinitionsResponse](./Models/GetEmailTemplateDefinitionsResponse.md)
- - [GetEmailTemplateDefinitions_200_response](./Models/GetEmailTemplateDefinitions_200_response.md)
- [GetEmailTemplateRenderErrorsResponse](./Models/GetEmailTemplateRenderErrorsResponse.md)
- - [GetEmailTemplateRenderErrors_200_response](./Models/GetEmailTemplateRenderErrors_200_response.md)
- [GetEmailTemplateResponse](./Models/GetEmailTemplateResponse.md)
- - [GetEmailTemplate_200_response](./Models/GetEmailTemplate_200_response.md)
- [GetEmailTemplatesResponse](./Models/GetEmailTemplatesResponse.md)
- - [GetEmailTemplates_200_response](./Models/GetEmailTemplates_200_response.md)
- [GetEventLogResponse](./Models/GetEventLogResponse.md)
- - [GetEventLog_200_response](./Models/GetEventLog_200_response.md)
- - [GetFeedPostsPublic_200_response](./Models/GetFeedPostsPublic_200_response.md)
- [GetFeedPostsResponse](./Models/GetFeedPostsResponse.md)
- - [GetFeedPostsStats_200_response](./Models/GetFeedPostsStats_200_response.md)
- - [GetFeedPosts_200_response](./Models/GetFeedPosts_200_response.md)
+ - [GetGifsSearchResponse](./Models/GetGifsSearchResponse.md)
+ - [GetGifsTrendingResponse](./Models/GetGifsTrendingResponse.md)
- [GetHashTagsResponse](./Models/GetHashTagsResponse.md)
- - [GetHashTags_200_response](./Models/GetHashTags_200_response.md)
- [GetModeratorResponse](./Models/GetModeratorResponse.md)
- - [GetModerator_200_response](./Models/GetModerator_200_response.md)
- [GetModeratorsResponse](./Models/GetModeratorsResponse.md)
- - [GetModerators_200_response](./Models/GetModerators_200_response.md)
- [GetMyNotificationsResponse](./Models/GetMyNotificationsResponse.md)
- [GetNotificationCountResponse](./Models/GetNotificationCountResponse.md)
- - [GetNotificationCount_200_response](./Models/GetNotificationCount_200_response.md)
- [GetNotificationsResponse](./Models/GetNotificationsResponse.md)
- - [GetNotifications_200_response](./Models/GetNotifications_200_response.md)
- [GetPageByURLIdAPIResponse](./Models/GetPageByURLIdAPIResponse.md)
- [GetPagesAPIResponse](./Models/GetPagesAPIResponse.md)
- [GetPendingWebhookEventCountResponse](./Models/GetPendingWebhookEventCountResponse.md)
- - [GetPendingWebhookEventCount_200_response](./Models/GetPendingWebhookEventCount_200_response.md)
- [GetPendingWebhookEventsResponse](./Models/GetPendingWebhookEventsResponse.md)
- - [GetPendingWebhookEvents_200_response](./Models/GetPendingWebhookEvents_200_response.md)
- [GetPublicFeedPostsResponse](./Models/GetPublicFeedPostsResponse.md)
+ - [GetPublicPagesResponse](./Models/GetPublicPagesResponse.md)
- [GetQuestionConfigResponse](./Models/GetQuestionConfigResponse.md)
- - [GetQuestionConfig_200_response](./Models/GetQuestionConfig_200_response.md)
- [GetQuestionConfigsResponse](./Models/GetQuestionConfigsResponse.md)
- - [GetQuestionConfigs_200_response](./Models/GetQuestionConfigs_200_response.md)
- [GetQuestionResultResponse](./Models/GetQuestionResultResponse.md)
- - [GetQuestionResult_200_response](./Models/GetQuestionResult_200_response.md)
- [GetQuestionResultsResponse](./Models/GetQuestionResultsResponse.md)
- - [GetQuestionResults_200_response](./Models/GetQuestionResults_200_response.md)
- [GetSSOUserByEmailAPIResponse](./Models/GetSSOUserByEmailAPIResponse.md)
- [GetSSOUserByIdAPIResponse](./Models/GetSSOUserByIdAPIResponse.md)
- - [GetSSOUsers_200_response](./Models/GetSSOUsers_200_response.md)
+ - [GetSSOUsersResponse](./Models/GetSSOUsersResponse.md)
- [GetSubscriptionsAPIResponse](./Models/GetSubscriptionsAPIResponse.md)
- [GetTenantDailyUsagesResponse](./Models/GetTenantDailyUsagesResponse.md)
- - [GetTenantDailyUsages_200_response](./Models/GetTenantDailyUsages_200_response.md)
+ - [GetTenantManualBadgesResponse](./Models/GetTenantManualBadgesResponse.md)
- [GetTenantPackageResponse](./Models/GetTenantPackageResponse.md)
- - [GetTenantPackage_200_response](./Models/GetTenantPackage_200_response.md)
- [GetTenantPackagesResponse](./Models/GetTenantPackagesResponse.md)
- - [GetTenantPackages_200_response](./Models/GetTenantPackages_200_response.md)
- [GetTenantResponse](./Models/GetTenantResponse.md)
- [GetTenantUserResponse](./Models/GetTenantUserResponse.md)
- - [GetTenantUser_200_response](./Models/GetTenantUser_200_response.md)
- [GetTenantUsersResponse](./Models/GetTenantUsersResponse.md)
- - [GetTenantUsers_200_response](./Models/GetTenantUsers_200_response.md)
- - [GetTenant_200_response](./Models/GetTenant_200_response.md)
- [GetTenantsResponse](./Models/GetTenantsResponse.md)
- - [GetTenants_200_response](./Models/GetTenants_200_response.md)
- [GetTicketResponse](./Models/GetTicketResponse.md)
- - [GetTicket_200_response](./Models/GetTicket_200_response.md)
- [GetTicketsResponse](./Models/GetTicketsResponse.md)
- - [GetTickets_200_response](./Models/GetTickets_200_response.md)
- - [GetUserBadgeProgressById_200_response](./Models/GetUserBadgeProgressById_200_response.md)
- - [GetUserBadgeProgressList_200_response](./Models/GetUserBadgeProgressList_200_response.md)
- - [GetUserBadge_200_response](./Models/GetUserBadge_200_response.md)
- - [GetUserBadges_200_response](./Models/GetUserBadges_200_response.md)
+ - [GetTranslationsResponse](./Models/GetTranslationsResponse.md)
+ - [GetUserInternalProfileResponse](./Models/GetUserInternalProfileResponse.md)
+ - [GetUserInternalProfileResponse_profile](./Models/GetUserInternalProfileResponse_profile.md)
+ - [GetUserManualBadgesResponse](./Models/GetUserManualBadgesResponse.md)
- [GetUserNotificationCountResponse](./Models/GetUserNotificationCountResponse.md)
- - [GetUserNotificationCount_200_response](./Models/GetUserNotificationCount_200_response.md)
- - [GetUserNotifications_200_response](./Models/GetUserNotifications_200_response.md)
- [GetUserPresenceStatusesResponse](./Models/GetUserPresenceStatusesResponse.md)
- - [GetUserPresenceStatuses_200_response](./Models/GetUserPresenceStatuses_200_response.md)
- - [GetUserReactsPublic_200_response](./Models/GetUserReactsPublic_200_response.md)
- [GetUserResponse](./Models/GetUserResponse.md)
- - [GetUser_200_response](./Models/GetUser_200_response.md)
+ - [GetUserTrustFactorResponse](./Models/GetUserTrustFactorResponse.md)
+ - [GetV1PageLikes](./Models/GetV1PageLikes.md)
+ - [GetV2PageReactUsersResponse](./Models/GetV2PageReactUsersResponse.md)
+ - [GetV2PageReacts](./Models/GetV2PageReacts.md)
- [GetVotesForUserResponse](./Models/GetVotesForUserResponse.md)
- - [GetVotesForUser_200_response](./Models/GetVotesForUser_200_response.md)
- [GetVotesResponse](./Models/GetVotesResponse.md)
- - [GetVotes_200_response](./Models/GetVotes_200_response.md)
+ - [GifGetLargeResponse](./Models/GifGetLargeResponse.md)
- [GifRating](./Models/GifRating.md)
+ - [GifSearchInternalError](./Models/GifSearchInternalError.md)
+ - [GifSearchResponse](./Models/GifSearchResponse.md)
+ - [GifSearchResponse_images_inner_inner](./Models/GifSearchResponse_images_inner_inner.md)
- [HeaderAccountNotification](./Models/HeaderAccountNotification.md)
- [HeaderState](./Models/HeaderState.md)
- [IgnoredResponse](./Models/IgnoredResponse.md)
- [ImageContentProfanityLevel](./Models/ImageContentProfanityLevel.md)
+ - [ImportedAgentApprovalNotificationFrequency](./Models/ImportedAgentApprovalNotificationFrequency.md)
- [ImportedSiteType](./Models/ImportedSiteType.md)
- [LiveEvent](./Models/LiveEvent.md)
- [LiveEventType](./Models/LiveEventType.md)
- [LiveEvent_extraInfo](./Models/LiveEvent_extraInfo.md)
- - [LockComment_200_response](./Models/LockComment_200_response.md)
- [MediaAsset](./Models/MediaAsset.md)
- [MentionAutoCompleteMode](./Models/MentionAutoCompleteMode.md)
- [MetaItem](./Models/MetaItem.md)
+ - [ModerationAPIChildCommentsResponse](./Models/ModerationAPIChildCommentsResponse.md)
+ - [ModerationAPIComment](./Models/ModerationAPIComment.md)
+ - [ModerationAPICommentLog](./Models/ModerationAPICommentLog.md)
+ - [ModerationAPICommentResponse](./Models/ModerationAPICommentResponse.md)
+ - [ModerationAPICountCommentsResponse](./Models/ModerationAPICountCommentsResponse.md)
+ - [ModerationAPIGetCommentIdsResponse](./Models/ModerationAPIGetCommentIdsResponse.md)
+ - [ModerationAPIGetCommentsResponse](./Models/ModerationAPIGetCommentsResponse.md)
+ - [ModerationAPIGetLogsResponse](./Models/ModerationAPIGetLogsResponse.md)
+ - [ModerationCommentSearchResponse](./Models/ModerationCommentSearchResponse.md)
+ - [ModerationExportResponse](./Models/ModerationExportResponse.md)
+ - [ModerationExportStatusResponse](./Models/ModerationExportStatusResponse.md)
+ - [ModerationFilter](./Models/ModerationFilter.md)
+ - [ModerationPageSearchProjected](./Models/ModerationPageSearchProjected.md)
+ - [ModerationPageSearchResponse](./Models/ModerationPageSearchResponse.md)
+ - [ModerationSiteSearchProjected](./Models/ModerationSiteSearchProjected.md)
+ - [ModerationSiteSearchResponse](./Models/ModerationSiteSearchResponse.md)
+ - [ModerationSuggestResponse](./Models/ModerationSuggestResponse.md)
+ - [ModerationUserSearchProjected](./Models/ModerationUserSearchProjected.md)
+ - [ModerationUserSearchResponse](./Models/ModerationUserSearchResponse.md)
- [Moderator](./Models/Moderator.md)
- [NotificationAndCount](./Models/NotificationAndCount.md)
- [NotificationObjectType](./Models/NotificationObjectType.md)
- [NotificationType](./Models/NotificationType.md)
+ - [PageUserEntry](./Models/PageUserEntry.md)
+ - [PageUsersInfoResponse](./Models/PageUsersInfoResponse.md)
+ - [PageUsersOfflineResponse](./Models/PageUsersOfflineResponse.md)
+ - [PageUsersOnlineResponse](./Models/PageUsersOnlineResponse.md)
+ - [PagesSortBy](./Models/PagesSortBy.md)
- [PatchDomainConfigParams](./Models/PatchDomainConfigParams.md)
- - [PatchHashTag_200_response](./Models/PatchHashTag_200_response.md)
+ - [PatchDomainConfigResponse](./Models/PatchDomainConfigResponse.md)
- [PatchPageAPIResponse](./Models/PatchPageAPIResponse.md)
- [PatchSSOUserAPIResponse](./Models/PatchSSOUserAPIResponse.md)
- [PendingCommentToSyncOutbound](./Models/PendingCommentToSyncOutbound.md)
- - [PinComment_200_response](./Models/PinComment_200_response.md)
+ - [PostRemoveCommentResponse](./Models/PostRemoveCommentResponse.md)
+ - [PreBanSummary](./Models/PreBanSummary.md)
- [PubSubComment](./Models/PubSubComment.md)
- [PubSubCommentBase](./Models/PubSubCommentBase.md)
- [PubSubVote](./Models/PubSubVote.md)
@@ -433,7 +492,9 @@ All URIs are relative to *https://fastcomments.com*
- [PublicComment](./Models/PublicComment.md)
- [PublicCommentBase](./Models/PublicCommentBase.md)
- [PublicFeedPostsResponse](./Models/PublicFeedPostsResponse.md)
+ - [PublicPage](./Models/PublicPage.md)
- [PublicVote](./Models/PublicVote.md)
+ - [PutDomainConfigResponse](./Models/PutDomainConfigResponse.md)
- [PutSSOUserAPIResponse](./Models/PutSSOUserAPIResponse.md)
- [QueryPredicate](./Models/QueryPredicate.md)
- [QueryPredicate_value](./Models/QueryPredicate_value.md)
@@ -446,38 +507,38 @@ All URIs are relative to *https://fastcomments.com*
- [QuestionSubQuestionVisibility](./Models/QuestionSubQuestionVisibility.md)
- [QuestionWhenSave](./Models/QuestionWhenSave.md)
- [ReactBodyParams](./Models/ReactBodyParams.md)
- - [ReactFeedPostPublic_200_response](./Models/ReactFeedPostPublic_200_response.md)
- [ReactFeedPostResponse](./Models/ReactFeedPostResponse.md)
- [Record_string__before_string_or_null__after_string_or_null___value](./Models/Record_string__before_string_or_null__after_string_or_null___value.md)
- - [Record_string_string_or_number__value](./Models/Record_string_string_or_number__value.md)
+ - [RemoveCommentActionResponse](./Models/RemoveCommentActionResponse.md)
+ - [RemoveUserBadgeResponse](./Models/RemoveUserBadgeResponse.md)
- [RenderEmailTemplateBody](./Models/RenderEmailTemplateBody.md)
- [RenderEmailTemplateResponse](./Models/RenderEmailTemplateResponse.md)
- - [RenderEmailTemplate_200_response](./Models/RenderEmailTemplate_200_response.md)
- [RenderableUserNotification](./Models/RenderableUserNotification.md)
- [RepeatCommentCheckIgnoredReason](./Models/RepeatCommentCheckIgnoredReason.md)
- [RepeatCommentHandlingAction](./Models/RepeatCommentHandlingAction.md)
- [ReplaceTenantPackageBody](./Models/ReplaceTenantPackageBody.md)
- [ReplaceTenantUserBody](./Models/ReplaceTenantUserBody.md)
- [ResetUserNotificationsResponse](./Models/ResetUserNotificationsResponse.md)
- - [ResetUserNotifications_200_response](./Models/ResetUserNotifications_200_response.md)
- [SORT_DIR](./Models/SORT_DIR.md)
- [SSOSecurityLevel](./Models/SSOSecurityLevel.md)
- - [SaveCommentResponse](./Models/SaveCommentResponse.md)
- [SaveCommentResponseOptimized](./Models/SaveCommentResponseOptimized.md)
- - [SaveComment_200_response](./Models/SaveComment_200_response.md)
+ - [SaveCommentsBulkResponse](./Models/SaveCommentsBulkResponse.md)
- [SaveCommentsResponseWithPresence](./Models/SaveCommentsResponseWithPresence.md)
- [SearchUsersResponse](./Models/SearchUsersResponse.md)
+ - [SearchUsersResult](./Models/SearchUsersResult.md)
- [SearchUsersSectionedResponse](./Models/SearchUsersSectionedResponse.md)
- - [SearchUsers_200_response](./Models/SearchUsers_200_response.md)
+ - [SetCommentApprovedResponse](./Models/SetCommentApprovedResponse.md)
+ - [SetCommentTextParams](./Models/SetCommentTextParams.md)
+ - [SetCommentTextResponse](./Models/SetCommentTextResponse.md)
- [SetCommentTextResult](./Models/SetCommentTextResult.md)
- - [SetCommentText_200_response](./Models/SetCommentText_200_response.md)
+ - [SetUserTrustFactorResponse](./Models/SetUserTrustFactorResponse.md)
- [SizePreset](./Models/SizePreset.md)
- [SortDirections](./Models/SortDirections.md)
- [SpamRule](./Models/SpamRule.md)
- [TOSConfig](./Models/TOSConfig.md)
+ - [TenantBadge](./Models/TenantBadge.md)
- [TenantHashTag](./Models/TenantHashTag.md)
- [TenantPackage](./Models/TenantPackage.md)
- - [UnBlockCommentPublic_200_response](./Models/UnBlockCommentPublic_200_response.md)
- [UnBlockFromCommentParams](./Models/UnBlockFromCommentParams.md)
- [UnblockSuccess](./Models/UnblockSuccess.md)
- [UpdatableCommentParams](./Models/UpdatableCommentParams.md)
@@ -498,8 +559,9 @@ All URIs are relative to *https://fastcomments.com*
- [UpdateTenantPackageBody](./Models/UpdateTenantPackageBody.md)
- [UpdateTenantUserBody](./Models/UpdateTenantUserBody.md)
- [UpdateUserBadgeParams](./Models/UpdateUserBadgeParams.md)
- - [UpdateUserBadge_200_response](./Models/UpdateUserBadge_200_response.md)
- - [UpdateUserNotificationStatus_200_response](./Models/UpdateUserNotificationStatus_200_response.md)
+ - [UpdateUserNotificationCommentSubscriptionStatusResponse](./Models/UpdateUserNotificationCommentSubscriptionStatusResponse.md)
+ - [UpdateUserNotificationPageSubscriptionStatusResponse](./Models/UpdateUserNotificationPageSubscriptionStatusResponse.md)
+ - [UpdateUserNotificationStatusResponse](./Models/UpdateUserNotificationStatusResponse.md)
- [UploadImageResponse](./Models/UploadImageResponse.md)
- [User](./Models/User.md)
- [UserBadge](./Models/UserBadge.md)
@@ -513,8 +575,8 @@ All URIs are relative to *https://fastcomments.com*
- [UserSearchSection](./Models/UserSearchSection.md)
- [UserSearchSectionResult](./Models/UserSearchSectionResult.md)
- [UserSessionInfo](./Models/UserSessionInfo.md)
+ - [UsersListLocation](./Models/UsersListLocation.md)
- [VoteBodyParams](./Models/VoteBodyParams.md)
- - [VoteComment_200_response](./Models/VoteComment_200_response.md)
- [VoteDeleteResponse](./Models/VoteDeleteResponse.md)
- [VoteResponse](./Models/VoteResponse.md)
- [VoteResponseUser](./Models/VoteResponseUser.md)
diff --git a/openapi.json b/openapi.json
index 7157da6..ca0225c 100644
--- a/openapi.json
+++ b/openapi.json
@@ -108,6 +108,16 @@
],
"type": "object"
},
+ "SearchUsersResult": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/SearchUsersSectionedResponse"
+ },
+ {
+ "$ref": "#/components/schemas/SearchUsersResponse"
+ }
+ ]
+ },
"CommentHTMLRenderingMode": {
"enum": [
0,
@@ -249,6 +259,15 @@
],
"type": "integer"
},
+ "UsersListLocation": {
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 3
+ ],
+ "type": "integer"
+ },
"TOSConfig": {
"properties": {
"enabled": {
@@ -459,6 +478,16 @@
"noImageUploads": {
"type": "boolean"
},
+ "allowEmbeds": {
+ "type": "boolean"
+ },
+ "allowedEmbedDomains": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "nullable": true
+ },
"noStyles": {
"type": "boolean"
},
@@ -476,6 +505,9 @@
"requireSSO": {
"type": "boolean"
},
+ "enableFChat": {
+ "type": "boolean"
+ },
"enableResizeHandle": {
"type": "boolean"
},
@@ -548,6 +580,12 @@
"wrap": {
"type": "boolean"
},
+ "usersListLocation": {
+ "$ref": "#/components/schemas/UsersListLocation"
+ },
+ "usersListIncludeOffline": {
+ "type": "boolean"
+ },
"ticketBaseUrl": {
"type": "string"
},
@@ -882,6 +920,11 @@
"createdAt": {
"type": "string",
"format": "date-time"
+ },
+ "type": {
+ "type": "string",
+ "nullable": true,
+ "description": "Discriminator for notifications with a special layout/click handler (e.g. \"feedback-offer\")."
}
},
"required": [
@@ -1034,550 +1077,742 @@
"CrossPlatform"
]
},
- "APIEmptyResponse": {
+ "GetTranslationsResponse": {
"properties": {
+ "translations": {
+ "$ref": "#/components/schemas/Record_string.string_"
+ },
"status": {
"$ref": "#/components/schemas/APIStatus"
}
},
"required": [
+ "translations",
"status"
],
"type": "object"
},
- "FeedPostMediaItemAsset": {
+ "PublicPage": {
"properties": {
- "w": {
+ "updatedAt": {
"type": "integer",
- "format": "int32"
+ "format": "int64"
},
- "h": {
+ "commentCount": {
"type": "integer",
"format": "int32"
},
- "src": {
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "urlId": {
"type": "string"
}
},
"required": [
- "w",
- "h",
- "src"
+ "updatedAt",
+ "commentCount",
+ "title",
+ "url",
+ "urlId"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "FeedPostMediaItem": {
+ "GetPublicPagesResponse": {
"properties": {
- "title": {
- "type": "string"
- },
- "linkUrl": {
- "type": "string"
+ "nextCursor": {
+ "type": "string",
+ "nullable": true
},
- "sizes": {
+ "pages": {
"items": {
- "$ref": "#/components/schemas/FeedPostMediaItemAsset"
+ "$ref": "#/components/schemas/PublicPage"
},
"type": "array"
+ },
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
}
},
"required": [
- "sizes"
+ "nextCursor",
+ "pages",
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "FeedPostLink": {
+ "PagesSortBy": {
+ "type": "string",
+ "enum": [
+ "updatedAt",
+ "commentCount",
+ "title"
+ ]
+ },
+ "PageUserEntry": {
"properties": {
- "text": {
- "type": "string"
+ "isPrivate": {
+ "type": "boolean"
},
- "title": {
+ "avatarSrc": {
"type": "string"
},
- "description": {
+ "displayName": {
"type": "string"
},
- "url": {
+ "id": {
"type": "string"
}
},
- "type": "object",
- "additionalProperties": false
- },
- "Int32Map": {
- "properties": {},
- "additionalProperties": {
- "type": "integer",
- "format": "int32"
- },
+ "required": [
+ "displayName",
+ "id"
+ ],
"type": "object"
},
- "FeedPost": {
+ "PageUsersOnlineResponse": {
"properties": {
- "_id": {
- "type": "string"
- },
- "tenantId": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "fromUserId": {
- "type": "string"
- },
- "fromUserDisplayName": {
+ "nextAfterUserId": {
"type": "string",
"nullable": true
},
- "fromUserAvatar": {
+ "nextAfterName": {
"type": "string",
"nullable": true
},
- "fromIpHash": {
- "type": "string"
- },
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "weight": {
+ "totalCount": {
"type": "number",
"format": "double"
},
- "meta": {
- "$ref": "#/components/schemas/Record_string.string_"
- },
- "contentHTML": {
- "type": "string"
- },
- "media": {
- "items": {
- "$ref": "#/components/schemas/FeedPostMediaItem"
- },
- "type": "array"
+ "anonCount": {
+ "type": "number",
+ "format": "double"
},
- "links": {
+ "users": {
"items": {
- "$ref": "#/components/schemas/FeedPostLink"
+ "$ref": "#/components/schemas/PageUserEntry"
},
"type": "array"
},
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "reacts": {
- "$ref": "#/components/schemas/Int32Map"
- },
- "commentCount": {
- "type": "integer",
- "format": "int32",
- "nullable": true
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
}
},
"required": [
- "_id",
- "tenantId",
- "createdAt"
+ "nextAfterUserId",
+ "nextAfterName",
+ "totalCount",
+ "anonCount",
+ "users",
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "CommentUserBadgeInfo": {
+ "PageUsersOfflineResponse": {
"properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "integer",
- "format": "int32"
- },
- "description": {
- "type": "string"
- },
- "displayLabel": {
- "type": "string",
- "nullable": true
- },
- "displaySrc": {
+ "nextAfterUserId": {
"type": "string",
"nullable": true
},
- "backgroundColor": {
+ "nextAfterName": {
"type": "string",
"nullable": true
},
- "borderColor": {
- "type": "string",
- "nullable": true
+ "users": {
+ "items": {
+ "$ref": "#/components/schemas/PageUserEntry"
+ },
+ "type": "array"
},
- "textColor": {
- "type": "string",
- "nullable": true
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "nextAfterUserId",
+ "nextAfterName",
+ "users",
+ "status"
+ ],
+ "type": "object"
+ },
+ "PageUsersInfoResponse": {
+ "properties": {
+ "users": {
+ "items": {
+ "$ref": "#/components/schemas/PageUserEntry"
+ },
+ "type": "array"
},
- "cssClass": {
- "type": "string",
- "nullable": true
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
}
},
"required": [
- "id",
- "type",
- "description"
+ "users",
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "UserSessionInfo": {
+ "GetV1PageLikes": {
"properties": {
- "id": {
+ "urlIdWS": {
"type": "string"
},
- "authorized": {
+ "didLike": {
"type": "boolean"
},
- "avatarSrc": {
- "type": "string",
- "nullable": true
+ "commentCount": {
+ "type": "integer",
+ "format": "int32"
},
- "badges": {
+ "likeCount": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "urlIdWS",
+ "didLike",
+ "commentCount",
+ "likeCount",
+ "status"
+ ],
+ "type": "object"
+ },
+ "GetV2PageReactUsersResponse": {
+ "properties": {
+ "userNames": {
"items": {
- "$ref": "#/components/schemas/CommentUserBadgeInfo"
+ "type": "string"
},
"type": "array"
},
- "displayLabel": {
- "type": "string"
- },
- "displayName": {
- "type": "string"
- },
- "email": {
- "type": "string",
- "nullable": true
- },
- "groupIds": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "userNames",
+ "status"
+ ],
+ "type": "object"
+ },
+ "Record_string.number_": {
+ "properties": {},
+ "additionalProperties": {
+ "type": "number",
+ "format": "double"
+ },
+ "type": "object",
+ "description": "Construct a type with a set of properties K of type T"
+ },
+ "GetV2PageReacts": {
+ "properties": {
+ "reactedIds": {
"items": {
"type": "string"
},
"type": "array"
},
- "hasBlockedUsers": {
- "type": "boolean"
- },
- "isAnonSession": {
- "type": "boolean"
- },
- "needsTOS": {
- "type": "boolean"
- },
- "sessionId": {
- "type": "string",
- "nullable": true
- },
- "username": {
- "type": "string"
+ "counts": {
+ "$ref": "#/components/schemas/Record_string.number_"
},
- "websiteUrl": {
- "type": "string"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
}
},
- "type": "object",
- "additionalProperties": false
+ "required": [
+ "status"
+ ],
+ "type": "object"
},
- "GetPublicFeedPostsResponse": {
+ "CreateV1PageReact": {
"properties": {
+ "code": {
+ "type": "string"
+ },
"status": {
"$ref": "#/components/schemas/APIStatus"
- },
- "feedPosts": {
- "items": {
- "$ref": "#/components/schemas/FeedPost"
- },
- "type": "array"
- },
- "user": {
- "allOf": [
- {
- "$ref": "#/components/schemas/UserSessionInfo"
- }
- ],
- "nullable": true
}
},
"required": [
- "status",
- "feedPosts"
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "TenantIdWS": {
- "type": "string"
+ "CreateV2PageReact": {
+ "$ref": "#/components/schemas/CreateV1PageReact"
},
- "UserIdWS": {
- "type": "string"
+ "DeleteV1PageReact": {
+ "$ref": "#/components/schemas/CreateV1PageReact"
},
- "UrlIdWS": {
- "type": "string"
+ "DeleteV2PageReact": {
+ "$ref": "#/components/schemas/CreateV1PageReact"
},
- "UserPresenceData": {
+ "ModerationFilter": {
"properties": {
- "urlIdWS": {
- "$ref": "#/components/schemas/UrlIdWS"
+ "reviewed": {
+ "type": "boolean"
},
- "userIdWS": {
- "$ref": "#/components/schemas/UserIdWS"
+ "approved": {
+ "type": "boolean"
},
- "tenantIdWS": {
- "$ref": "#/components/schemas/TenantIdWS"
- }
- },
- "type": "object"
- },
- "PublicFeedPostsResponse": {
- "allOf": [
- {
- "properties": {
- "myReacts": {
- "properties": {},
- "additionalProperties": {
- "properties": {},
- "additionalProperties": {
- "type": "boolean"
- },
- "type": "object"
- },
- "type": "object"
- }
+ "isSpam": {
+ "type": "boolean"
+ },
+ "isBannedUser": {
+ "type": "boolean"
+ },
+ "isLocked": {
+ "type": "boolean"
+ },
+ "flagCountGt": {
+ "type": "number",
+ "format": "double"
+ },
+ "userId": {
+ "type": "string"
+ },
+ "urlId": {
+ "type": "string"
+ },
+ "domain": {
+ "type": "string"
+ },
+ "moderationGroupIds": {
+ "items": {
+ "type": "string"
},
- "type": "object"
+ "type": "array"
},
- {
- "$ref": "#/components/schemas/GetPublicFeedPostsResponse"
+ "commentTextSearch": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "description": "Text search terms. Each term is matched case-insensitively against the comment text.\nA term wrapped in quotes means exact phrase match."
},
- {
- "$ref": "#/components/schemas/UserPresenceData"
+ "exactCommentText": {
+ "type": "string",
+ "description": "Set by the `exact=\"...\"` search syntax. The comment text must equal this value exactly\n(case-sensitive, full-string), as opposed to the substring matching of commentTextSearch."
}
- ]
+ },
+ "type": "object",
+ "additionalProperties": false
},
- "ReactFeedPostResponse": {
+ "BuildModerationFilterResponse": {
"properties": {
"status": {
- "$ref": "#/components/schemas/APIStatus"
- },
- "reactType": {
"type": "string"
},
- "isUndo": {
- "type": "boolean"
+ "moderationFilter": {
+ "$ref": "#/components/schemas/ModerationFilter"
}
},
"required": [
"status",
- "reactType",
- "isUndo"
+ "moderationFilter"
],
"type": "object",
"additionalProperties": false
},
- "ReactBodyParams": {
+ "BuildModerationFilterParams": {
"properties": {
- "reactType": {
+ "userId": {
+ "type": "string"
+ },
+ "tenantId": {
+ "type": "string"
+ },
+ "filters": {
+ "type": "string"
+ },
+ "searchFilters": {
+ "type": "string"
+ },
+ "textSearch": {
"type": "string"
}
},
+ "required": [
+ "userId",
+ "tenantId"
+ ],
"type": "object",
- "additionalProperties": false
+ "additionalProperties": {}
},
- "UserReactsResponse": {
+ "ModerationAPICountCommentsResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "reacts": {
- "properties": {},
- "additionalProperties": {
- "properties": {},
- "additionalProperties": {
- "type": "boolean"
- },
- "type": "object"
- },
- "type": "object"
+ "count": {
+ "type": "number",
+ "format": "double"
}
},
"required": [
"status",
- "reacts"
+ "count"
],
"type": "object",
"additionalProperties": false
},
- "CreateFeedPostResponse": {
+ "ModerationAPIGetCommentIdsResponse": {
"properties": {
+ "ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "hasMore": {
+ "type": "boolean"
+ },
"status": {
"$ref": "#/components/schemas/APIStatus"
- },
- "feedPost": {
- "$ref": "#/components/schemas/FeedPost"
}
},
"required": [
- "status",
- "feedPost"
+ "ids",
+ "hasMore",
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "CreateFeedPostParams": {
+ "UserId": {
+ "type": "string"
+ },
+ "CommentUserBadgeInfo": {
"properties": {
- "title": {
+ "id": {
"type": "string"
},
- "contentHTML": {
+ "type": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "description": {
"type": "string"
},
- "media": {
- "items": {
- "$ref": "#/components/schemas/FeedPostMediaItem"
- },
- "type": "array"
+ "displayLabel": {
+ "type": "string",
+ "nullable": true
},
- "links": {
- "items": {
- "$ref": "#/components/schemas/FeedPostLink"
- },
- "type": "array"
+ "displaySrc": {
+ "type": "string",
+ "nullable": true
},
- "fromUserId": {
- "type": "string"
+ "backgroundColor": {
+ "type": "string",
+ "nullable": true
},
- "fromUserDisplayName": {
- "type": "string"
+ "borderColor": {
+ "type": "string",
+ "nullable": true
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "textColor": {
+ "type": "string",
+ "nullable": true
},
- "meta": {
- "$ref": "#/components/schemas/Record_string.string_"
+ "cssClass": {
+ "type": "string",
+ "nullable": true
}
},
+ "required": [
+ "id",
+ "type",
+ "description"
+ ],
"type": "object",
"additionalProperties": false
},
- "UpdateFeedPostParams": {
+ "ModerationAPIComment": {
"properties": {
- "title": {
- "type": "string"
+ "isLocalDeleted": {
+ "type": "boolean"
},
- "contentHTML": {
- "type": "string"
+ "replyCount": {
+ "type": "number",
+ "format": "double"
},
- "media": {
+ "feedbackResults": {
"items": {
- "$ref": "#/components/schemas/FeedPostMediaItem"
+ "type": "string"
},
"type": "array"
},
- "links": {
+ "isVotedUp": {
+ "type": "boolean"
+ },
+ "isVotedDown": {
+ "type": "boolean"
+ },
+ "myVoteId": {
+ "type": "string"
+ },
+ "_id": {
+ "type": "string"
+ },
+ "tenantId": {
+ "type": "string"
+ },
+ "urlId": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "pageTitle": {
+ "type": "string",
+ "nullable": true
+ },
+ "userId": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/UserId"
+ }
+ ],
+ "nullable": true
+ },
+ "anonUserId": {
+ "type": "string",
+ "nullable": true
+ },
+ "commenterName": {
+ "type": "string"
+ },
+ "commenterLink": {
+ "type": "string",
+ "nullable": true
+ },
+ "commentHTML": {
+ "type": "string"
+ },
+ "parentId": {
+ "type": "string",
+ "nullable": true
+ },
+ "date": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ },
+ "localDateString": {
+ "type": "string",
+ "nullable": true
+ },
+ "votes": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "votesUp": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "votesDown": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "expireAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ },
+ "reviewed": {
+ "type": "boolean"
+ },
+ "avatarSrc": {
+ "type": "string",
+ "nullable": true
+ },
+ "isSpam": {
+ "type": "boolean"
+ },
+ "permNotSpam": {
+ "type": "boolean"
+ },
+ "hasLinks": {
+ "type": "boolean"
+ },
+ "hasCode": {
+ "type": "boolean"
+ },
+ "approved": {
+ "type": "boolean"
+ },
+ "locale": {
+ "type": "string",
+ "nullable": true
+ },
+ "isBannedUser": {
+ "type": "boolean"
+ },
+ "isByAdmin": {
+ "type": "boolean"
+ },
+ "isByModerator": {
+ "type": "boolean"
+ },
+ "isPinned": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "isLocked": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "flagCount": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "displayLabel": {
+ "type": "string",
+ "nullable": true
+ },
+ "badges": {
"items": {
- "$ref": "#/components/schemas/FeedPostLink"
+ "$ref": "#/components/schemas/CommentUserBadgeInfo"
},
- "type": "array"
+ "type": "array",
+ "nullable": true
},
- "tags": {
+ "verified": {
+ "type": "boolean"
+ },
+ "feedbackIds": {
"items": {
"type": "string"
},
"type": "array"
},
- "meta": {
- "$ref": "#/components/schemas/Record_string.string_"
+ "isDeleted": {
+ "type": "boolean"
}
},
+ "required": [
+ "_id",
+ "tenantId",
+ "urlId",
+ "url",
+ "commenterName",
+ "commentHTML",
+ "date",
+ "approved",
+ "locale",
+ "verified"
+ ],
"type": "object",
"additionalProperties": false
},
- "FeedPostStats": {
+ "ModerationAPIGetCommentsResponse": {
"properties": {
- "reacts": {
- "$ref": "#/components/schemas/Int32Map"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "commentCount": {
- "type": "integer",
- "format": "int32"
+ "translations": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "comments": {
+ "items": {
+ "$ref": "#/components/schemas/ModerationAPIComment"
+ },
+ "type": "array"
+ },
+ "moderationFilter": {
+ "$ref": "#/components/schemas/ModerationFilter"
}
},
+ "required": [
+ "status",
+ "translations",
+ "comments"
+ ],
"type": "object",
"additionalProperties": false
},
- "FeedPostsStatsResponse": {
+ "ModerationExportResponse": {
"properties": {
"status": {
- "$ref": "#/components/schemas/APIStatus"
+ "type": "string"
},
- "stats": {
- "properties": {},
- "additionalProperties": {
- "$ref": "#/components/schemas/FeedPostStats"
- },
- "type": "object"
+ "batchJobId": {
+ "type": "string"
}
},
"required": [
"status",
- "stats"
+ "batchJobId"
],
"type": "object",
"additionalProperties": false
},
- "EventLogEntry": {
+ "ModerationExportStatusResponse": {
"properties": {
- "_id": {
+ "status": {
"type": "string"
},
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "tenantId": {
+ "jobStatus": {
"type": "string"
},
- "urlId": {
- "type": "string"
+ "recordCount": {
+ "type": "integer",
+ "format": "int32"
},
- "broadcastId": {
+ "downloadUrl": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "status",
+ "jobStatus",
+ "recordCount"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "ModerationUserSearchProjected": {
+ "properties": {
+ "_id": {
"type": "string"
},
- "data": {
+ "username": {
"type": "string"
+ },
+ "displayName": {
+ "type": "string",
+ "nullable": true
+ },
+ "avatarSrc": {
+ "type": "string",
+ "nullable": true
}
},
"required": [
"_id",
- "createdAt",
- "tenantId",
- "urlId",
- "broadcastId",
- "data"
+ "username"
],
"type": "object",
"additionalProperties": false
},
- "GetEventLogResponse": {
+ "ModerationUserSearchResponse": {
"properties": {
- "events": {
+ "users": {
"items": {
- "$ref": "#/components/schemas/EventLogEntry"
+ "$ref": "#/components/schemas/ModerationUserSearchProjected"
},
"type": "array"
},
@@ -1586,124 +1821,183 @@
}
},
"required": [
- "events",
+ "users",
"status"
],
"type": "object"
},
- "LiveEventType": {
- "enum": [
- "update-badges",
- "notification",
- "notification-update",
- "p-u",
- "new-vote",
- "deleted-vote",
- "new-comment",
- "updated-comment",
- "deleted-comment",
- "cvc",
- "new-config",
- "thread-state-change",
- "fr",
- "dfr",
- "new-feed-post",
- "updated-feed-post",
- "deleted-feed-post"
- ],
- "type": "string"
- },
- "TenantId": {
- "type": "string"
- },
- "UserNotification": {
+ "ModerationPageSearchProjected": {
"properties": {
- "_id": {
- "type": "string"
- },
- "tenantId": {
- "$ref": "#/components/schemas/TenantId"
- },
- "userId": {
- "type": "string",
- "nullable": true
- },
- "anonUserId": {
- "type": "string",
- "nullable": true
- },
"urlId": {
"type": "string"
},
"url": {
"type": "string"
},
- "pageTitle": {
- "type": "string",
- "nullable": true
- },
- "relatedObjectType": {
- "$ref": "#/components/schemas/NotificationObjectType"
- },
- "relatedObjectId": {
+ "title": {
"type": "string"
},
- "viewed": {
- "type": "boolean"
- },
- "isUnreadMessage": {
- "type": "boolean"
- },
- "sent": {
- "type": "boolean"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
+ "commentCount": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "required": [
+ "urlId",
+ "url",
+ "title",
+ "commentCount"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "ModerationPageSearchResponse": {
+ "properties": {
+ "pages": {
+ "items": {
+ "$ref": "#/components/schemas/ModerationPageSearchProjected"
+ },
+ "type": "array"
},
- "type": {
- "$ref": "#/components/schemas/NotificationType"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "pages",
+ "status"
+ ],
+ "type": "object"
+ },
+ "ModerationSiteSearchProjected": {
+ "properties": {
+ "domain": {
+ "type": "string"
},
- "fromCommentId": {
+ "logoSrc100px": {
"type": "string",
"nullable": true
+ }
+ },
+ "required": [
+ "domain"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "ModerationSiteSearchResponse": {
+ "properties": {
+ "sites": {
+ "items": {
+ "$ref": "#/components/schemas/ModerationSiteSearchProjected"
+ },
+ "type": "array"
},
- "fromVoteId": {
- "type": "string",
- "nullable": true
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "sites",
+ "status"
+ ],
+ "type": "object"
+ },
+ "ModerationCommentSearchResponse": {
+ "properties": {
+ "commentCount": {
+ "type": "integer",
+ "format": "int32"
},
- "fromUserName": {
- "type": "string",
- "nullable": true
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "commentCount",
+ "status"
+ ],
+ "type": "object"
+ },
+ "ModerationSuggestResponse": {
+ "properties": {
+ "status": {
+ "type": "string"
},
- "fromUserId": {
- "type": "string",
- "nullable": true
+ "pages": {
+ "items": {
+ "$ref": "#/components/schemas/ModerationPageSearchProjected"
+ },
+ "type": "array"
},
- "fromUserAvatarSrc": {
- "type": "string",
- "nullable": true
+ "users": {
+ "items": {
+ "$ref": "#/components/schemas/ModerationUserSearchProjected"
+ },
+ "type": "array"
},
- "optedOut": {
- "type": "boolean"
+ "code": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "PreBanSummary": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "usernames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"count": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "required": [
+ "status",
+ "usernames",
+ "count"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "BulkPreBanSummary": {
+ "properties": {
+ "status": {
+ "type": "string"
+ },
+ "totalRelatedCommentCount": {
"type": "integer",
- "format": "int64"
+ "format": "int32"
},
- "relatedIds": {
+ "emailDomains": {
"items": {
"type": "string"
},
"type": "array"
},
- "fromUserIds": {
+ "emails": {
"items": {
"type": "string"
},
"type": "array"
},
- "fromUserNames": {
+ "userIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "ipHashes": {
"items": {
"type": "string"
},
@@ -1711,23 +2005,32 @@
}
},
"required": [
- "_id",
- "tenantId",
- "urlId",
- "url",
- "relatedObjectType",
- "relatedObjectId",
- "viewed",
- "isUnreadMessage",
- "sent",
- "createdAt",
- "type",
- "optedOut"
+ "status",
+ "totalRelatedCommentCount",
+ "emailDomains",
+ "emails",
+ "userIds",
+ "ipHashes"
],
"type": "object",
"additionalProperties": false
},
- "PubSubVote": {
+ "BulkPreBanParams": {
+ "properties": {
+ "commentIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "commentIds"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APIBannedUser": {
"properties": {
"_id": {
"type": "string"
@@ -1735,52 +2038,61 @@
"tenantId": {
"type": "string"
},
- "urlId": {
+ "userId": {
+ "type": "string",
+ "nullable": true
+ },
+ "email": {
+ "type": "string",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "nullable": true
+ },
+ "ipHash": {
+ "type": "string",
+ "nullable": true
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "bannedByUserId": {
"type": "string"
},
- "urlIdRaw": {
+ "bannedCommentText": {
"type": "string"
},
- "commentId": {
+ "banType": {
"type": "string"
},
- "userId": {
+ "bannedUntil": {
"type": "string",
+ "format": "date-time",
"nullable": true
},
- "direction": {
- "type": "integer",
- "format": "int32"
+ "hasEmailWildcard": {
+ "type": "boolean"
},
- "createdAt": {
- "type": "integer",
- "format": "int64"
- },
- "verificationId": {
- "type": "string",
- "nullable": true
+ "banReason": {
+ "type": "string"
}
},
"required": [
"_id",
"tenantId",
- "urlId",
- "urlIdRaw",
- "commentId",
- "direction",
"createdAt",
- "verificationId"
+ "bannedByUserId",
+ "bannedCommentText",
+ "banType",
+ "bannedUntil",
+ "hasEmailWildcard"
],
"type": "object",
"additionalProperties": false
},
- "UserId": {
- "type": "string"
- },
- "FDomain": {
- "type": "string"
- },
- "PubSubCommentBase": {
+ "APIBanUserChangedValues": {
"properties": {
"_id": {
"type": "string"
@@ -1789,1355 +2101,1647 @@
"type": "string"
},
"userId": {
- "allOf": [
- {
- "$ref": "#/components/schemas/UserId"
- }
- ],
- "nullable": true
- },
- "urlId": {
- "type": "string"
- },
- "commenterName": {
- "type": "string"
- },
- "commenterLink": {
"type": "string",
"nullable": true
},
- "commentHTML": {
- "type": "string"
- },
- "comment": {
- "type": "string"
- },
- "parentId": {
+ "email": {
"type": "string",
"nullable": true
},
- "votes": {
- "type": "integer",
- "format": "int32",
- "nullable": true
- },
- "votesUp": {
- "type": "integer",
- "format": "int32",
- "nullable": true
- },
- "votesDown": {
- "type": "integer",
- "format": "int32",
+ "username": {
+ "type": "string",
"nullable": true
},
- "verified": {
- "type": "boolean"
- },
- "avatarSrc": {
+ "ipHash": {
"type": "string",
"nullable": true
},
- "hasImages": {
- "type": "boolean"
- },
- "hasLinks": {
- "type": "boolean"
- },
- "isByAdmin": {
- "type": "boolean"
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
},
- "isByModerator": {
- "type": "boolean"
+ "bannedByUserId": {
+ "type": "string"
},
- "isPinned": {
- "type": "boolean",
- "nullable": true
+ "bannedCommentText": {
+ "type": "string"
},
- "isLocked": {
- "type": "boolean",
- "nullable": true
+ "banType": {
+ "type": "string"
},
- "displayLabel": {
+ "bannedUntil": {
"type": "string",
+ "format": "date-time",
"nullable": true
},
- "rating": {
- "type": "number",
- "format": "double",
- "nullable": true
- },
- "badges": {
- "items": {
- "$ref": "#/components/schemas/CommentUserBadgeInfo"
- },
- "type": "array",
- "nullable": true
- },
- "viewCount": {
- "type": "integer",
- "format": "int64",
- "nullable": true
- },
- "isDeleted": {
- "type": "boolean"
- },
- "isDeletedUser": {
+ "hasEmailWildcard": {
"type": "boolean"
},
- "isSpam": {
- "type": "boolean"
+ "banReason": {
+ "type": "string"
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APIBanUserChangeLog": {
+ "properties": {
+ "createdBannedUserId": {
+ "type": "string"
},
- "anonUserId": {
- "type": "string",
- "nullable": true
+ "updatedBannedUserId": {
+ "type": "string"
},
- "feedbackIds": {
+ "deletedBannedUsers": {
"items": {
- "type": "string"
+ "$ref": "#/components/schemas/APIBannedUser"
},
"type": "array"
},
- "flagCount": {
- "type": "integer",
- "format": "int32",
- "nullable": true
+ "changedValuesBefore": {
+ "$ref": "#/components/schemas/APIBanUserChangedValues"
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ },
+ "BanUserFromCommentResult": {
+ "properties": {
+ "status": {
+ "type": "string"
},
- "domain": {
- "allOf": [
+ "changelog": {
+ "$ref": "#/components/schemas/APIBanUserChangeLog"
+ },
+ "code": {
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "BannedUserMatchType": {
+ "type": "string",
+ "enum": [
+ "userId",
+ "email",
+ "email-wildcard",
+ "IP"
+ ]
+ },
+ "BannedUserMatch": {
+ "properties": {
+ "matchedOn": {
+ "$ref": "#/components/schemas/BannedUserMatchType"
+ },
+ "matchedOnValue": {
+ "anyOf": [
{
- "$ref": "#/components/schemas/FDomain"
+ "type": "string"
+ },
+ {
+ "type": "number",
+ "format": "double"
}
],
"nullable": true
- },
- "url": {
+ }
+ },
+ "required": [
+ "matchedOn",
+ "matchedOnValue"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APICommentCommonBannedUser": {
+ "properties": {
+ "_id": {
"type": "string"
},
- "pageTitle": {
+ "userId": {
"type": "string",
"nullable": true
},
- "expireAt": {
+ "banType": {
+ "type": "string"
+ },
+ "email": {
"type": "string",
- "format": "date-time",
"nullable": true
},
- "reviewed": {
- "type": "boolean"
- },
- "hasCode": {
- "type": "boolean"
- },
- "approved": {
- "type": "boolean"
+ "ipHash": {
+ "type": "string",
+ "nullable": true
},
- "locale": {
+ "bannedUntil": {
"type": "string",
+ "format": "date-time",
"nullable": true
},
- "isBannedUser": {
+ "hasEmailWildcard": {
"type": "boolean"
},
- "groupIds": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "nullable": true
+ "banReason": {
+ "type": "string"
}
},
"required": [
"_id",
- "tenantId",
- "urlId",
- "commenterName",
- "commentHTML",
- "comment",
- "verified",
- "url",
- "approved",
- "locale"
+ "banType",
+ "bannedUntil",
+ "hasEmailWildcard"
],
"type": "object",
"additionalProperties": false
},
- "PubSubComment": {
+ "APIBannedUserWithMultiMatchInfo": {
"allOf": [
- {
- "$ref": "#/components/schemas/PubSubCommentBase"
- },
{
"properties": {
- "isLive": {
- "type": "boolean"
- },
- "hidden": {
- "type": "boolean"
- },
- "date": {
- "type": "string"
+ "matches": {
+ "items": {
+ "$ref": "#/components/schemas/BannedUserMatch"
+ },
+ "type": "array"
}
},
"required": [
- "date"
+ "matches"
],
"type": "object"
+ },
+ {
+ "$ref": "#/components/schemas/APICommentCommonBannedUser"
}
]
},
- "Record_string._before-string-or-null--after-string-or-null__": {
- "properties": {},
- "additionalProperties": {
- "properties": {
- "after": {
- "type": "string"
+ "GetBannedUsersFromCommentResponse": {
+ "properties": {
+ "bannedUsers": {
+ "items": {
+ "$ref": "#/components/schemas/APIBannedUserWithMultiMatchInfo"
},
- "before": {
- "type": "string"
- }
+ "type": "array"
},
- "required": [
- "after",
- "before"
- ],
- "type": "object"
+ "code": {
+ "type": "string",
+ "enum": [
+ "not-found",
+ "not-logged-in"
+ ]
+ },
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
},
+ "required": [
+ "bannedUsers",
+ "status"
+ ],
+ "type": "object"
+ },
+ "APIEmptyResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ },
+ "BanUserUndoParams": {
+ "properties": {
+ "changelog": {
+ "$ref": "#/components/schemas/APIBanUserChangeLog"
+ }
+ },
+ "required": [
+ "changelog"
+ ],
"type": "object",
- "description": "Construct a type with a set of properties K of type T"
+ "additionalProperties": false
},
- "CommentPositions": {
- "$ref": "#/components/schemas/Record_string._before-string-or-null--after-string-or-null__"
+ "DeleteCommentAction": {
+ "type": "string",
+ "enum": [
+ "already-deleted",
+ "hard-removed",
+ "anonymized"
+ ]
},
- "LiveEvent": {
+ "DeleteCommentResult": {
"properties": {
- "type": {
- "$ref": "#/components/schemas/LiveEventType"
- },
- "timestamp": {
- "type": "integer",
- "format": "int64"
- },
- "ts": {
- "type": "integer",
- "format": "int64"
+ "action": {
+ "$ref": "#/components/schemas/DeleteCommentAction"
},
- "broadcastId": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "action",
+ "status"
+ ],
+ "type": "object"
+ },
+ "RemoveCommentActionResponse": {
+ "properties": {
+ "status": {
"type": "string"
},
- "userId": {
+ "action": {
"type": "string"
+ }
+ },
+ "required": [
+ "status",
+ "action"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "SetCommentApprovedResponse": {
+ "properties": {
+ "didResetFlaggedCount": {
+ "type": "boolean"
},
- "badges": {
- "items": {
- "$ref": "#/components/schemas/CommentUserBadgeInfo"
- },
- "type": "array"
- },
- "notification": {
- "$ref": "#/components/schemas/UserNotification"
- },
- "vote": {
- "$ref": "#/components/schemas/PubSubVote"
- },
- "comment": {
- "$ref": "#/components/schemas/PubSubComment"
- },
- "feedPost": {
- "$ref": "#/components/schemas/FeedPost"
- },
- "extraInfo": {
- "properties": {
- "commentPositions": {
- "$ref": "#/components/schemas/CommentPositions"
- }
- },
- "type": "object"
- },
- "config": {
- "additionalProperties": false,
- "type": "object"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ },
+ "ModerationAPICommentLog": {
+ "properties": {
+ "date": {
+ "type": "string",
+ "format": "date-time"
},
- "isClosed": {
- "type": "boolean"
+ "username": {
+ "type": "string"
},
- "uj": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "actionName": {
+ "type": "string"
},
- "ul": {
+ "messageHTML": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "date",
+ "actionName",
+ "messageHTML"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "ModerationAPIGetLogsResponse": {
+ "properties": {
+ "logs": {
"items": {
- "type": "string"
+ "$ref": "#/components/schemas/ModerationAPICommentLog"
},
"type": "array"
},
- "changes": {
- "$ref": "#/components/schemas/Int32Map"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
}
},
"required": [
- "type"
+ "logs",
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "PublicAPIGetCommentTextResponse": {
+ "ModerationAPICommentResponse": {
"properties": {
+ "comment": {
+ "$ref": "#/components/schemas/ModerationAPIComment"
+ },
"status": {
"$ref": "#/components/schemas/APIStatus"
- },
- "commentText": {
- "type": "string"
- },
- "sanitizedCommentText": {
- "type": "string"
}
},
"required": [
- "status",
- "commentText",
- "sanitizedCommentText"
+ "comment",
+ "status"
],
"type": "object"
},
- "SetCommentTextResult": {
+ "ModerationAPIChildCommentsResponse": {
"properties": {
- "approved": {
- "type": "boolean"
+ "comments": {
+ "items": {
+ "$ref": "#/components/schemas/ModerationAPIComment"
+ },
+ "type": "array"
},
- "commentHTML": {
- "type": "string"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
}
},
"required": [
- "approved",
- "commentHTML"
+ "comments",
+ "status"
+ ],
+ "type": "object"
+ },
+ "CommentsByIdsParams": {
+ "properties": {
+ "ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "ids"
],
"type": "object",
"additionalProperties": false
},
- "PublicAPISetCommentTextResponse": {
+ "GetCommentTextResponse": {
"properties": {
"comment": {
- "$ref": "#/components/schemas/SetCommentTextResult"
+ "type": "string",
+ "nullable": true
},
"status": {
"$ref": "#/components/schemas/APIStatus"
}
},
"required": [
- "comment",
"status"
],
"type": "object"
},
- "CommentUserMentionInfo": {
+ "SetCommentTextResponse": {
"properties": {
- "id": {
+ "newCommentTextHTML": {
"type": "string"
},
- "tag": {
- "type": "string"
- },
- "rawTag": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "newCommentTextHTML",
+ "status"
+ ],
+ "type": "object"
+ },
+ "SetCommentTextParams": {
+ "properties": {
+ "comment": {
"type": "string"
- },
- "type": {
- "type": "string",
- "enum": [
- "user",
- "sso"
- ]
- },
- "sent": {
- "type": "boolean"
}
},
"required": [
- "id",
- "tag"
+ "comment"
],
"type": "object",
"additionalProperties": false
},
- "CommentUserHashTagInfo": {
+ "AdjustVotesResponse": {
"properties": {
- "id": {
- "type": "string"
- },
- "tag": {
+ "status": {
"type": "string"
},
- "url": {
- "type": "string",
- "nullable": true
- },
- "retain": {
- "type": "boolean"
+ "newCommentVotes": {
+ "type": "integer",
+ "format": "int32"
}
},
"required": [
- "id",
- "tag",
- "url"
+ "status",
+ "newCommentVotes"
],
"type": "object",
"additionalProperties": false
},
- "CommentTextUpdateRequest": {
+ "AdjustCommentVotesParams": {
"properties": {
- "comment": {
- "type": "string"
- },
- "mentions": {
- "items": {
- "$ref": "#/components/schemas/CommentUserMentionInfo"
- },
- "type": "array"
- },
- "hashTags": {
- "items": {
- "$ref": "#/components/schemas/CommentUserHashTagInfo"
- },
- "type": "array"
+ "adjustVoteAmount": {
+ "type": "number",
+ "format": "double"
}
},
"required": [
- "comment"
+ "adjustVoteAmount"
],
"type": "object",
"additionalProperties": false
},
- "PublicComment": {
- "allOf": [
- {
- "properties": {
- "isUnread": {
- "type": "boolean"
- },
- "myVoteId": {
- "type": "string"
- },
- "isVotedDown": {
- "type": "boolean"
- },
- "isVotedUp": {
- "type": "boolean"
- },
- "hasChildren": {
- "type": "boolean",
- "description": "This is always set when asTree=true"
- },
- "nestedChildrenCount": {
- "type": "integer",
- "format": "int32",
- "description": "The total nested child count included in this response (may be more available w/ pagination) Only set with asTree=true, otherwise this will be null."
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "You must ask the API to count children (with asTree=true&countChildren=true), otherwise this will be null. This will be the complete direct child count, whereas children may only contain a subset based on pagination."
- },
- "children": {
- "items": {
- "$ref": "#/components/schemas/PublicComment"
- },
- "type": "array"
- },
- "isFlagged": {
- "type": "boolean"
+ "VoteResponseUser": {
+ "properties": {
+ "sessionId": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ },
+ "VoteResponse": {
+ "properties": {
+ "status": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/APIStatus"
},
- "isBlocked": {
- "type": "boolean"
+ {
+ "type": "string",
+ "enum": [
+ "pending-verification"
+ ]
}
- },
- "type": "object"
+ ]
},
- {
- "$ref": "#/components/schemas/PublicCommentBase"
+ "voteId": {
+ "type": "string"
+ },
+ "isVerified": {
+ "type": "boolean"
+ },
+ "user": {
+ "$ref": "#/components/schemas/VoteResponseUser"
+ },
+ "editKey": {
+ "type": "string"
}
- ]
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "additionalProperties": false
},
- "PublicCommentBase": {
+ "VoteDeleteResponse": {
"properties": {
- "_id": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "wasPendingVote": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "GetCommentBanStatusResponse": {
+ "properties": {
+ "status": {
"type": "string"
},
- "userId": {
+ "emailDomain": {
+ "type": "string",
+ "nullable": true
+ },
+ "canIPBan": {
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "status",
+ "emailDomain",
+ "canIPBan"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APIModerateUserBanPreferences": {
+ "properties": {
+ "shouldBanEmail": {
+ "type": "boolean"
+ },
+ "shouldBanByIP": {
+ "type": "boolean"
+ },
+ "lastBanType": {
+ "type": "string"
+ },
+ "lastBanDuration": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "shouldBanEmail",
+ "shouldBanByIP",
+ "lastBanType",
+ "lastBanDuration"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APIModerateGetUserBanPreferencesResponse": {
+ "properties": {
+ "preferences": {
"allOf": [
{
- "$ref": "#/components/schemas/UserId"
+ "$ref": "#/components/schemas/APIModerateUserBanPreferences"
}
],
"nullable": true
},
- "commenterName": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "preferences",
+ "status"
+ ],
+ "type": "object"
+ },
+ "TenantBadge": {
+ "properties": {
+ "_id": {
"type": "string"
},
- "commenterLink": {
- "type": "string",
- "nullable": true
- },
- "commentHTML": {
+ "tenantId": {
"type": "string"
},
- "parentId": {
- "type": "string",
- "nullable": true
+ "createdByUserId": {
+ "type": "string"
},
- "date": {
+ "createdAt": {
"type": "string",
- "format": "date-time",
- "nullable": true
+ "format": "date-time"
},
- "votes": {
- "type": "integer",
- "format": "int32",
- "nullable": true
+ "enabled": {
+ "type": "boolean"
},
- "votesUp": {
- "type": "integer",
- "format": "int32",
+ "urlId": {
+ "type": "string",
"nullable": true
},
- "votesDown": {
- "type": "integer",
- "format": "int32",
- "nullable": true
+ "type": {
+ "type": "number",
+ "format": "double"
},
- "verified": {
- "type": "boolean"
+ "threshold": {
+ "type": "number",
+ "format": "double"
},
- "avatarSrc": {
- "type": "string",
- "nullable": true
+ "uses": {
+ "type": "number",
+ "format": "double"
},
- "hasImages": {
- "type": "boolean"
+ "name": {
+ "type": "string"
},
- "isByAdmin": {
- "type": "boolean"
+ "description": {
+ "type": "string"
},
- "isByModerator": {
- "type": "boolean"
+ "displayLabel": {
+ "type": "string"
},
- "isPinned": {
- "type": "boolean",
+ "displaySrc": {
+ "type": "string",
"nullable": true
},
- "isLocked": {
- "type": "boolean",
+ "backgroundColor": {
+ "type": "string",
"nullable": true
},
- "displayLabel": {
+ "borderColor": {
"type": "string",
"nullable": true
},
- "rating": {
- "type": "number",
- "format": "double",
+ "textColor": {
+ "type": "string",
"nullable": true
},
- "badges": {
- "items": {
- "$ref": "#/components/schemas/CommentUserBadgeInfo"
- },
- "type": "array",
+ "cssClass": {
+ "type": "string",
"nullable": true
},
- "viewCount": {
- "type": "integer",
- "format": "int64",
+ "veteranUserThresholdMillis": {
+ "type": "number",
+ "format": "double",
"nullable": true
},
- "isDeleted": {
- "type": "boolean"
- },
- "isDeletedUser": {
+ "isAwaitingReprocess": {
"type": "boolean"
},
- "isSpam": {
+ "isAwaitingDeletion": {
"type": "boolean"
},
- "anonUserId": {
+ "replacesBadgeId": {
"type": "string",
"nullable": true
- },
- "feedbackIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "requiresVerification": {
- "type": "boolean"
- },
- "editKey": {
- "type": "string"
- },
- "approved": {
- "type": "boolean"
}
},
"required": [
"_id",
- "commenterName",
- "commentHTML",
- "date",
- "verified"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "Record_string.any_": {
- "properties": {},
- "additionalProperties": {},
+ "tenantId",
+ "createdByUserId",
+ "createdAt",
+ "enabled",
+ "type",
+ "threshold",
+ "uses",
+ "name",
+ "description",
+ "displayLabel",
+ "displaySrc",
+ "backgroundColor",
+ "borderColor",
+ "textColor",
+ "isAwaitingReprocess",
+ "isAwaitingDeletion"
+ ],
"type": "object",
- "description": "Construct a type with a set of properties K of type T"
+ "additionalProperties": false
},
- "GetCommentsResponse_PublicComment_": {
+ "GetTenantManualBadgesResponse": {
"properties": {
- "statusCode": {
- "type": "integer",
- "format": "int32"
+ "badges": {
+ "items": {
+ "$ref": "#/components/schemas/TenantBadge"
+ },
+ "type": "array"
},
"status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "badges",
+ "status"
+ ],
+ "type": "object"
+ },
+ "UserBadge": {
+ "properties": {
+ "_id": {
"type": "string"
},
- "code": {
+ "userId": {
"type": "string"
},
- "reason": {
+ "badgeId": {
"type": "string"
},
- "translatedWarning": {
+ "fromTenantId": {
"type": "string"
},
- "comments": {
- "items": {
- "$ref": "#/components/schemas/PublicComment"
- },
- "type": "array"
- },
- "user": {
- "allOf": [
- {
- "$ref": "#/components/schemas/UserSessionInfo"
- }
- ],
- "nullable": true
- },
- "urlIdClean": {
- "type": "string"
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
},
- "lastGenDate": {
+ "type": {
"type": "integer",
- "format": "int64",
- "nullable": true
- },
- "includesPastPages": {
- "type": "boolean"
- },
- "isDemo": {
- "type": "boolean",
- "enum": [
- true
- ],
- "nullable": false
+ "format": "int32"
},
- "commentCount": {
+ "threshold": {
"type": "integer",
- "format": "int32"
+ "format": "int64"
},
- "isSiteAdmin": {
- "type": "boolean"
+ "description": {
+ "type": "string"
},
- "hasBillingIssue": {
- "type": "boolean",
- "enum": [
- true
- ],
- "nullable": false
+ "displayLabel": {
+ "type": "string"
},
- "moduleData": {
- "$ref": "#/components/schemas/Record_string.any_"
+ "displaySrc": {
+ "type": "string",
+ "nullable": true
},
- "pageNumber": {
- "type": "integer",
- "format": "int32"
+ "backgroundColor": {
+ "type": "string",
+ "nullable": true
},
- "isWhiteLabeled": {
- "type": "boolean"
+ "borderColor": {
+ "type": "string",
+ "nullable": true
},
- "isProd": {
- "type": "boolean",
- "enum": [
- false
- ],
- "nullable": false
+ "textColor": {
+ "type": "string",
+ "nullable": true
},
- "isCrawler": {
- "type": "boolean",
- "enum": [
- true
- ],
- "nullable": false
+ "cssClass": {
+ "type": "string",
+ "nullable": true
},
- "notificationCount": {
+ "veteranUserThresholdMillis": {
"type": "integer",
- "format": "int32"
+ "format": "int64"
},
- "hasMore": {
+ "displayedOnComments": {
"type": "boolean"
},
- "isClosed": {
- "type": "boolean"
+ "receivedAt": {
+ "type": "string",
+ "format": "date-time"
},
- "presencePollState": {
+ "order": {
"type": "integer",
"format": "int32"
},
- "customConfig": {
- "$ref": "#/components/schemas/CustomConfigParameters"
+ "urlId": {
+ "type": "string",
+ "nullable": true
}
},
"required": [
- "status",
- "comments",
- "user",
- "pageNumber"
+ "_id",
+ "userId",
+ "badgeId",
+ "fromTenantId",
+ "createdAt",
+ "type",
+ "threshold",
+ "description",
+ "displayLabel",
+ "veteranUserThresholdMillis",
+ "displayedOnComments",
+ "receivedAt"
],
"type": "object",
"additionalProperties": false
},
- "GetCommentsResponseWithPresence_PublicComment_": {
- "allOf": [
- {
- "$ref": "#/components/schemas/GetCommentsResponse_PublicComment_"
- },
- {
- "$ref": "#/components/schemas/UserPresenceData"
- }
- ]
- },
- "SaveCommentResponseOptimized": {
+ "GetUserManualBadgesResponse": {
"properties": {
+ "badges": {
+ "items": {
+ "$ref": "#/components/schemas/UserBadge"
+ },
+ "type": "array"
+ },
"status": {
"$ref": "#/components/schemas/APIStatus"
- },
- "comment": {
- "$ref": "#/components/schemas/PublicComment"
- },
- "user": {
- "allOf": [
- {
- "$ref": "#/components/schemas/UserSessionInfo"
- }
- ],
- "nullable": true
- },
- "moduleData": {
- "$ref": "#/components/schemas/Record_string.any_"
}
},
"required": [
- "status",
- "comment",
- "user"
+ "badges",
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "SaveCommentsResponseWithPresence": {
- "allOf": [
- {
- "$ref": "#/components/schemas/SaveCommentResponseOptimized"
+ "AwardUserBadgeResponse": {
+ "properties": {
+ "notes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- {
- "properties": {
- "userIdWS": {
- "$ref": "#/components/schemas/UserIdWS"
- }
+ "badges": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserBadgeInfo"
},
- "type": "object"
+ "type": "array"
+ },
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
}
- ]
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
},
- "Record_string.string-or-number_": {
- "properties": {},
- "additionalProperties": {
- "anyOf": [
- {
- "type": "string"
+ "RemoveUserBadgeResponse": {
+ "properties": {
+ "badges": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserBadgeInfo"
},
- {
- "type": "number",
- "format": "double"
- }
- ]
+ "type": "array"
+ },
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
},
- "type": "object",
- "description": "Construct a type with a set of properties K of type T"
+ "required": [
+ "status"
+ ],
+ "type": "object"
},
- "CommentData": {
+ "GetUserTrustFactorResponse": {
"properties": {
- "date": {
- "type": "integer",
- "format": "int64"
- },
- "localDateString": {
- "type": "string"
- },
- "localDateHours": {
- "type": "integer",
- "format": "int32"
- },
- "commenterName": {
- "type": "string"
- },
- "commenterEmail": {
- "type": "string",
- "nullable": true
- },
- "commenterLink": {
- "type": "string",
- "nullable": true
- },
- "comment": {
- "type": "string"
- },
- "productId": {
- "type": "integer",
- "format": "int32"
- },
- "userId": {
- "type": "string",
- "nullable": true
- },
- "avatarSrc": {
- "type": "string",
- "nullable": true
- },
- "parentId": {
- "type": "string",
- "nullable": true
- },
- "mentions": {
- "items": {
- "$ref": "#/components/schemas/CommentUserMentionInfo"
- },
- "type": "array"
- },
- "hashTags": {
- "items": {
- "$ref": "#/components/schemas/CommentUserHashTagInfo"
- },
- "type": "array"
- },
- "pageTitle": {
- "type": "string"
- },
- "isFromMyAccountPage": {
- "type": "boolean"
- },
- "url": {
- "type": "string"
- },
- "urlId": {
- "type": "string"
- },
- "meta": {
- "additionalProperties": false,
- "type": "object"
- },
- "moderationGroupIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "rating": {
+ "manualTrustFactor": {
"type": "number",
"format": "double"
},
- "fromOfflineRestore": {
- "type": "boolean"
+ "autoTrustFactor": {
+ "type": "number",
+ "format": "double"
},
- "autoplayDelayMS": {
- "type": "integer",
- "format": "int64"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ },
+ "SetUserTrustFactorResponse": {
+ "properties": {
+ "previousManualTrustFactor": {
+ "type": "number",
+ "format": "double"
},
- "feedbackIds": {
- "items": {
- "type": "string"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ },
+ "GetUserInternalProfileResponse": {
+ "properties": {
+ "profile": {
+ "properties": {
+ "commenterName": {
+ "type": "string"
+ },
+ "firstCommentDate": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ },
+ "ipHash": {
+ "type": "string"
+ },
+ "countryFlag": {
+ "type": "string"
+ },
+ "countryCode": {
+ "type": "string"
+ },
+ "websiteUrl": {
+ "type": "string",
+ "nullable": true
+ },
+ "bio": {
+ "type": "string"
+ },
+ "karma": {
+ "type": "number",
+ "format": "double"
+ },
+ "locale": {
+ "type": "string"
+ },
+ "verified": {
+ "type": "boolean"
+ },
+ "avatarSrc": {
+ "type": "string",
+ "nullable": true
+ },
+ "displayName": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ },
+ "commenterEmail": {
+ "type": "string",
+ "nullable": true
+ },
+ "email": {
+ "type": "string",
+ "nullable": true
+ },
+ "anonUserId": {
+ "type": "string",
+ "nullable": true
+ },
+ "userId": {
+ "type": "string",
+ "nullable": true
+ }
},
- "type": "array"
- },
- "questionValues": {
- "$ref": "#/components/schemas/Record_string.string-or-number_"
+ "type": "object"
},
- "tos": {
- "type": "boolean"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
}
},
"required": [
- "commenterName",
- "comment",
- "url",
- "urlId"
+ "profile",
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "DeletedCommentResultComment": {
+ "GetBannedUsersCountResponse": {
"properties": {
- "isDeleted": {
- "type": "boolean"
- },
- "commentHTML": {
- "type": "string"
+ "totalCount": {
+ "type": "number",
+ "format": "double"
},
- "commenterName": {
+ "status": {
"type": "string"
- },
- "userId": {
- "type": "string",
- "nullable": true
}
},
"required": [
- "commentHTML",
- "commenterName"
+ "totalCount",
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "PublicAPIDeleteCommentResponse": {
+ "GifSearchResponse": {
"properties": {
- "comment": {
- "$ref": "#/components/schemas/DeletedCommentResultComment"
- },
- "hardRemoved": {
- "type": "boolean"
+ "images": {
+ "items": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number",
+ "format": "double"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "type": "array"
},
"status": {
"$ref": "#/components/schemas/APIStatus"
}
},
"required": [
- "hardRemoved",
+ "images",
"status"
],
"type": "object"
},
- "CheckBlockedCommentsResponse": {
+ "GifSearchInternalError": {
"properties": {
- "commentStatuses": {
- "$ref": "#/components/schemas/Record_string.boolean_"
+ "code": {
+ "type": "string"
},
"status": {
"$ref": "#/components/schemas/APIStatus"
}
},
"required": [
- "commentStatuses",
+ "code",
"status"
],
"type": "object"
},
- "VoteResponseUser": {
+ "GifGetLargeResponse": {
"properties": {
- "sessionId": {
- "type": "string",
- "nullable": true
+ "src": {
+ "type": "string"
+ },
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
}
},
- "type": "object",
- "additionalProperties": false
+ "required": [
+ "src",
+ "status"
+ ],
+ "type": "object"
},
- "VoteResponse": {
+ "FeedPostMediaItemAsset": {
"properties": {
- "status": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIStatus"
- },
- {
- "type": "string",
- "enum": [
- "pending-verification"
- ]
- }
- ]
- },
- "voteId": {
- "type": "string"
- },
- "isVerified": {
- "type": "boolean"
+ "w": {
+ "type": "integer",
+ "format": "int32"
},
- "user": {
- "$ref": "#/components/schemas/VoteResponseUser"
+ "h": {
+ "type": "integer",
+ "format": "int32"
},
- "editKey": {
+ "src": {
"type": "string"
}
},
"required": [
- "status"
+ "w",
+ "h",
+ "src"
],
"type": "object",
"additionalProperties": false
},
- "VoteBodyParams": {
+ "FeedPostMediaItem": {
"properties": {
- "commenterEmail": {
+ "title": {
+ "type": "string"
+ },
+ "linkUrl": {
+ "type": "string"
+ },
+ "sizes": {
+ "items": {
+ "$ref": "#/components/schemas/FeedPostMediaItemAsset"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "sizes"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "FeedPostLink": {
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ },
+ "Int32Map": {
+ "properties": {},
+ "additionalProperties": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "type": "object"
+ },
+ "FeedPost": {
+ "properties": {
+ "_id": {
+ "type": "string"
+ },
+ "tenantId": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "fromUserId": {
+ "type": "string"
+ },
+ "fromUserDisplayName": {
"type": "string",
"nullable": true
},
- "commenterName": {
+ "fromUserAvatar": {
"type": "string",
"nullable": true
},
- "voteDir": {
- "type": "string",
- "enum": [
- "up",
- "down"
- ]
+ "fromIpHash": {
+ "type": "string"
},
- "url": {
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "weight": {
+ "type": "number",
+ "format": "double"
+ },
+ "meta": {
+ "$ref": "#/components/schemas/Record_string.string_"
+ },
+ "contentHTML": {
+ "type": "string"
+ },
+ "media": {
+ "items": {
+ "$ref": "#/components/schemas/FeedPostMediaItem"
+ },
+ "type": "array"
+ },
+ "links": {
+ "items": {
+ "$ref": "#/components/schemas/FeedPostLink"
+ },
+ "type": "array"
+ },
+ "createdAt": {
"type": "string",
+ "format": "date-time"
+ },
+ "reacts": {
+ "$ref": "#/components/schemas/Int32Map"
+ },
+ "commentCount": {
+ "type": "integer",
+ "format": "int32",
"nullable": true
}
},
"required": [
- "commenterEmail",
- "commenterName",
- "voteDir",
- "url"
+ "_id",
+ "tenantId",
+ "createdAt"
],
"type": "object",
"additionalProperties": false
},
- "VoteDeleteResponse": {
+ "UserSessionInfo": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "id": {
+ "type": "string"
},
- "wasPendingVote": {
+ "authorized": {
+ "type": "boolean"
+ },
+ "avatarSrc": {
+ "type": "string",
+ "nullable": true
+ },
+ "badges": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserBadgeInfo"
+ },
+ "type": "array"
+ },
+ "displayLabel": {
+ "type": "string"
+ },
+ "displayName": {
+ "type": "string"
+ },
+ "email": {
+ "type": "string",
+ "nullable": true
+ },
+ "groupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "hasBlockedUsers": {
+ "type": "boolean"
+ },
+ "isAnonSession": {
+ "type": "boolean"
+ },
+ "needsTOS": {
"type": "boolean"
+ },
+ "sessionId": {
+ "type": "string",
+ "nullable": true
+ },
+ "username": {
+ "type": "string"
+ },
+ "websiteUrl": {
+ "type": "string"
}
},
- "required": [
- "status"
- ],
"type": "object",
"additionalProperties": false
},
- "GetCommentVoteUserNamesSuccessResponse": {
+ "GetPublicFeedPostsResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "voteUserNames": {
+ "feedPosts": {
"items": {
- "type": "string"
+ "$ref": "#/components/schemas/FeedPost"
},
"type": "array"
},
- "hasMore": {
- "type": "boolean"
+ "user": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/UserSessionInfo"
+ }
+ ],
+ "nullable": true
}
},
"required": [
"status",
- "voteUserNames",
- "hasMore"
+ "feedPosts"
],
"type": "object",
"additionalProperties": false
},
- "ChangeCommentPinStatusResponse": {
+ "TenantIdWS": {
+ "type": "string"
+ },
+ "UserIdWS": {
+ "type": "string"
+ },
+ "UrlIdWS": {
+ "type": "string"
+ },
+ "UserPresenceData": {
"properties": {
- "commentPositions": {
- "$ref": "#/components/schemas/CommentPositions"
+ "urlIdWS": {
+ "$ref": "#/components/schemas/UrlIdWS"
},
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "userIdWS": {
+ "$ref": "#/components/schemas/UserIdWS"
+ },
+ "tenantIdWS": {
+ "$ref": "#/components/schemas/TenantIdWS"
}
},
- "required": [
- "commentPositions",
- "status"
- ],
"type": "object"
},
- "BlockSuccess": {
+ "PublicFeedPostsResponse": {
+ "allOf": [
+ {
+ "properties": {
+ "myReacts": {
+ "properties": {},
+ "additionalProperties": {
+ "properties": {},
+ "additionalProperties": {
+ "type": "boolean"
+ },
+ "type": "object"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "$ref": "#/components/schemas/GetPublicFeedPostsResponse"
+ },
+ {
+ "$ref": "#/components/schemas/UserPresenceData"
+ }
+ ]
+ },
+ "ReactFeedPostResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "commentStatuses": {
- "$ref": "#/components/schemas/Record_string.boolean_"
+ "reactType": {
+ "type": "string"
+ },
+ "isUndo": {
+ "type": "boolean"
}
},
"required": [
"status",
- "commentStatuses"
+ "reactType",
+ "isUndo"
],
"type": "object",
"additionalProperties": false
},
- "PublicBlockFromCommentParams": {
+ "ReactBodyParams": {
"properties": {
- "commentIds": {
- "items": {
- "type": "string"
+ "reactType": {
+ "type": "string"
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ },
+ "UserReactsResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "reacts": {
+ "properties": {},
+ "additionalProperties": {
+ "properties": {},
+ "additionalProperties": {
+ "type": "boolean"
+ },
+ "type": "object"
},
- "type": "array",
- "nullable": true,
- "description": "A list of comment ids to check if are blocked after performing the update."
+ "type": "object"
}
},
"required": [
- "commentIds"
+ "status",
+ "reacts"
],
"type": "object",
"additionalProperties": false
},
- "UnblockSuccess": {
+ "CreateFeedPostResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "commentStatuses": {
- "$ref": "#/components/schemas/Record_string.boolean_"
+ "feedPost": {
+ "$ref": "#/components/schemas/FeedPost"
}
},
"required": [
"status",
- "commentStatuses"
+ "feedPost"
],
"type": "object",
"additionalProperties": false
},
- "APIUserSubscription": {
+ "CreateFeedPostParams": {
"properties": {
- "notificationFrequency": {
- "type": "number",
- "format": "double"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "pageTitle": {
+ "title": {
"type": "string"
},
- "url": {
+ "contentHTML": {
"type": "string"
},
- "urlId": {
- "type": "string"
+ "media": {
+ "items": {
+ "$ref": "#/components/schemas/FeedPostMediaItem"
+ },
+ "type": "array"
},
- "anonUserId": {
- "type": "string"
+ "links": {
+ "items": {
+ "$ref": "#/components/schemas/FeedPostLink"
+ },
+ "type": "array"
},
- "userId": {
+ "fromUserId": {
"type": "string"
},
- "id": {
+ "fromUserDisplayName": {
"type": "string"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "meta": {
+ "$ref": "#/components/schemas/Record_string.string_"
}
},
- "required": [
- "createdAt",
- "urlId",
- "id"
- ],
- "type": "object"
+ "type": "object",
+ "additionalProperties": false
},
- "GetSubscriptionsAPIResponse": {
+ "UpdateFeedPostParams": {
"properties": {
- "reason": {
+ "title": {
"type": "string"
},
- "code": {
+ "contentHTML": {
"type": "string"
},
- "subscriptions": {
+ "media": {
"items": {
- "$ref": "#/components/schemas/APIUserSubscription"
+ "$ref": "#/components/schemas/FeedPostMediaItem"
},
"type": "array"
},
- "status": {
- "type": "string"
+ "links": {
+ "items": {
+ "$ref": "#/components/schemas/FeedPostLink"
+ },
+ "type": "array"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "meta": {
+ "$ref": "#/components/schemas/Record_string.string_"
}
},
- "required": [
- "status"
- ],
- "type": "object"
+ "type": "object",
+ "additionalProperties": false
},
- "CreateSubscriptionAPIResponse": {
+ "FeedPostStats": {
"properties": {
- "reason": {
- "type": "string"
- },
- "code": {
- "type": "string"
- },
- "subscription": {
- "$ref": "#/components/schemas/APIUserSubscription"
+ "reacts": {
+ "$ref": "#/components/schemas/Int32Map"
},
+ "commentCount": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ },
+ "FeedPostsStatsResponse": {
+ "properties": {
"status": {
- "type": "string"
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "stats": {
+ "properties": {},
+ "additionalProperties": {
+ "$ref": "#/components/schemas/FeedPostStats"
+ },
+ "type": "object"
}
},
"required": [
- "status"
+ "status",
+ "stats"
],
- "type": "object"
+ "type": "object",
+ "additionalProperties": false
},
- "CreateAPIUserSubscriptionData": {
+ "EventLogEntry": {
"properties": {
- "notificationFrequency": {
- "type": "number",
- "format": "double"
- },
- "pageTitle": {
+ "_id": {
"type": "string"
},
- "url": {
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "tenantId": {
"type": "string"
},
"urlId": {
"type": "string"
},
- "anonUserId": {
+ "broadcastId": {
"type": "string"
},
- "userId": {
+ "data": {
"type": "string"
}
},
"required": [
- "urlId"
+ "_id",
+ "createdAt",
+ "tenantId",
+ "urlId",
+ "broadcastId",
+ "data"
],
- "type": "object"
+ "type": "object",
+ "additionalProperties": false
},
- "UpdateSubscriptionAPIResponse": {
+ "GetEventLogResponse": {
"properties": {
- "reason": {
- "type": "string"
- },
- "code": {
- "type": "string"
- },
- "subscription": {
- "$ref": "#/components/schemas/APIUserSubscription"
+ "events": {
+ "items": {
+ "$ref": "#/components/schemas/EventLogEntry"
+ },
+ "type": "array"
},
"status": {
- "type": "string"
+ "$ref": "#/components/schemas/APIStatus"
}
},
"required": [
+ "events",
"status"
],
"type": "object"
},
- "UpdateAPIUserSubscriptionData": {
- "properties": {
- "notificationFrequency": {
- "type": "number",
- "format": "double"
- }
- },
- "type": "object"
+ "LiveEventType": {
+ "enum": [
+ "update-badges",
+ "notification",
+ "notification-update",
+ "p-u",
+ "new-vote",
+ "deleted-vote",
+ "new-comment",
+ "updated-comment",
+ "deleted-comment",
+ "cvc",
+ "new-config",
+ "thread-state-change",
+ "fr",
+ "dfr",
+ "new-feed-post",
+ "updated-feed-post",
+ "deleted-feed-post",
+ "new-ticket",
+ "updated-ticket-state",
+ "updated-ticket-assignment",
+ "deleted-ticket",
+ "page-react",
+ "question-result"
+ ],
+ "type": "string"
},
- "DeleteSubscriptionAPIResponse": {
+ "TenantId": {
+ "type": "string"
+ },
+ "UserNotification": {
"properties": {
- "reason": {
+ "_id": {
"type": "string"
},
- "code": {
+ "tenantId": {
+ "$ref": "#/components/schemas/TenantId"
+ },
+ "userId": {
+ "type": "string",
+ "nullable": true
+ },
+ "anonUserId": {
+ "type": "string",
+ "nullable": true
+ },
+ "urlId": {
"type": "string"
},
- "status": {
- "type": "string"
- }
- },
- "required": [
- "status"
- ],
- "type": "object"
- },
- "APISSOUser": {
- "properties": {
- "id": {
- "type": "string"
- },
- "username": {
+ "url": {
"type": "string"
},
- "websiteUrl": {
- "type": "string"
- },
- "email": {
- "type": "string"
+ "pageTitle": {
+ "type": "string",
+ "nullable": true
},
- "signUpDate": {
- "type": "integer",
- "format": "int64"
+ "relatedObjectType": {
+ "$ref": "#/components/schemas/NotificationObjectType"
},
- "createdFromUrlId": {
+ "relatedObjectId": {
"type": "string"
},
- "loginCount": {
- "type": "integer",
- "format": "int32"
- },
- "avatarSrc": {
- "type": "string"
+ "viewed": {
+ "type": "boolean"
},
- "optedInNotifications": {
+ "isUnreadMessage": {
"type": "boolean"
},
- "optedInSubscriptionNotifications": {
+ "sent": {
"type": "boolean"
},
- "displayLabel": {
- "type": "string"
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
},
- "displayName": {
- "type": "string"
+ "type": {
+ "$ref": "#/components/schemas/NotificationType"
},
- "isAccountOwner": {
- "type": "boolean"
+ "fromCommentId": {
+ "type": "string",
+ "nullable": true
},
- "isAdminAdmin": {
- "type": "boolean"
+ "fromVoteId": {
+ "type": "string",
+ "nullable": true
},
- "isCommentModeratorAdmin": {
- "type": "boolean"
+ "fromUserName": {
+ "type": "string",
+ "nullable": true
},
- "isProfileActivityPrivate": {
- "type": "boolean"
+ "fromUserId": {
+ "type": "string",
+ "nullable": true
},
- "isProfileCommentsPrivate": {
- "type": "boolean"
+ "fromUserAvatarSrc": {
+ "type": "string",
+ "nullable": true
},
- "isProfileDMDisabled": {
+ "optedOut": {
"type": "boolean"
},
- "hasBlockedUsers": {
- "type": "boolean"
+ "count": {
+ "type": "integer",
+ "format": "int64"
},
- "groupIds": {
+ "relatedIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fromUserIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fromUserNames": {
"items": {
"type": "string"
},
@@ -3145,1908 +3749,2087 @@
}
},
"required": [
- "id",
- "username",
- "websiteUrl",
- "email",
- "signUpDate",
- "createdFromUrlId",
- "loginCount",
- "avatarSrc",
- "optedInNotifications",
- "optedInSubscriptionNotifications",
- "displayLabel",
- "displayName"
+ "_id",
+ "tenantId",
+ "urlId",
+ "url",
+ "relatedObjectType",
+ "relatedObjectId",
+ "viewed",
+ "isUnreadMessage",
+ "sent",
+ "createdAt",
+ "type",
+ "optedOut"
],
"type": "object",
"additionalProperties": false
},
- "GetSSOUserByIdAPIResponse": {
+ "PubSubVote": {
"properties": {
- "reason": {
+ "_id": {
"type": "string"
},
- "code": {
+ "tenantId": {
"type": "string"
},
- "user": {
- "$ref": "#/components/schemas/APISSOUser"
- },
- "status": {
+ "urlId": {
"type": "string"
- }
- },
- "required": [
- "status"
- ],
- "type": "object"
- },
- "GetSSOUserByEmailAPIResponse": {
- "properties": {
- "reason": {
+ },
+ "urlIdRaw": {
"type": "string"
},
- "code": {
+ "commentId": {
"type": "string"
},
- "user": {
- "$ref": "#/components/schemas/APISSOUser"
+ "userId": {
+ "type": "string",
+ "nullable": true
},
- "status": {
- "type": "string"
+ "direction": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "createdAt": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "verificationId": {
+ "type": "string",
+ "nullable": true
}
},
"required": [
- "status"
+ "_id",
+ "tenantId",
+ "urlId",
+ "urlIdRaw",
+ "commentId",
+ "direction",
+ "createdAt",
+ "verificationId"
],
- "type": "object"
+ "type": "object",
+ "additionalProperties": false
},
- "DeleteSSOUserAPIResponse": {
+ "FDomain": {
+ "type": "string"
+ },
+ "PubSubCommentBase": {
"properties": {
- "reason": {
+ "_id": {
"type": "string"
},
- "code": {
+ "tenantId": {
"type": "string"
},
- "user": {
- "$ref": "#/components/schemas/APISSOUser"
+ "userId": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/UserId"
+ }
+ ],
+ "nullable": true
},
- "status": {
- "type": "string"
- }
- },
- "required": [
- "status"
- ],
- "type": "object"
- },
- "PatchSSOUserAPIResponse": {
- "properties": {
- "reason": {
+ "urlId": {
"type": "string"
},
- "code": {
+ "commenterName": {
"type": "string"
},
- "user": {
- "$ref": "#/components/schemas/APISSOUser"
+ "commenterLink": {
+ "type": "string",
+ "nullable": true
},
- "status": {
+ "commentHTML": {
"type": "string"
- }
- },
- "required": [
- "status"
- ],
- "type": "object"
- },
- "UpdateAPISSOUserData": {
- "properties": {
- "groupIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
},
- "hasBlockedUsers": {
- "type": "boolean"
+ "comment": {
+ "type": "string"
},
- "isProfileDMDisabled": {
- "type": "boolean"
+ "parentId": {
+ "type": "string",
+ "nullable": true
},
- "isProfileCommentsPrivate": {
- "type": "boolean"
+ "votes": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
},
- "isProfileActivityPrivate": {
- "type": "boolean"
+ "votesUp": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
},
- "isCommentModeratorAdmin": {
- "type": "boolean"
+ "votesDown": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
},
- "isAdminAdmin": {
+ "verified": {
"type": "boolean"
},
- "isAccountOwner": {
- "type": "boolean"
+ "avatarSrc": {
+ "type": "string",
+ "nullable": true
},
- "displayName": {
- "type": "string"
+ "hasImages": {
+ "type": "boolean"
},
- "displayLabel": {
- "type": "string"
+ "hasLinks": {
+ "type": "boolean"
},
- "optedInSubscriptionNotifications": {
+ "isByAdmin": {
"type": "boolean"
},
- "optedInNotifications": {
+ "isByModerator": {
"type": "boolean"
},
- "avatarSrc": {
- "type": "string"
+ "isPinned": {
+ "type": "boolean",
+ "nullable": true
},
- "loginCount": {
- "type": "integer",
- "format": "int32"
+ "isLocked": {
+ "type": "boolean",
+ "nullable": true
},
- "createdFromUrlId": {
- "type": "string"
+ "displayLabel": {
+ "type": "string",
+ "nullable": true
},
- "signUpDate": {
+ "rating": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "badges": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserBadgeInfo"
+ },
+ "type": "array",
+ "nullable": true
+ },
+ "viewCount": {
"type": "integer",
- "format": "int64"
+ "format": "int64",
+ "nullable": true
},
- "email": {
- "type": "string"
+ "isDeleted": {
+ "type": "boolean"
},
- "websiteUrl": {
- "type": "string"
+ "isDeletedUser": {
+ "type": "boolean"
},
- "username": {
- "type": "string"
+ "isSpam": {
+ "type": "boolean"
},
- "id": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "PutSSOUserAPIResponse": {
- "properties": {
- "reason": {
- "type": "string"
+ "anonUserId": {
+ "type": "string",
+ "nullable": true
},
- "code": {
- "type": "string"
+ "feedbackIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "user": {
+ "flagCount": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "domain": {
"allOf": [
{
- "$ref": "#/components/schemas/APISSOUser"
+ "$ref": "#/components/schemas/FDomain"
}
],
"nullable": true
},
- "status": {
- "type": "string"
- }
- },
- "required": [
- "status"
- ],
- "type": "object"
- },
- "AddSSOUserAPIResponse": {
- "properties": {
- "reason": {
- "type": "string"
- },
- "code": {
- "type": "string"
- },
- "user": {
- "$ref": "#/components/schemas/APISSOUser"
- },
- "status": {
+ "url": {
"type": "string"
- }
- },
- "required": [
- "status"
- ],
- "type": "object"
- },
- "CreateAPISSOUserData": {
- "properties": {
- "groupIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
},
- "hasBlockedUsers": {
- "type": "boolean"
+ "pageTitle": {
+ "type": "string",
+ "nullable": true
},
- "isProfileDMDisabled": {
- "type": "boolean"
+ "expireAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
},
- "isProfileCommentsPrivate": {
+ "reviewed": {
"type": "boolean"
},
- "isProfileActivityPrivate": {
+ "hasCode": {
"type": "boolean"
},
- "isCommentModeratorAdmin": {
+ "approved": {
"type": "boolean"
},
- "isAdminAdmin": {
- "type": "boolean"
+ "locale": {
+ "type": "string",
+ "nullable": true
},
- "isAccountOwner": {
+ "isBannedUser": {
"type": "boolean"
},
- "displayName": {
- "type": "string"
- },
- "displayLabel": {
- "type": "string"
- },
- "optedInSubscriptionNotifications": {
- "type": "boolean"
+ "groupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "nullable": true
+ }
+ },
+ "required": [
+ "_id",
+ "tenantId",
+ "urlId",
+ "commenterName",
+ "commentHTML",
+ "comment",
+ "verified",
+ "url",
+ "approved",
+ "locale"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "PubSubComment": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/PubSubCommentBase"
},
- "optedInNotifications": {
- "type": "boolean"
+ {
+ "properties": {
+ "isLive": {
+ "type": "boolean"
+ },
+ "hidden": {
+ "type": "boolean"
+ },
+ "date": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "date"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "Record_string._before-string-or-null--after-string-or-null__": {
+ "properties": {},
+ "additionalProperties": {
+ "properties": {
+ "after": {
+ "type": "string",
+ "nullable": true
+ },
+ "before": {
+ "type": "string",
+ "nullable": true
+ }
},
- "avatarSrc": {
- "type": "string"
+ "required": [
+ "after",
+ "before"
+ ],
+ "type": "object"
+ },
+ "type": "object",
+ "description": "Construct a type with a set of properties K of type T"
+ },
+ "CommentPositions": {
+ "$ref": "#/components/schemas/Record_string._before-string-or-null--after-string-or-null__"
+ },
+ "LiveEvent": {
+ "properties": {
+ "type": {
+ "$ref": "#/components/schemas/LiveEventType"
},
- "loginCount": {
+ "timestamp": {
"type": "integer",
- "format": "int32"
- },
- "createdFromUrlId": {
- "type": "string"
+ "format": "int64"
},
- "signUpDate": {
+ "ts": {
"type": "integer",
"format": "int64"
},
- "email": {
+ "broadcastId": {
"type": "string"
},
- "websiteUrl": {
+ "userId": {
"type": "string"
},
- "username": {
- "type": "string"
+ "badges": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserBadgeInfo"
+ },
+ "type": "array"
+ },
+ "notification": {
+ "$ref": "#/components/schemas/UserNotification"
+ },
+ "vote": {
+ "$ref": "#/components/schemas/PubSubVote"
+ },
+ "comment": {
+ "$ref": "#/components/schemas/PubSubComment"
+ },
+ "feedPost": {
+ "$ref": "#/components/schemas/FeedPost"
+ },
+ "extraInfo": {
+ "properties": {
+ "commentPositions": {
+ "$ref": "#/components/schemas/CommentPositions"
+ }
+ },
+ "type": "object"
+ },
+ "config": {
+ "additionalProperties": false,
+ "type": "object"
},
- "id": {
- "type": "string"
- }
- },
- "required": [
- "email",
- "username",
- "id"
- ],
- "type": "object"
- },
- "APIPage": {
- "properties": {
"isClosed": {
"type": "boolean"
},
- "accessibleByGroupIds": {
+ "uj": {
"items": {
"type": "string"
},
"type": "array"
},
- "rootCommentCount": {
- "type": "integer",
- "format": "int64"
+ "ul": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "commentCount": {
+ "sc": {
"type": "integer",
- "format": "int64"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "title": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "urlId": {
- "type": "string"
+ "format": "int32"
},
- "id": {
- "type": "string"
+ "changes": {
+ "$ref": "#/components/schemas/Int32Map"
}
},
"required": [
- "rootCommentCount",
- "commentCount",
- "createdAt",
- "title",
- "urlId",
- "id"
+ "type"
],
- "type": "object"
+ "type": "object",
+ "additionalProperties": false
},
- "GetPagesAPIResponse": {
+ "PublicAPIGetCommentTextResponse": {
"properties": {
- "reason": {
- "type": "string"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "code": {
+ "commentText": {
"type": "string"
},
- "pages": {
- "items": {
- "$ref": "#/components/schemas/APIPage"
- },
- "type": "array"
- },
- "status": {
+ "sanitizedCommentText": {
"type": "string"
}
},
"required": [
- "status"
+ "status",
+ "commentText",
+ "sanitizedCommentText"
],
"type": "object"
},
- "GetPageByURLIdAPIResponse": {
+ "SetCommentTextResult": {
"properties": {
- "reason": {
- "type": "string"
- },
- "code": {
- "type": "string"
- },
- "page": {
- "$ref": "#/components/schemas/APIPage"
+ "approved": {
+ "type": "boolean"
},
- "status": {
+ "commentHTML": {
"type": "string"
}
},
"required": [
- "status"
+ "approved",
+ "commentHTML"
],
- "type": "object"
+ "type": "object",
+ "additionalProperties": false
},
- "AddPageAPIResponse": {
+ "PublicAPISetCommentTextResponse": {
"properties": {
- "reason": {
- "type": "string"
- },
- "code": {
- "type": "string"
- },
- "page": {
- "$ref": "#/components/schemas/APIPage"
+ "comment": {
+ "$ref": "#/components/schemas/SetCommentTextResult"
},
"status": {
- "type": "string"
+ "$ref": "#/components/schemas/APIStatus"
}
},
"required": [
+ "comment",
"status"
],
"type": "object"
},
- "CreateAPIPageData": {
+ "CommentUserMentionInfo": {
"properties": {
- "accessibleByGroupIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "rootCommentCount": {
- "type": "integer",
- "format": "int64"
- },
- "commentCount": {
- "type": "integer",
- "format": "int64"
- },
- "title": {
+ "id": {
"type": "string"
},
- "url": {
+ "tag": {
"type": "string"
},
- "urlId": {
+ "rawTag": {
"type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "user",
+ "sso"
+ ]
+ },
+ "sent": {
+ "type": "boolean"
}
},
"required": [
- "title",
- "url",
- "urlId"
+ "id",
+ "tag"
],
- "type": "object"
+ "type": "object",
+ "additionalProperties": false
},
- "PatchPageAPIResponse": {
+ "CommentUserHashTagInfo": {
"properties": {
- "reason": {
+ "id": {
"type": "string"
},
- "code": {
+ "tag": {
"type": "string"
},
- "commentsUpdated": {
- "type": "integer",
- "format": "int64"
- },
- "page": {
- "$ref": "#/components/schemas/APIPage"
+ "url": {
+ "type": "string",
+ "nullable": true
},
- "status": {
- "type": "string"
+ "retain": {
+ "type": "boolean"
}
},
"required": [
- "status"
+ "id",
+ "tag",
+ "url"
],
- "type": "object"
+ "type": "object",
+ "additionalProperties": false
},
- "UpdateAPIPageData": {
+ "CommentTextUpdateRequest": {
"properties": {
- "isClosed": {
- "type": "boolean"
+ "comment": {
+ "type": "string"
},
- "accessibleByGroupIds": {
+ "mentions": {
"items": {
- "type": "string"
+ "$ref": "#/components/schemas/CommentUserMentionInfo"
},
"type": "array"
},
- "title": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "urlId": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "DeletePageAPIResponse": {
- "properties": {
- "reason": {
- "type": "string"
- },
- "code": {
- "type": "string"
- },
- "status": {
- "type": "string"
+ "hashTags": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserHashTagInfo"
+ },
+ "type": "array"
}
},
"required": [
- "status"
+ "comment"
],
- "type": "object"
+ "type": "object",
+ "additionalProperties": false
},
- "PublicVote": {
- "properties": {
- "id": {
- "type": "string"
- },
- "urlId": {
- "type": "string"
- },
- "commentId": {
- "type": "string"
+ "Pick_GetCommentsResponse.Exclude_keyofGetCommentsResponse.lastGenDate-or-pageNumber__": {
+ "properties": {},
+ "additionalProperties": {},
+ "type": "object",
+ "description": "From T, pick a set of properties whose keys are in the union K"
+ },
+ "Omit_GetCommentsResponse.lastGenDate-or-pageNumber_": {
+ "$ref": "#/components/schemas/Pick_GetCommentsResponse.Exclude_keyofGetCommentsResponse.lastGenDate-or-pageNumber__",
+ "description": "Construct a type with the properties of T except for those in type K."
+ },
+ "GetCommentsForUserResponse": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Omit_GetCommentsResponse.lastGenDate-or-pageNumber_"
},
- "userId": {
- "type": "string"
- },
- "direction": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- }
- },
- "required": [
- "id",
- "urlId",
- "commentId",
- "userId",
- "direction",
- "createdAt"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "GetVotesResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
- },
- "appliedAuthorizedVotes": {
- "items": {
- "$ref": "#/components/schemas/PublicVote"
- },
- "type": "array"
- },
- "appliedAnonymousVotes": {
- "items": {
- "$ref": "#/components/schemas/PublicVote"
- },
- "type": "array"
- },
- "pendingVotes": {
- "items": {
- "$ref": "#/components/schemas/PublicVote"
+ {
+ "properties": {
+ "moderatingTenantIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
},
- "type": "array"
+ "type": "object"
}
- },
- "required": [
- "status",
- "appliedAuthorizedVotes",
- "appliedAnonymousVotes",
- "pendingVotes"
- ],
- "type": "object",
- "additionalProperties": false
+ ]
},
- "GetVotesForUserResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
- },
- "appliedAuthorizedVotes": {
- "items": {
- "$ref": "#/components/schemas/PublicVote"
- },
- "type": "array"
- },
- "appliedAnonymousVotes": {
- "items": {
- "$ref": "#/components/schemas/PublicVote"
+ "PublicComment": {
+ "allOf": [
+ {
+ "properties": {
+ "isUnread": {
+ "type": "boolean"
+ },
+ "myVoteId": {
+ "type": "string"
+ },
+ "isVotedDown": {
+ "type": "boolean"
+ },
+ "isVotedUp": {
+ "type": "boolean"
+ },
+ "hasChildren": {
+ "type": "boolean",
+ "description": "This is always set when asTree=true"
+ },
+ "nestedChildrenCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The total nested child count included in this response (may be more available w/ pagination) Only set with asTree=true, otherwise this will be null."
+ },
+ "childCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "You must ask the API to count children (with asTree=true&countChildren=true), otherwise this will be null. This will be the complete direct child count, whereas children may only contain a subset based on pagination."
+ },
+ "children": {
+ "items": {
+ "$ref": "#/components/schemas/PublicComment"
+ },
+ "type": "array"
+ },
+ "isFlagged": {
+ "type": "boolean"
+ },
+ "isBlocked": {
+ "type": "boolean"
+ }
},
- "type": "array"
+ "type": "object"
},
- "pendingVotes": {
- "items": {
- "$ref": "#/components/schemas/PublicVote"
- },
- "type": "array"
+ {
+ "$ref": "#/components/schemas/PublicCommentBase"
}
- },
- "required": [
- "status",
- "appliedAuthorizedVotes",
- "appliedAnonymousVotes",
- "pendingVotes"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "DigestEmailFrequency": {
- "enum": [
- -1,
- 0,
- 1,
- 2
- ],
- "type": "integer"
+ ]
},
- "User": {
+ "PublicCommentBase": {
"properties": {
"_id": {
"type": "string"
},
- "tenantId": {
- "type": "string",
+ "userId": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/UserId"
+ }
+ ],
"nullable": true
},
- "username": {
+ "commenterName": {
"type": "string"
},
- "displayName": {
+ "commenterLink": {
+ "type": "string",
+ "nullable": true
+ },
+ "commentHTML": {
"type": "string"
},
- "websiteUrl": {
+ "parentId": {
"type": "string",
"nullable": true
},
- "email": {
+ "date": {
"type": "string",
+ "format": "date-time",
"nullable": true
},
- "pendingEmail": {
- "type": "string"
- },
- "backupEmail": {
- "type": "string"
- },
- "pendingBackupEmail": {
- "type": "string"
- },
- "signUpDate": {
+ "votes": {
"type": "integer",
- "format": "int64"
- },
- "createdFromUrlId": {
- "type": "string",
+ "format": "int32",
"nullable": true
},
- "createdFromTenantId": {
- "type": "string",
+ "votesUp": {
+ "type": "integer",
+ "format": "int32",
"nullable": true
},
- "createdFromIpHashed": {
- "type": "string"
+ "votesDown": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
},
"verified": {
"type": "boolean"
},
- "loginId": {
- "type": "string"
- },
- "loginIdDate": {
- "type": "integer",
- "format": "int64"
- },
- "loginCount": {
- "type": "integer",
- "format": "int32"
+ "avatarSrc": {
+ "type": "string",
+ "nullable": true
},
- "optedInNotifications": {
+ "hasImages": {
"type": "boolean"
},
- "optedInTenantNotifications": {
+ "isByAdmin": {
"type": "boolean"
},
- "hideAccountCode": {
+ "isByModerator": {
"type": "boolean"
},
- "avatarSrc": {
- "type": "string",
+ "isPinned": {
+ "type": "boolean",
"nullable": true
},
- "isFastCommentsHelpRequestAdmin": {
- "type": "boolean"
+ "isLocked": {
+ "type": "boolean",
+ "nullable": true
},
- "isHelpRequestAdmin": {
- "type": "boolean"
+ "displayLabel": {
+ "type": "string",
+ "nullable": true
},
- "isAccountOwner": {
- "type": "boolean"
+ "rating": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
},
- "isAdminAdmin": {
- "type": "boolean"
+ "badges": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserBadgeInfo"
+ },
+ "type": "array",
+ "nullable": true
},
- "isBillingAdmin": {
- "type": "boolean"
+ "viewCount": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
},
- "isAnalyticsAdmin": {
+ "isDeleted": {
"type": "boolean"
},
- "isCustomizationAdmin": {
+ "isDeletedUser": {
"type": "boolean"
},
- "isManageDataAdmin": {
+ "isSpam": {
"type": "boolean"
},
- "isCommentModeratorAdmin": {
- "type": "boolean"
- },
- "isAPIAdmin": {
- "type": "boolean"
- },
- "isSiteAdmin": {
- "type": "boolean"
+ "anonUserId": {
+ "type": "string",
+ "nullable": true
},
- "moderatorIds": {
+ "feedbackIds": {
"items": {
"type": "string"
},
"type": "array"
},
- "isImpersonator": {
- "type": "boolean"
- },
- "isCouponManager": {
+ "requiresVerification": {
"type": "boolean"
},
- "locale": {
+ "editKey": {
"type": "string"
},
- "digestEmailFrequency": {
- "$ref": "#/components/schemas/DigestEmailFrequency"
+ "approved": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "_id",
+ "commenterName",
+ "commentHTML",
+ "date",
+ "verified"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "Record_string.any_": {
+ "properties": {},
+ "additionalProperties": {},
+ "type": "object",
+ "description": "Construct a type with a set of properties K of type T"
+ },
+ "GetCommentsResponse_PublicComment_": {
+ "properties": {
+ "statusCode": {
+ "type": "integer",
+ "format": "int32"
},
- "notificationFrequency": {
- "type": "number",
- "format": "double"
+ "status": {
+ "type": "string"
},
- "adminNotificationFrequency": {
- "type": "number",
- "format": "double"
+ "code": {
+ "type": "string"
},
- "lastTenantNotificationSentDate": {
- "type": "string",
- "format": "date-time"
+ "reason": {
+ "type": "string"
},
- "lastReplyNotificationSentDate": {
- "type": "string",
- "format": "date-time"
+ "translatedWarning": {
+ "type": "string"
},
- "ignoredAddToMySiteMessages": {
- "type": "boolean"
+ "comments": {
+ "items": {
+ "$ref": "#/components/schemas/PublicComment"
+ },
+ "type": "array"
},
- "lastLoginDate": {
- "type": "string",
- "format": "date-time"
+ "user": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/UserSessionInfo"
+ }
+ ],
+ "nullable": true
},
- "displayLabel": {
+ "urlIdClean": {
"type": "string"
},
- "isProfileActivityPrivate": {
- "type": "boolean"
- },
- "isProfileCommentsPrivate": {
- "type": "boolean"
+ "lastGenDate": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
},
- "isProfileDMDisabled": {
+ "includesPastPages": {
"type": "boolean"
},
- "profileCommentApprovalMode": {
- "type": "number",
- "format": "double"
+ "isDemo": {
+ "type": "boolean",
+ "enum": [
+ true
+ ],
+ "nullable": false
},
- "karma": {
- "type": "number",
- "format": "double"
+ "commentCount": {
+ "type": "integer",
+ "format": "int32"
},
- "passwordHash": {
- "type": "string"
+ "isSiteAdmin": {
+ "type": "boolean"
},
- "averageTicketAckTimeMS": {
- "type": "number",
- "format": "double",
- "nullable": true
+ "hasBillingIssue": {
+ "type": "boolean",
+ "enum": [
+ true
+ ],
+ "nullable": false
},
- "hasBlockedUsers": {
- "type": "boolean"
+ "moduleData": {
+ "$ref": "#/components/schemas/Record_string.any_"
},
- "bio": {
- "type": "string"
+ "pageNumber": {
+ "type": "integer",
+ "format": "int32"
},
- "headerBackgroundSrc": {
- "type": "string"
+ "isWhiteLabeled": {
+ "type": "boolean"
},
- "countryCode": {
- "type": "string"
+ "isProd": {
+ "type": "boolean",
+ "enum": [
+ false
+ ],
+ "nullable": false
},
- "countryFlag": {
- "type": "string"
+ "isCrawler": {
+ "type": "boolean",
+ "enum": [
+ true
+ ],
+ "nullable": false
},
- "socialLinks": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "notificationCount": {
+ "type": "integer",
+ "format": "int32"
},
- "hasTwoFactor": {
+ "hasMore": {
"type": "boolean"
},
- "isEmailSuppressed": {
+ "isClosed": {
"type": "boolean"
+ },
+ "presencePollState": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "customConfig": {
+ "$ref": "#/components/schemas/CustomConfigParameters"
}
},
"required": [
- "_id",
- "username",
- "email",
- "signUpDate",
- "createdFromTenantId",
- "createdFromIpHashed",
- "verified",
- "loginId",
- "loginIdDate"
+ "status",
+ "comments",
+ "user",
+ "pageNumber"
],
"type": "object",
"additionalProperties": false
},
- "GetUserResponse": {
+ "GetCommentsResponseWithPresence_PublicComment_": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/GetCommentsResponse_PublicComment_"
+ },
+ {
+ "$ref": "#/components/schemas/UserPresenceData"
+ }
+ ]
+ },
+ "SaveCommentResponseOptimized": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
+ "comment": {
+ "$ref": "#/components/schemas/PublicComment"
+ },
"user": {
- "$ref": "#/components/schemas/User"
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/UserSessionInfo"
+ }
+ ],
+ "nullable": true
+ },
+ "moduleData": {
+ "$ref": "#/components/schemas/Record_string.any_"
}
},
"required": [
"status",
+ "comment",
"user"
],
"type": "object",
"additionalProperties": false
},
- "UserBadge": {
+ "SaveCommentsResponseWithPresence": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SaveCommentResponseOptimized"
+ },
+ {
+ "properties": {
+ "userIdWS": {
+ "$ref": "#/components/schemas/UserIdWS"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "Record_string.string-or-number_": {
+ "properties": {},
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number",
+ "format": "double"
+ }
+ ]
+ },
+ "type": "object",
+ "description": "Construct a type with a set of properties K of type T"
+ },
+ "CommentData": {
"properties": {
- "_id": {
- "type": "string"
+ "date": {
+ "type": "integer",
+ "format": "int64"
},
- "userId": {
+ "localDateString": {
"type": "string"
},
- "badgeId": {
- "type": "string"
+ "localDateHours": {
+ "type": "integer",
+ "format": "int32"
},
- "fromTenantId": {
+ "commenterName": {
"type": "string"
},
- "createdAt": {
+ "commenterEmail": {
"type": "string",
- "format": "date-time"
- },
- "type": {
- "type": "integer",
- "format": "int32"
+ "nullable": true
},
- "threshold": {
- "type": "integer",
- "format": "int64"
+ "commenterLink": {
+ "type": "string",
+ "nullable": true
},
- "description": {
+ "comment": {
"type": "string"
},
- "displayLabel": {
- "type": "string"
+ "productId": {
+ "type": "integer",
+ "format": "int32"
},
- "displaySrc": {
+ "userId": {
"type": "string",
"nullable": true
},
- "backgroundColor": {
+ "avatarSrc": {
"type": "string",
"nullable": true
},
- "borderColor": {
+ "parentId": {
"type": "string",
"nullable": true
},
- "textColor": {
- "type": "string",
- "nullable": true
+ "mentions": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserMentionInfo"
+ },
+ "type": "array"
},
- "cssClass": {
- "type": "string",
- "nullable": true
+ "hashTags": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserHashTagInfo"
+ },
+ "type": "array"
},
- "veteranUserThresholdMillis": {
+ "pageTitle": {
+ "type": "string"
+ },
+ "isFromMyAccountPage": {
+ "type": "boolean"
+ },
+ "url": {
+ "type": "string"
+ },
+ "urlId": {
+ "type": "string"
+ },
+ "meta": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "moderationGroupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "rating": {
+ "type": "number",
+ "format": "double"
+ },
+ "fromOfflineRestore": {
+ "type": "boolean"
+ },
+ "autoplayDelayMS": {
"type": "integer",
"format": "int64"
},
- "displayedOnComments": {
+ "feedbackIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "questionValues": {
+ "$ref": "#/components/schemas/Record_string.string-or-number_"
+ },
+ "tos": {
"type": "boolean"
},
- "receivedAt": {
- "type": "string",
- "format": "date-time"
+ "botId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "commenterName",
+ "comment",
+ "url",
+ "urlId"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "DeletedCommentResultComment": {
+ "properties": {
+ "isDeleted": {
+ "type": "boolean"
},
- "order": {
- "type": "integer",
- "format": "int32"
+ "commentHTML": {
+ "type": "string"
},
- "urlId": {
+ "commenterName": {
+ "type": "string"
+ },
+ "userId": {
"type": "string",
"nullable": true
}
},
"required": [
- "_id",
- "userId",
- "badgeId",
- "fromTenantId",
- "createdAt",
- "type",
- "threshold",
- "description",
- "displayLabel",
- "veteranUserThresholdMillis",
- "displayedOnComments",
- "receivedAt"
+ "commentHTML",
+ "commenterName"
],
"type": "object",
"additionalProperties": false
},
- "APIGetUserBadgeResponse": {
+ "PublicAPIDeleteCommentResponse": {
"properties": {
+ "comment": {
+ "$ref": "#/components/schemas/DeletedCommentResultComment"
+ },
+ "hardRemoved": {
+ "type": "boolean"
+ },
"status": {
"$ref": "#/components/schemas/APIStatus"
- },
- "userBadge": {
- "$ref": "#/components/schemas/UserBadge"
}
},
"required": [
- "status",
- "userBadge"
+ "hardRemoved",
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "APIGetUserBadgesResponse": {
+ "CheckBlockedCommentsResponse": {
"properties": {
+ "commentStatuses": {
+ "$ref": "#/components/schemas/Record_string.boolean_"
+ },
"status": {
"$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "commentStatuses",
+ "status"
+ ],
+ "type": "object"
+ },
+ "VoteBodyParams": {
+ "properties": {
+ "commenterEmail": {
+ "type": "string",
+ "nullable": true
},
- "userBadges": {
- "items": {
- "$ref": "#/components/schemas/UserBadge"
- },
- "type": "array"
+ "commenterName": {
+ "type": "string",
+ "nullable": true
+ },
+ "voteDir": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ]
+ },
+ "url": {
+ "type": "string",
+ "nullable": true
}
},
"required": [
- "status",
- "userBadges"
+ "commenterEmail",
+ "commenterName",
+ "voteDir",
+ "url"
],
"type": "object",
"additionalProperties": false
},
- "APICreateUserBadgeResponse": {
+ "GetCommentVoteUserNamesSuccessResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "userBadge": {
- "$ref": "#/components/schemas/UserBadge"
- },
- "notes": {
+ "voteUserNames": {
"items": {
"type": "string"
},
"type": "array"
+ },
+ "hasMore": {
+ "type": "boolean"
}
},
"required": [
"status",
- "userBadge"
+ "voteUserNames",
+ "hasMore"
],
"type": "object",
"additionalProperties": false
},
- "CreateUserBadgeParams": {
+ "ChangeCommentPinStatusResponse": {
"properties": {
- "userId": {
- "type": "string"
- },
- "badgeId": {
- "type": "string"
+ "commentPositions": {
+ "$ref": "#/components/schemas/CommentPositions"
},
- "displayedOnComments": {
- "type": "boolean"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
}
},
"required": [
- "userId",
- "badgeId"
+ "commentPositions",
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "APIEmptySuccessResponse": {
+ "BlockSuccess": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
+ },
+ "commentStatuses": {
+ "$ref": "#/components/schemas/Record_string.boolean_"
}
},
"required": [
- "status"
+ "status",
+ "commentStatuses"
],
"type": "object",
"additionalProperties": false
},
- "UpdateUserBadgeParams": {
+ "PublicBlockFromCommentParams": {
"properties": {
- "displayedOnComments": {
- "type": "boolean"
+ "commentIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "nullable": true,
+ "description": "A list of comment ids to check if are blocked after performing the update."
}
},
+ "required": [
+ "commentIds"
+ ],
"type": "object",
"additionalProperties": false
},
- "Record_string.number_": {
- "properties": {},
- "additionalProperties": {
- "type": "number",
- "format": "double"
- },
- "type": "object",
- "description": "Construct a type with a set of properties K of type T"
- },
- "UserBadgeProgress": {
+ "UnblockSuccess": {
"properties": {
- "_id": {
- "type": "string"
- },
- "tenantId": {
- "type": "string"
- },
- "userId": {
- "type": "string"
- },
- "firstCommentId": {
- "type": "string"
- },
- "firstCommentDate": {
- "type": "string",
- "format": "date-time"
- },
- "autoTrustFactor": {
- "type": "number",
- "format": "double"
- },
- "manualTrustFactor": {
- "type": "number",
- "format": "double"
- },
- "progress": {
- "$ref": "#/components/schemas/Record_string.number_"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "tosAcceptedAt": {
- "type": "string",
- "format": "date-time"
+ "commentStatuses": {
+ "$ref": "#/components/schemas/Record_string.boolean_"
}
},
"required": [
- "_id",
- "tenantId",
- "userId",
- "firstCommentId",
- "firstCommentDate",
- "progress"
+ "status",
+ "commentStatuses"
],
"type": "object",
"additionalProperties": false
},
- "APIGetUserBadgeProgressResponse": {
+ "APIUserSubscription": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "notificationFrequency": {
+ "type": "number",
+ "format": "double"
},
- "userBadgeProgress": {
- "$ref": "#/components/schemas/UserBadgeProgress"
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "pageTitle": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "urlId": {
+ "type": "string"
+ },
+ "anonUserId": {
+ "type": "string"
+ },
+ "userId": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
}
},
"required": [
- "status",
- "userBadgeProgress"
+ "createdAt",
+ "urlId",
+ "id"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "APIGetUserBadgeProgressListResponse": {
+ "GetSubscriptionsAPIResponse": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "reason": {
+ "type": "string"
},
- "userBadgeProgresses": {
+ "code": {
+ "type": "string"
+ },
+ "subscriptions": {
"items": {
- "$ref": "#/components/schemas/UserBadgeProgress"
+ "$ref": "#/components/schemas/APIUserSubscription"
},
"type": "array"
+ },
+ "status": {
+ "type": "string"
}
},
"required": [
- "status",
- "userBadgeProgresses"
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "APITicket": {
+ "CreateSubscriptionAPIResponse": {
"properties": {
- "_id": {
+ "reason": {
"type": "string"
},
- "urlId": {
+ "code": {
"type": "string"
},
- "userId": {
- "type": "string"
+ "subscription": {
+ "$ref": "#/components/schemas/APIUserSubscription"
},
- "managedByTenantId": {
+ "status": {
"type": "string"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ },
+ "CreateAPIUserSubscriptionData": {
+ "properties": {
+ "notificationFrequency": {
+ "type": "number",
+ "format": "double"
},
- "assignedUserIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "pageTitle": {
+ "type": "string"
},
- "subject": {
+ "url": {
"type": "string"
},
- "createdAt": {
+ "urlId": {
"type": "string"
},
- "state": {
- "type": "integer",
- "format": "int32"
+ "anonUserId": {
+ "type": "string"
},
- "fileCount": {
- "type": "integer",
- "format": "int32"
+ "userId": {
+ "type": "string"
}
},
"required": [
- "_id",
- "urlId",
- "userId",
- "managedByTenantId",
- "assignedUserIds",
- "subject",
- "createdAt",
- "state",
- "fileCount"
+ "urlId"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "GetTicketsResponse": {
+ "UpdateSubscriptionAPIResponse": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "reason": {
+ "type": "string"
},
- "tickets": {
- "items": {
- "$ref": "#/components/schemas/APITicket"
- },
- "type": "array"
+ "code": {
+ "type": "string"
+ },
+ "subscription": {
+ "$ref": "#/components/schemas/APIUserSubscription"
+ },
+ "status": {
+ "type": "string"
}
},
"required": [
- "status",
- "tickets"
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "CreateTicketResponse": {
+ "UpdateAPIUserSubscriptionData": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
- },
- "ticket": {
- "$ref": "#/components/schemas/APITicket"
+ "notificationFrequency": {
+ "type": "number",
+ "format": "double"
}
},
- "required": [
- "status",
- "ticket"
- ],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "CreateTicketBody": {
+ "DeleteSubscriptionAPIResponse": {
"properties": {
- "subject": {
+ "reason": {
+ "type": "string"
+ },
+ "code": {
+ "type": "string"
+ },
+ "status": {
"type": "string"
}
},
"required": [
- "subject"
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "APITicketFile": {
+ "APISSOUser": {
"properties": {
"id": {
"type": "string"
},
- "s3Key": {
+ "username": {
"type": "string"
},
- "originalFileName": {
+ "websiteUrl": {
"type": "string"
},
- "sizeBytes": {
+ "email": {
+ "type": "string"
+ },
+ "signUpDate": {
"type": "integer",
- "format": "int32"
+ "format": "int64"
},
- "contentType": {
+ "createdFromUrlId": {
"type": "string"
},
- "uploadedByUserId": {
- "type": "string"
+ "loginCount": {
+ "type": "integer",
+ "format": "int32"
},
- "uploadedAt": {
+ "avatarSrc": {
"type": "string"
},
- "url": {
+ "optedInNotifications": {
+ "type": "boolean"
+ },
+ "optedInSubscriptionNotifications": {
+ "type": "boolean"
+ },
+ "displayLabel": {
"type": "string"
},
- "expiresAt": {
+ "displayName": {
"type": "string"
},
- "expired": {
+ "isAccountOwner": {
"type": "boolean"
- }
- },
- "required": [
- "id",
- "s3Key",
- "originalFileName",
- "sizeBytes",
- "contentType",
- "uploadedByUserId",
- "uploadedAt",
- "url",
- "expiresAt"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "APITicketDetail": {
- "properties": {
- "_id": {
- "type": "string"
- },
- "urlId": {
- "type": "string"
- },
- "userId": {
- "type": "string"
},
- "managedByTenantId": {
- "type": "string"
+ "isAdminAdmin": {
+ "type": "boolean"
},
- "assignedUserIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "isCommentModeratorAdmin": {
+ "type": "boolean"
},
- "subject": {
- "type": "string"
+ "isProfileActivityPrivate": {
+ "type": "boolean"
},
- "createdAt": {
- "type": "string"
+ "isProfileCommentsPrivate": {
+ "type": "boolean"
},
- "state": {
- "type": "integer",
- "format": "int32"
+ "isProfileDMDisabled": {
+ "type": "boolean"
},
- "fileCount": {
- "type": "integer",
- "format": "int32"
+ "hasBlockedUsers": {
+ "type": "boolean"
},
- "files": {
+ "groupIds": {
"items": {
- "$ref": "#/components/schemas/APITicketFile"
+ "type": "string"
},
"type": "array"
- },
- "reopenedAt": {
- "type": "string",
- "nullable": true
- },
- "resolvedAt": {
- "type": "string",
- "nullable": true
- },
- "ackAt": {
- "type": "string",
- "nullable": true
}
},
"required": [
- "_id",
- "urlId",
- "userId",
- "managedByTenantId",
- "assignedUserIds",
- "subject",
- "createdAt",
- "state",
- "fileCount",
- "files"
+ "id",
+ "username",
+ "websiteUrl",
+ "email",
+ "signUpDate",
+ "createdFromUrlId",
+ "loginCount",
+ "avatarSrc",
+ "optedInNotifications",
+ "optedInSubscriptionNotifications",
+ "displayLabel",
+ "displayName"
],
"type": "object",
"additionalProperties": false
},
- "GetTicketResponse": {
+ "GetSSOUserByIdAPIResponse": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "reason": {
+ "type": "string"
},
- "ticket": {
- "$ref": "#/components/schemas/APITicketDetail"
+ "code": {
+ "type": "string"
},
- "availableStates": {
- "items": {
- "type": "number",
- "format": "double"
- },
- "type": "array"
+ "user": {
+ "$ref": "#/components/schemas/APISSOUser"
+ },
+ "status": {
+ "type": "string"
}
},
"required": [
- "status",
- "ticket",
- "availableStates"
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "ChangeTicketStateResponse": {
+ "GetSSOUserByEmailAPIResponse": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "reason": {
+ "type": "string"
},
- "ticket": {
- "$ref": "#/components/schemas/APITicket"
+ "code": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/components/schemas/APISSOUser"
+ },
+ "status": {
+ "type": "string"
}
},
"required": [
- "status",
- "ticket"
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "ChangeTicketStateBody": {
+ "DeleteSSOUserAPIResponse": {
"properties": {
- "state": {
- "type": "integer",
- "format": "int32"
+ "reason": {
+ "type": "string"
+ },
+ "code": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/components/schemas/APISSOUser"
+ },
+ "status": {
+ "type": "string"
}
},
"required": [
- "state"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "ImportedSiteType": {
- "enum": [
- 0,
- 1
+ "status"
],
- "type": "integer"
- },
- "SiteType": {
- "$ref": "#/components/schemas/ImportedSiteType"
+ "type": "object"
},
- "APIDomainConfiguration": {
+ "PatchSSOUserAPIResponse": {
"properties": {
- "id": {
+ "reason": {
"type": "string"
},
- "domain": {
+ "code": {
"type": "string"
},
- "emailFromName": {
- "type": "string",
- "nullable": true
- },
- "emailFromEmail": {
- "type": "string",
- "nullable": true
+ "user": {
+ "$ref": "#/components/schemas/APISSOUser"
},
- "emailHeaders": {
- "$ref": "#/components/schemas/Record_string.string_"
+ "status": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ },
+ "UpdateAPISSOUserData": {
+ "properties": {
+ "groupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "wpSyncToken": {
- "type": "string",
- "nullable": true
+ "hasBlockedUsers": {
+ "type": "boolean"
},
- "wpSynced": {
+ "isProfileDMDisabled": {
"type": "boolean"
},
- "wpURL": {
- "type": "string",
- "nullable": true
+ "isProfileCommentsPrivate": {
+ "type": "boolean"
},
- "createdAt": {
- "type": "string",
- "format": "date-time"
+ "isProfileActivityPrivate": {
+ "type": "boolean"
},
- "autoAddedDate": {
- "type": "string",
- "format": "date-time"
+ "isCommentModeratorAdmin": {
+ "type": "boolean"
},
- "siteType": {
- "$ref": "#/components/schemas/SiteType"
+ "isAdminAdmin": {
+ "type": "boolean"
},
- "logoSrc": {
- "type": "string",
- "nullable": true
+ "isAccountOwner": {
+ "type": "boolean"
},
- "logoSrc100px": {
- "type": "string",
- "nullable": true
+ "displayName": {
+ "type": "string"
},
- "footerUnsubscribeURL": {
+ "displayLabel": {
"type": "string"
},
- "disableUnsubscribeLinks": {
+ "optedInSubscriptionNotifications": {
"type": "boolean"
- }
- },
- "required": [
- "id",
- "domain",
- "createdAt"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "BillingInfo": {
- "properties": {
- "name": {
- "type": "string"
},
- "address": {
+ "optedInNotifications": {
+ "type": "boolean"
+ },
+ "avatarSrc": {
"type": "string"
},
- "city": {
+ "loginCount": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "createdFromUrlId": {
"type": "string"
},
- "state": {
+ "signUpDate": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "email": {
"type": "string"
},
- "zip": {
+ "websiteUrl": {
"type": "string"
},
- "country": {
+ "username": {
"type": "string"
},
- "currency": {
- "type": "string",
- "nullable": true,
- "description": "Currency for invoices."
+ "id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PutSSOUserAPIResponse": {
+ "properties": {
+ "reason": {
+ "type": "string"
},
- "email": {
- "type": "string",
- "description": "Email for invoices."
+ "code": {
+ "type": "string"
+ },
+ "user": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/APISSOUser"
+ }
+ ],
+ "nullable": true
+ },
+ "status": {
+ "type": "string"
}
},
"required": [
- "name",
- "address",
- "city",
- "state",
- "zip",
- "country"
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "APITenant": {
+ "AddSSOUserAPIResponse": {
"properties": {
- "id": {
- "type": "string"
- },
- "name": {
+ "reason": {
"type": "string"
},
- "email": {
+ "code": {
"type": "string"
},
- "signUpDate": {
- "type": "number",
- "format": "double"
+ "user": {
+ "$ref": "#/components/schemas/APISSOUser"
},
- "packageId": {
+ "status": {
"type": "string"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ },
+ "CreateAPISSOUserData": {
+ "properties": {
+ "groupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "paymentFrequency": {
- "type": "number",
- "format": "double"
- },
- "billingInfoValid": {
+ "hasBlockedUsers": {
"type": "boolean"
},
- "billingHandledExternally": {
+ "isProfileDMDisabled": {
"type": "boolean"
},
- "createdBy": {
- "type": "string"
+ "isProfileCommentsPrivate": {
+ "type": "boolean"
},
- "isSetup": {
+ "isProfileActivityPrivate": {
"type": "boolean"
},
- "domainConfiguration": {
- "items": {
- "$ref": "#/components/schemas/APIDomainConfiguration"
- },
- "type": "array"
+ "isCommentModeratorAdmin": {
+ "type": "boolean"
},
- "billingInfo": {
- "$ref": "#/components/schemas/BillingInfo"
+ "isAdminAdmin": {
+ "type": "boolean"
},
- "stripeCustomerId": {
- "type": "string"
+ "isAccountOwner": {
+ "type": "boolean"
},
- "stripeSubscriptionId": {
+ "displayName": {
"type": "string"
},
- "stripePlanId": {
+ "displayLabel": {
"type": "string"
},
- "enableProfanityFilter": {
- "type": "boolean"
- },
- "enableSpamFilter": {
+ "optedInSubscriptionNotifications": {
"type": "boolean"
},
- "lastBillingIssueReminderDate": {
- "type": "string",
- "format": "date-time"
- },
- "removeUnverifiedComments": {
+ "optedInNotifications": {
"type": "boolean"
},
- "unverifiedCommentsTTLms": {
- "type": "number",
- "format": "double",
- "nullable": true
- },
- "commentsRequireApproval": {
- "type": "boolean"
+ "avatarSrc": {
+ "type": "string"
},
- "autoApproveCommentOnVerification": {
- "type": "boolean"
+ "loginCount": {
+ "type": "integer",
+ "format": "int32"
},
- "sendProfaneToSpam": {
- "type": "boolean"
+ "createdFromUrlId": {
+ "type": "string"
},
- "hasFlexPricing": {
- "type": "boolean"
+ "signUpDate": {
+ "type": "integer",
+ "format": "int64"
},
- "hasAuditing": {
- "type": "boolean"
+ "email": {
+ "type": "string"
},
- "flexLastBilledAmount": {
- "type": "number",
- "format": "double"
+ "websiteUrl": {
+ "type": "string"
},
- "deAnonIpAddr": {
- "type": "number",
- "format": "double"
+ "username": {
+ "type": "string"
},
- "meta": {
- "$ref": "#/components/schemas/Record_string.string_"
+ "id": {
+ "type": "string"
}
},
"required": [
- "id",
- "name",
- "signUpDate",
- "packageId",
- "paymentFrequency",
- "billingInfoValid",
- "createdBy",
- "isSetup",
- "domainConfiguration",
- "enableProfanityFilter",
- "enableSpamFilter"
+ "email",
+ "username",
+ "id"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "GetTenantResponse": {
+ "APIPage": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "isClosed": {
+ "type": "boolean"
},
- "tenant": {
- "$ref": "#/components/schemas/APITenant"
+ "accessibleByGroupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "rootCommentCount": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "commentCount": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "urlId": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
}
},
"required": [
- "status",
- "tenant"
+ "rootCommentCount",
+ "commentCount",
+ "createdAt",
+ "title",
+ "urlId",
+ "id"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "GetTenantsResponse": {
+ "GetPagesAPIResponse": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "reason": {
+ "type": "string"
},
- "tenants": {
+ "code": {
+ "type": "string"
+ },
+ "pages": {
"items": {
- "$ref": "#/components/schemas/APITenant"
+ "$ref": "#/components/schemas/APIPage"
},
"type": "array"
- }
- },
- "required": [
- "status",
- "tenants"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "CreateTenantResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
},
- "tenant": {
- "$ref": "#/components/schemas/APITenant"
+ "status": {
+ "type": "string"
}
},
"required": [
- "status",
- "tenant"
+ "status"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "CreateTenantBody": {
+ "GetPageByURLIdAPIResponse": {
"properties": {
- "name": {
+ "reason": {
"type": "string"
},
- "domainConfiguration": {
- "items": {
- "$ref": "#/components/schemas/APIDomainConfiguration"
- },
- "type": "array"
- },
- "email": {
+ "code": {
"type": "string"
},
- "signUpDate": {
- "type": "number",
- "format": "double"
+ "page": {
+ "$ref": "#/components/schemas/APIPage"
},
- "packageId": {
+ "status": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ },
+ "AddPageAPIResponse": {
+ "properties": {
+ "reason": {
"type": "string"
},
- "paymentFrequency": {
- "type": "number",
- "format": "double"
- },
- "billingInfoValid": {
- "type": "boolean"
+ "code": {
+ "type": "string"
},
- "billingHandledExternally": {
- "type": "boolean"
+ "page": {
+ "$ref": "#/components/schemas/APIPage"
},
- "createdBy": {
+ "status": {
"type": "string"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ },
+ "CreateAPIPageData": {
+ "properties": {
+ "accessibleByGroupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "isSetup": {
- "type": "boolean"
+ "rootCommentCount": {
+ "type": "integer",
+ "format": "int64"
},
- "billingInfo": {
- "$ref": "#/components/schemas/BillingInfo"
+ "commentCount": {
+ "type": "integer",
+ "format": "int64"
},
- "stripeCustomerId": {
+ "title": {
"type": "string"
},
- "stripeSubscriptionId": {
+ "url": {
"type": "string"
},
- "stripePlanId": {
+ "urlId": {
"type": "string"
- },
- "enableProfanityFilter": {
- "type": "boolean"
- },
- "enableSpamFilter": {
- "type": "boolean"
- },
- "removeUnverifiedComments": {
- "type": "boolean"
- },
- "unverifiedCommentsTTLms": {
- "type": "number",
- "format": "double"
- },
- "commentsRequireApproval": {
- "type": "boolean"
- },
- "autoApproveCommentOnVerification": {
- "type": "boolean"
- },
- "sendProfaneToSpam": {
- "type": "boolean"
- },
- "deAnonIpAddr": {
- "type": "number",
- "format": "double"
- },
- "meta": {
- "$ref": "#/components/schemas/Record_string.string_"
}
},
"required": [
- "name",
- "domainConfiguration"
+ "title",
+ "url",
+ "urlId"
],
- "type": "object",
- "additionalProperties": false
+ "type": "object"
},
- "UpdateTenantBody": {
+ "PatchPageAPIResponse": {
"properties": {
- "name": {
- "type": "string"
- },
- "email": {
+ "reason": {
"type": "string"
},
- "signUpDate": {
- "type": "number",
- "format": "double"
- },
- "packageId": {
+ "code": {
"type": "string"
},
- "paymentFrequency": {
- "type": "number",
- "format": "double"
- },
- "billingInfoValid": {
- "type": "boolean"
+ "commentsUpdated": {
+ "type": "integer",
+ "format": "int64"
},
- "billingHandledExternally": {
- "type": "boolean"
+ "page": {
+ "$ref": "#/components/schemas/APIPage"
},
- "createdBy": {
+ "status": {
"type": "string"
- },
- "isSetup": {
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ },
+ "UpdateAPIPageData": {
+ "properties": {
+ "isClosed": {
"type": "boolean"
},
- "domainConfiguration": {
+ "accessibleByGroupIds": {
"items": {
- "$ref": "#/components/schemas/APIDomainConfiguration"
+ "type": "string"
},
"type": "array"
},
- "billingInfo": {
- "$ref": "#/components/schemas/BillingInfo"
- },
- "stripeCustomerId": {
+ "title": {
"type": "string"
},
- "stripeSubscriptionId": {
+ "url": {
"type": "string"
},
- "stripePlanId": {
+ "urlId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DeletePageAPIResponse": {
+ "properties": {
+ "reason": {
"type": "string"
},
- "enableProfanityFilter": {
- "type": "boolean"
- },
- "enableSpamFilter": {
- "type": "boolean"
- },
- "removeUnverifiedComments": {
- "type": "boolean"
- },
- "unverifiedCommentsTTLms": {
- "type": "number",
- "format": "double"
- },
- "commentsRequireApproval": {
- "type": "boolean"
+ "code": {
+ "type": "string"
},
- "autoApproveCommentOnVerification": {
- "type": "boolean"
+ "status": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ },
+ "PublicVote": {
+ "properties": {
+ "id": {
+ "type": "string"
},
- "sendProfaneToSpam": {
- "type": "boolean"
+ "urlId": {
+ "type": "string"
},
- "deAnonIpAddr": {
- "type": "number",
- "format": "double"
+ "commentId": {
+ "type": "string"
},
- "meta": {
- "$ref": "#/components/schemas/Record_string.string_"
+ "userId": {
+ "type": "string"
},
- "managedByTenantId": {
+ "direction": {
"type": "string"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
}
},
+ "required": [
+ "id",
+ "urlId",
+ "commentId",
+ "userId",
+ "direction",
+ "createdAt"
+ ],
"type": "object",
"additionalProperties": false
},
- "GetTenantUserResponse": {
+ "GetVotesResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "tenantUser": {
- "$ref": "#/components/schemas/User"
+ "appliedAuthorizedVotes": {
+ "items": {
+ "$ref": "#/components/schemas/PublicVote"
+ },
+ "type": "array"
+ },
+ "appliedAnonymousVotes": {
+ "items": {
+ "$ref": "#/components/schemas/PublicVote"
+ },
+ "type": "array"
+ },
+ "pendingVotes": {
+ "items": {
+ "$ref": "#/components/schemas/PublicVote"
+ },
+ "type": "array"
}
},
"required": [
"status",
- "tenantUser"
+ "appliedAuthorizedVotes",
+ "appliedAnonymousVotes",
+ "pendingVotes"
],
"type": "object",
"additionalProperties": false
},
- "GetTenantUsersResponse": {
+ "GetVotesForUserResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "tenantUsers": {
+ "appliedAuthorizedVotes": {
"items": {
- "$ref": "#/components/schemas/User"
+ "$ref": "#/components/schemas/PublicVote"
+ },
+ "type": "array"
+ },
+ "appliedAnonymousVotes": {
+ "items": {
+ "$ref": "#/components/schemas/PublicVote"
+ },
+ "type": "array"
+ },
+ "pendingVotes": {
+ "items": {
+ "$ref": "#/components/schemas/PublicVote"
},
"type": "array"
}
},
"required": [
"status",
- "tenantUsers"
+ "appliedAuthorizedVotes",
+ "appliedAnonymousVotes",
+ "pendingVotes"
],
"type": "object",
"additionalProperties": false
},
- "CreateTenantUserResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
- },
- "tenantUser": {
- "$ref": "#/components/schemas/User"
- }
- },
- "required": [
- "status",
- "tenantUser"
+ "DigestEmailFrequency": {
+ "enum": [
+ -1,
+ 0,
+ 1,
+ 2
],
- "type": "object",
- "additionalProperties": false
+ "type": "integer"
},
- "CreateTenantUserBody": {
+ "ImportedAgentApprovalNotificationFrequency": {
+ "enum": [
+ -1,
+ 0,
+ 1,
+ 2
+ ],
+ "type": "integer"
+ },
+ "AgentApprovalNotificationFrequency": {
+ "$ref": "#/components/schemas/ImportedAgentApprovalNotificationFrequency"
+ },
+ "User": {
"properties": {
- "username": {
+ "_id": {
"type": "string"
},
- "email": {
+ "tenantId": {
+ "type": "string",
+ "nullable": true
+ },
+ "username": {
"type": "string"
},
"displayName": {
"type": "string"
},
"websiteUrl": {
+ "type": "string",
+ "nullable": true
+ },
+ "email": {
+ "type": "string",
+ "nullable": true
+ },
+ "pendingEmail": {
+ "type": "string"
+ },
+ "backupEmail": {
+ "type": "string"
+ },
+ "pendingBackupEmail": {
"type": "string"
},
"signUpDate": {
- "type": "number",
- "format": "double"
+ "type": "integer",
+ "format": "int64"
},
- "locale": {
+ "createdFromUrlId": {
+ "type": "string",
+ "nullable": true
+ },
+ "createdFromTenantId": {
+ "type": "string",
+ "nullable": true
+ },
+ "createdFromIpHashed": {
"type": "string"
},
"verified": {
"type": "boolean"
},
+ "loginId": {
+ "type": "string"
+ },
+ "loginIdDate": {
+ "type": "integer",
+ "format": "int64"
+ },
"loginCount": {
- "type": "number",
- "format": "double"
+ "type": "integer",
+ "format": "int32"
},
"optedInNotifications": {
"type": "boolean"
@@ -5058,7 +5841,11 @@
"type": "boolean"
},
"avatarSrc": {
- "type": "string"
+ "type": "string",
+ "nullable": true
+ },
+ "isFastCommentsHelpRequestAdmin": {
+ "type": "boolean"
},
"isHelpRequestAdmin": {
"type": "boolean"
@@ -5087,3452 +5874,2954 @@
"isAPIAdmin": {
"type": "boolean"
},
+ "isSiteAdmin": {
+ "type": "boolean"
+ },
"moderatorIds": {
"items": {
"type": "string"
},
"type": "array"
},
- "digestEmailFrequency": {
- "type": "number",
- "format": "double"
- },
- "displayLabel": {
- "type": "string"
- }
- },
- "required": [
- "username",
- "email"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "ReplaceTenantUserBody": {
- "properties": {
- "username": {
- "type": "string"
+ "isImpersonator": {
+ "type": "boolean"
},
- "email": {
- "type": "string"
+ "isCouponManager": {
+ "type": "boolean"
},
- "displayName": {
+ "locale": {
"type": "string"
},
- "websiteUrl": {
- "type": "string"
+ "digestEmailFrequency": {
+ "$ref": "#/components/schemas/DigestEmailFrequency"
},
- "signUpDate": {
+ "notificationFrequency": {
"type": "number",
"format": "double"
},
- "locale": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- },
- "loginCount": {
+ "adminNotificationFrequency": {
"type": "number",
"format": "double"
},
- "optedInNotifications": {
- "type": "boolean"
+ "agentApprovalNotificationFrequency": {
+ "$ref": "#/components/schemas/AgentApprovalNotificationFrequency"
},
- "optedInTenantNotifications": {
- "type": "boolean"
+ "lastTenantNotificationSentDate": {
+ "type": "string",
+ "format": "date-time"
},
- "hideAccountCode": {
+ "lastReplyNotificationSentDate": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "ignoredAddToMySiteMessages": {
"type": "boolean"
},
- "avatarSrc": {
- "type": "string"
+ "lastLoginDate": {
+ "type": "string",
+ "format": "date-time"
},
- "isHelpRequestAdmin": {
- "type": "boolean"
+ "displayLabel": {
+ "type": "string"
},
- "isAccountOwner": {
+ "isProfileActivityPrivate": {
"type": "boolean"
},
- "isAdminAdmin": {
+ "isProfileCommentsPrivate": {
"type": "boolean"
},
- "isBillingAdmin": {
+ "isProfileDMDisabled": {
"type": "boolean"
},
- "isAnalyticsAdmin": {
- "type": "boolean"
+ "profileCommentApprovalMode": {
+ "type": "number",
+ "format": "double"
},
- "isCustomizationAdmin": {
- "type": "boolean"
+ "karma": {
+ "type": "number",
+ "format": "double"
},
- "isManageDataAdmin": {
- "type": "boolean"
+ "passwordHash": {
+ "type": "string"
},
- "isCommentModeratorAdmin": {
- "type": "boolean"
+ "averageTicketAckTimeMS": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
},
- "isAPIAdmin": {
+ "hasBlockedUsers": {
"type": "boolean"
},
- "moderatorIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "digestEmailFrequency": {
- "type": "number",
- "format": "double"
+ "bio": {
+ "type": "string"
},
- "displayLabel": {
+ "headerBackgroundSrc": {
"type": "string"
},
- "createdFromUrlId": {
+ "countryCode": {
"type": "string"
},
- "createdFromTenantId": {
+ "countryFlag": {
"type": "string"
},
- "lastLoginDate": {
- "type": "number",
- "format": "double"
+ "socialLinks": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "karma": {
- "type": "number",
- "format": "double"
+ "hasTwoFactor": {
+ "type": "boolean"
+ },
+ "isEmailSuppressed": {
+ "type": "boolean"
}
},
"required": [
+ "_id",
"username",
- "email"
+ "email",
+ "signUpDate",
+ "createdFromTenantId",
+ "createdFromIpHashed",
+ "verified",
+ "loginId",
+ "loginIdDate"
],
"type": "object",
"additionalProperties": false
},
- "UpdateTenantUserBody": {
+ "GetUserResponse": {
"properties": {
- "username": {
- "type": "string"
- },
- "displayName": {
- "type": "string"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "websiteUrl": {
- "type": "string"
+ "user": {
+ "$ref": "#/components/schemas/User"
+ }
+ },
+ "required": [
+ "status",
+ "user"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APIGetUserBadgeResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "email": {
- "type": "string"
+ "userBadge": {
+ "$ref": "#/components/schemas/UserBadge"
+ }
+ },
+ "required": [
+ "status",
+ "userBadge"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APIGetUserBadgesResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "signUpDate": {
- "type": "number",
- "format": "double"
+ "userBadges": {
+ "items": {
+ "$ref": "#/components/schemas/UserBadge"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "status",
+ "userBadges"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APICreateUserBadgeResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "verified": {
- "type": "boolean"
+ "userBadge": {
+ "$ref": "#/components/schemas/UserBadge"
},
- "loginCount": {
- "type": "number",
- "format": "double"
+ "notes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "status",
+ "userBadge"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "CreateUserBadgeParams": {
+ "properties": {
+ "userId": {
+ "type": "string"
},
- "optedInNotifications": {
- "type": "boolean"
+ "badgeId": {
+ "type": "string"
},
- "optedInTenantNotifications": {
+ "displayedOnComments": {
"type": "boolean"
- },
- "hideAccountCode": {
+ }
+ },
+ "required": [
+ "userId",
+ "badgeId"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APIEmptySuccessResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "UpdateUserBadgeParams": {
+ "properties": {
+ "displayedOnComments": {
"type": "boolean"
- },
- "avatarSrc": {
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ },
+ "UserBadgeProgress": {
+ "properties": {
+ "_id": {
"type": "string"
},
- "isHelpRequestAdmin": {
- "type": "boolean"
+ "tenantId": {
+ "type": "string"
},
- "isAccountOwner": {
- "type": "boolean"
+ "userId": {
+ "type": "string"
},
- "isAdminAdmin": {
- "type": "boolean"
+ "firstCommentId": {
+ "type": "string"
},
- "isBillingAdmin": {
- "type": "boolean"
+ "firstCommentDate": {
+ "type": "string",
+ "format": "date-time"
},
- "isAnalyticsAdmin": {
- "type": "boolean"
+ "autoTrustFactor": {
+ "type": "number",
+ "format": "double"
},
- "isCustomizationAdmin": {
- "type": "boolean"
+ "manualTrustFactor": {
+ "type": "number",
+ "format": "double"
},
- "isManageDataAdmin": {
- "type": "boolean"
+ "progress": {
+ "$ref": "#/components/schemas/Record_string.number_"
},
- "isCommentModeratorAdmin": {
- "type": "boolean"
+ "tosAcceptedAt": {
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "_id",
+ "tenantId",
+ "userId",
+ "firstCommentId",
+ "firstCommentDate",
+ "progress"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APIGetUserBadgeProgressResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "isAPIAdmin": {
- "type": "boolean"
+ "userBadgeProgress": {
+ "$ref": "#/components/schemas/UserBadgeProgress"
+ }
+ },
+ "required": [
+ "status",
+ "userBadgeProgress"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APIGetUserBadgeProgressListResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "moderatorIds": {
+ "userBadgeProgresses": {
"items": {
- "type": "string"
+ "$ref": "#/components/schemas/UserBadgeProgress"
},
"type": "array"
- },
- "locale": {
- "type": "string"
- },
- "digestEmailFrequency": {
- "type": "number",
- "format": "double"
- },
- "displayLabel": {
- "type": "string"
}
},
+ "required": [
+ "status",
+ "userBadgeProgresses"
+ ],
"type": "object",
"additionalProperties": false
},
- "TenantPackage": {
+ "APITicket": {
"properties": {
"_id": {
"type": "string"
},
- "name": {
+ "urlId": {
"type": "string"
},
- "tenantId": {
+ "userId": {
"type": "string"
},
- "createdAt": {
- "type": "string",
- "format": "date-time"
+ "managedByTenantId": {
+ "type": "string"
},
- "monthlyCostUSD": {
- "type": "number",
- "format": "double",
- "nullable": true
+ "assignedUserIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "yearlyCostUSD": {
- "type": "number",
- "format": "double",
- "nullable": true
+ "subject": {
+ "type": "string"
},
- "monthlyStripePlanId": {
- "type": "string",
- "nullable": true
- },
- "yearlyStripePlanId": {
- "type": "string",
- "nullable": true
- },
- "maxMonthlyPageLoads": {
- "type": "number",
- "format": "double"
- },
- "maxMonthlyAPICredits": {
- "type": "number",
- "format": "double"
- },
- "maxMonthlySmallWidgetsCredits": {
- "type": "number",
- "format": "double"
- },
- "maxMonthlyComments": {
- "type": "number",
- "format": "double"
- },
- "maxConcurrentUsers": {
- "type": "number",
- "format": "double"
- },
- "maxTenantUsers": {
- "type": "number",
- "format": "double"
- },
- "maxSSOUsers": {
- "type": "number",
- "format": "double"
- },
- "maxModerators": {
- "type": "number",
- "format": "double"
- },
- "maxDomains": {
- "type": "number",
- "format": "double"
- },
- "maxWhiteLabeledTenants": {
- "type": "number",
- "format": "double"
- },
- "maxMonthlyEventLogRequests": {
- "type": "number",
- "format": "double"
- },
- "maxCustomCollectionSize": {
- "type": "number",
- "format": "double"
- },
- "hasWhiteLabeling": {
- "type": "boolean"
- },
- "hasDebranding": {
- "type": "boolean"
- },
- "hasLLMSpamDetection": {
- "type": "boolean"
- },
- "forWhoText": {
+ "createdAt": {
"type": "string"
},
- "featureTaglines": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "hasAuditing": {
- "type": "boolean"
- },
- "hasFlexPricing": {
- "type": "boolean"
- },
- "enableSAML": {
- "type": "boolean"
- },
- "enableCanvasLTI": {
- "type": "boolean"
- },
- "flexPageLoadCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexPageLoadUnit": {
- "type": "number",
- "format": "double"
- },
- "flexCommentCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexCommentUnit": {
- "type": "number",
- "format": "double"
- },
- "flexSSOUserCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexSSOUserUnit": {
- "type": "number",
- "format": "double"
- },
- "flexAPICreditCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexAPICreditUnit": {
- "type": "number",
- "format": "double"
- },
- "flexSmallWidgetsCreditCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexSmallWidgetsCreditUnit": {
- "type": "number",
- "format": "double"
- },
- "flexModeratorCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexModeratorUnit": {
- "type": "number",
- "format": "double"
- },
- "flexAdminCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexAdminUnit": {
- "type": "number",
- "format": "double"
- },
- "flexDomainCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexDomainUnit": {
- "type": "number",
- "format": "double"
- },
- "flexChatGPTCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexChatGPTUnit": {
- "type": "number",
- "format": "double"
- },
- "flexMinimumCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexManagedTenantCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexSSOAdminCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexSSOAdminUnit": {
- "type": "number",
- "format": "double"
- },
- "flexSSOModeratorCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexSSOModeratorUnit": {
- "type": "number",
- "format": "double"
+ "state": {
+ "type": "integer",
+ "format": "int32"
},
- "isSSOBillingMonthlyActiveUsers": {
- "type": "boolean"
+ "fileCount": {
+ "type": "integer",
+ "format": "int32"
}
},
"required": [
"_id",
- "name",
- "tenantId",
+ "urlId",
+ "userId",
+ "managedByTenantId",
+ "assignedUserIds",
+ "subject",
"createdAt",
- "monthlyCostUSD",
- "yearlyCostUSD",
- "monthlyStripePlanId",
- "yearlyStripePlanId",
- "maxMonthlyPageLoads",
- "maxMonthlyAPICredits",
- "maxMonthlySmallWidgetsCredits",
- "maxMonthlyComments",
- "maxConcurrentUsers",
- "maxTenantUsers",
- "maxSSOUsers",
- "maxModerators",
- "maxDomains",
- "maxWhiteLabeledTenants",
- "maxMonthlyEventLogRequests",
- "maxCustomCollectionSize",
- "hasWhiteLabeling",
- "hasDebranding",
- "hasLLMSpamDetection",
- "forWhoText",
- "featureTaglines",
- "hasAuditing",
- "hasFlexPricing"
+ "state",
+ "fileCount"
],
"type": "object",
"additionalProperties": false
},
- "GetTenantPackageResponse": {
+ "GetTicketsResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "tenantPackage": {
- "$ref": "#/components/schemas/TenantPackage"
+ "tickets": {
+ "items": {
+ "$ref": "#/components/schemas/APITicket"
+ },
+ "type": "array"
}
},
"required": [
"status",
- "tenantPackage"
+ "tickets"
],
"type": "object",
"additionalProperties": false
},
- "GetTenantPackagesResponse": {
+ "CreateTicketResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "tenantPackages": {
- "items": {
- "$ref": "#/components/schemas/TenantPackage"
- },
- "type": "array"
+ "ticket": {
+ "$ref": "#/components/schemas/APITicket"
}
},
"required": [
"status",
- "tenantPackages"
+ "ticket"
],
"type": "object",
"additionalProperties": false
},
- "CreateTenantPackageResponse": {
+ "CreateTicketBody": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
- },
- "tenantPackage": {
- "$ref": "#/components/schemas/TenantPackage"
+ "subject": {
+ "type": "string"
}
},
"required": [
- "status",
- "tenantPackage"
+ "subject"
],
"type": "object",
"additionalProperties": false
},
- "CreateTenantPackageBody": {
+ "APITicketFile": {
"properties": {
- "name": {
+ "id": {
"type": "string"
},
- "monthlyCostUSD": {
- "type": "number",
- "format": "double",
- "nullable": true
- },
- "yearlyCostUSD": {
- "type": "number",
- "format": "double",
- "nullable": true
- },
- "monthlyStripePlanId": {
- "type": "string",
- "nullable": true
- },
- "yearlyStripePlanId": {
- "type": "string",
- "nullable": true
- },
- "maxMonthlyPageLoads": {
- "type": "number",
- "format": "double"
- },
- "maxMonthlyAPICredits": {
- "type": "number",
- "format": "double"
- },
- "maxMonthlySmallWidgetsCredits": {
- "type": "number",
- "format": "double"
- },
- "maxMonthlyComments": {
- "type": "number",
- "format": "double"
- },
- "maxConcurrentUsers": {
- "type": "number",
- "format": "double"
+ "s3Key": {
+ "type": "string"
},
- "maxTenantUsers": {
- "type": "number",
- "format": "double"
+ "originalFileName": {
+ "type": "string"
},
- "maxSSOUsers": {
- "type": "number",
- "format": "double"
+ "sizeBytes": {
+ "type": "integer",
+ "format": "int32"
},
- "maxModerators": {
- "type": "number",
- "format": "double"
+ "contentType": {
+ "type": "string"
},
- "maxDomains": {
- "type": "number",
- "format": "double"
+ "uploadedByUserId": {
+ "type": "string"
},
- "maxWhiteLabeledTenants": {
- "type": "number",
- "format": "double"
+ "uploadedAt": {
+ "type": "string"
},
- "maxMonthlyEventLogRequests": {
- "type": "number",
- "format": "double"
+ "url": {
+ "type": "string"
},
- "maxCustomCollectionSize": {
- "type": "number",
- "format": "double"
+ "expiresAt": {
+ "type": "string"
},
- "hasWhiteLabeling": {
+ "expired": {
"type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "s3Key",
+ "originalFileName",
+ "sizeBytes",
+ "contentType",
+ "uploadedByUserId",
+ "uploadedAt",
+ "url",
+ "expiresAt"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APITicketDetail": {
+ "properties": {
+ "_id": {
+ "type": "string"
},
- "hasDebranding": {
- "type": "boolean"
+ "urlId": {
+ "type": "string"
},
- "hasLLMSpamDetection": {
- "type": "boolean"
+ "userId": {
+ "type": "string"
},
- "forWhoText": {
+ "managedByTenantId": {
"type": "string"
},
- "featureTaglines": {
+ "assignedUserIds": {
"items": {
"type": "string"
},
"type": "array"
},
- "hasAuditing": {
- "type": "boolean"
- },
- "hasFlexPricing": {
- "type": "boolean"
- },
- "enableSAML": {
- "type": "boolean"
- },
- "flexPageLoadCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexPageLoadUnit": {
- "type": "number",
- "format": "double"
- },
- "flexCommentCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexCommentUnit": {
- "type": "number",
- "format": "double"
- },
- "flexSSOUserCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexSSOUserUnit": {
- "type": "number",
- "format": "double"
- },
- "flexAPICreditCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexAPICreditUnit": {
- "type": "number",
- "format": "double"
- },
- "flexSmallWidgetsCreditCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexSmallWidgetsCreditUnit": {
- "type": "number",
- "format": "double"
- },
- "flexModeratorCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexModeratorUnit": {
- "type": "number",
- "format": "double"
- },
- "flexAdminCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexAdminUnit": {
- "type": "number",
- "format": "double"
- },
- "flexDomainCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexDomainUnit": {
- "type": "number",
- "format": "double"
- },
- "flexChatGPTCostCents": {
- "type": "number",
- "format": "double"
+ "subject": {
+ "type": "string"
},
- "flexChatGPTUnit": {
- "type": "number",
- "format": "double"
+ "createdAt": {
+ "type": "string"
},
- "flexMinimumCostCents": {
- "type": "number",
- "format": "double"
+ "state": {
+ "type": "integer",
+ "format": "int32"
},
- "flexManagedTenantCostCents": {
- "type": "number",
- "format": "double"
+ "fileCount": {
+ "type": "integer",
+ "format": "int32"
},
- "flexSSOAdminCostCents": {
- "type": "number",
- "format": "double"
+ "files": {
+ "items": {
+ "$ref": "#/components/schemas/APITicketFile"
+ },
+ "type": "array"
},
- "flexSSOAdminUnit": {
- "type": "number",
- "format": "double"
+ "reopenedAt": {
+ "type": "string",
+ "nullable": true
},
- "flexSSOModeratorCostCents": {
- "type": "number",
- "format": "double"
+ "resolvedAt": {
+ "type": "string",
+ "nullable": true
},
- "flexSSOModeratorUnit": {
- "type": "number",
- "format": "double"
+ "ackAt": {
+ "type": "string",
+ "nullable": true
}
},
"required": [
- "name",
- "maxMonthlyPageLoads",
- "maxMonthlyAPICredits",
- "maxMonthlyComments",
- "maxConcurrentUsers",
- "maxTenantUsers",
- "maxSSOUsers",
- "maxModerators",
- "maxDomains",
- "hasDebranding",
- "forWhoText",
- "featureTaglines",
- "hasFlexPricing"
+ "_id",
+ "urlId",
+ "userId",
+ "managedByTenantId",
+ "assignedUserIds",
+ "subject",
+ "createdAt",
+ "state",
+ "fileCount",
+ "files"
],
"type": "object",
"additionalProperties": false
},
- "ReplaceTenantPackageBody": {
+ "GetTicketResponse": {
"properties": {
- "name": {
- "type": "string"
- },
- "monthlyCostUSD": {
- "type": "number",
- "format": "double"
- },
- "yearlyCostUSD": {
- "type": "number",
- "format": "double"
- },
- "maxMonthlyPageLoads": {
- "type": "number",
- "format": "double"
- },
- "maxMonthlyAPICredits": {
- "type": "number",
- "format": "double"
- },
- "maxMonthlyComments": {
- "type": "number",
- "format": "double"
- },
- "maxConcurrentUsers": {
- "type": "number",
- "format": "double"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "maxTenantUsers": {
- "type": "number",
- "format": "double"
+ "ticket": {
+ "$ref": "#/components/schemas/APITicketDetail"
},
- "maxSSOUsers": {
- "type": "number",
- "format": "double"
+ "availableStates": {
+ "items": {
+ "type": "number",
+ "format": "double"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "status",
+ "ticket",
+ "availableStates"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "ChangeTicketStateResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "maxModerators": {
- "type": "number",
- "format": "double"
+ "ticket": {
+ "$ref": "#/components/schemas/APITicket"
+ }
+ },
+ "required": [
+ "status",
+ "ticket"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "ChangeTicketStateBody": {
+ "properties": {
+ "state": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "required": [
+ "state"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "ImportedSiteType": {
+ "enum": [
+ 0,
+ 1
+ ],
+ "type": "integer"
+ },
+ "SiteType": {
+ "$ref": "#/components/schemas/ImportedSiteType"
+ },
+ "APIDomainConfiguration": {
+ "properties": {
+ "id": {
+ "type": "string"
},
- "maxDomains": {
- "type": "number",
- "format": "double"
+ "domain": {
+ "type": "string"
},
- "maxCustomCollectionSize": {
- "type": "number",
- "format": "double"
+ "emailFromName": {
+ "type": "string",
+ "nullable": true
},
- "hasDebranding": {
- "type": "boolean"
+ "emailFromEmail": {
+ "type": "string",
+ "nullable": true
},
- "forWhoText": {
- "type": "string"
+ "emailHeaders": {
+ "$ref": "#/components/schemas/Record_string.string_"
},
- "featureTaglines": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "wpSyncToken": {
+ "type": "string",
+ "nullable": true
},
- "hasFlexPricing": {
+ "wpSynced": {
"type": "boolean"
},
- "flexPageLoadCostCents": {
- "type": "number",
- "format": "double"
+ "wpURL": {
+ "type": "string",
+ "nullable": true
},
- "flexPageLoadUnit": {
- "type": "number",
- "format": "double"
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
},
- "flexCommentCostCents": {
- "type": "number",
- "format": "double"
+ "autoAddedDate": {
+ "type": "string",
+ "format": "date-time"
},
- "flexCommentUnit": {
- "type": "number",
- "format": "double"
+ "siteType": {
+ "$ref": "#/components/schemas/SiteType"
},
- "flexSSOUserCostCents": {
- "type": "number",
- "format": "double"
+ "logoSrc": {
+ "type": "string",
+ "nullable": true
},
- "flexSSOUserUnit": {
- "type": "number",
- "format": "double"
+ "logoSrc100px": {
+ "type": "string",
+ "nullable": true
},
- "flexAPICreditCostCents": {
- "type": "number",
- "format": "double"
+ "footerUnsubscribeURL": {
+ "type": "string"
},
- "flexAPICreditUnit": {
- "type": "number",
- "format": "double"
+ "disableUnsubscribeLinks": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "id",
+ "domain",
+ "createdAt"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "BillingInfo": {
+ "properties": {
+ "name": {
+ "type": "string"
},
- "flexModeratorCostCents": {
- "type": "number",
- "format": "double"
+ "address": {
+ "type": "string"
},
- "flexModeratorUnit": {
- "type": "number",
- "format": "double"
+ "city": {
+ "type": "string"
},
- "flexAdminCostCents": {
- "type": "number",
- "format": "double"
+ "state": {
+ "type": "string"
},
- "flexAdminUnit": {
- "type": "number",
- "format": "double"
+ "zip": {
+ "type": "string"
},
- "flexDomainCostCents": {
- "type": "number",
- "format": "double"
+ "country": {
+ "type": "string"
},
- "flexDomainUnit": {
- "type": "number",
- "format": "double"
+ "currency": {
+ "type": "string",
+ "nullable": true,
+ "description": "Currency for invoices."
},
- "flexMinimumCostCents": {
- "type": "number",
- "format": "double"
+ "email": {
+ "type": "string",
+ "description": "Email for invoices."
}
},
"required": [
"name",
- "monthlyCostUSD",
- "yearlyCostUSD",
- "maxMonthlyPageLoads",
- "maxMonthlyAPICredits",
- "maxMonthlyComments",
- "maxConcurrentUsers",
- "maxTenantUsers",
- "maxSSOUsers",
- "maxModerators",
- "maxDomains",
- "hasDebranding",
- "forWhoText",
- "featureTaglines",
- "hasFlexPricing"
+ "address",
+ "city",
+ "state",
+ "zip",
+ "country"
],
"type": "object",
"additionalProperties": false
},
- "UpdateTenantPackageBody": {
+ "APITenant": {
"properties": {
+ "id": {
+ "type": "string"
+ },
"name": {
"type": "string"
},
- "monthlyCostUSD": {
+ "email": {
+ "type": "string"
+ },
+ "signUpDate": {
"type": "number",
"format": "double"
},
- "yearlyCostUSD": {
+ "packageId": {
+ "type": "string"
+ },
+ "paymentFrequency": {
"type": "number",
"format": "double"
},
- "maxMonthlyPageLoads": {
- "type": "number",
- "format": "double"
- },
- "maxMonthlyAPICredits": {
- "type": "number",
- "format": "double"
- },
- "maxMonthlyComments": {
- "type": "number",
- "format": "double"
- },
- "maxConcurrentUsers": {
- "type": "number",
- "format": "double"
- },
- "maxTenantUsers": {
- "type": "number",
- "format": "double"
- },
- "maxSSOUsers": {
- "type": "number",
- "format": "double"
- },
- "maxModerators": {
- "type": "number",
- "format": "double"
- },
- "maxDomains": {
- "type": "number",
- "format": "double"
- },
- "maxCustomCollectionSize": {
- "type": "number",
- "format": "double"
- },
- "hasDebranding": {
+ "billingInfoValid": {
"type": "boolean"
},
- "hasWhiteLabeling": {
+ "billingHandledExternally": {
"type": "boolean"
},
- "forWhoText": {
+ "createdBy": {
"type": "string"
},
- "featureTaglines": {
+ "isSetup": {
+ "type": "boolean"
+ },
+ "domainConfiguration": {
"items": {
- "type": "string"
+ "$ref": "#/components/schemas/APIDomainConfiguration"
},
"type": "array"
},
- "hasFlexPricing": {
- "type": "boolean"
- },
- "flexPageLoadCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexPageLoadUnit": {
- "type": "number",
- "format": "double"
- },
- "flexCommentCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexCommentUnit": {
- "type": "number",
- "format": "double"
- },
- "flexSSOUserCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexSSOUserUnit": {
- "type": "number",
- "format": "double"
- },
- "flexAPICreditCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexAPICreditUnit": {
- "type": "number",
- "format": "double"
- },
- "flexModeratorCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexModeratorUnit": {
- "type": "number",
- "format": "double"
- },
- "flexAdminCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexAdminUnit": {
- "type": "number",
- "format": "double"
- },
- "flexDomainCostCents": {
- "type": "number",
- "format": "double"
- },
- "flexDomainUnit": {
- "type": "number",
- "format": "double"
+ "billingInfo": {
+ "$ref": "#/components/schemas/BillingInfo"
},
- "flexMinimumCostCents": {
- "type": "number",
- "format": "double"
- }
- },
- "type": "object",
- "additionalProperties": false
- },
- "APITenantDailyUsage": {
- "properties": {
- "id": {
+ "stripeCustomerId": {
"type": "string"
},
- "tenantId": {
+ "stripeSubscriptionId": {
"type": "string"
},
- "yearNumber": {
- "type": "number",
- "format": "double"
+ "stripePlanId": {
+ "type": "string"
},
- "monthNumber": {
- "type": "number",
- "format": "double"
+ "enableProfanityFilter": {
+ "type": "boolean"
},
- "dayNumber": {
- "type": "number",
- "format": "double"
+ "enableSpamFilter": {
+ "type": "boolean"
},
- "commentFetchCount": {
- "type": "number",
- "format": "double"
+ "lastBillingIssueReminderDate": {
+ "type": "string",
+ "format": "date-time"
},
- "commentCreateCount": {
- "type": "number",
- "format": "double"
+ "removeUnverifiedComments": {
+ "type": "boolean"
},
- "conversationCreateCount": {
+ "unverifiedCommentsTTLms": {
"type": "number",
- "format": "double"
+ "format": "double",
+ "nullable": true
},
- "voteCount": {
- "type": "number",
- "format": "double"
+ "commentsRequireApproval": {
+ "type": "boolean"
},
- "accountCreatedCount": {
- "type": "number",
- "format": "double"
+ "autoApproveCommentOnVerification": {
+ "type": "boolean"
},
- "userMentionSearch": {
- "type": "number",
- "format": "double"
+ "sendProfaneToSpam": {
+ "type": "boolean"
},
- "hashTagSearch": {
- "type": "number",
- "format": "double"
+ "hasFlexPricing": {
+ "type": "boolean"
},
- "gifSearchTrending": {
- "type": "number",
- "format": "double"
+ "hasAuditing": {
+ "type": "boolean"
},
- "gifSearch": {
+ "flexLastBilledAmount": {
"type": "number",
"format": "double"
},
- "apiCreditsUsed": {
+ "deAnonIpAddr": {
"type": "number",
"format": "double"
},
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "billed": {
- "type": "boolean"
- },
- "ignored": {
- "type": "boolean"
- },
- "apiErrorCount": {
- "type": "number",
- "format": "double"
+ "meta": {
+ "$ref": "#/components/schemas/Record_string.string_"
}
},
"required": [
"id",
- "tenantId",
- "yearNumber",
- "monthNumber",
- "dayNumber",
- "commentFetchCount",
- "commentCreateCount",
- "conversationCreateCount",
- "voteCount",
- "accountCreatedCount",
- "userMentionSearch",
- "hashTagSearch",
- "gifSearchTrending",
- "gifSearch",
- "apiCreditsUsed",
- "createdAt",
- "billed",
- "ignored",
- "apiErrorCount"
+ "name",
+ "signUpDate",
+ "packageId",
+ "paymentFrequency",
+ "billingInfoValid",
+ "createdBy",
+ "isSetup",
+ "domainConfiguration",
+ "enableProfanityFilter",
+ "enableSpamFilter"
],
"type": "object",
"additionalProperties": false
},
- "GetTenantDailyUsagesResponse": {
+ "GetTenantResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "tenantDailyUsages": {
- "items": {
- "$ref": "#/components/schemas/APITenantDailyUsage"
- },
- "type": "array"
+ "tenant": {
+ "$ref": "#/components/schemas/APITenant"
}
},
"required": [
"status",
- "tenantDailyUsages"
+ "tenant"
],
"type": "object",
"additionalProperties": false
},
- "MetaItem": {
+ "GetTenantsResponse": {
"properties": {
- "name": {
- "type": "string"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "values": {
+ "tenants": {
"items": {
- "type": "string"
+ "$ref": "#/components/schemas/APITenant"
},
"type": "array"
}
},
"required": [
- "name",
- "values"
+ "status",
+ "tenants"
],
"type": "object",
"additionalProperties": false
},
- "QuestionResult": {
+ "CreateTenantResponse": {
"properties": {
- "_id": {
- "type": "string"
- },
- "tenantId": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "tenant": {
+ "$ref": "#/components/schemas/APITenant"
+ }
+ },
+ "required": [
+ "status",
+ "tenant"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "CreateTenantBody": {
+ "properties": {
+ "name": {
"type": "string"
},
- "urlId": {
+ "domainConfiguration": {
+ "items": {
+ "$ref": "#/components/schemas/APIDomainConfiguration"
+ },
+ "type": "array"
+ },
+ "email": {
"type": "string"
},
- "anonUserId": {
+ "signUpDate": {
+ "type": "number",
+ "format": "double"
+ },
+ "packageId": {
"type": "string"
},
- "userId": {
+ "paymentFrequency": {
+ "type": "number",
+ "format": "double"
+ },
+ "billingInfoValid": {
+ "type": "boolean"
+ },
+ "billingHandledExternally": {
+ "type": "boolean"
+ },
+ "createdBy": {
"type": "string"
},
- "createdAt": {
- "type": "string",
- "format": "date-time"
+ "isSetup": {
+ "type": "boolean"
},
- "value": {
- "type": "integer",
- "format": "int32"
+ "billingInfo": {
+ "$ref": "#/components/schemas/BillingInfo"
},
- "commentId": {
- "type": "string",
- "nullable": true
+ "stripeCustomerId": {
+ "type": "string"
},
- "questionId": {
+ "stripeSubscriptionId": {
+ "type": "string"
+ },
+ "stripePlanId": {
"type": "string"
},
+ "enableProfanityFilter": {
+ "type": "boolean"
+ },
+ "enableSpamFilter": {
+ "type": "boolean"
+ },
+ "removeUnverifiedComments": {
+ "type": "boolean"
+ },
+ "unverifiedCommentsTTLms": {
+ "type": "number",
+ "format": "double"
+ },
+ "commentsRequireApproval": {
+ "type": "boolean"
+ },
+ "autoApproveCommentOnVerification": {
+ "type": "boolean"
+ },
+ "sendProfaneToSpam": {
+ "type": "boolean"
+ },
+ "deAnonIpAddr": {
+ "type": "number",
+ "format": "double"
+ },
"meta": {
+ "$ref": "#/components/schemas/Record_string.string_"
+ }
+ },
+ "required": [
+ "name",
+ "domainConfiguration"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "UpdateTenantBody": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "email": {
+ "type": "string"
+ },
+ "signUpDate": {
+ "type": "number",
+ "format": "double"
+ },
+ "packageId": {
+ "type": "string"
+ },
+ "paymentFrequency": {
+ "type": "number",
+ "format": "double"
+ },
+ "billingInfoValid": {
+ "type": "boolean"
+ },
+ "billingHandledExternally": {
+ "type": "boolean"
+ },
+ "createdBy": {
+ "type": "string"
+ },
+ "isSetup": {
+ "type": "boolean"
+ },
+ "domainConfiguration": {
"items": {
- "$ref": "#/components/schemas/MetaItem"
+ "$ref": "#/components/schemas/APIDomainConfiguration"
},
- "type": "array",
- "nullable": true
+ "type": "array"
},
- "ipHash": {
+ "billingInfo": {
+ "$ref": "#/components/schemas/BillingInfo"
+ },
+ "stripeCustomerId": {
+ "type": "string"
+ },
+ "stripeSubscriptionId": {
+ "type": "string"
+ },
+ "stripePlanId": {
+ "type": "string"
+ },
+ "enableProfanityFilter": {
+ "type": "boolean"
+ },
+ "enableSpamFilter": {
+ "type": "boolean"
+ },
+ "removeUnverifiedComments": {
+ "type": "boolean"
+ },
+ "unverifiedCommentsTTLms": {
+ "type": "number",
+ "format": "double"
+ },
+ "commentsRequireApproval": {
+ "type": "boolean"
+ },
+ "autoApproveCommentOnVerification": {
+ "type": "boolean"
+ },
+ "sendProfaneToSpam": {
+ "type": "boolean"
+ },
+ "deAnonIpAddr": {
+ "type": "number",
+ "format": "double"
+ },
+ "meta": {
+ "$ref": "#/components/schemas/Record_string.string_"
+ },
+ "managedByTenantId": {
"type": "string"
}
},
- "required": [
- "_id",
- "tenantId",
- "urlId",
- "anonUserId",
- "userId",
- "createdAt",
- "value",
- "questionId",
- "ipHash"
- ],
"type": "object",
"additionalProperties": false
},
- "GetQuestionResultResponse": {
+ "GetTenantUserResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "questionResult": {
- "$ref": "#/components/schemas/QuestionResult"
+ "tenantUser": {
+ "$ref": "#/components/schemas/User"
}
},
"required": [
"status",
- "questionResult"
+ "tenantUser"
],
"type": "object",
"additionalProperties": false
},
- "GetQuestionResultsResponse": {
+ "GetTenantUsersResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "questionResults": {
+ "tenantUsers": {
"items": {
- "$ref": "#/components/schemas/QuestionResult"
+ "$ref": "#/components/schemas/User"
},
"type": "array"
}
},
"required": [
"status",
- "questionResults"
+ "tenantUsers"
],
"type": "object",
"additionalProperties": false
},
- "CreateQuestionResultResponse": {
+ "CreateTenantUserResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "questionResult": {
- "$ref": "#/components/schemas/QuestionResult"
+ "tenantUser": {
+ "$ref": "#/components/schemas/User"
}
},
"required": [
"status",
- "questionResult"
+ "tenantUser"
],
"type": "object",
"additionalProperties": false
},
- "CreateQuestionResultBody": {
+ "CreateTenantUserBody": {
"properties": {
- "urlId": {
+ "username": {
"type": "string"
},
- "value": {
- "type": "number",
- "format": "double"
- },
- "questionId": {
+ "email": {
"type": "string"
},
- "anonUserId": {
+ "displayName": {
"type": "string"
},
- "userId": {
+ "websiteUrl": {
"type": "string"
},
- "commentId": {
- "type": "string"
+ "signUpDate": {
+ "type": "number",
+ "format": "double"
},
- "meta": {
- "items": {
- "$ref": "#/components/schemas/MetaItem"
- },
- "type": "array",
- "nullable": true
- }
- },
- "required": [
- "urlId",
- "value",
- "questionId"
- ],
- "type": "object",
- "additionalProperties": {}
- },
- "UpdateQuestionResultBody": {
- "properties": {
- "urlId": {
+ "locale": {
"type": "string"
},
- "anonUserId": {
- "type": "string"
- },
- "userId": {
- "type": "string"
+ "verified": {
+ "type": "boolean"
},
- "value": {
+ "loginCount": {
"type": "number",
"format": "double"
},
- "commentId": {
- "type": "string"
+ "optedInNotifications": {
+ "type": "boolean"
},
- "questionId": {
+ "optedInTenantNotifications": {
+ "type": "boolean"
+ },
+ "hideAccountCode": {
+ "type": "boolean"
+ },
+ "avatarSrc": {
"type": "string"
},
- "meta": {
+ "isHelpRequestAdmin": {
+ "type": "boolean"
+ },
+ "isAccountOwner": {
+ "type": "boolean"
+ },
+ "isAdminAdmin": {
+ "type": "boolean"
+ },
+ "isBillingAdmin": {
+ "type": "boolean"
+ },
+ "isAnalyticsAdmin": {
+ "type": "boolean"
+ },
+ "isCustomizationAdmin": {
+ "type": "boolean"
+ },
+ "isManageDataAdmin": {
+ "type": "boolean"
+ },
+ "isCommentModeratorAdmin": {
+ "type": "boolean"
+ },
+ "isAPIAdmin": {
+ "type": "boolean"
+ },
+ "moderatorIds": {
"items": {
- "$ref": "#/components/schemas/MetaItem"
+ "type": "string"
},
- "type": "array",
- "nullable": true
- }
- },
- "type": "object",
- "additionalProperties": {}
- },
- "Record_number.number_": {
- "properties": {},
- "additionalProperties": {
- "type": "number",
- "format": "double"
- },
- "type": "object",
- "description": "Construct a type with a set of properties K of type T"
- },
- "QuestionDatum": {
- "properties": {
- "v": {
- "$ref": "#/components/schemas/Record_number.number_"
+ "type": "array"
},
- "total": {
- "type": "integer",
- "format": "int64"
+ "digestEmailFrequency": {
+ "type": "number",
+ "format": "double"
+ },
+ "displayLabel": {
+ "type": "string"
}
},
"required": [
- "v",
- "total"
+ "username",
+ "email"
],
"type": "object",
"additionalProperties": false
},
- "Record_string.QuestionDatum_": {
- "properties": {},
- "additionalProperties": {
- "$ref": "#/components/schemas/QuestionDatum"
- },
- "type": "object",
- "description": "Construct a type with a set of properties K of type T"
- },
- "QuestionResultAggregationOverall": {
+ "ReplaceTenantUserBody": {
"properties": {
- "dataByDateBucket": {
- "$ref": "#/components/schemas/Record_string.QuestionDatum_"
+ "username": {
+ "type": "string"
},
- "dataByUrlId": {
- "$ref": "#/components/schemas/Record_string.QuestionDatum_"
+ "email": {
+ "type": "string"
},
- "countsByValue": {
- "$ref": "#/components/schemas/Int32Map"
+ "displayName": {
+ "type": "string"
},
- "total": {
- "type": "integer",
- "format": "int64"
+ "websiteUrl": {
+ "type": "string"
},
- "average": {
+ "signUpDate": {
"type": "number",
"format": "double"
},
- "createdAt": {
- "type": "string",
- "format": "date-time"
- }
- },
- "required": [
- "total",
- "createdAt"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "AggregateQuestionResultsResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "locale": {
+ "type": "string"
},
- "data": {
- "$ref": "#/components/schemas/QuestionResultAggregationOverall"
- }
- },
- "required": [
- "status",
- "data"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "AggregateTimeBucket": {
- "type": "string",
- "enum": [
- "day",
- "month",
- "year"
- ]
- },
- "Record_string.QuestionResultAggregationOverall_": {
- "properties": {},
- "additionalProperties": {
- "$ref": "#/components/schemas/QuestionResultAggregationOverall"
- },
- "type": "object",
- "description": "Construct a type with a set of properties K of type T"
- },
- "BulkAggregateQuestionResultsResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "verified": {
+ "type": "boolean"
},
- "data": {
- "$ref": "#/components/schemas/Record_string.QuestionResultAggregationOverall_"
- }
- },
- "required": [
- "status",
- "data"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "BulkAggregateQuestionItem": {
- "properties": {
- "aggId": {
- "type": "string"
+ "loginCount": {
+ "type": "number",
+ "format": "double"
},
- "questionId": {
+ "optedInNotifications": {
+ "type": "boolean"
+ },
+ "optedInTenantNotifications": {
+ "type": "boolean"
+ },
+ "hideAccountCode": {
+ "type": "boolean"
+ },
+ "avatarSrc": {
"type": "string"
},
- "questionIds": {
+ "isHelpRequestAdmin": {
+ "type": "boolean"
+ },
+ "isAccountOwner": {
+ "type": "boolean"
+ },
+ "isAdminAdmin": {
+ "type": "boolean"
+ },
+ "isBillingAdmin": {
+ "type": "boolean"
+ },
+ "isAnalyticsAdmin": {
+ "type": "boolean"
+ },
+ "isCustomizationAdmin": {
+ "type": "boolean"
+ },
+ "isManageDataAdmin": {
+ "type": "boolean"
+ },
+ "isCommentModeratorAdmin": {
+ "type": "boolean"
+ },
+ "isAPIAdmin": {
+ "type": "boolean"
+ },
+ "moderatorIds": {
"items": {
"type": "string"
},
"type": "array"
},
- "urlId": {
+ "digestEmailFrequency": {
+ "type": "number",
+ "format": "double"
+ },
+ "displayLabel": {
"type": "string"
},
- "timeBucket": {
- "$ref": "#/components/schemas/AggregateTimeBucket"
+ "createdFromUrlId": {
+ "type": "string"
},
- "startDate": {
- "type": "string",
- "format": "date-time"
+ "createdFromTenantId": {
+ "type": "string"
+ },
+ "lastLoginDate": {
+ "type": "number",
+ "format": "double"
+ },
+ "karma": {
+ "type": "number",
+ "format": "double"
}
},
"required": [
- "aggId"
+ "username",
+ "email"
],
"type": "object",
"additionalProperties": false
},
- "BulkAggregateQuestionResultsRequest": {
+ "UpdateTenantUserBody": {
"properties": {
- "aggregations": {
- "items": {
- "$ref": "#/components/schemas/BulkAggregateQuestionItem"
- },
- "type": "array"
- }
- },
- "required": [
- "aggregations"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "CommentLogType": {
- "enum": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55
- ],
- "type": "integer"
- },
- "RepeatCommentHandlingAction": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "integer"
- },
- "RepeatCommentCheckIgnoredReason": {
- "enum": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "integer"
- },
- "CommentLogData": {
- "properties": {
- "clearContent": {
- "type": "boolean"
- },
- "isDeletedUser": {
- "type": "boolean"
- },
- "phrase": {
+ "username": {
"type": "string"
},
- "badWord": {
+ "displayName": {
"type": "string"
},
- "word": {
+ "websiteUrl": {
"type": "string"
},
- "locale": {
+ "email": {
"type": "string"
},
- "tenantBadgeId": {
- "type": "string"
+ "signUpDate": {
+ "type": "number",
+ "format": "double"
},
- "badgeId": {
- "type": "string"
+ "verified": {
+ "type": "boolean"
},
- "wasLoggedIn": {
+ "loginCount": {
+ "type": "number",
+ "format": "double"
+ },
+ "optedInNotifications": {
"type": "boolean"
},
- "foundUser": {
+ "optedInTenantNotifications": {
"type": "boolean"
},
- "verified": {
+ "hideAccountCode": {
"type": "boolean"
},
- "engine": {
+ "avatarSrc": {
"type": "string"
},
- "engineResponse": {
+ "isHelpRequestAdmin": {
+ "type": "boolean"
+ },
+ "isAccountOwner": {
+ "type": "boolean"
+ },
+ "isAdminAdmin": {
+ "type": "boolean"
+ },
+ "isBillingAdmin": {
+ "type": "boolean"
+ },
+ "isAnalyticsAdmin": {
+ "type": "boolean"
+ },
+ "isCustomizationAdmin": {
+ "type": "boolean"
+ },
+ "isManageDataAdmin": {
+ "type": "boolean"
+ },
+ "isCommentModeratorAdmin": {
+ "type": "boolean"
+ },
+ "isAPIAdmin": {
+ "type": "boolean"
+ },
+ "moderatorIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "locale": {
"type": "string"
},
- "engineTokens": {
+ "digestEmailFrequency": {
"type": "number",
"format": "double"
},
- "trustFactor": {
- "type": "number",
- "format": "double"
+ "displayLabel": {
+ "type": "string"
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ },
+ "TenantPackage": {
+ "properties": {
+ "_id": {
+ "type": "string"
},
- "rule": {
- "$ref": "#/components/schemas/SpamRule"
+ "name": {
+ "type": "string"
},
- "userId": {
+ "tenantId": {
"type": "string"
},
- "subscribers": {
- "type": "number",
- "format": "double"
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
},
- "notificationCount": {
- "type": "number",
- "format": "double"
+ "templateId": {
+ "type": "string"
},
- "votesBefore": {
+ "monthlyCostUSD": {
"type": "number",
"format": "double",
"nullable": true
},
- "votesUpBefore": {
+ "yearlyCostUSD": {
"type": "number",
"format": "double",
"nullable": true
},
- "votesDownBefore": {
- "type": "number",
- "format": "double",
+ "monthlyStripePlanId": {
+ "type": "string",
"nullable": true
},
- "votesAfter": {
- "type": "number",
- "format": "double",
+ "yearlyStripePlanId": {
+ "type": "string",
"nullable": true
},
- "votesUpAfter": {
+ "maxMonthlyPageLoads": {
"type": "number",
- "format": "double",
- "nullable": true
+ "format": "double"
},
- "votesDownAfter": {
+ "maxMonthlyAPICredits": {
"type": "number",
- "format": "double",
- "nullable": true
+ "format": "double"
},
- "repeatAction": {
- "$ref": "#/components/schemas/RepeatCommentHandlingAction"
+ "maxMonthlySmallWidgetsCredits": {
+ "type": "number",
+ "format": "double"
},
- "reason": {
- "$ref": "#/components/schemas/RepeatCommentCheckIgnoredReason"
+ "maxMonthlyComments": {
+ "type": "number",
+ "format": "double"
},
- "otherData": {},
- "spamBefore": {
- "type": "boolean"
+ "maxConcurrentUsers": {
+ "type": "number",
+ "format": "double"
},
- "spamAfter": {
- "type": "boolean"
+ "maxTenantUsers": {
+ "type": "number",
+ "format": "double"
},
- "permanentFlag": {
- "type": "string",
- "enum": [
- "permanent"
- ],
- "nullable": false
+ "maxSSOUsers": {
+ "type": "number",
+ "format": "double"
},
- "approvedBefore": {
- "type": "boolean"
+ "maxModerators": {
+ "type": "number",
+ "format": "double"
},
- "approvedAfter": {
- "type": "boolean"
+ "maxDomains": {
+ "type": "number",
+ "format": "double"
},
- "reviewedBefore": {
- "type": "boolean"
- },
- "reviewedAfter": {
- "type": "boolean"
- },
- "textBefore": {
- "type": "string"
- },
- "textAfter": {
- "type": "string"
- },
- "expireBefore": {
- "type": "string",
- "format": "date-time",
- "nullable": true
- },
- "expireAfter": {
- "type": "string",
- "format": "date-time",
- "nullable": true
- },
- "flagCountBefore": {
+ "maxWhiteLabeledTenants": {
"type": "number",
- "format": "double",
- "nullable": true
+ "format": "double"
},
- "trustFactorBefore": {
+ "maxMonthlyEventLogRequests": {
"type": "number",
"format": "double"
},
- "trustFactorAfter": {
+ "maxCustomCollectionSize": {
"type": "number",
"format": "double"
},
- "referencedCommentId": {
- "type": "string"
- },
- "invalidLocale": {
- "type": "string"
- },
- "detectedLocale": {
- "type": "string"
+ "hasWhiteLabeling": {
+ "type": "boolean"
},
- "detectedLanguage": {
- "type": "string"
- }
- },
- "type": "object",
- "additionalProperties": false
- },
- "CommentLogEntry": {
- "properties": {
- "d": {
- "type": "string",
- "format": "date-time"
+ "hasDebranding": {
+ "type": "boolean"
},
- "t": {
- "$ref": "#/components/schemas/CommentLogType"
+ "hasLLMSpamDetection": {
+ "type": "boolean"
},
- "da": {
- "$ref": "#/components/schemas/CommentLogData"
- }
- },
- "required": [
- "d",
- "t"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "FComment": {
- "properties": {
- "_id": {
+ "forWhoText": {
"type": "string"
},
- "tenantId": {
- "type": "string"
+ "featureTaglines": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "urlId": {
- "type": "string"
+ "hasAuditing": {
+ "type": "boolean"
},
- "urlIdRaw": {
- "type": "string"
+ "hasFlexPricing": {
+ "type": "boolean"
},
- "url": {
- "type": "string"
+ "enableSAML": {
+ "type": "boolean"
},
- "pageTitle": {
- "type": "string",
- "nullable": true
+ "enableCanvasLTI": {
+ "type": "boolean"
},
- "userId": {
- "allOf": [
- {
- "$ref": "#/components/schemas/UserId"
- }
- ],
- "nullable": true
+ "flexPageLoadCostCents": {
+ "type": "number",
+ "format": "double"
},
- "anonUserId": {
- "type": "string",
- "nullable": true
+ "flexPageLoadUnit": {
+ "type": "number",
+ "format": "double"
},
- "commenterEmail": {
- "type": "string",
- "nullable": true
+ "flexCommentCostCents": {
+ "type": "number",
+ "format": "double"
},
- "commenterName": {
- "type": "string"
+ "flexCommentUnit": {
+ "type": "number",
+ "format": "double"
},
- "commenterLink": {
- "type": "string",
- "nullable": true
+ "flexSSOUserCostCents": {
+ "type": "number",
+ "format": "double"
},
- "comment": {
- "type": "string"
+ "flexSSOUserUnit": {
+ "type": "number",
+ "format": "double"
},
- "commentHTML": {
- "type": "string"
+ "flexAPICreditCostCents": {
+ "type": "number",
+ "format": "double"
},
- "parentId": {
- "type": "string",
- "nullable": true
+ "flexAPICreditUnit": {
+ "type": "number",
+ "format": "double"
},
- "date": {
- "type": "string",
- "format": "date-time",
- "nullable": true
+ "flexSmallWidgetsCreditCostCents": {
+ "type": "number",
+ "format": "double"
},
- "localDateString": {
- "type": "string",
- "nullable": true
+ "flexSmallWidgetsCreditUnit": {
+ "type": "number",
+ "format": "double"
},
- "localDateHours": {
- "type": "integer",
- "format": "int32",
- "nullable": true
+ "flexModeratorCostCents": {
+ "type": "number",
+ "format": "double"
},
- "votes": {
- "type": "integer",
- "format": "int32",
- "nullable": true
+ "flexModeratorUnit": {
+ "type": "number",
+ "format": "double"
},
- "votesUp": {
- "type": "integer",
- "format": "int32",
- "nullable": true
+ "flexAdminCostCents": {
+ "type": "number",
+ "format": "double"
},
- "votesDown": {
- "type": "integer",
- "format": "int32",
- "nullable": true
+ "flexAdminUnit": {
+ "type": "number",
+ "format": "double"
},
- "expireAt": {
- "type": "string",
- "format": "date-time",
- "nullable": true
+ "flexDomainCostCents": {
+ "type": "number",
+ "format": "double"
},
- "verified": {
- "type": "boolean"
+ "flexDomainUnit": {
+ "type": "number",
+ "format": "double"
},
- "verifiedDate": {
- "type": "string",
- "format": "date-time",
- "nullable": true
+ "flexChatGPTCostCents": {
+ "type": "number",
+ "format": "double"
},
- "verificationId": {
- "type": "string",
- "nullable": true
+ "flexChatGPTUnit": {
+ "type": "number",
+ "format": "double"
},
- "notificationSentForParent": {
- "type": "boolean"
+ "flexLLMCostCents": {
+ "type": "number",
+ "format": "double"
},
- "notificationSentForParentTenant": {
- "type": "boolean"
+ "flexLLMUnit": {
+ "type": "number",
+ "format": "double"
},
- "reviewed": {
- "type": "boolean"
+ "flexMinimumCostCents": {
+ "type": "number",
+ "format": "double"
},
- "imported": {
- "type": "boolean"
+ "flexManagedTenantCostCents": {
+ "type": "number",
+ "format": "double"
},
- "externalId": {
- "type": "string"
+ "flexSSOAdminCostCents": {
+ "type": "number",
+ "format": "double"
},
- "externalParentId": {
- "type": "string",
- "nullable": true
+ "flexSSOAdminUnit": {
+ "type": "number",
+ "format": "double"
},
- "avatarSrc": {
- "type": "string",
- "nullable": true
+ "flexSSOModeratorCostCents": {
+ "type": "number",
+ "format": "double"
},
- "isSpam": {
- "type": "boolean"
+ "flexSSOModeratorUnit": {
+ "type": "number",
+ "format": "double"
},
- "permNotSpam": {
+ "isSSOBillingMonthlyActiveUsers": {
"type": "boolean"
},
- "aiDeterminedSpam": {
+ "hasAIAgents": {
"type": "boolean"
},
- "hasImages": {
- "type": "boolean"
- },
- "pageNumber": {
- "type": "integer",
- "format": "int32",
- "nullable": true
- },
- "pageNumberOF": {
- "type": "integer",
- "format": "int32",
- "nullable": true
- },
- "pageNumberNF": {
- "type": "integer",
- "format": "int32",
- "nullable": true
- },
- "hasLinks": {
- "type": "boolean"
- },
- "hasCode": {
- "type": "boolean"
- },
- "approved": {
- "type": "boolean"
- },
- "locale": {
- "type": "string",
- "nullable": true
- },
- "isDeleted": {
- "type": "boolean"
- },
- "isDeletedUser": {
- "type": "boolean"
- },
- "isBannedUser": {
- "type": "boolean"
- },
- "isByAdmin": {
- "type": "boolean"
- },
- "isByModerator": {
- "type": "boolean"
- },
- "isPinned": {
- "type": "boolean",
- "nullable": true
- },
- "isLocked": {
- "type": "boolean",
- "nullable": true
- },
- "flagCount": {
- "type": "integer",
- "format": "int32",
- "nullable": true
- },
- "rating": {
+ "maxAIAgents": {
"type": "number",
- "format": "double",
- "nullable": true
- },
- "displayLabel": {
- "type": "string",
- "nullable": true
- },
- "fromProductId": {
- "type": "integer",
- "format": "int32"
- },
- "meta": {
- "properties": {
- "wpId": {
- "type": "string"
- },
- "wpUserId": {
- "type": "string"
- },
- "wpPostId": {
- "type": "string"
- }
- },
- "additionalProperties": {},
- "type": "object",
- "nullable": true
- },
- "ipHash": {
- "type": "string"
- },
- "mentions": {
- "items": {
- "$ref": "#/components/schemas/CommentUserMentionInfo"
- },
- "type": "array"
- },
- "hashTags": {
- "items": {
- "$ref": "#/components/schemas/CommentUserHashTagInfo"
- },
- "type": "array"
- },
- "badges": {
- "items": {
- "$ref": "#/components/schemas/CommentUserBadgeInfo"
- },
- "type": "array",
- "nullable": true
- },
- "domain": {
- "allOf": [
- {
- "$ref": "#/components/schemas/FDomain"
- }
- ],
- "nullable": true
- },
- "veteranBadgeProcessed": {
- "type": "string"
- },
- "moderationGroupIds": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "nullable": true
- },
- "didProcessBadges": {
- "type": "boolean"
- },
- "fromOfflineRestore": {
- "type": "boolean"
- },
- "autoplayJobId": {
- "type": "string"
- },
- "autoplayDelayMS": {
- "type": "integer",
- "format": "int64"
- },
- "feedbackIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "logs": {
- "items": {
- "$ref": "#/components/schemas/CommentLogEntry"
- },
- "type": "array",
- "nullable": true
- },
- "groupIds": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "nullable": true
- },
- "viewCount": {
- "type": "integer",
- "format": "int64",
- "nullable": true
- },
- "requiresVerification": {
- "type": "boolean"
+ "format": "double"
},
- "editKey": {
- "type": "string"
+ "aiAgentDailyBudgetCents": {
+ "type": "number",
+ "format": "double"
},
- "tosAcceptedAt": {
- "type": "string",
- "format": "date-time"
+ "aiAgentMonthlyBudgetCents": {
+ "type": "number",
+ "format": "double"
}
},
"required": [
"_id",
+ "name",
"tenantId",
- "urlId",
- "url",
- "commenterName",
- "comment",
- "commentHTML",
- "date",
- "verified",
- "approved",
- "locale"
+ "createdAt",
+ "monthlyCostUSD",
+ "yearlyCostUSD",
+ "monthlyStripePlanId",
+ "yearlyStripePlanId",
+ "maxMonthlyPageLoads",
+ "maxMonthlyAPICredits",
+ "maxMonthlySmallWidgetsCredits",
+ "maxMonthlyComments",
+ "maxConcurrentUsers",
+ "maxTenantUsers",
+ "maxSSOUsers",
+ "maxModerators",
+ "maxDomains",
+ "maxWhiteLabeledTenants",
+ "maxMonthlyEventLogRequests",
+ "maxCustomCollectionSize",
+ "hasWhiteLabeling",
+ "hasDebranding",
+ "hasLLMSpamDetection",
+ "forWhoText",
+ "featureTaglines",
+ "hasAuditing",
+ "hasFlexPricing"
],
"type": "object",
"additionalProperties": false
},
- "FindCommentsByRangeItem": {
+ "GetTenantPackageResponse": {
"properties": {
- "comment": {
- "allOf": [
- {
- "$ref": "#/components/schemas/FComment"
- }
- ],
- "nullable": true
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "result": {
- "$ref": "#/components/schemas/QuestionResult"
+ "tenantPackage": {
+ "$ref": "#/components/schemas/TenantPackage"
}
},
"required": [
- "comment",
- "result"
+ "status",
+ "tenantPackage"
],
"type": "object",
"additionalProperties": false
},
- "FindCommentsByRangeResponse": {
+ "GetTenantPackagesResponse": {
"properties": {
- "results": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "tenantPackages": {
"items": {
- "$ref": "#/components/schemas/FindCommentsByRangeItem"
+ "$ref": "#/components/schemas/TenantPackage"
},
"type": "array"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
}
},
"required": [
- "results",
- "createdAt"
+ "status",
+ "tenantPackages"
],
"type": "object",
"additionalProperties": false
},
- "CombineQuestionResultsWithCommentsResponse": {
+ "CreateTenantPackageResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "data": {
- "$ref": "#/components/schemas/FindCommentsByRangeResponse"
+ "tenantPackage": {
+ "$ref": "#/components/schemas/TenantPackage"
}
},
"required": [
"status",
- "data"
+ "tenantPackage"
],
"type": "object",
"additionalProperties": false
},
- "QuestionConfig": {
+ "CreateTenantPackageBody": {
"properties": {
- "_id": {
- "type": "string"
- },
- "tenantId": {
- "type": "string"
- },
"name": {
"type": "string"
},
- "question": {
- "type": "string"
- },
- "summaryLabel": {
- "type": "string"
+ "monthlyCostUSD": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
},
- "helpText": {
- "type": "string"
+ "yearlyCostUSD": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
},
- "createdAt": {
+ "monthlyStripePlanId": {
"type": "string",
- "format": "date-time"
+ "nullable": true
},
- "createdBy": {
- "type": "string"
+ "yearlyStripePlanId": {
+ "type": "string",
+ "nullable": true
},
- "usedCount": {
+ "maxMonthlyPageLoads": {
"type": "number",
"format": "double"
},
- "lastUsed": {
- "type": "string",
- "format": "date-time"
- },
- "type": {
- "type": "string"
- },
- "numStars": {
+ "maxMonthlyAPICredits": {
"type": "number",
"format": "double"
},
- "min": {
+ "maxMonthlySmallWidgetsCredits": {
"type": "number",
"format": "double"
},
- "max": {
+ "maxMonthlyComments": {
"type": "number",
"format": "double"
},
- "defaultValue": {
+ "maxConcurrentUsers": {
"type": "number",
"format": "double"
},
- "labelNegative": {
- "type": "string"
- },
- "labelPositive": {
- "type": "string"
- },
- "customOptions": {
- "items": {
- "properties": {
- "imageSrc": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- },
- "required": [
- "imageSrc",
- "name"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "subQuestionIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "alwaysShowSubQuestions": {
- "type": "boolean"
- },
- "reportingOrder": {
+ "maxTenantUsers": {
"type": "number",
"format": "double"
- }
- },
- "required": [
- "_id",
- "tenantId",
- "name",
- "question",
- "helpText",
- "createdAt",
- "createdBy",
- "usedCount",
- "lastUsed",
- "type",
- "numStars",
- "min",
- "max",
- "defaultValue",
- "labelNegative",
- "labelPositive",
- "customOptions",
- "subQuestionIds",
- "alwaysShowSubQuestions",
- "reportingOrder"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "GetQuestionConfigResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
- },
- "questionConfig": {
- "$ref": "#/components/schemas/QuestionConfig"
- }
- },
- "required": [
- "status",
- "questionConfig"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "GetQuestionConfigsResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
- },
- "questionConfigs": {
- "items": {
- "$ref": "#/components/schemas/QuestionConfig"
- },
- "type": "array"
- }
- },
- "required": [
- "status",
- "questionConfigs"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "CreateQuestionConfigResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
- },
- "questionConfig": {
- "$ref": "#/components/schemas/QuestionConfig"
- }
- },
- "required": [
- "status",
- "questionConfig"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "CreateQuestionConfigBody": {
- "properties": {
- "name": {
- "type": "string"
- },
- "question": {
- "type": "string"
},
- "helpText": {
- "type": "string"
+ "maxSSOUsers": {
+ "type": "number",
+ "format": "double"
},
- "type": {
- "type": "string"
+ "maxModerators": {
+ "type": "number",
+ "format": "double"
},
- "numStars": {
+ "maxDomains": {
"type": "number",
"format": "double"
},
- "min": {
+ "maxWhiteLabeledTenants": {
"type": "number",
"format": "double"
},
- "max": {
+ "maxMonthlyEventLogRequests": {
"type": "number",
"format": "double"
},
- "defaultValue": {
+ "maxCustomCollectionSize": {
"type": "number",
"format": "double"
},
- "labelNegative": {
- "type": "string"
+ "hasWhiteLabeling": {
+ "type": "boolean"
},
- "labelPositive": {
- "type": "string"
+ "hasDebranding": {
+ "type": "boolean"
},
- "customOptions": {
- "items": {
- "properties": {
- "imageSrc": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- },
- "required": [
- "imageSrc",
- "name"
- ],
- "type": "object"
- },
- "type": "array"
+ "hasLLMSpamDetection": {
+ "type": "boolean"
},
- "subQuestionIds": {
+ "forWhoText": {
+ "type": "string"
+ },
+ "featureTaglines": {
"items": {
"type": "string"
},
"type": "array"
},
- "alwaysShowSubQuestions": {
+ "hasAuditing": {
"type": "boolean"
},
- "reportingOrder": {
- "type": "number",
- "format": "double"
- }
- },
- "required": [
- "name",
- "question",
- "type",
- "reportingOrder"
- ],
- "type": "object",
- "additionalProperties": {}
- },
- "UpdateQuestionConfigBody": {
- "properties": {
- "name": {
- "type": "string"
- },
- "question": {
- "type": "string"
- },
- "helpText": {
- "type": "string"
+ "hasFlexPricing": {
+ "type": "boolean"
},
- "type": {
- "type": "string"
+ "enableSAML": {
+ "type": "boolean"
},
- "numStars": {
+ "flexPageLoadCostCents": {
"type": "number",
"format": "double"
},
- "min": {
+ "flexPageLoadUnit": {
"type": "number",
"format": "double"
},
- "max": {
+ "flexCommentCostCents": {
"type": "number",
"format": "double"
},
- "defaultValue": {
+ "flexCommentUnit": {
"type": "number",
"format": "double"
},
- "labelNegative": {
- "type": "string"
+ "flexSSOUserCostCents": {
+ "type": "number",
+ "format": "double"
},
- "labelPositive": {
- "type": "string"
+ "flexSSOUserUnit": {
+ "type": "number",
+ "format": "double"
},
- "customOptions": {
- "items": {
- "properties": {
- "imageSrc": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- },
- "required": [
- "imageSrc",
- "name"
- ],
- "type": "object"
- },
- "type": "array"
+ "flexAPICreditCostCents": {
+ "type": "number",
+ "format": "double"
},
- "subQuestionIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "flexAPICreditUnit": {
+ "type": "number",
+ "format": "double"
},
- "alwaysShowSubQuestions": {
- "type": "boolean"
+ "flexSmallWidgetsCreditCostCents": {
+ "type": "number",
+ "format": "double"
},
- "reportingOrder": {
+ "flexSmallWidgetsCreditUnit": {
"type": "number",
"format": "double"
- }
- },
- "type": "object",
- "additionalProperties": {}
- },
- "PendingCommentToSyncOutbound": {
- "properties": {
- "_id": {
- "type": "string"
},
- "commentId": {
- "type": "string"
+ "flexModeratorCostCents": {
+ "type": "number",
+ "format": "double"
},
- "comment": {
- "$ref": "#/components/schemas/FComment"
+ "flexModeratorUnit": {
+ "type": "number",
+ "format": "double"
},
- "externalId": {
- "type": "string",
- "nullable": true
+ "flexAdminCostCents": {
+ "type": "number",
+ "format": "double"
},
- "createdAt": {
- "type": "string",
- "format": "date-time"
+ "flexAdminUnit": {
+ "type": "number",
+ "format": "double"
},
- "tenantId": {
- "type": "string"
+ "flexDomainCostCents": {
+ "type": "number",
+ "format": "double"
},
- "attemptCount": {
+ "flexDomainUnit": {
"type": "number",
"format": "double"
},
- "nextAttemptAt": {
- "type": "string",
- "format": "date-time"
+ "flexLLMCostCents": {
+ "type": "number",
+ "format": "double"
},
- "eventType": {
+ "flexLLMUnit": {
"type": "number",
"format": "double"
},
- "type": {
+ "flexMinimumCostCents": {
"type": "number",
"format": "double"
},
- "domain": {
- "type": "string"
+ "flexManagedTenantCostCents": {
+ "type": "number",
+ "format": "double"
},
- "lastError": {
- "additionalProperties": false,
- "type": "object"
+ "flexSSOAdminCostCents": {
+ "type": "number",
+ "format": "double"
},
- "webhookId": {
- "type": "string"
- }
- },
- "required": [
- "_id",
- "commentId",
- "externalId",
- "createdAt",
- "tenantId",
- "attemptCount",
- "nextAttemptAt",
- "eventType",
- "type",
- "domain",
- "lastError"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "GetPendingWebhookEventsResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "flexSSOAdminUnit": {
+ "type": "number",
+ "format": "double"
},
- "pendingWebhookEvents": {
- "items": {
- "$ref": "#/components/schemas/PendingCommentToSyncOutbound"
- },
- "type": "array"
- }
- },
- "required": [
- "status",
- "pendingWebhookEvents"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "GetPendingWebhookEventCountResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "flexSSOModeratorCostCents": {
+ "type": "number",
+ "format": "double"
},
- "count": {
+ "flexSSOModeratorUnit": {
"type": "number",
"format": "double"
}
},
"required": [
- "status",
- "count"
+ "name",
+ "maxMonthlyPageLoads",
+ "maxMonthlyAPICredits",
+ "maxMonthlyComments",
+ "maxConcurrentUsers",
+ "maxTenantUsers",
+ "maxSSOUsers",
+ "maxModerators",
+ "maxDomains",
+ "hasDebranding",
+ "forWhoText",
+ "featureTaglines",
+ "hasFlexPricing"
],
"type": "object",
"additionalProperties": false
},
- "GetNotificationsResponse": {
+ "ReplaceTenantPackageBody": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "name": {
+ "type": "string"
},
- "notifications": {
- "items": {
- "$ref": "#/components/schemas/UserNotification"
- },
- "type": "array"
- }
- },
- "required": [
- "status",
- "notifications"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "GetNotificationCountResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "monthlyCostUSD": {
+ "type": "number",
+ "format": "double"
},
- "count": {
+ "yearlyCostUSD": {
"type": "number",
"format": "double"
- }
- },
- "required": [
- "status",
- "count"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "UpdateNotificationBody": {
- "properties": {
- "viewed": {
- "type": "boolean"
},
- "optedOut": {
- "type": "boolean"
- }
- },
- "type": "object",
- "additionalProperties": {}
- },
- "UserNotificationCount": {
- "properties": {
- "_id": {
- "type": "string"
+ "maxMonthlyPageLoads": {
+ "type": "number",
+ "format": "double"
},
- "count": {
+ "maxMonthlyAPICredits": {
"type": "number",
"format": "double"
},
- "createdAt": {
- "type": "string",
- "format": "date-time"
+ "maxMonthlyComments": {
+ "type": "number",
+ "format": "double"
},
- "expireAt": {
- "type": "string",
- "format": "date-time"
- }
- },
- "required": [
- "_id",
- "count",
- "createdAt",
- "expireAt"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "GetCachedNotificationCountResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "maxConcurrentUsers": {
+ "type": "number",
+ "format": "double"
},
- "data": {
- "$ref": "#/components/schemas/UserNotificationCount"
- }
- },
- "required": [
- "status",
- "data"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "Moderator": {
- "properties": {
- "_id": {
- "type": "string"
+ "maxTenantUsers": {
+ "type": "number",
+ "format": "double"
},
- "tenantId": {
- "type": "string"
+ "maxSSOUsers": {
+ "type": "number",
+ "format": "double"
},
- "name": {
- "type": "string",
- "nullable": true
+ "maxModerators": {
+ "type": "number",
+ "format": "double"
},
- "userId": {
- "type": "string",
- "nullable": true
+ "maxDomains": {
+ "type": "number",
+ "format": "double"
},
- "acceptedInvite": {
+ "maxCustomCollectionSize": {
+ "type": "number",
+ "format": "double"
+ },
+ "hasDebranding": {
"type": "boolean"
},
- "email": {
- "type": "string",
- "nullable": true
+ "forWhoText": {
+ "type": "string"
},
- "markReviewedCount": {
+ "featureTaglines": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "hasFlexPricing": {
+ "type": "boolean"
+ },
+ "flexPageLoadCostCents": {
"type": "number",
"format": "double"
},
- "deletedCount": {
+ "flexPageLoadUnit": {
"type": "number",
"format": "double"
},
- "markedSpamCount": {
+ "flexCommentCostCents": {
"type": "number",
"format": "double"
},
- "markedNotSpamCount": {
+ "flexCommentUnit": {
"type": "number",
"format": "double"
},
- "approvedCount": {
+ "flexSSOUserCostCents": {
"type": "number",
"format": "double"
},
- "unApprovedCount": {
+ "flexSSOUserUnit": {
"type": "number",
"format": "double"
},
- "editedCount": {
+ "flexAPICreditCostCents": {
"type": "number",
"format": "double"
},
- "bannedCount": {
+ "flexAPICreditUnit": {
"type": "number",
"format": "double"
},
- "unFlaggedCount": {
+ "flexModeratorCostCents": {
"type": "number",
"format": "double"
},
- "verificationId": {
- "type": "string",
- "nullable": true
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
+ "flexModeratorUnit": {
+ "type": "number",
+ "format": "double"
},
- "moderationGroupIds": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "nullable": true
+ "flexAdminCostCents": {
+ "type": "number",
+ "format": "double"
},
- "isEmailSuppressed": {
- "type": "boolean"
- }
- },
- "required": [
- "_id",
- "tenantId",
- "name",
- "userId",
- "acceptedInvite",
- "email",
- "markReviewedCount",
- "deletedCount",
- "markedSpamCount",
- "markedNotSpamCount",
- "approvedCount",
- "unApprovedCount",
- "editedCount",
- "bannedCount",
- "unFlaggedCount",
- "verificationId",
- "createdAt",
- "moderationGroupIds"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "GetModeratorResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "flexAdminUnit": {
+ "type": "number",
+ "format": "double"
},
- "moderator": {
- "$ref": "#/components/schemas/Moderator"
- }
- },
- "required": [
- "status",
- "moderator"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "GetModeratorsResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "flexDomainCostCents": {
+ "type": "number",
+ "format": "double"
},
- "moderators": {
- "items": {
- "$ref": "#/components/schemas/Moderator"
- },
- "type": "array"
- }
- },
- "required": [
- "status",
- "moderators"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "CreateModeratorResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "flexDomainUnit": {
+ "type": "number",
+ "format": "double"
},
- "moderator": {
- "$ref": "#/components/schemas/Moderator"
+ "flexMinimumCostCents": {
+ "type": "number",
+ "format": "double"
}
},
"required": [
- "status",
- "moderator"
+ "name",
+ "monthlyCostUSD",
+ "yearlyCostUSD",
+ "maxMonthlyPageLoads",
+ "maxMonthlyAPICredits",
+ "maxMonthlyComments",
+ "maxConcurrentUsers",
+ "maxTenantUsers",
+ "maxSSOUsers",
+ "maxModerators",
+ "maxDomains",
+ "hasDebranding",
+ "forWhoText",
+ "featureTaglines",
+ "hasFlexPricing"
],
"type": "object",
"additionalProperties": false
},
- "CreateModeratorBody": {
+ "UpdateTenantPackageBody": {
"properties": {
"name": {
"type": "string"
},
- "email": {
- "type": "string"
+ "monthlyCostUSD": {
+ "type": "number",
+ "format": "double"
},
- "userId": {
- "type": "string"
+ "yearlyCostUSD": {
+ "type": "number",
+ "format": "double"
},
- "moderationGroupIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "name",
- "email"
- ],
- "type": "object",
- "additionalProperties": {}
- },
- "UpdateModeratorBody": {
- "properties": {
- "name": {
- "type": "string"
+ "maxMonthlyPageLoads": {
+ "type": "number",
+ "format": "double"
},
- "email": {
- "type": "string"
+ "maxMonthlyAPICredits": {
+ "type": "number",
+ "format": "double"
},
- "userId": {
- "type": "string"
+ "maxMonthlyComments": {
+ "type": "number",
+ "format": "double"
},
- "moderationGroupIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object",
- "additionalProperties": {}
- },
- "TenantHashTag": {
- "properties": {
- "_id": {
- "type": "string"
+ "maxConcurrentUsers": {
+ "type": "number",
+ "format": "double"
},
- "createdAt": {
- "type": "string",
- "format": "date-time"
+ "maxTenantUsers": {
+ "type": "number",
+ "format": "double"
},
- "tenantId": {
- "type": "string"
+ "maxSSOUsers": {
+ "type": "number",
+ "format": "double"
},
- "tag": {
- "type": "string"
+ "maxModerators": {
+ "type": "number",
+ "format": "double"
},
- "url": {
+ "maxDomains": {
+ "type": "number",
+ "format": "double"
+ },
+ "maxCustomCollectionSize": {
+ "type": "number",
+ "format": "double"
+ },
+ "hasDebranding": {
+ "type": "boolean"
+ },
+ "hasWhiteLabeling": {
+ "type": "boolean"
+ },
+ "forWhoText": {
"type": "string"
- }
- },
- "required": [
- "_id",
- "createdAt",
- "tenantId",
- "tag"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "GetHashTagsResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
},
- "hashTags": {
+ "featureTaglines": {
"items": {
- "$ref": "#/components/schemas/TenantHashTag"
+ "type": "string"
},
"type": "array"
- }
- },
- "required": [
- "status",
- "hashTags"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "CreateHashTagResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
},
- "hashTag": {
- "$ref": "#/components/schemas/TenantHashTag"
+ "hasFlexPricing": {
+ "type": "boolean"
+ },
+ "flexPageLoadCostCents": {
+ "type": "number",
+ "format": "double"
+ },
+ "flexPageLoadUnit": {
+ "type": "number",
+ "format": "double"
+ },
+ "flexCommentCostCents": {
+ "type": "number",
+ "format": "double"
+ },
+ "flexCommentUnit": {
+ "type": "number",
+ "format": "double"
+ },
+ "flexSSOUserCostCents": {
+ "type": "number",
+ "format": "double"
+ },
+ "flexSSOUserUnit": {
+ "type": "number",
+ "format": "double"
+ },
+ "flexAPICreditCostCents": {
+ "type": "number",
+ "format": "double"
+ },
+ "flexAPICreditUnit": {
+ "type": "number",
+ "format": "double"
+ },
+ "flexModeratorCostCents": {
+ "type": "number",
+ "format": "double"
+ },
+ "flexModeratorUnit": {
+ "type": "number",
+ "format": "double"
+ },
+ "flexAdminCostCents": {
+ "type": "number",
+ "format": "double"
+ },
+ "flexAdminUnit": {
+ "type": "number",
+ "format": "double"
+ },
+ "flexDomainCostCents": {
+ "type": "number",
+ "format": "double"
+ },
+ "flexDomainUnit": {
+ "type": "number",
+ "format": "double"
+ },
+ "flexMinimumCostCents": {
+ "type": "number",
+ "format": "double"
}
},
- "required": [
- "status",
- "hashTag"
- ],
"type": "object",
"additionalProperties": false
},
- "CreateHashTagBody": {
+ "APITenantDailyUsage": {
"properties": {
- "tenantId": {
+ "id": {
"type": "string"
},
- "tag": {
+ "tenantId": {
"type": "string"
},
- "url": {
- "type": "string"
+ "yearNumber": {
+ "type": "number",
+ "format": "double"
+ },
+ "monthNumber": {
+ "type": "number",
+ "format": "double"
+ },
+ "dayNumber": {
+ "type": "number",
+ "format": "double"
+ },
+ "commentFetchCount": {
+ "type": "number",
+ "format": "double"
+ },
+ "commentCreateCount": {
+ "type": "number",
+ "format": "double"
+ },
+ "conversationCreateCount": {
+ "type": "number",
+ "format": "double"
+ },
+ "voteCount": {
+ "type": "number",
+ "format": "double"
+ },
+ "accountCreatedCount": {
+ "type": "number",
+ "format": "double"
+ },
+ "userMentionSearch": {
+ "type": "number",
+ "format": "double"
+ },
+ "hashTagSearch": {
+ "type": "number",
+ "format": "double"
+ },
+ "gifSearchTrending": {
+ "type": "number",
+ "format": "double"
+ },
+ "gifSearch": {
+ "type": "number",
+ "format": "double"
+ },
+ "apiCreditsUsed": {
+ "type": "number",
+ "format": "double"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "billed": {
+ "type": "boolean"
+ },
+ "ignored": {
+ "type": "boolean"
+ },
+ "apiErrorCount": {
+ "type": "number",
+ "format": "double"
}
},
"required": [
- "tag"
+ "id",
+ "tenantId",
+ "yearNumber",
+ "monthNumber",
+ "dayNumber",
+ "commentFetchCount",
+ "commentCreateCount",
+ "conversationCreateCount",
+ "voteCount",
+ "accountCreatedCount",
+ "userMentionSearch",
+ "hashTagSearch",
+ "gifSearchTrending",
+ "gifSearch",
+ "apiCreditsUsed",
+ "createdAt",
+ "billed",
+ "ignored",
+ "apiErrorCount"
],
"type": "object",
"additionalProperties": false
},
- "BulkCreateHashTagsResponse": {
+ "GetTenantDailyUsagesResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "results": {
+ "tenantDailyUsages": {
"items": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/CreateHashTagResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APITenantDailyUsage"
},
"type": "array"
}
},
"required": [
"status",
- "results"
+ "tenantDailyUsages"
],
"type": "object",
"additionalProperties": false
},
- "BulkCreateHashTagsBody": {
+ "MetaItem": {
"properties": {
- "tenantId": {
+ "name": {
"type": "string"
},
- "tags": {
+ "values": {
"items": {
- "properties": {
- "url": {
- "type": "string"
- },
- "tag": {
- "type": "string"
- }
- },
- "required": [
- "tag"
- ],
- "type": "object"
+ "type": "string"
},
"type": "array"
}
},
"required": [
- "tags"
+ "name",
+ "values"
],
"type": "object",
"additionalProperties": false
},
- "UpdateHashTagResponse": {
+ "QuestionResult": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
- },
- "hashTag": {
- "$ref": "#/components/schemas/TenantHashTag"
+ "_id": {
+ "type": "string"
+ },
+ "tenantId": {
+ "type": "string"
+ },
+ "urlId": {
+ "type": "string"
+ },
+ "anonUserId": {
+ "type": "string"
+ },
+ "userId": {
+ "type": "string"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "value": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "commentId": {
+ "type": "string",
+ "nullable": true
+ },
+ "questionId": {
+ "type": "string"
+ },
+ "meta": {
+ "items": {
+ "$ref": "#/components/schemas/MetaItem"
+ },
+ "type": "array",
+ "nullable": true
+ },
+ "ipHash": {
+ "type": "string"
}
},
"required": [
- "status",
- "hashTag"
+ "_id",
+ "tenantId",
+ "urlId",
+ "anonUserId",
+ "userId",
+ "createdAt",
+ "value",
+ "questionId",
+ "ipHash"
],
"type": "object",
"additionalProperties": false
},
- "UpdateHashTagBody": {
+ "GetQuestionResultResponse": {
"properties": {
- "tenantId": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "tag": {
- "type": "string"
+ "questionResult": {
+ "$ref": "#/components/schemas/QuestionResult"
}
},
+ "required": [
+ "status",
+ "questionResult"
+ ],
"type": "object",
"additionalProperties": false
},
- "GetFeedPostsResponse": {
+ "GetQuestionResultsResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "feedPosts": {
+ "questionResults": {
"items": {
- "$ref": "#/components/schemas/FeedPost"
+ "$ref": "#/components/schemas/QuestionResult"
},
"type": "array"
}
},
"required": [
"status",
- "feedPosts"
+ "questionResults"
],
"type": "object",
"additionalProperties": false
},
- "CreateFeedPostsResponse": {
+ "CreateQuestionResultResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "feedPost": {
- "$ref": "#/components/schemas/FeedPost"
+ "questionResult": {
+ "$ref": "#/components/schemas/QuestionResult"
}
},
"required": [
"status",
- "feedPost"
+ "questionResult"
],
"type": "object",
"additionalProperties": false
},
- "Record_string.unknown_": {
- "properties": {},
- "additionalProperties": {},
- "type": "object",
- "description": "Construct a type with a set of properties K of type T"
- },
- "Record_string.Record_string.string__": {
- "properties": {},
- "additionalProperties": {
- "$ref": "#/components/schemas/Record_string.string_"
- },
- "type": "object",
- "description": "Construct a type with a set of properties K of type T"
- },
- "EmailTemplateDefinition": {
+ "CreateQuestionResultBody": {
"properties": {
- "emailTemplateId": {
+ "urlId": {
"type": "string"
},
- "defaultTestData": {
- "$ref": "#/components/schemas/Record_string.unknown_"
+ "value": {
+ "type": "number",
+ "format": "double"
},
- "defaultTranslationsByLocale": {
- "$ref": "#/components/schemas/Record_string.Record_string.string__"
+ "questionId": {
+ "type": "string"
},
- "defaultEJS": {
+ "anonUserId": {
+ "type": "string"
+ },
+ "userId": {
+ "type": "string"
+ },
+ "commentId": {
"type": "string"
+ },
+ "meta": {
+ "items": {
+ "$ref": "#/components/schemas/MetaItem"
+ },
+ "type": "array",
+ "nullable": true
}
},
"required": [
- "emailTemplateId",
- "defaultTestData",
- "defaultTranslationsByLocale",
- "defaultEJS"
+ "urlId",
+ "value",
+ "questionId"
],
"type": "object",
- "additionalProperties": false
+ "additionalProperties": {}
},
- "GetEmailTemplateDefinitionsResponse": {
+ "UpdateQuestionResultBody": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "urlId": {
+ "type": "string"
},
- "definitions": {
+ "anonUserId": {
+ "type": "string"
+ },
+ "userId": {
+ "type": "string"
+ },
+ "value": {
+ "type": "number",
+ "format": "double"
+ },
+ "commentId": {
+ "type": "string"
+ },
+ "questionId": {
+ "type": "string"
+ },
+ "meta": {
"items": {
- "$ref": "#/components/schemas/EmailTemplateDefinition"
+ "$ref": "#/components/schemas/MetaItem"
},
- "type": "array"
+ "type": "array",
+ "nullable": true
+ }
+ },
+ "type": "object",
+ "additionalProperties": {}
+ },
+ "Record_number.number_": {
+ "properties": {},
+ "additionalProperties": {
+ "type": "number",
+ "format": "double"
+ },
+ "type": "object",
+ "description": "Construct a type with a set of properties K of type T"
+ },
+ "QuestionDatum": {
+ "properties": {
+ "v": {
+ "$ref": "#/components/schemas/Record_number.number_"
+ },
+ "total": {
+ "type": "integer",
+ "format": "int64"
}
},
"required": [
- "status",
- "definitions"
+ "v",
+ "total"
],
"type": "object",
"additionalProperties": false
},
- "EmailTemplateRenderErrorResponse": {
+ "Record_string.QuestionDatum_": {
+ "properties": {},
+ "additionalProperties": {
+ "$ref": "#/components/schemas/QuestionDatum"
+ },
+ "type": "object",
+ "description": "Construct a type with a set of properties K of type T"
+ },
+ "QuestionResultAggregationOverall": {
"properties": {
- "id": {
- "type": "string"
+ "dataByDateBucket": {
+ "$ref": "#/components/schemas/Record_string.QuestionDatum_"
},
- "tenantId": {
- "type": "string"
+ "dataByUrlId": {
+ "$ref": "#/components/schemas/Record_string.QuestionDatum_"
},
- "customTemplateId": {
- "type": "string"
+ "countsByValue": {
+ "$ref": "#/components/schemas/Int32Map"
},
- "error": {
- "type": "string"
+ "total": {
+ "type": "integer",
+ "format": "int64"
},
- "count": {
+ "average": {
"type": "number",
"format": "double"
},
"createdAt": {
"type": "string",
"format": "date-time"
- },
- "lastOccurredAt": {
- "type": "string",
- "format": "date-time"
}
},
"required": [
- "id",
- "tenantId",
- "customTemplateId",
- "error",
- "count",
- "createdAt",
- "lastOccurredAt"
+ "total",
+ "createdAt"
],
"type": "object",
"additionalProperties": false
},
- "GetEmailTemplateRenderErrorsResponse": {
+ "AggregateQuestionResultsResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "renderErrors": {
- "items": {
- "$ref": "#/components/schemas/EmailTemplateRenderErrorResponse"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/components/schemas/QuestionResultAggregationOverall"
}
},
"required": [
"status",
- "renderErrors"
+ "data"
],
"type": "object",
"additionalProperties": false
},
- "CustomEmailTemplate": {
- "properties": {
- "_id": {
- "type": "string"
- },
- "tenantId": {
- "type": "string"
- },
- "emailTemplateId": {
- "type": "string"
- },
- "displayName": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "nullable": true
- },
- "updatedByUserId": {
- "type": "string",
- "nullable": true
- },
- "domain": {
- "type": "string",
- "nullable": true
- },
- "ejs": {
- "type": "string"
- },
- "translationOverridesByLocale": {
- "$ref": "#/components/schemas/Record_string.Record_string.string__"
- },
- "testData": {}
+ "AggregateTimeBucket": {
+ "type": "string",
+ "enum": [
+ "day",
+ "month",
+ "year"
+ ]
+ },
+ "Record_string.QuestionResultAggregationOverall_": {
+ "properties": {},
+ "additionalProperties": {
+ "$ref": "#/components/schemas/QuestionResultAggregationOverall"
},
- "required": [
- "_id",
- "tenantId",
- "emailTemplateId",
- "displayName",
- "createdAt",
- "updatedAt",
- "updatedByUserId",
- "ejs",
- "translationOverridesByLocale",
- "testData"
- ],
"type": "object",
- "additionalProperties": false
+ "description": "Construct a type with a set of properties K of type T"
},
- "GetEmailTemplateResponse": {
+ "BulkAggregateQuestionResultsResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "emailTemplate": {
- "$ref": "#/components/schemas/CustomEmailTemplate"
+ "data": {
+ "$ref": "#/components/schemas/Record_string.QuestionResultAggregationOverall_"
}
},
"required": [
"status",
- "emailTemplate"
+ "data"
],
"type": "object",
"additionalProperties": false
},
- "GetEmailTemplatesResponse": {
+ "BulkAggregateQuestionItem": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "aggId": {
+ "type": "string"
},
- "emailTemplates": {
+ "questionId": {
+ "type": "string"
+ },
+ "questionIds": {
"items": {
- "$ref": "#/components/schemas/CustomEmailTemplate"
+ "type": "string"
},
"type": "array"
+ },
+ "urlId": {
+ "type": "string"
+ },
+ "timeBucket": {
+ "$ref": "#/components/schemas/AggregateTimeBucket"
+ },
+ "startDate": {
+ "type": "string",
+ "format": "date-time"
}
},
"required": [
- "status",
- "emailTemplates"
+ "aggId"
],
"type": "object",
"additionalProperties": false
},
- "CreateEmailTemplateResponse": {
+ "BulkAggregateQuestionResultsRequest": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
- },
- "emailTemplate": {
- "$ref": "#/components/schemas/CustomEmailTemplate"
+ "aggregations": {
+ "items": {
+ "$ref": "#/components/schemas/BulkAggregateQuestionItem"
+ },
+ "type": "array"
}
},
"required": [
- "status",
- "emailTemplate"
+ "aggregations"
],
"type": "object",
"additionalProperties": false
},
- "CreateEmailTemplateBody": {
+ "CommentLogType": {
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55
+ ],
+ "type": "integer"
+ },
+ "RepeatCommentHandlingAction": {
+ "enum": [
+ 0,
+ 1,
+ 2
+ ],
+ "type": "integer"
+ },
+ "RepeatCommentCheckIgnoredReason": {
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "integer"
+ },
+ "CommentLogData": {
"properties": {
- "emailTemplateId": {
- "type": "string"
+ "clearContent": {
+ "type": "boolean"
},
- "displayName": {
+ "isDeletedUser": {
+ "type": "boolean"
+ },
+ "phrase": {
"type": "string"
},
- "ejs": {
+ "badWord": {
"type": "string"
},
- "domain": {
+ "word": {
"type": "string"
},
- "translationOverridesByLocale": {
- "$ref": "#/components/schemas/Record_string.Record_string.string__"
+ "locale": {
+ "type": "string"
},
- "testData": {
- "$ref": "#/components/schemas/Record_string.unknown_"
- }
- },
- "required": [
- "emailTemplateId",
- "displayName",
- "ejs"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "UpdateEmailTemplateBody": {
- "properties": {
- "emailTemplateId": {
+ "tenantBadgeId": {
"type": "string"
},
- "displayName": {
+ "badgeId": {
"type": "string"
},
- "ejs": {
+ "wasLoggedIn": {
+ "type": "boolean"
+ },
+ "foundUser": {
+ "type": "boolean"
+ },
+ "verified": {
+ "type": "boolean"
+ },
+ "engine": {
"type": "string"
},
- "domain": {
+ "engineResponse": {
"type": "string"
},
- "translationOverridesByLocale": {
- "$ref": "#/components/schemas/Record_string.Record_string.string__"
+ "engineTokens": {
+ "type": "number",
+ "format": "double"
},
- "testData": {
- "$ref": "#/components/schemas/Record_string.unknown_"
- }
- },
- "type": "object",
- "additionalProperties": false
- },
- "RenderEmailTemplateResponse": {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "trustFactor": {
+ "type": "number",
+ "format": "double"
},
- "html": {
- "type": "string"
- }
- },
- "required": [
- "status",
- "html"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "RenderEmailTemplateBody": {
- "properties": {
- "emailTemplateId": {
+ "source": {
"type": "string"
},
- "ejs": {
+ "rule": {
+ "$ref": "#/components/schemas/SpamRule"
+ },
+ "userId": {
"type": "string"
},
- "testData": {
- "$ref": "#/components/schemas/Record_string.unknown_"
+ "subscribers": {
+ "type": "number",
+ "format": "double"
},
- "translationOverridesByLocale": {
- "$ref": "#/components/schemas/Record_string.Record_string.string__"
- }
- },
- "required": [
- "emailTemplateId",
- "ejs"
- ],
- "type": "object",
- "additionalProperties": false
- },
- "AddDomainConfigParams": {
- "properties": {
- "domain": {
- "type": "string"
+ "notificationCount": {
+ "type": "number",
+ "format": "double"
},
- "emailFromName": {
+ "votesBefore": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "votesUpBefore": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "votesDownBefore": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "votesAfter": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "votesUpAfter": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "votesDownAfter": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "repeatAction": {
+ "$ref": "#/components/schemas/RepeatCommentHandlingAction"
+ },
+ "reason": {
+ "$ref": "#/components/schemas/RepeatCommentCheckIgnoredReason"
+ },
+ "otherData": {},
+ "spamBefore": {
+ "type": "boolean"
+ },
+ "spamAfter": {
+ "type": "boolean"
+ },
+ "permanentFlag": {
+ "type": "string",
+ "enum": [
+ "permanent"
+ ],
+ "nullable": false
+ },
+ "approvedBefore": {
+ "type": "boolean"
+ },
+ "approvedAfter": {
+ "type": "boolean"
+ },
+ "reviewedBefore": {
+ "type": "boolean"
+ },
+ "reviewedAfter": {
+ "type": "boolean"
+ },
+ "textBefore": {
"type": "string"
},
- "emailFromEmail": {
+ "textAfter": {
"type": "string"
},
- "logoSrc": {
+ "expireBefore": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ },
+ "expireAfter": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ },
+ "flagCountBefore": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "trustFactorBefore": {
+ "type": "number",
+ "format": "double"
+ },
+ "trustFactorAfter": {
+ "type": "number",
+ "format": "double"
+ },
+ "referencedCommentId": {
"type": "string"
},
- "logoSrc100px": {
+ "invalidLocale": {
"type": "string"
},
- "footerUnsubscribeURL": {
+ "detectedLocale": {
"type": "string"
},
- "emailHeaders": {
- "$ref": "#/components/schemas/Record_string.string_"
+ "detectedLanguage": {
+ "type": "string"
}
},
- "required": [
- "domain"
- ],
"type": "object",
"additionalProperties": false
},
- "UpdateDomainConfigParams": {
+ "CommentLogEntry": {
"properties": {
- "domain": {
- "type": "string"
- },
- "emailFromName": {
- "type": "string"
- },
- "emailFromEmail": {
- "type": "string"
- },
- "logoSrc": {
- "type": "string"
- },
- "logoSrc100px": {
- "type": "string"
+ "d": {
+ "type": "string",
+ "format": "date-time"
},
- "footerUnsubscribeURL": {
- "type": "string"
+ "t": {
+ "$ref": "#/components/schemas/CommentLogType"
},
- "emailHeaders": {
- "$ref": "#/components/schemas/Record_string.string_"
+ "da": {
+ "$ref": "#/components/schemas/CommentLogData"
}
},
"required": [
- "domain"
+ "d",
+ "t"
],
"type": "object",
"additionalProperties": false
},
- "PatchDomainConfigParams": {
+ "FComment": {
"properties": {
- "domain": {
- "type": "string"
- },
- "emailFromName": {
+ "_id": {
"type": "string"
},
- "emailFromEmail": {
+ "tenantId": {
"type": "string"
},
- "logoSrc": {
+ "urlId": {
"type": "string"
},
- "logoSrc100px": {
+ "urlIdRaw": {
"type": "string"
},
- "footerUnsubscribeURL": {
+ "url": {
"type": "string"
},
- "emailHeaders": {
- "$ref": "#/components/schemas/Record_string.string_"
- }
- },
- "type": "object",
- "additionalProperties": false
- },
- "APICommentBase": {
- "properties": {
- "_id": {
- "type": "string"
+ "pageTitle": {
+ "type": "string",
+ "nullable": true
},
- "aiDeterminedSpam": {
- "type": "boolean"
+ "userId": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/UserId"
+ }
+ ],
+ "nullable": true
},
"anonUserId": {
"type": "string",
"nullable": true
},
- "approved": {
- "type": "boolean"
- },
- "avatarSrc": {
+ "commenterEmail": {
"type": "string",
"nullable": true
},
- "badges": {
- "items": {
- "$ref": "#/components/schemas/CommentUserBadgeInfo"
- },
- "type": "array",
+ "commenterName": {
+ "type": "string"
+ },
+ "commenterLink": {
+ "type": "string",
"nullable": true
},
"comment": {
@@ -8541,88 +8830,134 @@
"commentHTML": {
"type": "string"
},
- "commenterEmail": {
- "type": "string",
- "nullable": true
- },
- "commenterLink": {
+ "parentId": {
"type": "string",
"nullable": true
},
- "commenterName": {
- "type": "string"
- },
"date": {
"type": "string",
"format": "date-time",
"nullable": true
},
- "displayLabel": {
+ "localDateString": {
"type": "string",
"nullable": true
},
- "domain": {
- "allOf": [
- {
- "$ref": "#/components/schemas/FDomain"
- }
- ],
+ "localDateHours": {
+ "type": "integer",
+ "format": "int32",
"nullable": true
},
- "externalId": {
- "type": "string"
- },
- "externalParentId": {
- "type": "string",
+ "votes": {
+ "type": "integer",
+ "format": "int32",
"nullable": true
},
- "expireAt": {
- "type": "string",
- "format": "date-time",
+ "votesUp": {
+ "type": "integer",
+ "format": "int32",
"nullable": true
},
- "feedbackIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "flagCount": {
+ "votesDown": {
"type": "integer",
"format": "int32",
"nullable": true
},
- "fromProductId": {
- "type": "integer",
- "format": "int32"
+ "expireAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
},
- "hasCode": {
+ "verified": {
+ "type": "boolean"
+ },
+ "verifiedDate": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ },
+ "verificationId": {
+ "type": "string",
+ "nullable": true
+ },
+ "notificationSentForParent": {
+ "type": "boolean"
+ },
+ "notificationSentForParentTenant": {
+ "type": "boolean"
+ },
+ "reviewed": {
+ "type": "boolean"
+ },
+ "imported": {
+ "type": "boolean"
+ },
+ "externalId": {
+ "type": "string"
+ },
+ "externalParentId": {
+ "type": "string",
+ "nullable": true
+ },
+ "avatarSrc": {
+ "type": "string",
+ "nullable": true
+ },
+ "isSpam": {
+ "type": "boolean"
+ },
+ "permNotSpam": {
+ "type": "boolean"
+ },
+ "aiDeterminedSpam": {
"type": "boolean"
},
"hasImages": {
"type": "boolean"
},
+ "pageNumber": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "pageNumberOF": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "pageNumberNF": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
"hasLinks": {
"type": "boolean"
},
- "hashTags": {
- "items": {
- "$ref": "#/components/schemas/CommentUserHashTagInfo"
- },
- "type": "array"
- },
- "isByAdmin": {
+ "hasCode": {
"type": "boolean"
},
- "isByModerator": {
+ "approved": {
"type": "boolean"
},
+ "locale": {
+ "type": "string",
+ "nullable": true
+ },
"isDeleted": {
"type": "boolean"
},
"isDeletedUser": {
"type": "boolean"
},
+ "isBannedUser": {
+ "type": "boolean"
+ },
+ "isByAdmin": {
+ "type": "boolean"
+ },
+ "isByModerator": {
+ "type": "boolean"
+ },
"isPinned": {
"type": "boolean",
"nullable": true
@@ -8631,30 +8966,29 @@
"type": "boolean",
"nullable": true
},
- "isSpam": {
- "type": "boolean"
- },
- "localDateHours": {
+ "flagCount": {
"type": "integer",
"format": "int32",
"nullable": true
},
- "localDateString": {
- "type": "string",
+ "rating": {
+ "type": "number",
+ "format": "double",
"nullable": true
},
- "locale": {
+ "displayLabel": {
"type": "string",
"nullable": true
},
- "mentions": {
- "items": {
- "$ref": "#/components/schemas/CommentUserMentionInfo"
- },
- "type": "array"
+ "fromProductId": {
+ "type": "integer",
+ "format": "int32"
},
"meta": {
"properties": {
+ "wpId": {
+ "type": "string"
+ },
"wpUserId": {
"type": "string"
},
@@ -8666,956 +9000,6140 @@
"type": "object",
"nullable": true
},
- "moderationGroupIds": {
+ "ipHash": {
+ "type": "string"
+ },
+ "mentions": {
"items": {
- "type": "string"
+ "$ref": "#/components/schemas/CommentUserMentionInfo"
},
- "type": "array",
- "nullable": true
- },
- "notificationSentForParent": {
- "type": "boolean"
+ "type": "array"
},
- "notificationSentForParentTenant": {
- "type": "boolean"
+ "hashTags": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserHashTagInfo"
+ },
+ "type": "array"
},
- "pageTitle": {
- "type": "string",
+ "badges": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserBadgeInfo"
+ },
+ "type": "array",
"nullable": true
},
- "parentId": {
- "type": "string",
+ "domain": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/FDomain"
+ }
+ ],
"nullable": true
},
- "rating": {
- "type": "number",
- "format": "double",
+ "veteranBadgeProcessed": {
+ "type": "string"
+ },
+ "moderationGroupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
"nullable": true
},
- "reviewed": {
+ "didProcessBadges": {
"type": "boolean"
},
- "tenantId": {
- "type": "string"
+ "fromOfflineRestore": {
+ "type": "boolean"
},
- "url": {
+ "autoplayJobId": {
"type": "string"
},
- "urlId": {
- "type": "string"
+ "autoplayDelayMS": {
+ "type": "integer",
+ "format": "int64"
},
- "urlIdRaw": {
- "type": "string"
+ "feedbackIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "userId": {
- "allOf": [
- {
- "$ref": "#/components/schemas/UserId"
- }
- ],
+ "logs": {
+ "items": {
+ "$ref": "#/components/schemas/CommentLogEntry"
+ },
+ "type": "array",
"nullable": true
},
- "verified": {
- "type": "boolean"
- },
- "verifiedDate": {
- "type": "string",
- "format": "date-time",
+ "groupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
"nullable": true
},
- "votes": {
+ "viewCount": {
"type": "integer",
- "format": "int32",
+ "format": "int64",
"nullable": true
},
- "votesDown": {
- "type": "integer",
- "format": "int32",
- "nullable": true
+ "requiresVerification": {
+ "type": "boolean"
},
- "votesUp": {
- "type": "integer",
- "format": "int32",
- "nullable": true
+ "editKey": {
+ "type": "string"
+ },
+ "tosAcceptedAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "botId": {
+ "type": "string"
}
},
"required": [
"_id",
- "approved",
+ "tenantId",
+ "urlId",
+ "url",
+ "commenterName",
"comment",
"commentHTML",
- "commenterName",
"date",
- "locale",
- "tenantId",
- "url",
- "urlId",
- "verified"
+ "verified",
+ "approved",
+ "locale"
],
"type": "object",
"additionalProperties": false
},
- "APIComment": {
- "allOf": [
- {
- "$ref": "#/components/schemas/APICommentBase"
+ "FindCommentsByRangeItem": {
+ "properties": {
+ "comment": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/FComment"
+ }
+ ],
+ "nullable": true
},
- {
- "properties": {
- "date": {
- "type": "number",
- "format": "double",
- "nullable": true
- }
- },
- "required": [
- "date"
- ],
- "type": "object"
+ "result": {
+ "$ref": "#/components/schemas/QuestionResult"
}
- ]
+ },
+ "required": [
+ "comment",
+ "result"
+ ],
+ "type": "object",
+ "additionalProperties": false
},
- "APIGetCommentResponse": {
+ "FindCommentsByRangeResponse": {
"properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
+ "results": {
+ "items": {
+ "$ref": "#/components/schemas/FindCommentsByRangeItem"
+ },
+ "type": "array"
},
- "comment": {
- "$ref": "#/components/schemas/APIComment"
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
}
},
"required": [
- "status",
- "comment"
+ "results",
+ "createdAt"
],
"type": "object",
"additionalProperties": false
},
- "APIGetCommentsResponse": {
+ "CombineQuestionResultsWithCommentsResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "comments": {
- "items": {
- "$ref": "#/components/schemas/APIComment"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/components/schemas/FindCommentsByRangeResponse"
}
},
"required": [
"status",
- "comments"
+ "data"
],
"type": "object",
"additionalProperties": false
},
- "UpdatableCommentParams": {
+ "QuestionConfig": {
"properties": {
- "urlId": {
+ "_id": {
"type": "string"
},
- "urlIdRaw": {
+ "tenantId": {
"type": "string"
},
- "url": {
+ "name": {
"type": "string"
},
- "pageTitle": {
- "type": "string",
- "nullable": true
- },
- "userId": {
- "allOf": [
- {
- "$ref": "#/components/schemas/UserId"
- }
- ],
- "nullable": true
- },
- "commenterEmail": {
- "type": "string",
- "nullable": true
- },
- "commenterName": {
+ "question": {
"type": "string"
},
- "commenterLink": {
- "type": "string",
- "nullable": true
- },
- "comment": {
+ "summaryLabel": {
"type": "string"
},
- "commentHTML": {
+ "helpText": {
"type": "string"
},
- "parentId": {
- "type": "string",
- "nullable": true
- },
- "date": {
- "type": "number",
- "format": "double",
- "nullable": true
- },
- "localDateString": {
- "type": "string",
- "nullable": true
- },
- "localDateHours": {
- "type": "integer",
- "format": "int32",
- "nullable": true
- },
- "votes": {
- "type": "integer",
- "format": "int32",
- "nullable": true
- },
- "votesUp": {
- "type": "integer",
- "format": "int32",
- "nullable": true
- },
- "votesDown": {
- "type": "integer",
- "format": "int32",
- "nullable": true
- },
- "expireAt": {
- "type": "string",
- "format": "date-time",
- "nullable": true
- },
- "verified": {
- "type": "boolean"
- },
- "verifiedDate": {
+ "createdAt": {
"type": "string",
- "format": "date-time",
- "nullable": true
- },
- "notificationSentForParent": {
- "type": "boolean"
- },
- "notificationSentForParentTenant": {
- "type": "boolean"
- },
- "reviewed": {
- "type": "boolean"
+ "format": "date-time"
},
- "externalId": {
+ "createdBy": {
"type": "string"
},
- "externalParentId": {
- "type": "string",
- "nullable": true
+ "usedCount": {
+ "type": "number",
+ "format": "double"
},
- "avatarSrc": {
+ "lastUsed": {
"type": "string",
- "nullable": true
- },
- "isSpam": {
- "type": "boolean"
- },
- "approved": {
- "type": "boolean"
- },
- "isDeleted": {
- "type": "boolean"
- },
- "isDeletedUser": {
- "type": "boolean"
+ "format": "date-time"
},
- "isByAdmin": {
- "type": "boolean"
+ "type": {
+ "type": "string"
},
- "isByModerator": {
- "type": "boolean"
+ "numStars": {
+ "type": "number",
+ "format": "double"
},
- "isPinned": {
- "type": "boolean",
- "nullable": true
+ "min": {
+ "type": "number",
+ "format": "double"
},
- "isLocked": {
- "type": "boolean",
- "nullable": true
+ "max": {
+ "type": "number",
+ "format": "double"
},
- "flagCount": {
- "type": "integer",
- "format": "int32",
- "nullable": true
+ "defaultValue": {
+ "type": "number",
+ "format": "double"
},
- "displayLabel": {
- "type": "string",
- "nullable": true
+ "labelNegative": {
+ "type": "string"
},
- "meta": {
- "properties": {
- "wpUserId": {
- "type": "string"
- },
- "wpPostId": {
- "type": "string"
- }
- },
- "additionalProperties": {},
- "type": "object",
- "nullable": true
+ "labelPositive": {
+ "type": "string"
},
- "moderationGroupIds": {
+ "customOptions": {
"items": {
- "type": "string"
+ "properties": {
+ "imageSrc": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "imageSrc",
+ "name"
+ ],
+ "type": "object"
},
- "type": "array",
- "nullable": true
+ "type": "array"
},
- "feedbackIds": {
+ "subQuestionIds": {
"items": {
"type": "string"
},
"type": "array"
+ },
+ "alwaysShowSubQuestions": {
+ "type": "boolean"
+ },
+ "reportingOrder": {
+ "type": "number",
+ "format": "double"
}
},
- "type": "object",
- "additionalProperties": false
- },
- "DeleteCommentAction": {
- "type": "string",
- "enum": [
- "already-deleted",
- "hard-removed",
- "anonymized"
- ]
- },
- "DeleteCommentResult": {
- "properties": {
- "action": {
- "$ref": "#/components/schemas/DeleteCommentAction"
- },
- "status": {
+ "required": [
+ "_id",
+ "tenantId",
+ "name",
+ "question",
+ "helpText",
+ "createdAt",
+ "createdBy",
+ "usedCount",
+ "lastUsed",
+ "type",
+ "numStars",
+ "min",
+ "max",
+ "defaultValue",
+ "labelNegative",
+ "labelPositive",
+ "customOptions",
+ "subQuestionIds",
+ "alwaysShowSubQuestions",
+ "reportingOrder"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "GetQuestionConfigResponse": {
+ "properties": {
+ "status": {
"$ref": "#/components/schemas/APIStatus"
+ },
+ "questionConfig": {
+ "$ref": "#/components/schemas/QuestionConfig"
}
},
"required": [
- "action",
- "status"
+ "status",
+ "questionConfig"
],
- "type": "object"
+ "type": "object",
+ "additionalProperties": false
},
- "SaveCommentResponse": {
+ "GetQuestionConfigsResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "comment": {
- "$ref": "#/components/schemas/FComment"
- },
- "user": {
- "allOf": [
- {
- "$ref": "#/components/schemas/UserSessionInfo"
- }
- ],
- "nullable": true
- },
- "moduleData": {
- "$ref": "#/components/schemas/Record_string.any_"
+ "questionConfigs": {
+ "items": {
+ "$ref": "#/components/schemas/QuestionConfig"
+ },
+ "type": "array"
}
},
"required": [
"status",
- "comment",
- "user"
+ "questionConfigs"
],
"type": "object",
"additionalProperties": false
},
- "CreateCommentParams": {
+ "CreateQuestionConfigResponse": {
"properties": {
- "date": {
- "type": "integer",
- "format": "int64"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "localDateString": {
+ "questionConfig": {
+ "$ref": "#/components/schemas/QuestionConfig"
+ }
+ },
+ "required": [
+ "status",
+ "questionConfig"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "CreateQuestionConfigBody": {
+ "properties": {
+ "name": {
"type": "string"
},
- "localDateHours": {
- "type": "integer",
- "format": "int32"
+ "question": {
+ "type": "string"
},
- "commenterName": {
+ "helpText": {
"type": "string"
},
- "commenterEmail": {
- "type": "string",
- "nullable": true
+ "type": {
+ "type": "string"
},
- "commenterLink": {
- "type": "string",
- "nullable": true
+ "numStars": {
+ "type": "number",
+ "format": "double"
},
- "comment": {
- "type": "string"
+ "min": {
+ "type": "number",
+ "format": "double"
},
- "productId": {
- "type": "integer",
- "format": "int32"
+ "max": {
+ "type": "number",
+ "format": "double"
},
- "userId": {
- "type": "string",
- "nullable": true
+ "defaultValue": {
+ "type": "number",
+ "format": "double"
},
- "avatarSrc": {
- "type": "string",
- "nullable": true
+ "labelNegative": {
+ "type": "string"
},
- "parentId": {
- "type": "string",
- "nullable": true
+ "labelPositive": {
+ "type": "string"
},
- "mentions": {
+ "customOptions": {
"items": {
- "$ref": "#/components/schemas/CommentUserMentionInfo"
+ "properties": {
+ "imageSrc": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "imageSrc",
+ "name"
+ ],
+ "type": "object"
},
"type": "array"
},
- "hashTags": {
+ "subQuestionIds": {
"items": {
- "$ref": "#/components/schemas/CommentUserHashTagInfo"
+ "type": "string"
},
"type": "array"
},
- "pageTitle": {
+ "alwaysShowSubQuestions": {
+ "type": "boolean"
+ },
+ "reportingOrder": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "required": [
+ "name",
+ "question",
+ "type",
+ "reportingOrder"
+ ],
+ "type": "object",
+ "additionalProperties": {}
+ },
+ "UpdateQuestionConfigBody": {
+ "properties": {
+ "name": {
"type": "string"
},
- "isFromMyAccountPage": {
- "type": "boolean"
+ "question": {
+ "type": "string"
},
- "url": {
+ "helpText": {
"type": "string"
},
- "urlId": {
+ "type": {
"type": "string"
},
- "meta": {
- "additionalProperties": false,
- "type": "object"
+ "numStars": {
+ "type": "number",
+ "format": "double"
},
- "moderationGroupIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "min": {
+ "type": "number",
+ "format": "double"
},
- "rating": {
+ "max": {
"type": "number",
"format": "double"
},
- "fromOfflineRestore": {
- "type": "boolean"
+ "defaultValue": {
+ "type": "number",
+ "format": "double"
},
- "autoplayDelayMS": {
- "type": "integer",
- "format": "int64"
+ "labelNegative": {
+ "type": "string"
},
- "feedbackIds": {
+ "labelPositive": {
+ "type": "string"
+ },
+ "customOptions": {
"items": {
- "type": "string"
+ "properties": {
+ "imageSrc": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "imageSrc",
+ "name"
+ ],
+ "type": "object"
},
"type": "array"
},
- "questionValues": {
- "$ref": "#/components/schemas/Record_string.string-or-number_"
- },
- "tos": {
- "type": "boolean"
+ "subQuestionIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "approved": {
+ "alwaysShowSubQuestions": {
"type": "boolean"
},
- "domain": {
+ "reportingOrder": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "type": "object",
+ "additionalProperties": {}
+ },
+ "PendingCommentToSyncOutbound": {
+ "properties": {
+ "_id": {
"type": "string"
},
- "ip": {
+ "commentId": {
"type": "string"
},
- "isPinned": {
- "type": "boolean"
+ "comment": {
+ "$ref": "#/components/schemas/FComment"
},
- "locale": {
+ "externalId": {
"type": "string",
- "description": "Example: en_us"
+ "nullable": true
},
- "reviewed": {
- "type": "boolean"
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
},
- "verified": {
- "type": "boolean"
+ "tenantId": {
+ "type": "string"
},
- "votes": {
- "type": "integer",
- "format": "int32"
+ "attemptCount": {
+ "type": "number",
+ "format": "double"
},
- "votesDown": {
- "type": "integer",
- "format": "int32"
+ "nextAttemptAt": {
+ "type": "string",
+ "format": "date-time"
},
- "votesUp": {
- "type": "integer",
- "format": "int32"
+ "eventType": {
+ "type": "number",
+ "format": "double"
+ },
+ "type": {
+ "type": "number",
+ "format": "double"
+ },
+ "domain": {
+ "type": "string"
+ },
+ "lastError": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "webhookId": {
+ "type": "string"
}
},
"required": [
- "commenterName",
- "comment",
- "url",
- "urlId",
- "locale"
+ "_id",
+ "commentId",
+ "externalId",
+ "createdAt",
+ "tenantId",
+ "attemptCount",
+ "nextAttemptAt",
+ "eventType",
+ "type",
+ "domain",
+ "lastError"
],
"type": "object",
"additionalProperties": false
},
- "FlagCommentResponse": {
+ "GetPendingWebhookEventsResponse": {
"properties": {
- "statusCode": {
- "type": "integer",
- "format": "int32"
- },
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "code": {
- "type": "string"
- },
- "reason": {
- "type": "string"
- },
- "wasUnapproved": {
- "type": "boolean"
+ "pendingWebhookEvents": {
+ "items": {
+ "$ref": "#/components/schemas/PendingCommentToSyncOutbound"
+ },
+ "type": "array"
}
},
"required": [
- "status"
+ "status",
+ "pendingWebhookEvents"
],
"type": "object",
"additionalProperties": false
},
- "BlockFromCommentParams": {
+ "GetPendingWebhookEventCountResponse": {
"properties": {
- "commentIdsToCheck": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "count": {
+ "type": "number",
+ "format": "double"
}
},
+ "required": [
+ "status",
+ "count"
+ ],
"type": "object",
"additionalProperties": false
},
- "UnBlockFromCommentParams": {
+ "GetNotificationsResponse": {
"properties": {
- "commentIdsToCheck": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "notifications": {
"items": {
- "type": "string"
+ "$ref": "#/components/schemas/UserNotification"
},
"type": "array"
}
},
+ "required": [
+ "status",
+ "notifications"
+ ],
"type": "object",
"additionalProperties": false
},
- "APIAuditLog": {
+ "GetNotificationCountResponse": {
"properties": {
- "_id": {
- "type": "string"
- },
- "userId": {
- "type": "string"
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "username": {
- "type": "string"
+ "count": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "required": [
+ "status",
+ "count"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "UpdateNotificationBody": {
+ "properties": {
+ "viewed": {
+ "type": "boolean"
},
- "resourceName": {
+ "optedOut": {
+ "type": "boolean"
+ }
+ },
+ "type": "object",
+ "additionalProperties": {}
+ },
+ "UserNotificationCount": {
+ "properties": {
+ "_id": {
"type": "string"
},
- "crudType": {
- "type": "string",
- "enum": [
- "c",
- "r",
- "u",
- "d",
- "login"
- ]
- },
- "from": {
- "type": "string",
- "enum": [
- "ui",
- "api",
- "cron"
- ]
- },
- "url": {
- "type": "string",
- "nullable": true
- },
- "ip": {
- "type": "string",
- "nullable": true
+ "count": {
+ "type": "number",
+ "format": "double"
},
- "when": {
+ "createdAt": {
"type": "string",
"format": "date-time"
},
- "description": {
- "type": "string"
- },
- "serverStartDate": {
+ "expireAt": {
"type": "string",
"format": "date-time"
- },
- "objectDetails": {
- "allOf": [
- {
- "$ref": "#/components/schemas/Record_string.any_"
- }
- ],
- "nullable": true
}
},
"required": [
"_id",
- "resourceName",
- "crudType"
+ "count",
+ "createdAt",
+ "expireAt"
],
"type": "object",
"additionalProperties": false
},
- "GetAuditLogsResponse": {
+ "GetCachedNotificationCountResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "auditLogs": {
- "items": {
- "$ref": "#/components/schemas/APIAuditLog"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/components/schemas/UserNotificationCount"
}
},
"required": [
"status",
- "auditLogs"
+ "data"
],
"type": "object",
"additionalProperties": false
},
- "SORT_DIR": {
- "type": "string",
- "enum": [
- "ASC",
- "DESC"
- ]
- },
- "DistinctAccumulator": {
- "$ref": "#/components/schemas/Record_string.number_"
- },
- "GroupValues": {
- "$ref": "#/components/schemas/Record_string.string_"
- },
- "AggregationValue": {
+ "Moderator": {
"properties": {
- "groups": {
- "$ref": "#/components/schemas/GroupValues"
+ "_id": {
+ "type": "string"
},
- "stringValue": {
+ "tenantId": {
"type": "string"
},
- "numericValue": {
+ "name": {
+ "type": "string",
+ "nullable": true
+ },
+ "userId": {
+ "type": "string",
+ "nullable": true
+ },
+ "acceptedInvite": {
+ "type": "boolean"
+ },
+ "email": {
+ "type": "string",
+ "nullable": true
+ },
+ "markReviewedCount": {
"type": "number",
"format": "double"
},
- "distinctCount": {
- "type": "integer",
- "format": "int64"
+ "deletedCount": {
+ "type": "number",
+ "format": "double"
},
- "distinctCounts": {
- "$ref": "#/components/schemas/DistinctAccumulator"
- }
- },
- "type": "object"
- },
- "Record_string.AggregationValue_": {
- "properties": {},
- "additionalProperties": {
- "$ref": "#/components/schemas/AggregationValue"
+ "markedSpamCount": {
+ "type": "number",
+ "format": "double"
+ },
+ "markedNotSpamCount": {
+ "type": "number",
+ "format": "double"
+ },
+ "approvedCount": {
+ "type": "number",
+ "format": "double"
+ },
+ "unApprovedCount": {
+ "type": "number",
+ "format": "double"
+ },
+ "editedCount": {
+ "type": "number",
+ "format": "double"
+ },
+ "bannedCount": {
+ "type": "number",
+ "format": "double"
+ },
+ "unFlaggedCount": {
+ "type": "number",
+ "format": "double"
+ },
+ "verificationId": {
+ "type": "string",
+ "nullable": true
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "moderationGroupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "nullable": true
+ },
+ "isEmailSuppressed": {
+ "type": "boolean"
+ }
},
+ "required": [
+ "_id",
+ "tenantId",
+ "name",
+ "userId",
+ "acceptedInvite",
+ "email",
+ "markReviewedCount",
+ "deletedCount",
+ "markedSpamCount",
+ "markedNotSpamCount",
+ "approvedCount",
+ "unApprovedCount",
+ "editedCount",
+ "bannedCount",
+ "unFlaggedCount",
+ "verificationId",
+ "createdAt",
+ "moderationGroupIds"
+ ],
"type": "object",
- "description": "Construct a type with a set of properties K of type T"
+ "additionalProperties": false
},
- "AggregationItem": {
- "allOf": [
- {
- "$ref": "#/components/schemas/Record_string.AggregationValue_"
+ "GetModeratorResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- {
- "properties": {
- "groups": {
- "$ref": "#/components/schemas/GroupValues"
- }
- },
- "type": "object"
+ "moderator": {
+ "$ref": "#/components/schemas/Moderator"
}
- ]
+ },
+ "required": [
+ "status",
+ "moderator"
+ ],
+ "type": "object",
+ "additionalProperties": false
},
- "AggregationResponse": {
- "description": "The API response returns the aggregated data along with simple stats",
+ "GetModeratorsResponse": {
"properties": {
"status": {
"$ref": "#/components/schemas/APIStatus"
},
- "data": {
+ "moderators": {
"items": {
- "$ref": "#/components/schemas/AggregationItem"
+ "$ref": "#/components/schemas/Moderator"
},
"type": "array"
- },
- "stats": {
- "properties": {
- "timeMS": {
- "type": "integer",
- "format": "int64"
- },
- "scanned": {
- "type": "integer",
- "format": "int64"
- }
- },
- "required": [
- "timeMS",
- "scanned"
- ],
- "type": "object"
}
},
"required": [
"status",
- "data"
+ "moderators"
],
"type": "object",
"additionalProperties": false
},
- "QueryPredicate": {
+ "CreateModeratorResponse": {
"properties": {
- "key": {
- "type": "string"
- },
- "value": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "number",
- "format": "double"
- },
- {
- "type": "boolean"
- }
- ]
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
},
- "operator": {
- "type": "string",
- "enum": [
- "eq",
- "not_eq",
- "greater_than",
- "less_than",
- "contains"
- ]
+ "moderator": {
+ "$ref": "#/components/schemas/Moderator"
}
},
"required": [
- "key",
- "value",
- "operator"
+ "status",
+ "moderator"
],
"type": "object",
"additionalProperties": false
},
- "AggregationOpType": {
- "type": "string",
- "enum": [
- "sum",
- "countDistinct",
- "distinct",
- "avg",
- "min",
- "max",
- "count"
- ],
- "description": "The supported aggregation operation types"
- },
- "AggregationOperation": {
- "description": "An operation that will be applied on a field",
+ "CreateModeratorBody": {
"properties": {
- "field": {
- "type": "string",
- "description": "The field to operate on"
+ "name": {
+ "type": "string"
},
- "op": {
- "$ref": "#/components/schemas/AggregationOpType",
- "description": "The type of operation"
+ "email": {
+ "type": "string"
},
- "alias": {
- "type": "string",
- "description": "Optional alias for the output; if not provided, a default alias is computed"
+ "userId": {
+ "type": "string"
},
- "expandArray": {
- "type": "boolean"
+ "moderationGroupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"required": [
- "field",
- "op"
+ "name",
+ "email"
],
"type": "object",
- "additionalProperties": false
+ "additionalProperties": {}
},
- "AggregationRequest": {
- "description": "The aggregation request accepts a resource, optional grouping keys, an array of operations, and an optional sort",
+ "UpdateModeratorBody": {
"properties": {
- "query": {
- "items": {
- "$ref": "#/components/schemas/QueryPredicate"
- },
- "type": "array"
+ "name": {
+ "type": "string"
},
- "resourceName": {
+ "email": {
"type": "string"
},
- "groupBy": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "userId": {
+ "type": "string"
},
- "operations": {
+ "moderationGroupIds": {
"items": {
- "$ref": "#/components/schemas/AggregationOperation"
+ "type": "string"
},
"type": "array"
- },
- "sort": {
- "properties": {
- "dir": {
- "type": "string",
- "enum": [
- "asc",
- "desc"
- ]
- },
- "field": {
- "type": "string"
- }
- },
- "required": [
- "dir",
- "field"
- ],
- "type": "object"
}
},
- "required": [
- "resourceName",
- "operations"
- ],
"type": "object",
- "additionalProperties": false
- }
- },
- "securitySchemes": {
- "api_key": {
- "type": "apiKey",
- "name": "x-api-key",
- "in": "header"
+ "additionalProperties": {}
+ },
+ "TenantHashTag": {
+ "properties": {
+ "_id": {
+ "type": "string"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "tenantId": {
+ "type": "string"
+ },
+ "tag": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "_id",
+ "createdAt",
+ "tenantId",
+ "tag"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "GetHashTagsResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "hashTags": {
+ "items": {
+ "$ref": "#/components/schemas/TenantHashTag"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "status",
+ "hashTags"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "CreateHashTagResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "hashTag": {
+ "$ref": "#/components/schemas/TenantHashTag"
+ }
+ },
+ "required": [
+ "status",
+ "hashTag"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "CreateHashTagBody": {
+ "properties": {
+ "tenantId": {
+ "type": "string"
+ },
+ "tag": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "tag"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "BulkCreateHashTagsResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "results": {
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/CreateHashTagResponse"
+ },
+ {
+ "$ref": "#/components/schemas/APIError"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "status",
+ "results"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "BulkCreateHashTagsBody": {
+ "properties": {
+ "tenantId": {
+ "type": "string"
+ },
+ "tags": {
+ "items": {
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "tag": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "tag"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "tags"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "UpdateHashTagResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "hashTag": {
+ "$ref": "#/components/schemas/TenantHashTag"
+ }
+ },
+ "required": [
+ "status",
+ "hashTag"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "UpdateHashTagBody": {
+ "properties": {
+ "tenantId": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "tag": {
+ "type": "string"
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ },
+ "GetFeedPostsResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "feedPosts": {
+ "items": {
+ "$ref": "#/components/schemas/FeedPost"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "status",
+ "feedPosts"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "CreateFeedPostsResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "feedPost": {
+ "$ref": "#/components/schemas/FeedPost"
+ }
+ },
+ "required": [
+ "status",
+ "feedPost"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "Record_string.unknown_": {
+ "properties": {},
+ "additionalProperties": {},
+ "type": "object",
+ "description": "Construct a type with a set of properties K of type T"
+ },
+ "Record_string.Record_string.string__": {
+ "properties": {},
+ "additionalProperties": {
+ "$ref": "#/components/schemas/Record_string.string_"
+ },
+ "type": "object",
+ "description": "Construct a type with a set of properties K of type T"
+ },
+ "EmailTemplateDefinition": {
+ "properties": {
+ "emailTemplateId": {
+ "type": "string"
+ },
+ "defaultTestData": {
+ "$ref": "#/components/schemas/Record_string.unknown_"
+ },
+ "defaultTranslationsByLocale": {
+ "$ref": "#/components/schemas/Record_string.Record_string.string__"
+ },
+ "defaultEJS": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "emailTemplateId",
+ "defaultTestData",
+ "defaultTranslationsByLocale",
+ "defaultEJS"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "GetEmailTemplateDefinitionsResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "definitions": {
+ "items": {
+ "$ref": "#/components/schemas/EmailTemplateDefinition"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "status",
+ "definitions"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "EmailTemplateRenderErrorResponse": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "tenantId": {
+ "type": "string"
+ },
+ "customTemplateId": {
+ "type": "string"
+ },
+ "error": {
+ "type": "string"
+ },
+ "count": {
+ "type": "number",
+ "format": "double"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastOccurredAt": {
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "id",
+ "tenantId",
+ "customTemplateId",
+ "error",
+ "count",
+ "createdAt",
+ "lastOccurredAt"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "GetEmailTemplateRenderErrorsResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "renderErrors": {
+ "items": {
+ "$ref": "#/components/schemas/EmailTemplateRenderErrorResponse"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "status",
+ "renderErrors"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "CustomEmailTemplate": {
+ "properties": {
+ "_id": {
+ "type": "string"
+ },
+ "tenantId": {
+ "type": "string"
+ },
+ "emailTemplateId": {
+ "type": "string"
+ },
+ "displayName": {
+ "type": "string"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "updatedAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ },
+ "updatedByUserId": {
+ "type": "string",
+ "nullable": true
+ },
+ "domain": {
+ "type": "string",
+ "nullable": true
+ },
+ "ejs": {
+ "type": "string"
+ },
+ "translationOverridesByLocale": {
+ "$ref": "#/components/schemas/Record_string.Record_string.string__"
+ },
+ "testData": {}
+ },
+ "required": [
+ "_id",
+ "tenantId",
+ "emailTemplateId",
+ "displayName",
+ "createdAt",
+ "updatedAt",
+ "updatedByUserId",
+ "ejs",
+ "translationOverridesByLocale",
+ "testData"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "GetEmailTemplateResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "emailTemplate": {
+ "$ref": "#/components/schemas/CustomEmailTemplate"
+ }
+ },
+ "required": [
+ "status",
+ "emailTemplate"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "GetEmailTemplatesResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "emailTemplates": {
+ "items": {
+ "$ref": "#/components/schemas/CustomEmailTemplate"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "status",
+ "emailTemplates"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "CreateEmailTemplateResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "emailTemplate": {
+ "$ref": "#/components/schemas/CustomEmailTemplate"
+ }
+ },
+ "required": [
+ "status",
+ "emailTemplate"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "CreateEmailTemplateBody": {
+ "properties": {
+ "emailTemplateId": {
+ "type": "string"
+ },
+ "displayName": {
+ "type": "string"
+ },
+ "ejs": {
+ "type": "string"
+ },
+ "domain": {
+ "type": "string"
+ },
+ "translationOverridesByLocale": {
+ "$ref": "#/components/schemas/Record_string.Record_string.string__"
+ },
+ "testData": {
+ "$ref": "#/components/schemas/Record_string.unknown_"
+ }
+ },
+ "required": [
+ "emailTemplateId",
+ "displayName",
+ "ejs"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "UpdateEmailTemplateBody": {
+ "properties": {
+ "emailTemplateId": {
+ "type": "string"
+ },
+ "displayName": {
+ "type": "string"
+ },
+ "ejs": {
+ "type": "string"
+ },
+ "domain": {
+ "type": "string"
+ },
+ "translationOverridesByLocale": {
+ "$ref": "#/components/schemas/Record_string.Record_string.string__"
+ },
+ "testData": {
+ "$ref": "#/components/schemas/Record_string.unknown_"
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ },
+ "RenderEmailTemplateResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "html": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "status",
+ "html"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "RenderEmailTemplateBody": {
+ "properties": {
+ "emailTemplateId": {
+ "type": "string"
+ },
+ "ejs": {
+ "type": "string"
+ },
+ "testData": {
+ "$ref": "#/components/schemas/Record_string.unknown_"
+ },
+ "translationOverridesByLocale": {
+ "$ref": "#/components/schemas/Record_string.Record_string.string__"
+ }
+ },
+ "required": [
+ "emailTemplateId",
+ "ejs"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "AddDomainConfigParams": {
+ "properties": {
+ "domain": {
+ "type": "string"
+ },
+ "emailFromName": {
+ "type": "string"
+ },
+ "emailFromEmail": {
+ "type": "string"
+ },
+ "logoSrc": {
+ "type": "string"
+ },
+ "logoSrc100px": {
+ "type": "string"
+ },
+ "footerUnsubscribeURL": {
+ "type": "string"
+ },
+ "emailHeaders": {
+ "$ref": "#/components/schemas/Record_string.string_"
+ }
+ },
+ "required": [
+ "domain"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "UpdateDomainConfigParams": {
+ "properties": {
+ "domain": {
+ "type": "string"
+ },
+ "emailFromName": {
+ "type": "string"
+ },
+ "emailFromEmail": {
+ "type": "string"
+ },
+ "logoSrc": {
+ "type": "string"
+ },
+ "logoSrc100px": {
+ "type": "string"
+ },
+ "footerUnsubscribeURL": {
+ "type": "string"
+ },
+ "emailHeaders": {
+ "$ref": "#/components/schemas/Record_string.string_"
+ }
+ },
+ "required": [
+ "domain"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "PatchDomainConfigParams": {
+ "properties": {
+ "domain": {
+ "type": "string"
+ },
+ "emailFromName": {
+ "type": "string"
+ },
+ "emailFromEmail": {
+ "type": "string"
+ },
+ "logoSrc": {
+ "type": "string"
+ },
+ "logoSrc100px": {
+ "type": "string"
+ },
+ "footerUnsubscribeURL": {
+ "type": "string"
+ },
+ "emailHeaders": {
+ "$ref": "#/components/schemas/Record_string.string_"
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APICommentBase": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "aiDeterminedSpam": {
+ "type": "boolean"
+ },
+ "anonUserId": {
+ "type": "string",
+ "nullable": true
+ },
+ "approved": {
+ "type": "boolean"
+ },
+ "avatarSrc": {
+ "type": "string",
+ "nullable": true
+ },
+ "badges": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserBadgeInfo"
+ },
+ "type": "array",
+ "nullable": true
+ },
+ "comment": {
+ "type": "string"
+ },
+ "commentHTML": {
+ "type": "string"
+ },
+ "commenterEmail": {
+ "type": "string",
+ "nullable": true
+ },
+ "commenterLink": {
+ "type": "string",
+ "nullable": true
+ },
+ "commenterName": {
+ "type": "string"
+ },
+ "date": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ },
+ "displayLabel": {
+ "type": "string",
+ "nullable": true
+ },
+ "domain": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/FDomain"
+ }
+ ],
+ "nullable": true
+ },
+ "externalId": {
+ "type": "string"
+ },
+ "externalParentId": {
+ "type": "string",
+ "nullable": true
+ },
+ "expireAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ },
+ "feedbackIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "flagCount": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "fromProductId": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "hasCode": {
+ "type": "boolean"
+ },
+ "hasImages": {
+ "type": "boolean"
+ },
+ "hasLinks": {
+ "type": "boolean"
+ },
+ "hashTags": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserHashTagInfo"
+ },
+ "type": "array"
+ },
+ "isByAdmin": {
+ "type": "boolean"
+ },
+ "isByModerator": {
+ "type": "boolean"
+ },
+ "isDeleted": {
+ "type": "boolean"
+ },
+ "isDeletedUser": {
+ "type": "boolean"
+ },
+ "isPinned": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "isLocked": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "isSpam": {
+ "type": "boolean"
+ },
+ "localDateHours": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "localDateString": {
+ "type": "string",
+ "nullable": true
+ },
+ "locale": {
+ "type": "string",
+ "nullable": true
+ },
+ "mentions": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserMentionInfo"
+ },
+ "type": "array"
+ },
+ "meta": {
+ "properties": {
+ "wpUserId": {
+ "type": "string"
+ },
+ "wpPostId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": {},
+ "type": "object",
+ "nullable": true
+ },
+ "moderationGroupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "nullable": true
+ },
+ "notificationSentForParent": {
+ "type": "boolean"
+ },
+ "notificationSentForParentTenant": {
+ "type": "boolean"
+ },
+ "pageTitle": {
+ "type": "string",
+ "nullable": true
+ },
+ "parentId": {
+ "type": "string",
+ "nullable": true
+ },
+ "rating": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "reviewed": {
+ "type": "boolean"
+ },
+ "tenantId": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "urlId": {
+ "type": "string"
+ },
+ "urlIdRaw": {
+ "type": "string"
+ },
+ "userId": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/UserId"
+ }
+ ],
+ "nullable": true
+ },
+ "verified": {
+ "type": "boolean"
+ },
+ "verifiedDate": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ },
+ "votes": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "votesDown": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "votesUp": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ }
+ },
+ "required": [
+ "id",
+ "approved",
+ "comment",
+ "commentHTML",
+ "commenterName",
+ "date",
+ "locale",
+ "tenantId",
+ "url",
+ "urlId",
+ "verified"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APIComment": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/APICommentBase"
+ },
+ {
+ "properties": {
+ "date": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ }
+ },
+ "required": [
+ "date"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "APIGetCommentResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "comment": {
+ "$ref": "#/components/schemas/APIComment"
+ }
+ },
+ "required": [
+ "status",
+ "comment"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APIGetCommentsResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "comments": {
+ "items": {
+ "$ref": "#/components/schemas/APIComment"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "status",
+ "comments"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "UpdatableCommentParams": {
+ "properties": {
+ "urlId": {
+ "type": "string"
+ },
+ "urlIdRaw": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "pageTitle": {
+ "type": "string",
+ "nullable": true
+ },
+ "userId": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/UserId"
+ }
+ ],
+ "nullable": true
+ },
+ "commenterEmail": {
+ "type": "string",
+ "nullable": true
+ },
+ "commenterName": {
+ "type": "string"
+ },
+ "commenterLink": {
+ "type": "string",
+ "nullable": true
+ },
+ "comment": {
+ "type": "string"
+ },
+ "commentHTML": {
+ "type": "string"
+ },
+ "parentId": {
+ "type": "string",
+ "nullable": true
+ },
+ "date": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "localDateString": {
+ "type": "string",
+ "nullable": true
+ },
+ "localDateHours": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "votes": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "votesUp": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "votesDown": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "expireAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ },
+ "verified": {
+ "type": "boolean"
+ },
+ "verifiedDate": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ },
+ "notificationSentForParent": {
+ "type": "boolean"
+ },
+ "notificationSentForParentTenant": {
+ "type": "boolean"
+ },
+ "reviewed": {
+ "type": "boolean"
+ },
+ "externalId": {
+ "type": "string"
+ },
+ "externalParentId": {
+ "type": "string",
+ "nullable": true
+ },
+ "avatarSrc": {
+ "type": "string",
+ "nullable": true
+ },
+ "isSpam": {
+ "type": "boolean"
+ },
+ "approved": {
+ "type": "boolean"
+ },
+ "isDeleted": {
+ "type": "boolean"
+ },
+ "isDeletedUser": {
+ "type": "boolean"
+ },
+ "isByAdmin": {
+ "type": "boolean"
+ },
+ "isByModerator": {
+ "type": "boolean"
+ },
+ "isPinned": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "isLocked": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "flagCount": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "displayLabel": {
+ "type": "string",
+ "nullable": true
+ },
+ "meta": {
+ "properties": {
+ "wpUserId": {
+ "type": "string"
+ },
+ "wpPostId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": {},
+ "type": "object",
+ "nullable": true
+ },
+ "moderationGroupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "nullable": true
+ },
+ "feedbackIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APISaveCommentResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "comment": {
+ "$ref": "#/components/schemas/APIComment"
+ },
+ "user": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/UserSessionInfo"
+ }
+ ],
+ "nullable": true
+ },
+ "moduleData": {
+ "$ref": "#/components/schemas/Record_string.any_"
+ }
+ },
+ "required": [
+ "status",
+ "comment",
+ "user"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "CreateCommentParams": {
+ "properties": {
+ "date": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "localDateString": {
+ "type": "string"
+ },
+ "localDateHours": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "commenterName": {
+ "type": "string"
+ },
+ "commenterEmail": {
+ "type": "string",
+ "nullable": true
+ },
+ "commenterLink": {
+ "type": "string",
+ "nullable": true
+ },
+ "comment": {
+ "type": "string"
+ },
+ "productId": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "userId": {
+ "type": "string",
+ "nullable": true
+ },
+ "avatarSrc": {
+ "type": "string",
+ "nullable": true
+ },
+ "parentId": {
+ "type": "string",
+ "nullable": true
+ },
+ "mentions": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserMentionInfo"
+ },
+ "type": "array"
+ },
+ "hashTags": {
+ "items": {
+ "$ref": "#/components/schemas/CommentUserHashTagInfo"
+ },
+ "type": "array"
+ },
+ "pageTitle": {
+ "type": "string"
+ },
+ "isFromMyAccountPage": {
+ "type": "boolean"
+ },
+ "url": {
+ "type": "string"
+ },
+ "urlId": {
+ "type": "string"
+ },
+ "meta": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "moderationGroupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "rating": {
+ "type": "number",
+ "format": "double"
+ },
+ "fromOfflineRestore": {
+ "type": "boolean"
+ },
+ "autoplayDelayMS": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "feedbackIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "questionValues": {
+ "$ref": "#/components/schemas/Record_string.string-or-number_"
+ },
+ "tos": {
+ "type": "boolean"
+ },
+ "botId": {
+ "type": "string"
+ },
+ "approved": {
+ "type": "boolean"
+ },
+ "domain": {
+ "type": "string"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "isPinned": {
+ "type": "boolean"
+ },
+ "locale": {
+ "type": "string",
+ "description": "Example: en_us"
+ },
+ "reviewed": {
+ "type": "boolean"
+ },
+ "verified": {
+ "type": "boolean"
+ },
+ "votes": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "votesDown": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "votesUp": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "required": [
+ "commenterName",
+ "comment",
+ "url",
+ "urlId",
+ "locale"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "FlagCommentResponse": {
+ "properties": {
+ "statusCode": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "code": {
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ },
+ "wasUnapproved": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "BlockFromCommentParams": {
+ "properties": {
+ "commentIdsToCheck": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ },
+ "UnBlockFromCommentParams": {
+ "properties": {
+ "commentIdsToCheck": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ },
+ "APIAuditLog": {
+ "properties": {
+ "_id": {
+ "type": "string"
+ },
+ "userId": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ },
+ "resourceName": {
+ "type": "string"
+ },
+ "crudType": {
+ "type": "string",
+ "enum": [
+ "c",
+ "r",
+ "u",
+ "d",
+ "login"
+ ]
+ },
+ "from": {
+ "type": "string",
+ "enum": [
+ "ui",
+ "api",
+ "cron"
+ ]
+ },
+ "url": {
+ "type": "string",
+ "nullable": true
+ },
+ "ip": {
+ "type": "string",
+ "nullable": true
+ },
+ "when": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "description": {
+ "type": "string"
+ },
+ "serverStartDate": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "objectDetails": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Record_string.any_"
+ }
+ ],
+ "nullable": true
+ }
+ },
+ "required": [
+ "_id",
+ "resourceName",
+ "crudType"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "GetAuditLogsResponse": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "auditLogs": {
+ "items": {
+ "$ref": "#/components/schemas/APIAuditLog"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "status",
+ "auditLogs"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "SORT_DIR": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ]
+ },
+ "DistinctAccumulator": {
+ "$ref": "#/components/schemas/Record_string.number_"
+ },
+ "GroupValues": {
+ "$ref": "#/components/schemas/Record_string.string_"
+ },
+ "AggregationValue": {
+ "properties": {
+ "groups": {
+ "$ref": "#/components/schemas/GroupValues"
+ },
+ "stringValue": {
+ "type": "string"
+ },
+ "numericValue": {
+ "type": "number",
+ "format": "double"
+ },
+ "distinctCount": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "distinctCounts": {
+ "$ref": "#/components/schemas/DistinctAccumulator"
+ }
+ },
+ "type": "object"
+ },
+ "Record_string.AggregationValue_": {
+ "properties": {},
+ "additionalProperties": {
+ "$ref": "#/components/schemas/AggregationValue"
+ },
+ "type": "object",
+ "description": "Construct a type with a set of properties K of type T"
+ },
+ "AggregationItem": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Record_string.AggregationValue_"
+ },
+ {
+ "properties": {
+ "groups": {
+ "$ref": "#/components/schemas/GroupValues"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "AggregationResponse": {
+ "description": "The API response returns the aggregated data along with simple stats",
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/AggregationItem"
+ },
+ "type": "array"
+ },
+ "stats": {
+ "properties": {
+ "timeMS": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "scanned": {
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "timeMS",
+ "scanned"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "status",
+ "data"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "AggregationAPIError": {
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
+ },
+ "reason": {
+ "type": "string"
+ },
+ "code": {
+ "type": "string"
+ },
+ "validResourceNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "status",
+ "reason",
+ "code"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "QueryPredicate": {
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "type": "boolean"
+ }
+ ]
+ },
+ "operator": {
+ "type": "string",
+ "enum": [
+ "eq",
+ "not_eq",
+ "greater_than",
+ "less_than",
+ "contains"
+ ]
+ }
+ },
+ "required": [
+ "key",
+ "value",
+ "operator"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "AggregationOpType": {
+ "type": "string",
+ "enum": [
+ "sum",
+ "countDistinct",
+ "distinct",
+ "avg",
+ "min",
+ "max",
+ "count"
+ ],
+ "description": "The supported aggregation operation types"
+ },
+ "AggregationOperation": {
+ "description": "An operation that will be applied on a field",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "The field to operate on"
+ },
+ "op": {
+ "$ref": "#/components/schemas/AggregationOpType",
+ "description": "The type of operation"
+ },
+ "alias": {
+ "type": "string",
+ "description": "Optional alias for the output; if not provided, a default alias is computed"
+ },
+ "expandArray": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "field",
+ "op"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ },
+ "AggregationRequest": {
+ "description": "The aggregation request accepts a resource, optional grouping keys, an array of operations, and an optional sort",
+ "properties": {
+ "query": {
+ "items": {
+ "$ref": "#/components/schemas/QueryPredicate"
+ },
+ "type": "array"
+ },
+ "resourceName": {
+ "type": "string"
+ },
+ "groupBy": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "operations": {
+ "items": {
+ "$ref": "#/components/schemas/AggregationOperation"
+ },
+ "type": "array"
+ },
+ "sort": {
+ "properties": {
+ "dir": {
+ "type": "string",
+ "enum": [
+ "asc",
+ "desc"
+ ]
+ },
+ "field": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "dir",
+ "field"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "resourceName",
+ "operations"
+ ],
+ "type": "object",
+ "additionalProperties": false
+ }
+ },
+ "securitySchemes": {
+ "api_key": {
+ "type": "apiKey",
+ "name": "x-api-key",
+ "in": "header"
+ }
+ }
+ },
+ "info": {
+ "title": "fastcomments",
+ "version": "0.0.0",
+ "contact": {}
+ },
+ "paths": {
+ "/user-search/{tenantId}": {
+ "get": {
+ "operationId": "SearchUsers",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SearchUsersResult"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "urlId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "usernameStartsWith",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "mentionGroupIds",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "searchSection",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "fast",
+ "site"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "/user-presence-status": {
+ "get": {
+ "operationId": "GetUserPresenceStatuses",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetUserPresenceStatusesResponse"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation Failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "urlIdWS",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "userIds",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/user-notifications": {
+ "get": {
+ "operationId": "GetUserNotifications",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetMyNotificationsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Used to determine whether the current page is subscribed.",
+ "in": "query",
+ "name": "urlId",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "pageSize",
+ "required": false,
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "afterId",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "includeContext",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "afterCreatedAt",
+ "required": false,
+ "schema": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "unreadOnly",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "dmOnly",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "noDm",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "includeTranslations",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "includeTenantNotifications",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/user-notifications/reset": {
+ "post": {
+ "operationId": "ResetUserNotifications",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResetUserNotificationsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "afterId",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "afterCreatedAt",
+ "required": false,
+ "schema": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "unreadOnly",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "dmOnly",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "noDm",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/user-notifications/get-count": {
+ "get": {
+ "operationId": "GetUserNotificationCount",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetUserNotificationCountResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/user-notifications/reset-count": {
+ "post": {
+ "operationId": "ResetUserNotificationCount",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResetUserNotificationsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/user-notifications/{notificationId}/mark/{newStatus}": {
+ "post": {
+ "operationId": "UpdateUserNotificationStatus",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "UpdateUserNotificationStatusResponse",
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/UserNotificationWriteResponse"
+ },
+ {
+ "$ref": "#/components/schemas/IgnoredResponse"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "notificationId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "newStatus",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "read",
+ "unread"
+ ]
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/user-notifications/{notificationId}/mark-opted/{optedInOrOut}": {
+ "post": {
+ "operationId": "UpdateUserNotificationCommentSubscriptionStatus",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "UpdateUserNotificationCommentSubscriptionStatusResponse",
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/UserNotificationWriteResponse"
+ },
+ {
+ "$ref": "#/components/schemas/IgnoredResponse"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Enable or disable notifications for a specific comment.",
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "notificationId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "optedInOrOut",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "in",
+ "out"
+ ]
+ }
+ },
+ {
+ "in": "query",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/user-notifications/set-subscription-state/{subscribedOrUnsubscribed}": {
+ "post": {
+ "operationId": "UpdateUserNotificationPageSubscriptionStatus",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "UpdateUserNotificationPageSubscriptionStatusResponse",
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/UserNotificationWriteResponse"
+ },
+ {
+ "$ref": "#/components/schemas/IgnoredResponse"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Enable or disable notifications for a page. When users are subscribed to a page, notifications are created\nfor new root comments, and also",
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "urlId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "pageTitle",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "subscribedOrUnsubscribed",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "subscribe",
+ "unsubscribe"
+ ]
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/upload-image/{tenantId}": {
+ "post": {
+ "operationId": "UploadImage",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UploadImageResponse"
+ }
+ }
+ }
+ }
+ },
+ "description": "Upload and resize an image",
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Size preset: \"Default\" (1000x1000px) or \"CrossPlatform\" (creates sizes for popular devices)",
+ "in": "query",
+ "name": "sizePreset",
+ "required": false,
+ "schema": {
+ "$ref": "#/components/schemas/SizePreset"
+ }
+ },
+ {
+ "description": "Page id that upload is happening from, to configure",
+ "in": "query",
+ "name": "urlId",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "file": {
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "required": [
+ "file"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "/translations/{namespace}/{component}": {
+ "get": {
+ "operationId": "GetTranslations",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetTranslationsResponse"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation Failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "component",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "locale",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "useFullTranslationIds",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ ]
+ }
+ },
+ "/pages/{tenantId}": {
+ "get": {
+ "operationId": "GetPagesPublic",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetPublicPagesResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "description": "List pages for a tenant. Used by the FChat desktop client to populate its room list.\nRequires `enableFChat` to be true on the resolved custom config for each page.\nPages that require SSO are filtered against the requesting user's group access.",
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Opaque pagination cursor returned as `nextCursor` from a prior request. Tied to the same `sortBy`.",
+ "in": "query",
+ "name": "cursor",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "1..200, default 50",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ {
+ "description": "Optional case-insensitive title prefix filter.",
+ "in": "query",
+ "name": "q",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Sort order. `updatedAt` (default, newest first), `commentCount` (most comments first), or `title` (alphabetical).",
+ "in": "query",
+ "name": "sortBy",
+ "required": false,
+ "schema": {
+ "$ref": "#/components/schemas/PagesSortBy"
+ }
+ },
+ {
+ "description": "If true, only return pages with at least one comment.",
+ "in": "query",
+ "name": "hasComments",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ ]
+ }
+ },
+ "/pages/{tenantId}/users/online": {
+ "get": {
+ "operationId": "GetOnlineUsers",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PageUsersOnlineResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation Failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Currently-online viewers of a page: people whose websocket session is subscribed to the page right now.\nReturns anonCount + totalCount (room-wide subscribers, including anon viewers we don't enumerate).",
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Page URL identifier (cleaned server-side).",
+ "in": "query",
+ "name": "urlId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Cursor: pass nextAfterName from the previous response.",
+ "in": "query",
+ "name": "afterName",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Cursor tiebreaker: pass nextAfterUserId from the previous response. Required when afterName is set so name-ties don't drop entries.",
+ "in": "query",
+ "name": "afterUserId",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/pages/{tenantId}/users/offline": {
+ "get": {
+ "operationId": "GetOfflineUsers",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PageUsersOfflineResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation Failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Past commenters on the page who are NOT currently online. Sorted by displayName.\nUse this after exhausting /users/online to render a \"Members\" section.\nCursor pagination on commenterName: server walks the partial {tenantId, urlId, commenterName}\nindex from afterName forward via $gt, no $skip cost.",
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Page URL identifier (cleaned server-side).",
+ "in": "query",
+ "name": "urlId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Cursor: pass nextAfterName from the previous response.",
+ "in": "query",
+ "name": "afterName",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Cursor tiebreaker: pass nextAfterUserId from the previous response. Required when afterName is set so name-ties don't drop entries.",
+ "in": "query",
+ "name": "afterUserId",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/pages/{tenantId}/users/info": {
+ "get": {
+ "operationId": "GetUsersInfo",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PageUsersInfoResponse"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation Failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Bulk user info for a tenant. Given userIds, return display info from User / SSOUser.\nUsed by the comment widget to enrich users that just appeared via a presence event.\nNo page context: privacy is enforced uniformly (private profiles are masked).",
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Comma-delimited userIds.",
+ "in": "query",
+ "name": "ids",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/page-reacts/v1/likes/{tenantId}": {
+ "get": {
+ "operationId": "GetV1PageLikes",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetV1PageLikes"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "urlId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "post": {
+ "operationId": "CreateV1PageReact",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateV1PageReact"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "urlId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "title",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "delete": {
+ "operationId": "DeleteV1PageReact",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DeleteV1PageReact"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "urlId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/page-reacts/v2/{tenantId}/list": {
+ "get": {
+ "operationId": "GetV2PageReactUsers",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetV2PageReactUsersResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "urlId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/page-reacts/v2/{tenantId}": {
+ "get": {
+ "operationId": "GetV2PageReacts",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetV2PageReacts"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "urlId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "post": {
+ "operationId": "CreateV2PageReact",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateV2PageReact"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "urlId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "title",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "delete": {
+ "operationId": "DeleteV2PageReact",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DeleteV2PageReact"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "urlId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/count": {
+ "get": {
+ "operationId": "GetCount",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModerationAPICountCommentsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "text-search",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "byIPFromComment",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "searchFilters",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "demo",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/api/ids": {
+ "get": {
+ "operationId": "GetApiIds",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModerationAPIGetCommentIdsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "text-search",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "byIPFromComment",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "filters",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "searchFilters",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "afterId",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "demo",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/api/comments": {
+ "get": {
+ "operationId": "GetApiComments",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModerationAPIGetCommentsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "page",
+ "required": false,
+ "schema": {
+ "format": "double",
+ "type": "number"
+ }
+ },
+ {
+ "in": "query",
+ "name": "count",
+ "required": false,
+ "schema": {
+ "format": "double",
+ "type": "number"
+ }
+ },
+ {
+ "in": "query",
+ "name": "text-search",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "byIPFromComment",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "filters",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "searchFilters",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sorts",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "demo",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/api/export": {
+ "post": {
+ "operationId": "PostApiExport",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModerationExportResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "text-search",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "byIPFromComment",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "filters",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "searchFilters",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sorts",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/api/export/status": {
+ "get": {
+ "operationId": "GetApiExportStatus",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModerationExportStatusResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "batchJobId",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/search/users": {
+ "get": {
+ "operationId": "GetSearchUsers",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModerationUserSearchResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "value",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/search/pages": {
+ "get": {
+ "operationId": "GetSearchPages",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModerationPageSearchResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "value",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/search/sites": {
+ "get": {
+ "operationId": "GetSearchSites",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModerationSiteSearchResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "value",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/search/comments/summary": {
+ "get": {
+ "operationId": "GetSearchCommentsSummary",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModerationCommentSearchResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "value",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "filters",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "searchFilters",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/search/suggest": {
+ "get": {
+ "operationId": "GetSearchSuggest",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModerationSuggestResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "text-search",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/pre-ban-summary/{commentId}": {
+ "get": {
+ "operationId": "GetPreBanSummary",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PreBanSummary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "includeByUserIdAndEmail",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "includeByIP",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "includeByEmailDomain",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/bulk-pre-ban-summary": {
+ "post": {
+ "operationId": "PostBulkPreBanSummary",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BulkPreBanSummary"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "includeByUserIdAndEmail",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "includeByIP",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "includeByEmailDomain",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BulkPreBanParams"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/auth/my-account/moderate-comments/ban-user/from-comment/{commentId}": {
+ "post": {
+ "operationId": "PostBanUserFromComment",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BanUserFromCommentResult"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "banEmail",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "banEmailDomain",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "banIP",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "deleteAllUsersComments",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "bannedUntil",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "isShadowBan",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "updateId",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "banReason",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/ban-users/from-comment/{commentId}": {
+ "get": {
+ "operationId": "GetBanUsersFromComment",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetBannedUsersFromCommentResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/ban-user/undo": {
+ "post": {
+ "operationId": "PostBanUserUndo",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BanUserUndoParams"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/auth/my-account/moderate-comments/remove-comment/{commentId}": {
+ "post": {
+ "operationId": "PostRemoveComment",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "title": "PostRemoveCommentResponse",
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/DeleteCommentResult"
+ },
+ {
+ "$ref": "#/components/schemas/RemoveCommentActionResponse"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/restore-deleted-comment/{commentId}": {
+ "post": {
+ "operationId": "PostRestoreDeletedComment",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/flag-comment/{commentId}": {
+ "post": {
+ "operationId": "PostFlagComment",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/un-flag-comment/{commentId}": {
+ "post": {
+ "operationId": "PostUnFlagComment",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/set-comment-review-status/{commentId}": {
+ "post": {
+ "operationId": "PostSetCommentReviewStatus",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "reviewed",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/set-comment-spam-status/{commentId}": {
+ "post": {
+ "operationId": "PostSetCommentSpamStatus",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "spam",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "permNotSpam",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/set-comment-approval-status/{commentId}": {
+ "post": {
+ "operationId": "PostSetCommentApprovalStatus",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SetCommentApprovedResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "approved",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/logs/{commentId}": {
+ "get": {
+ "operationId": "GetLogs",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModerationAPIGetLogsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/comment/{commentId}": {
+ "get": {
+ "operationId": "GetModerationComment",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModerationAPICommentResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "includeEmail",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "includeIP",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/comments-by-ids": {
+ "post": {
+ "operationId": "PostCommentsByIds",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModerationAPIChildCommentsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CommentsByIdsParams"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/auth/my-account/moderate-comments/comment-children/{commentId}": {
+ "get": {
+ "operationId": "GetCommentChildren",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ModerationAPIChildCommentsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/get-comment-text/{commentId}": {
+ "get": {
+ "operationId": "GetModerationCommentText",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetCommentTextResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/set-comment-text/{commentId}": {
+ "post": {
+ "operationId": "PostSetCommentText",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SetCommentTextResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SetCommentTextParams"
+ }
+ }
+ }
+ }
}
- }
- },
- "info": {
- "title": "fastcomments",
- "version": "0.0.0",
- "contact": {}
- },
- "paths": {
- "/user-search/{tenantId}": {
+ },
+ "/auth/my-account/moderate-comments/adjust-comment-votes/{commentId}": {
+ "post": {
+ "operationId": "PostAdjustCommentVotes",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AdjustVotesResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AdjustCommentVotesParams"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/auth/my-account/moderate-comments/vote/{commentId}": {
+ "post": {
+ "operationId": "PostVote",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VoteResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "direction",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/vote/{commentId}/{voteId}": {
+ "delete": {
+ "operationId": "DeleteModerationVote",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VoteDeleteResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "voteId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/get-comment-ban-status/{commentId}": {
"get": {
- "operationId": "SearchUsers",
+ "operationId": "GetCommentBanStatus",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/SearchUsersSectionedResponse"
- },
- {
- "$ref": "#/components/schemas/SearchUsersResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetCommentBanStatusResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/user-ban-preference": {
+ "get": {
+ "operationId": "GetUserBanPreference",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIModerateGetUserBanPreferencesResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
}
},
"tags": [
- "Public"
+ "Moderation"
],
"security": [],
"parameters": [
- {
- "in": "path",
- "name": "tenantId",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "in": "query",
- "name": "urlId",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
{
"in": "query",
- "name": "usernameStartsWith",
+ "name": "sso",
"required": false,
"schema": {
"type": "string"
}
- },
- {
- "in": "query",
- "name": "mentionGroupIds",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/get-manual-badges": {
+ "get": {
+ "operationId": "GetManualBadges",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetTenantManualBadgesResponse"
+ }
}
}
},
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
{
"in": "query",
"name": "sso",
@@ -9623,45 +15141,26 @@
"schema": {
"type": "string"
}
- },
- {
- "in": "query",
- "name": "searchSection",
- "required": false,
- "schema": {
- "type": "string",
- "enum": [
- "fast",
- "site"
- ]
- }
}
]
}
},
- "/user-presence-status": {
+ "/auth/my-account/moderate-comments/get-manual-badges-for-user": {
"get": {
- "operationId": "GetUserPresenceStatuses",
+ "operationId": "GetManualBadgesForUser",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetUserPresenceStatusesResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetUserManualBadgesResponse"
}
}
}
},
- "422": {
- "description": "Validation Failed",
+ "default": {
+ "description": "Error",
"content": {
"application/json": {
"schema": {
@@ -9672,30 +15171,30 @@
}
},
"tags": [
- "Public"
+ "Moderation"
],
"security": [],
"parameters": [
{
"in": "query",
- "name": "tenantId",
- "required": true,
+ "name": "badgesUserId",
+ "required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
- "name": "urlIdWS",
- "required": true,
+ "name": "commentId",
+ "required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
- "name": "userIds",
- "required": true,
+ "name": "sso",
+ "required": false,
"schema": {
"type": "string"
}
@@ -9703,36 +15202,39 @@
]
}
},
- "/user-notifications": {
- "get": {
- "operationId": "GetUserNotifications",
+ "/auth/my-account/moderate-comments/award-badge": {
+ "put": {
+ "operationId": "PutAwardBadge",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetMyNotificationsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/AwardUserBadgeResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
}
},
"tags": [
- "Public"
+ "Moderation"
],
"security": [],
"parameters": [
{
"in": "query",
- "name": "tenantId",
+ "name": "badgeId",
"required": true,
"schema": {
"type": "string"
@@ -9740,16 +15242,15 @@
},
{
"in": "query",
- "name": "pageSize",
+ "name": "userId",
"required": false,
"schema": {
- "format": "int32",
- "type": "integer"
+ "type": "string"
}
},
{
"in": "query",
- "name": "afterId",
+ "name": "commentId",
"required": false,
"schema": {
"type": "string"
@@ -9757,51 +15258,83 @@
},
{
"in": "query",
- "name": "includeContext",
+ "name": "broadcastId",
"required": false,
"schema": {
- "type": "boolean"
+ "type": "string"
}
},
{
"in": "query",
- "name": "afterCreatedAt",
+ "name": "sso",
"required": false,
"schema": {
- "format": "int64",
- "type": "integer"
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/remove-badge": {
+ "put": {
+ "operationId": "PutRemoveBadge",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RemoveUserBadgeResponse"
+ }
+ }
}
},
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
{
"in": "query",
- "name": "unreadOnly",
- "required": false,
+ "name": "badgeId",
+ "required": true,
"schema": {
- "type": "boolean"
+ "type": "string"
}
},
{
"in": "query",
- "name": "dmOnly",
+ "name": "userId",
"required": false,
"schema": {
- "type": "boolean"
+ "type": "string"
}
},
{
"in": "query",
- "name": "noDm",
+ "name": "commentId",
"required": false,
"schema": {
- "type": "boolean"
+ "type": "string"
}
},
{
"in": "query",
- "name": "includeTranslations",
+ "name": "broadcastId",
"required": false,
"schema": {
- "type": "boolean"
+ "type": "string"
}
},
{
@@ -9815,80 +15348,148 @@
]
}
},
- "/user-notifications/reset": {
- "post": {
- "operationId": "ResetUserNotifications",
+ "/auth/my-account/moderate-comments/get-trust-factor": {
+ "get": {
+ "operationId": "GetTrustFactor",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/ResetUserNotificationsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetUserTrustFactorResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
}
},
"tags": [
- "Public"
+ "Moderation"
],
"security": [],
"parameters": [
{
"in": "query",
- "name": "tenantId",
- "required": true,
+ "name": "userId",
+ "required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
- "name": "afterId",
+ "name": "sso",
"required": false,
"schema": {
"type": "string"
}
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/set-trust-factor": {
+ "put": {
+ "operationId": "SetTrustFactor",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SetUserTrustFactorResponse"
+ }
+ }
+ }
},
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
{
"in": "query",
- "name": "afterCreatedAt",
+ "name": "userId",
"required": false,
"schema": {
- "format": "int64",
- "type": "integer"
+ "type": "string"
}
},
{
"in": "query",
- "name": "unreadOnly",
+ "name": "trustFactor",
"required": false,
"schema": {
- "type": "boolean"
+ "type": "string"
}
},
{
"in": "query",
- "name": "dmOnly",
+ "name": "sso",
"required": false,
"schema": {
- "type": "boolean"
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "/auth/my-account/moderate-comments/get-user-internal-profile": {
+ "get": {
+ "operationId": "GetUserInternalProfile",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetUserInternalProfileResponse"
+ }
+ }
}
},
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Moderation"
+ ],
+ "security": [],
+ "parameters": [
{
"in": "query",
- "name": "noDm",
+ "name": "commentId",
"required": false,
"schema": {
- "type": "boolean"
+ "type": "string"
}
},
{
@@ -9902,36 +15503,39 @@
]
}
},
- "/user-notifications/get-count": {
- "get": {
- "operationId": "GetUserNotificationCount",
+ "/auth/my-account/moderate-comments/reopen-thread": {
+ "put": {
+ "operationId": "PutReopenThread",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetUserNotificationCountResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
}
},
"tags": [
- "Public"
+ "Moderation"
],
"security": [],
"parameters": [
{
"in": "query",
- "name": "tenantId",
+ "name": "urlId",
"required": true,
"schema": {
"type": "string"
@@ -9948,36 +15552,39 @@
]
}
},
- "/user-notifications/reset-count": {
- "post": {
- "operationId": "ResetUserNotificationCount",
+ "/auth/my-account/moderate-comments/close-thread": {
+ "put": {
+ "operationId": "PutCloseThread",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/ResetUserNotificationsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
}
},
"tags": [
- "Public"
+ "Moderation"
],
"security": [],
"parameters": [
{
"in": "query",
- "name": "tenantId",
+ "name": "urlId",
"required": true,
"schema": {
"type": "string"
@@ -9994,64 +15601,36 @@
]
}
},
- "/user-notifications/{notificationId}/mark/{newStatus}": {
- "post": {
- "operationId": "UpdateUserNotificationStatus",
+ "/auth/my-account/moderate-comments/banned-users/counts": {
+ "get": {
+ "operationId": "GetCounts",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/UserNotificationWriteResponse"
- },
- {
- "$ref": "#/components/schemas/IgnoredResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetBannedUsersCountResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
}
},
"tags": [
- "Public"
+ "Moderation"
],
"security": [],
"parameters": [
- {
- "in": "query",
- "name": "tenantId",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "in": "path",
- "name": "notificationId",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "in": "path",
- "name": "newStatus",
- "required": true,
- "schema": {
- "type": "string",
- "enum": [
- "read",
- "unread"
- ]
- }
- },
{
"in": "query",
"name": "sso",
@@ -10063,24 +15642,22 @@
]
}
},
- "/user-notifications/{notificationId}/mark-opted/{optedInOrOut}": {
- "post": {
- "operationId": "UpdateUserNotificationCommentSubscriptionStatus",
+ "/gifs/trending/{tenantId}": {
+ "get": {
+ "operationId": "GetGifsTrending",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
+ "title": "GetGifsTrendingResponse",
"anyOf": [
{
- "$ref": "#/components/schemas/UserNotificationWriteResponse"
- },
- {
- "$ref": "#/components/schemas/IgnoredResponse"
+ "$ref": "#/components/schemas/GifSearchResponse"
},
{
- "$ref": "#/components/schemas/APIError"
+ "$ref": "#/components/schemas/GifSearchInternalError"
}
]
}
@@ -10088,14 +15665,13 @@
}
}
},
- "description": "Enable or disable notifications for a specific comment.",
"tags": [
"Public"
],
"security": [],
"parameters": [
{
- "in": "query",
+ "in": "path",
"name": "tenantId",
"required": true,
"schema": {
@@ -10103,77 +15679,83 @@
}
},
{
- "in": "path",
- "name": "notificationId",
- "required": true,
+ "in": "query",
+ "name": "locale",
+ "required": false,
"schema": {
"type": "string"
}
},
- {
- "in": "path",
- "name": "optedInOrOut",
- "required": true,
- "schema": {
- "type": "string",
- "enum": [
- "in",
- "out"
- ]
- }
- },
{
"in": "query",
- "name": "commentId",
- "required": true,
+ "name": "rating",
+ "required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
- "name": "sso",
+ "name": "page",
"required": false,
"schema": {
- "type": "string"
+ "format": "double",
+ "type": "number"
}
}
]
}
},
- "/user-notifications/set-subscription-state/{subscribedOrUnsubscribed}": {
- "post": {
- "operationId": "UpdateUserNotificationPageSubscriptionStatus",
+ "/gifs/search/{tenantId}": {
+ "get": {
+ "operationId": "GetGifsSearch",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
+ "title": "GetGifsSearchResponse",
"anyOf": [
{
- "$ref": "#/components/schemas/UserNotificationWriteResponse"
- },
- {
- "$ref": "#/components/schemas/IgnoredResponse"
+ "$ref": "#/components/schemas/GifSearchResponse"
},
{
- "$ref": "#/components/schemas/APIError"
+ "$ref": "#/components/schemas/GifSearchInternalError"
}
]
}
}
}
+ },
+ "422": {
+ "description": "Validation Failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
}
},
- "description": "Enable or disable notifications for a page. When users are subscribed to a page, notifications are created\nfor new root comments, and also",
"tags": [
"Public"
],
"security": [],
"parameters": [
{
- "in": "query",
+ "in": "path",
"name": "tenantId",
"required": true,
"schema": {
@@ -10182,7 +15764,7 @@
},
{
"in": "query",
- "name": "urlId",
+ "name": "search",
"required": true,
"schema": {
"type": "string"
@@ -10190,59 +15772,67 @@
},
{
"in": "query",
- "name": "url",
- "required": true,
+ "name": "locale",
+ "required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
- "name": "pageTitle",
- "required": true,
+ "name": "rating",
+ "required": false,
"schema": {
"type": "string"
}
},
- {
- "in": "path",
- "name": "subscribedOrUnsubscribed",
- "required": true,
- "schema": {
- "type": "string",
- "enum": [
- "subscribe",
- "unsubscribe"
- ]
- }
- },
{
"in": "query",
- "name": "sso",
+ "name": "page",
"required": false,
"schema": {
- "type": "string"
+ "format": "double",
+ "type": "number"
}
}
]
}
},
- "/upload-image/{tenantId}": {
- "post": {
- "operationId": "UploadImage",
+ "/gifs/get-large/{tenantId}": {
+ "get": {
+ "operationId": "GetGifLarge",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/UploadImageResponse"
+ "$ref": "#/components/schemas/GifGetLargeResponse"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation Failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
}
},
- "description": "Upload and resize an image",
"tags": [
"Public"
],
@@ -10257,43 +15847,14 @@
}
},
{
- "description": "Size preset: \"Default\" (1000x1000px) or \"CrossPlatform\" (creates sizes for popular devices)",
- "in": "query",
- "name": "sizePreset",
- "required": false,
- "schema": {
- "$ref": "#/components/schemas/SizePreset"
- }
- },
- {
- "description": "Page id that upload is happening from, to configure",
"in": "query",
- "name": "urlId",
- "required": false,
+ "name": "largeInternalURLSanitized",
+ "required": true,
"schema": {
"type": "string"
}
}
- ],
- "requestBody": {
- "required": true,
- "content": {
- "multipart/form-data": {
- "schema": {
- "type": "object",
- "properties": {
- "file": {
- "type": "string",
- "format": "binary"
- }
- },
- "required": [
- "file"
- ]
- }
- }
- }
- }
+ ]
}
},
"/flag-comment/{commentId}": {
@@ -10305,14 +15866,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -10367,14 +15931,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/PublicFeedPostsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/PublicFeedPostsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -10456,14 +16023,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/CreateFeedPostResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/CreateFeedPostResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -10520,14 +16090,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/ReactFeedPostResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/ReactFeedPostResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -10600,14 +16173,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/UserReactsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/UserReactsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -10657,14 +16233,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/CreateFeedPostResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/CreateFeedPostResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -10727,22 +16306,26 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "properties": {
- "status": {
- "$ref": "#/components/schemas/APIStatus"
- }
- },
- "required": [
- "status"
- ],
- "type": "object"
- },
- {
- "$ref": "#/components/schemas/APIError"
+ "title": "DeleteFeedPostPublicResponse",
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/APIStatus"
}
- ]
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -10797,14 +16380,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/FeedPostsStatsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/FeedPostsStatsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -10854,14 +16440,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetEventLogResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetEventLogResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -10909,7 +16498,7 @@
{
"in": "query",
"name": "endTime",
- "required": true,
+ "required": false,
"schema": {
"format": "int64",
"type": "integer"
@@ -10927,14 +16516,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetEventLogResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetEventLogResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -10982,7 +16574,7 @@
{
"in": "query",
"name": "endTime",
- "required": true,
+ "required": false,
"schema": {
"format": "int64",
"type": "integer"
@@ -11000,14 +16592,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/PublicAPIGetCommentTextResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/PublicAPIGetCommentTextResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -11062,14 +16657,100 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/PublicAPISetCommentTextResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/PublicAPISetCommentTextResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenantId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "broadcastId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "editKey",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "sso",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CommentTextUpdateRequest"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/comments-for-user": {
+ "get": {
+ "operationId": "GetCommentsForUser",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetCommentsForUserResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -11081,56 +16762,63 @@
"security": [],
"parameters": [
{
- "in": "path",
- "name": "tenantId",
- "required": true,
+ "in": "query",
+ "name": "userId",
+ "required": false,
"schema": {
"type": "string"
}
},
{
- "in": "path",
- "name": "commentId",
- "required": true,
+ "in": "query",
+ "name": "direction",
+ "required": false,
"schema": {
- "type": "string"
+ "$ref": "#/components/schemas/SortDirections"
}
},
{
"in": "query",
- "name": "broadcastId",
- "required": true,
+ "name": "repliesToUserId",
+ "required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
- "name": "editKey",
+ "name": "page",
"required": false,
"schema": {
- "type": "string"
+ "format": "double",
+ "type": "number"
}
},
{
"in": "query",
- "name": "sso",
+ "name": "includei10n",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "locale",
"required": false,
"schema": {
"type": "string"
}
- }
- ],
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CommentTextUpdateRequest"
- }
+ },
+ {
+ "in": "query",
+ "name": "isCrawler",
+ "required": false,
+ "schema": {
+ "type": "boolean"
}
}
- }
+ ]
}
},
"/comments/{tenantId}": {
@@ -11142,14 +16830,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetCommentsResponseWithPresence_PublicComment_"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetCommentsResponseWithPresence_PublicComment_"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -11404,14 +17095,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/SaveCommentsResponseWithPresence"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/SaveCommentsResponseWithPresence"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -11484,14 +17178,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/PublicAPIDeleteCommentResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/PublicAPIDeleteCommentResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -11554,14 +17251,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/CheckBlockedCommentsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/CheckBlockedCommentsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -11609,14 +17309,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/VoteResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/VoteResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -11697,14 +17400,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/VoteDeleteResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/VoteDeleteResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -11783,14 +17489,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetCommentVoteUserNamesSuccessResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetCommentVoteUserNamesSuccessResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -11846,14 +17555,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/ChangeCommentPinStatusResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/ChangeCommentPinStatusResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -11908,14 +17620,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/ChangeCommentPinStatusResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/ChangeCommentPinStatusResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -11970,14 +17685,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIError"
- },
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -12032,14 +17750,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIError"
- },
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -12094,14 +17815,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/BlockSuccess"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/BlockSuccess"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -12156,14 +17880,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/UnblockSuccess"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/UnblockSuccess"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -12211,6 +17938,28 @@
}
}
},
+ "/auth/logout": {
+ "put": {
+ "operationId": "LogoutPublic",
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ "Public"
+ ],
+ "security": [],
+ "parameters": []
+ }
+ },
"/api/v1/subscriptions": {
"get": {
"operationId": "GetSubscriptions",
@@ -12404,6 +18153,7 @@
"content": {
"application/json": {
"schema": {
+ "title": "GetSSOUsersResponse",
"properties": {
"users": {
"items": {
@@ -12948,14 +18698,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetVotesResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetVotesResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -12993,14 +18746,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/VoteResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/VoteResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13068,14 +18824,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetVotesForUserResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetVotesForUserResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13131,14 +18890,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/VoteDeleteResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/VoteDeleteResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13186,14 +18948,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetUserResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetUserResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13233,14 +18998,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIGetUserBadgeResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIGetUserBadgeResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13278,14 +19046,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptySuccessResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptySuccessResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13333,14 +19104,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptySuccessResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptySuccessResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13380,14 +19154,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIGetUserBadgesResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIGetUserBadgesResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13468,14 +19245,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APICreateUserBadgeResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APICreateUserBadgeResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13517,14 +19297,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIGetUserBadgeProgressResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIGetUserBadgeProgressResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13564,14 +19347,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIGetUserBadgeProgressListResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIGetUserBadgeProgressListResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13629,14 +19415,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIGetUserBadgeProgressResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIGetUserBadgeProgressResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13676,14 +19465,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetTicketsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetTicketsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13748,14 +19540,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/CreateTicketResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/CreateTicketResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13805,14 +19600,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetTicketResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetTicketResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13860,14 +19658,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/ChangeTicketStateResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/ChangeTicketStateResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13925,14 +19726,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetTenantResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetTenantResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -13970,14 +19774,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14025,14 +19832,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14080,14 +19890,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetTenantsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetTenantsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14134,14 +19947,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/CreateTenantResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/CreateTenantResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14183,14 +19999,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetTenantUserResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetTenantUserResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14228,14 +20047,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14291,14 +20113,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14354,14 +20179,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14417,14 +20245,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetTenantUsersResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetTenantUsersResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14463,14 +20294,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/CreateTenantUserResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/CreateTenantUserResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14512,14 +20346,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14567,14 +20404,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetTenantPackageResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetTenantPackageResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14612,14 +20452,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14667,14 +20510,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14722,14 +20568,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14769,14 +20618,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetTenantPackagesResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetTenantPackagesResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14815,14 +20667,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/CreateTenantPackageResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/CreateTenantPackageResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14864,14 +20719,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetTenantDailyUsagesResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetTenantDailyUsagesResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14939,14 +20797,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetQuestionResultResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetQuestionResultResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -14984,14 +20845,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -15039,14 +20903,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -15086,14 +20953,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetQuestionResultsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetQuestionResultsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -15172,14 +21042,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/CreateQuestionResultResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/CreateQuestionResultResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -15221,14 +21094,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/AggregateQuestionResultsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/AggregateQuestionResultsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -15312,14 +21188,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/BulkAggregateQuestionResultsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/BulkAggregateQuestionResultsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -15369,14 +21248,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/CombineQuestionResultsWithCommentsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/CombineQuestionResultsWithCommentsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -15479,14 +21361,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetQuestionConfigResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetQuestionConfigResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -15524,14 +21409,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -15579,14 +21467,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -15626,14 +21517,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetQuestionConfigsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetQuestionConfigsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -15672,14 +21566,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/CreateQuestionConfigResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/CreateQuestionConfigResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -15721,14 +21618,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetPendingWebhookEventsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetPendingWebhookEventsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -15818,14 +21718,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetPendingWebhookEventCountResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetPendingWebhookEventCountResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -15906,14 +21809,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -15953,14 +21859,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetNotificationsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetNotificationsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16041,14 +21950,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetNotificationCountResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetNotificationCountResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16120,14 +22032,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16185,14 +22100,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetCachedNotificationCountResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetCachedNotificationCountResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16230,14 +22148,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16277,14 +22198,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetModeratorResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetModeratorResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16322,14 +22246,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16377,14 +22304,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16432,14 +22362,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetModeratorsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetModeratorsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16478,14 +22411,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/CreateModeratorResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/CreateModeratorResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16527,14 +22463,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16582,14 +22521,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetHashTagsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetHashTagsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16628,14 +22570,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/CreateHashTagResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/CreateHashTagResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16677,14 +22622,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/BulkCreateHashTagsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/BulkCreateHashTagsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16726,14 +22674,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/UpdateHashTagResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/UpdateHashTagResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16781,14 +22732,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16822,6 +22776,7 @@
"content": {
"application/json": {
"schema": {
+ "title": "DeleteHashTagRequestBody",
"properties": {
"tenantId": {
"type": "string"
@@ -16843,14 +22798,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetFeedPostsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetFeedPostsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16909,14 +22867,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/CreateFeedPostsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/CreateFeedPostsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -16990,14 +22951,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -17047,14 +23011,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetEmailTemplateDefinitionsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetEmailTemplateDefinitionsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -17086,14 +23053,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetEmailTemplateRenderErrorsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetEmailTemplateRenderErrorsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -17142,14 +23112,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -17197,14 +23170,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetEmailTemplateResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetEmailTemplateResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -17242,14 +23218,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -17297,14 +23276,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -17344,14 +23326,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetEmailTemplatesResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetEmailTemplatesResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -17390,14 +23375,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/CreateEmailTemplateResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/CreateEmailTemplateResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -17439,14 +23427,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/RenderEmailTemplateResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/RenderEmailTemplateResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -17496,6 +23487,7 @@
"content": {
"application/json": {
"schema": {
+ "title": "GetDomainConfigsResponse",
"anyOf": [
{
"properties": {
@@ -17555,6 +23547,7 @@
"content": {
"application/json": {
"schema": {
+ "title": "AddDomainConfigResponse",
"anyOf": [
{
"properties": {
@@ -17626,6 +23619,7 @@
"content": {
"application/json": {
"schema": {
+ "title": "GetDomainConfigResponse",
"anyOf": [
{
"properties": {
@@ -17693,6 +23687,7 @@
"content": {
"application/json": {
"schema": {
+ "title": "DeleteDomainConfigResponse",
"properties": {
"status": {}
},
@@ -17739,6 +23734,7 @@
"content": {
"application/json": {
"schema": {
+ "title": "PutDomainConfigResponse",
"anyOf": [
{
"properties": {
@@ -17816,6 +23812,7 @@
"content": {
"application/json": {
"schema": {
+ "title": "PatchDomainConfigResponse",
"anyOf": [
{
"properties": {
@@ -17895,14 +23892,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIGetCommentResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIGetCommentResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -17940,14 +23940,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIEmptyResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIEmptyResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -18019,14 +24022,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/DeleteCommentResult"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/DeleteCommentResult"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -18082,14 +24088,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/APIGetCommentsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APIGetCommentsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -18226,6 +24235,24 @@
"schema": {
"$ref": "#/components/schemas/SortDirections"
}
+ },
+ {
+ "in": "query",
+ "name": "fromDate",
+ "required": false,
+ "schema": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "toDate",
+ "required": false,
+ "schema": {
+ "format": "int64",
+ "type": "integer"
+ }
}
]
},
@@ -18237,14 +24264,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/SaveCommentResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/APISaveCommentResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -18319,9 +24349,10 @@
"application/json": {
"schema": {
"items": {
+ "title": "SaveCommentsBulkResponse",
"anyOf": [
{
- "$ref": "#/components/schemas/SaveCommentResponse"
+ "$ref": "#/components/schemas/APISaveCommentResponse"
},
{
"$ref": "#/components/schemas/APIError"
@@ -18405,14 +24436,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/FlagCommentResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/FlagCommentResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -18468,14 +24502,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/FlagCommentResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/FlagCommentResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -18531,14 +24568,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/BlockSuccess"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/BlockSuccess"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -18604,14 +24644,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/UnblockSuccess"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/UnblockSuccess"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -18677,14 +24720,17 @@
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/GetAuditLogsResponse"
- },
- {
- "$ref": "#/components/schemas/APIError"
- }
- ]
+ "$ref": "#/components/schemas/GetAuditLogsResponse"
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/APIError"
}
}
}
@@ -18760,7 +24806,15 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/AggregationResponse"
+ "title": "AggregateResponse",
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/AggregationResponse"
+ },
+ {
+ "$ref": "#/components/schemas/AggregationAPIError"
+ }
+ ]
}
}
}
diff --git a/tests/test_sso_integration.nim b/tests/test_sso_integration.nim
index 76f129b..8156d09 100644
--- a/tests/test_sso_integration.nim
+++ b/tests/test_sso_integration.nim
@@ -6,9 +6,8 @@ import ../client/fastcomments/apis/api_public
import ../client/fastcomments/apis/api_default
import ../client/fastcomments/models/model_comment_data
import ../client/fastcomments/models/model_api_status
-import ../client/fastcomments/models/model_record_string_string_or_number_value
-import ../client/fastcomments/models/model_get_comments_public200response
-import ../client/fastcomments/models/model_get_comments200response
+import ../client/fastcomments/models/model_get_comments_response_with_presence_public_comment
+import ../client/fastcomments/models/model_api_get_comments_response
proc getAPIKey(): string =
let apiKey = getEnv("FASTCOMMENTS_API_KEY")
@@ -73,9 +72,7 @@ suite "SSO Integration Tests":
check response.isSome
if response.isSome:
let resp = response.get()
- check resp.kind == GetCommentsPublic200responseKind.GetCommentsResponseWithPresencePublicCommentVariant
- if resp.kind == GetCommentsPublic200responseKind.GetCommentsResponseWithPresencePublicCommentVariant:
- check resp.GetCommentsResponseWithPresence_PublicComment_Value.status == "success"
+ check resp.status == "success"
test "PublicAPI with secure SSO":
let apiKey = getAPIKey()
@@ -100,7 +97,6 @@ suite "SSO Integration Tests":
commentData.commenterName = user.username
commentData.date = some(timestamp)
commentData.meta = some(newJObject())
- commentData.questionValues = some(initTable[string, RecordStringStringOrNumberValue]())
let (createResponse, createHttpResponse) = createCommentPublic(
httpClient = client,
@@ -152,9 +148,7 @@ suite "SSO Integration Tests":
check getResponse.isSome
if getResponse.isSome:
let resp = getResponse.get()
- check resp.kind == GetCommentsPublic200responseKind.GetCommentsResponseWithPresencePublicCommentVariant
- if resp.kind == GetCommentsPublic200responseKind.GetCommentsResponseWithPresencePublicCommentVariant:
- check resp.GetCommentsResponseWithPresence_PublicComment_Value.comments.len >= 1
+ check resp.comments.len >= 1
test "DefaultAPI with API key - Fetch Comments":
let apiKey = getAPIKey()
@@ -182,7 +176,6 @@ suite "SSO Integration Tests":
commentData.commenterName = user.username
commentData.date = some(timestamp)
commentData.meta = some(newJObject())
- commentData.questionValues = some(initTable[string, RecordStringStringOrNumberValue]())
let (createResponse, createHttpResponse) = createCommentPublic(
httpClient = client,
@@ -220,7 +213,9 @@ suite "SSO Integration Tests":
contextUserId = "",
hashTag = "",
parentId = "",
- direction = SortDirections.NF
+ direction = SortDirections.NF,
+ fromDate = 0,
+ toDate = 0
)
check getHttpResponse.code == Http200
@@ -228,11 +223,9 @@ suite "SSO Integration Tests":
if getResponse.isSome:
let resp = getResponse.get()
- check resp.kind == GetComments200responseKind.APIGetCommentsResponseVariant
- if resp.kind == GetComments200responseKind.APIGetCommentsResponseVariant:
- check resp.APIGetCommentsResponseValue.status == APIStatus.SUCCESS
- echo "✓ Retrieved ", resp.APIGetCommentsResponseValue.comments.len, " comments with DefaultAPI"
- echo "✓ Successfully verified DefaultAPI authentication with API key works!"
+ check resp.status == APIStatus.SUCCESS
+ echo "✓ Retrieved ", resp.comments.len, " comments with DefaultAPI"
+ echo "✓ Successfully verified DefaultAPI authentication with API key works!"
authClient.close()
@@ -262,7 +255,6 @@ suite "SSO Integration Tests":
commentData.commenterName = user.username
commentData.date = some(timestamp)
commentData.meta = some(newJObject())
- commentData.questionValues = some(initTable[string, RecordStringStringOrNumberValue]())
let (createResponse, createHttpResponse) = createCommentPublic(
httpClient = client,
@@ -318,10 +310,9 @@ suite "SSO Integration Tests":
if getResponse.isSome:
let resp = getResponse.get()
- check resp.kind == GetCommentsPublic200responseKind.GetCommentsResponseWithPresencePublicCommentVariant
- if resp.kind == GetCommentsPublic200responseKind.GetCommentsResponseWithPresencePublicCommentVariant:
- let successResp = resp.GetCommentsResponseWithPresence_PublicComment_Value
+ block:
+ let successResp = resp
# Verify no error code
check successResp.code.isNone or successResp.code.get() == ""
diff --git a/update.sh b/update.sh
index 3f99253..0a9fdbc 100755
--- a/update.sh
+++ b/update.sh
@@ -1,39 +1,31 @@
#!/bin/bash
+set -e
-# Remove previously generated code
-/bin/rm -rf /home/winrid/dev/fastcomments/fastcomments-nim/client
+# FastComments openapi-generator build. The Nim generator now references model
+# types by their declared (camelized) names, so no post-generation patching is
+# needed. Just a jar; downloaded on demand.
+JAR_URL="https://github.com/winrid/openapi-generator/releases/download/fastcomments-build-20260619/openapi-generator-cli.jar"
+JAR_FILE="./openapi-generator-cli.jar"
-if wget -q http://localhost:3001/js/swagger.json -O ./openapi.json; then
- echo "Downloaded OpenAPI spec from running server"
- SPEC_FILE="./openapi.json"
-else
- echo "Server not running, using existing OpenAPI spec"
- SPEC_FILE="./openapi.json"
-fi
+[ -f "$JAR_FILE" ] || wget -q "$JAR_URL" -O "$JAR_FILE"
-java -jar ../openapi-generator/modules/openapi-generator-cli/target/openapi-generator-cli.jar generate \
+rm -rf ./client
+wget -q http://localhost:3001/js/swagger.json -O ./openapi.json
+
+java -jar "$JAR_FILE" generate \
--additional-properties=useSingleRequestParameter=true \
- -i "$SPEC_FILE" \
+ -i ./openapi.json \
-g nim \
-o ./client \
-c config.json
echo "Generated Nim client in ./client"
-# Generate markdown documentation
-echo "Generating markdown documentation..."
-/bin/rm -rf /home/winrid/dev/fastcomments/fastcomments-nim/docs
-java -jar ../openapi-generator/modules/openapi-generator-cli/target/openapi-generator-cli.jar generate \
+rm -rf ./docs
+java -jar "$JAR_FILE" generate \
--additional-properties=useSingleRequestParameter=true \
- -i "$SPEC_FILE" \
+ -i ./openapi.json \
-g markdown \
-o ./docs
-if [ $? -eq 0 ]; then
- echo "✓ Generated documentation in ./docs"
-else
- echo "✗ Documentation generation failed!"
- exit 1
-fi
-
echo "✓ Nim SDK generated successfully!"