phrase 4.22.0 → 4.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/README.md +8 -6
- data/docs/AccountDetails.md +1 -1
- data/docs/AuthorizationsApi.md +1 -1
- data/docs/Automation.md +6 -0
- data/docs/AutomationsApi.md +1 -1
- data/docs/AutomationsCreateParameters.md +5 -1
- data/docs/AutomationsCreateParameters1.md +5 -1
- data/docs/BlacklistedKeysApi.md +1 -1
- data/docs/Branch.md +2 -0
- data/docs/BranchCreateParameters.md +3 -1
- data/docs/BranchMergeParameters.md +1 -1
- data/docs/BranchSyncParameters.md +1 -1
- data/docs/BranchesApi.md +10 -10
- data/docs/CommentsApi.md +7 -7
- data/docs/Distribution.md +4 -4
- data/docs/{DistributionPreview.md → DistributionDetails.md} +9 -3
- data/docs/DistributionsApi.md +9 -9
- data/docs/DocumentDelete422Response.md +19 -0
- data/docs/{CustomMetadataPropertyCreate422ResponseErrorsInner.md → DocumentDelete422ResponseErrorsInner.md} +2 -2
- data/docs/DocumentsApi.md +4 -2
- data/docs/FigmaAttachmentsApi.md +1 -1
- data/docs/GlossariesApi.md +1 -1
- data/docs/Glossary.md +2 -0
- data/docs/GlossaryTerm.md +2 -0
- data/docs/GlossaryTermGlossary.md +19 -0
- data/docs/GlossaryTermTranslationsApi.md +1 -1
- data/docs/GlossaryTermsApi.md +1 -1
- data/docs/IcuSkeletonParameters.md +3 -1
- data/docs/Invitation.md +2 -2
- data/docs/InvitationsApi.md +1 -1
- data/docs/Job.md +5 -1
- data/docs/JobDetails.md +8 -2
- data/docs/JobTemplate.md +2 -0
- data/docs/JobTemplateDetails.md +2 -0
- data/docs/JobTemplatesApi.md +1 -1
- data/docs/JobsApi.md +15 -9
- data/docs/KeyCreateParameters.md +6 -2
- data/docs/KeyUpdateParameters.md +6 -2
- data/docs/KeysApi.md +1 -1
- data/docs/LocalesApi.md +6 -2
- data/docs/MembersApi.md +1 -1
- data/docs/NotificationsApi.md +3 -1
- data/docs/OrdersApi.md +4 -2
- data/docs/OrganizationJobTemplate.md +4 -0
- data/docs/OrganizationJobTemplateDetails.md +4 -0
- data/docs/OrganizationJobTemplatesApi.md +1 -1
- data/docs/ProjectCreateParameters.md +17 -1
- data/docs/ProjectDetails.md +7 -1
- data/docs/ProjectUpdateParameters.md +17 -3
- data/docs/ProjectsApi.md +10 -8
- data/docs/Release.md +2 -0
- data/docs/ReleasesApi.md +1 -1
- data/docs/RepoSync.md +2 -0
- data/docs/ScreenshotMarker.md +2 -2
- data/docs/ScreenshotMarkerPresentation.md +23 -0
- data/docs/ScreenshotMarkersApi.md +1 -1
- data/docs/ScreenshotUpdateParameters.md +1 -1
- data/docs/ScreenshotsApi.md +1 -1
- data/docs/SearchInAccountParameters.md +3 -1
- data/docs/StyleGuidesApi.md +1 -1
- data/docs/StyleguideCreateParameters.md +3 -3
- data/docs/StyleguideUpdateParameters.md +3 -3
- data/docs/Tag.md +2 -0
- data/docs/TagWithStats.md +2 -0
- data/docs/TagsApi.md +5 -3
- data/docs/TranslationCreateParameters.md +5 -1
- data/docs/TranslationOrder.md +2 -2
- data/docs/TranslationUpdateParameters.md +3 -1
- data/docs/TranslationsApi.md +4 -0
- data/docs/UploadBatch.md +4 -2
- data/docs/UploadsApi.md +3 -1
- data/docs/VariablesApi.md +1 -1
- data/docs/WebhooksApi.md +7 -6
- data/lib/phrase/api/authorizations_api.rb +2 -0
- data/lib/phrase/api/automations_api.rb +2 -0
- data/lib/phrase/api/blacklisted_keys_api.rb +2 -0
- data/lib/phrase/api/branches_api.rb +20 -14
- data/lib/phrase/api/comments_api.rb +18 -4
- data/lib/phrase/api/distributions_api.rb +14 -12
- data/lib/phrase/api/documents_api.rb +5 -0
- data/lib/phrase/api/figma_attachments_api.rb +2 -0
- data/lib/phrase/api/glossaries_api.rb +2 -0
- data/lib/phrase/api/glossary_term_translations_api.rb +2 -0
- data/lib/phrase/api/glossary_terms_api.rb +2 -0
- data/lib/phrase/api/invitations_api.rb +2 -0
- data/lib/phrase/api/job_templates_api.rb +2 -0
- data/lib/phrase/api/jobs_api.rb +18 -6
- data/lib/phrase/api/keys_api.rb +2 -0
- data/lib/phrase/api/locales_api.rb +8 -0
- data/lib/phrase/api/members_api.rb +2 -0
- data/lib/phrase/api/notifications_api.rb +3 -0
- data/lib/phrase/api/orders_api.rb +5 -0
- data/lib/phrase/api/organization_job_templates_api.rb +2 -0
- data/lib/phrase/api/projects_api.rb +23 -10
- data/lib/phrase/api/releases_api.rb +2 -0
- data/lib/phrase/api/screenshot_markers_api.rb +2 -0
- data/lib/phrase/api/screenshots_api.rb +2 -0
- data/lib/phrase/api/style_guides_api.rb +2 -0
- data/lib/phrase/api/tags_api.rb +7 -2
- data/lib/phrase/api/translations_api.rb +6 -0
- data/lib/phrase/api/uploads_api.rb +3 -0
- data/lib/phrase/api/variables_api.rb +2 -0
- data/lib/phrase/api/webhooks_api.rb +9 -5
- data/lib/phrase/models/account_details.rb +1 -0
- data/lib/phrase/models/authorization_create_parameters.rb +22 -0
- data/lib/phrase/models/authorization_update_parameters.rb +22 -0
- data/lib/phrase/models/automation.rb +34 -1
- data/lib/phrase/models/automations_create_parameters.rb +24 -4
- data/lib/phrase/models/automations_create_parameters1.rb +24 -4
- data/lib/phrase/models/branch.rb +46 -1
- data/lib/phrase/models/branch_create_parameters.rb +14 -4
- data/lib/phrase/models/branch_merge_parameters.rb +35 -1
- data/lib/phrase/models/branch_sync_parameters.rb +35 -1
- data/lib/phrase/models/distribution.rb +17 -20
- data/lib/phrase/models/{distribution_preview.rb → distribution_details.rb} +46 -7
- data/lib/phrase/models/{custom_metadata_property_create422_response.rb → document_delete422_response.rb} +4 -4
- data/lib/phrase/models/{custom_metadata_property_create422_response_errors_inner.rb → document_delete422_response_errors_inner.rb} +3 -3
- data/lib/phrase/models/glossary.rb +12 -1
- data/lib/phrase/models/glossary_term.rb +10 -1
- data/lib/phrase/models/glossary_term_glossary.rb +206 -0
- data/lib/phrase/models/icu_skeleton_parameters.rb +12 -2
- data/lib/phrase/models/invitation.rb +9 -8
- data/lib/phrase/models/job.rb +26 -4
- data/lib/phrase/models/job_details.rb +37 -4
- data/lib/phrase/models/job_template.rb +11 -1
- data/lib/phrase/models/job_template_details.rb +11 -1
- data/lib/phrase/models/key_create_parameters.rb +26 -4
- data/lib/phrase/models/key_update_parameters.rb +26 -4
- data/lib/phrase/models/organization_job_template.rb +22 -1
- data/lib/phrase/models/organization_job_template_details.rb +22 -1
- data/lib/phrase/models/project_create_parameters.rb +115 -1
- data/lib/phrase/models/project_details.rb +31 -4
- data/lib/phrase/models/project_update_parameters.rb +75 -5
- data/lib/phrase/models/release.rb +10 -1
- data/lib/phrase/models/repo_sync.rb +12 -1
- data/lib/phrase/models/screenshot_marker.rb +2 -1
- data/lib/phrase/models/screenshot_marker_presentation.rb +224 -0
- data/lib/phrase/models/search_in_account_parameters.rb +16 -4
- data/lib/phrase/models/styleguide_create_parameters.rb +61 -3
- data/lib/phrase/models/styleguide_update_parameters.rb +61 -3
- data/lib/phrase/models/tag.rb +11 -1
- data/lib/phrase/models/tag_with_stats.rb +11 -1
- data/lib/phrase/models/translation_create_parameters.rb +24 -4
- data/lib/phrase/models/translation_order.rb +8 -7
- data/lib/phrase/models/translation_update_parameters.rb +14 -4
- data/lib/phrase/models/upload_batch.rb +24 -14
- data/lib/phrase/version.rb +1 -1
- data/lib/phrase.rb +5 -3
- data/spec/api/branches_api_spec.rb +7 -7
- data/spec/api/comments_api_spec.rb +2 -2
- data/spec/api/distributions_api_spec.rb +4 -4
- data/spec/api/documents_api_spec.rb +1 -0
- data/spec/api/jobs_api_spec.rb +4 -2
- data/spec/api/notifications_api_spec.rb +1 -0
- data/spec/api/orders_api_spec.rb +1 -0
- data/spec/api/projects_api_spec.rb +6 -5
- data/spec/api/tags_api_spec.rb +2 -1
- data/spec/api/translations_api_spec.rb +2 -0
- data/spec/api/webhooks_api_spec.rb +2 -2
- data/spec/models/authorization_create_parameters_spec.rb +4 -0
- data/spec/models/authorization_update_parameters_spec.rb +4 -0
- data/spec/models/automation_spec.rb +18 -0
- data/spec/models/automations_create_parameters1_spec.rb +12 -0
- data/spec/models/automations_create_parameters_spec.rb +12 -0
- data/spec/models/branch_create_parameters_spec.rb +6 -0
- data/spec/models/branch_merge_parameters_spec.rb +4 -0
- data/spec/models/branch_spec.rb +10 -0
- data/spec/models/branch_sync_parameters_spec.rb +4 -0
- data/spec/models/{distribution_preview_spec.rb → distribution_details_spec.rb} +24 -6
- data/spec/models/distribution_spec.rb +3 -3
- data/spec/models/{custom_metadata_property_create422_response_errors_inner_spec.rb → document_delete422_response_errors_inner_spec.rb} +6 -6
- data/spec/models/{custom_metadata_property_create422_response_spec.rb → document_delete422_response_spec.rb} +6 -6
- data/spec/models/glossary_spec.rb +6 -0
- data/spec/models/glossary_term_glossary_spec.rb +35 -0
- data/spec/models/glossary_term_spec.rb +6 -0
- data/spec/models/icu_skeleton_parameters_spec.rb +6 -0
- data/spec/models/invitation_spec.rb +1 -1
- data/spec/models/job_details_spec.rb +18 -0
- data/spec/models/job_spec.rb +12 -0
- data/spec/models/job_template_details_spec.rb +6 -0
- data/spec/models/job_template_spec.rb +6 -0
- data/spec/models/key_create_parameters_spec.rb +12 -0
- data/spec/models/key_update_parameters_spec.rb +12 -0
- data/spec/models/organization_job_template_details_spec.rb +12 -0
- data/spec/models/organization_job_template_spec.rb +12 -0
- data/spec/models/project_create_parameters_spec.rb +52 -0
- data/spec/models/project_details_spec.rb +18 -0
- data/spec/models/project_update_parameters_spec.rb +42 -0
- data/spec/models/release_spec.rb +6 -0
- data/spec/models/repo_sync_spec.rb +6 -0
- data/spec/models/screenshot_marker_presentation_spec.rb +47 -0
- data/spec/models/search_in_account_parameters_spec.rb +6 -0
- data/spec/models/styleguide_create_parameters_spec.rb +12 -0
- data/spec/models/styleguide_update_parameters_spec.rb +12 -0
- data/spec/models/tag_spec.rb +6 -0
- data/spec/models/tag_with_stats_spec.rb +6 -0
- data/spec/models/translation_create_parameters_spec.rb +12 -0
- data/spec/models/translation_order_spec.rb +1 -1
- data/spec/models/translation_update_parameters_spec.rb +6 -0
- data/spec/models/upload_batch_spec.rb +8 -2
- metadata +267 -259
- data/docs/CustomMetadataPropertyCreate422Response.md +0 -19
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3c2d7f86f0f7dbfbe61925040d04386a68efb04c1d5e20483bf7200eea44c9ca
|
|
4
|
+
data.tar.gz: 96947f9a1ec1f0665202e8d8a17a5f48d29a0b362e1b556d1c5495bef65b76a5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ea5aa89229b25f9f7a019ed5f7222ce47d7f030b95b94f2db0ee70e42649c9840c161102d1c13c2f55e332ff9b1a4d3f2bb61f87d46a0d4ac66be38855d04eaa
|
|
7
|
+
data.tar.gz: 9bacde9214b062e0aec9aeb7ff320e17f0afb823d36f314a06d3ae2d0dd72676ea6e44ddda55cc421b26317f32b9dd2bc533bec561da834a76bfa1a4140e5a42
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [4.23.0](https://github.com/phrase/strings-openapi/compare/ruby-v4.22.0...ruby-v4.23.0) (2026-06-04)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **API:** add automation_id and job_template_id fields to job responses ([#1149](https://github.com/phrase/strings-openapi/issues/1149)) ([eae51a3](https://github.com/phrase/strings-openapi/commit/eae51a300f71f30b84fdbc91c6f92058a1772138))
|
|
9
|
+
* **API:** align and improve API coverage across v2 endpoints ([#1145](https://github.com/phrase/strings-openapi/issues/1145)) ([b27394b](https://github.com/phrase/strings-openapi/commit/b27394bd102f2aee4dd468e3c2fff355018ec59c))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* **API:** branching: align operations with the backend behavior ([#1136](https://github.com/phrase/strings-openapi/issues/1136)) ([b0e0c8e](https://github.com/phrase/strings-openapi/commit/b0e0c8ed692be75ea55e761e49df8c35fb17df56))
|
|
15
|
+
|
|
3
16
|
## [4.22.0](https://github.com/phrase/strings-openapi/compare/ruby-v4.21.0...ruby-v4.22.0) (2026-05-15)
|
|
4
17
|
|
|
5
18
|
|
data/README.md
CHANGED
|
@@ -7,7 +7,7 @@ Phrase Strings is a translation management platform for software projects. You c
|
|
|
7
7
|
## This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
|
8
8
|
|
|
9
9
|
- API version: 2.0.0
|
|
10
|
-
- Package version: 4.
|
|
10
|
+
- Package version: 4.23.0
|
|
11
11
|
- Build package: org.openapitools.codegen.languages.RubyClientCodegen
|
|
12
12
|
For more information, please visit [https://developers.phrase.com/api/](https://developers.phrase.com/api/)
|
|
13
13
|
|
|
@@ -56,10 +56,10 @@ gem build phrase.gemspec
|
|
|
56
56
|
Then install the gem locally:
|
|
57
57
|
|
|
58
58
|
```shell
|
|
59
|
-
gem install ./phrase-4.
|
|
59
|
+
gem install ./phrase-4.23.0.gem
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
(for development, run `gem install --dev ./phrase-4.
|
|
62
|
+
(for development, run `gem install --dev ./phrase-4.23.0.gem` to install the development dependencies)
|
|
63
63
|
|
|
64
64
|
## Getting Started
|
|
65
65
|
|
|
@@ -454,13 +454,13 @@ Class | Method | HTTP request | Description
|
|
|
454
454
|
- [Phrase::CustomMetadataPropertiesCreateParameters](docs/CustomMetadataPropertiesCreateParameters.md)
|
|
455
455
|
- [Phrase::CustomMetadataPropertiesUpdateParameters](docs/CustomMetadataPropertiesUpdateParameters.md)
|
|
456
456
|
- [Phrase::CustomMetadataProperty](docs/CustomMetadataProperty.md)
|
|
457
|
-
- [Phrase::CustomMetadataPropertyCreate422Response](docs/CustomMetadataPropertyCreate422Response.md)
|
|
458
|
-
- [Phrase::CustomMetadataPropertyCreate422ResponseErrorsInner](docs/CustomMetadataPropertyCreate422ResponseErrorsInner.md)
|
|
459
457
|
- [Phrase::Distribution](docs/Distribution.md)
|
|
460
458
|
- [Phrase::DistributionCreateParameters](docs/DistributionCreateParameters.md)
|
|
461
|
-
- [Phrase::
|
|
459
|
+
- [Phrase::DistributionDetails](docs/DistributionDetails.md)
|
|
462
460
|
- [Phrase::DistributionUpdateParameters](docs/DistributionUpdateParameters.md)
|
|
463
461
|
- [Phrase::Document](docs/Document.md)
|
|
462
|
+
- [Phrase::DocumentDelete422Response](docs/DocumentDelete422Response.md)
|
|
463
|
+
- [Phrase::DocumentDelete422ResponseErrorsInner](docs/DocumentDelete422ResponseErrorsInner.md)
|
|
464
464
|
- [Phrase::Error](docs/Error.md)
|
|
465
465
|
- [Phrase::ErrorError](docs/ErrorError.md)
|
|
466
466
|
- [Phrase::FigmaAttachment](docs/FigmaAttachment.md)
|
|
@@ -471,6 +471,7 @@ Class | Method | HTTP request | Description
|
|
|
471
471
|
- [Phrase::GlossaryCreateParameters](docs/GlossaryCreateParameters.md)
|
|
472
472
|
- [Phrase::GlossaryTerm](docs/GlossaryTerm.md)
|
|
473
473
|
- [Phrase::GlossaryTermCreateParameters](docs/GlossaryTermCreateParameters.md)
|
|
474
|
+
- [Phrase::GlossaryTermGlossary](docs/GlossaryTermGlossary.md)
|
|
474
475
|
- [Phrase::GlossaryTermTranslation](docs/GlossaryTermTranslation.md)
|
|
475
476
|
- [Phrase::GlossaryTermTranslationCreateParameters](docs/GlossaryTermTranslationCreateParameters.md)
|
|
476
477
|
- [Phrase::GlossaryTermTranslationUpdateParameters](docs/GlossaryTermTranslationUpdateParameters.md)
|
|
@@ -583,6 +584,7 @@ Class | Method | HTTP request | Description
|
|
|
583
584
|
- [Phrase::Screenshot](docs/Screenshot.md)
|
|
584
585
|
- [Phrase::ScreenshotMarker](docs/ScreenshotMarker.md)
|
|
585
586
|
- [Phrase::ScreenshotMarkerCreateParameters](docs/ScreenshotMarkerCreateParameters.md)
|
|
587
|
+
- [Phrase::ScreenshotMarkerPresentation](docs/ScreenshotMarkerPresentation.md)
|
|
586
588
|
- [Phrase::ScreenshotMarkerUpdateParameters](docs/ScreenshotMarkerUpdateParameters.md)
|
|
587
589
|
- [Phrase::ScreenshotUpdateParameters](docs/ScreenshotUpdateParameters.md)
|
|
588
590
|
- [Phrase::SearchInAccountParameters](docs/SearchInAccountParameters.md)
|
data/docs/AccountDetails.md
CHANGED
|
@@ -12,7 +12,7 @@ Name | Type | Description | Notes
|
|
|
12
12
|
**updated_at** | **Time** | | [optional]
|
|
13
13
|
**company_logo_url** | **String** | | [optional]
|
|
14
14
|
**subscription** | [**Subscription**](Subscription.md) | | [optional]
|
|
15
|
-
**roles** | **Array<String>** | | [optional]
|
|
15
|
+
**roles** | **Array<String>** | Roles the requesting user holds in the account. | [optional]
|
|
16
16
|
|
|
17
17
|
## Code Sample
|
|
18
18
|
|
data/docs/AuthorizationsApi.md
CHANGED
data/docs/Automation.md
CHANGED
|
@@ -10,7 +10,10 @@ Name | Type | Description | Notes
|
|
|
10
10
|
**trigger** | **String** | | [optional]
|
|
11
11
|
**status_filters** | **Array<String>** | translation key statuses used to filter keys that are added to jobs | [optional]
|
|
12
12
|
**project_id** | **String** | | [optional]
|
|
13
|
+
**project_ids** | **Array<String>** | All project IDs the automation applies to. Returned alongside the singular `project_id` for backwards compatibility. | [optional]
|
|
13
14
|
**job_template_id** | **String** | | [optional]
|
|
15
|
+
**job_owner_id** | **String** | User ID of the job owner that newly created jobs are assigned to. | [optional]
|
|
16
|
+
**include_only_updated_locales** | **Boolean** | When `true`, the automation only acts on locales that changed since its last run. | [optional]
|
|
14
17
|
**tags** | **Array<String>** | | [optional]
|
|
15
18
|
**cron_schedule** | **String** | | [optional]
|
|
16
19
|
**time_zone** | **String** | | [optional]
|
|
@@ -29,7 +32,10 @@ instance = Phrase::Automation.new(id: null,
|
|
|
29
32
|
trigger: null,
|
|
30
33
|
status_filters: null,
|
|
31
34
|
project_id: null,
|
|
35
|
+
project_ids: null,
|
|
32
36
|
job_template_id: null,
|
|
37
|
+
job_owner_id: null,
|
|
38
|
+
include_only_updated_locales: null,
|
|
33
39
|
tags: null,
|
|
34
40
|
cron_schedule: null,
|
|
35
41
|
time_zone: null,
|
data/docs/AutomationsApi.md
CHANGED
|
@@ -12,6 +12,8 @@ Name | Type | Description | Notes
|
|
|
12
12
|
**tags** | **Array<String>** | used to filter which keys are added to jobs | [optional]
|
|
13
13
|
**cron_schedule** | **String** | along with time_zone, specifies when the scheduled automation is supposed to run | [optional]
|
|
14
14
|
**time_zone** | **String** | along with cron_schedule, specifies when the scheduled automation is supposed to run | [optional]
|
|
15
|
+
**job_owner_id** | **String** | User ID of the job owner that newly created jobs are assigned to. | [optional]
|
|
16
|
+
**include_only_updated_locales** | **Boolean** | When `true`, the automation only acts on locales that changed since its last run. Defaults to `false`. | [optional]
|
|
15
17
|
|
|
16
18
|
## Code Sample
|
|
17
19
|
|
|
@@ -25,7 +27,9 @@ instance = Phrase::AutomationsCreateParameters.new(name: Scheduled Job Automatio
|
|
|
25
27
|
status_filters: null,
|
|
26
28
|
tags: ["myTag"],
|
|
27
29
|
cron_schedule: 00 13 * * 1,2,
|
|
28
|
-
time_zone: GMT
|
|
30
|
+
time_zone: GMT,
|
|
31
|
+
job_owner_id: abcd1234abcd1234abcd1234abcd1234,
|
|
32
|
+
include_only_updated_locales: false)
|
|
29
33
|
```
|
|
30
34
|
|
|
31
35
|
|
|
@@ -12,6 +12,8 @@ Name | Type | Description | Notes
|
|
|
12
12
|
**tags** | **Array<String>** | used to filter which keys are added to jobs | [optional]
|
|
13
13
|
**cron_schedule** | **String** | along with time_zone, specifies when the scheduled automation is supposed to run | [optional]
|
|
14
14
|
**time_zone** | **String** | along with cron_schedule, specifies when the scheduled automation is supposed to run | [optional]
|
|
15
|
+
**job_owner_id** | **String** | User ID of the job owner that newly created jobs are assigned to. | [optional]
|
|
16
|
+
**include_only_updated_locales** | **Boolean** | When `true`, the automation only acts on locales that changed since its last run. | [optional]
|
|
15
17
|
|
|
16
18
|
## Code Sample
|
|
17
19
|
|
|
@@ -25,7 +27,9 @@ instance = Phrase::AutomationsCreateParameters1.new(name: Scheduled Job Automati
|
|
|
25
27
|
status_filters: null,
|
|
26
28
|
tags: ["myTag"],
|
|
27
29
|
cron_schedule: 00 13 * * 1,2,
|
|
28
|
-
time_zone: GMT
|
|
30
|
+
time_zone: GMT,
|
|
31
|
+
job_owner_id: abcd1234abcd1234abcd1234abcd1234,
|
|
32
|
+
include_only_updated_locales: false)
|
|
29
33
|
```
|
|
30
34
|
|
|
31
35
|
|
data/docs/BlacklistedKeysApi.md
CHANGED
data/docs/Branch.md
CHANGED
|
@@ -7,6 +7,7 @@ Name | Type | Description | Notes
|
|
|
7
7
|
**base_project_id** | **String** | | [optional]
|
|
8
8
|
**branch_project_id** | **String** | | [optional]
|
|
9
9
|
**name** | **String** | | [optional]
|
|
10
|
+
**base** | **String** | Name of the base branch this branch was created from. Only present for branches created with the newer branching system. | [optional]
|
|
10
11
|
**created_at** | **Time** | | [optional]
|
|
11
12
|
**updated_at** | **Time** | | [optional]
|
|
12
13
|
**merged_at** | **Time** | | [optional]
|
|
@@ -23,6 +24,7 @@ require 'Phrase'
|
|
|
23
24
|
instance = Phrase::Branch.new(base_project_id: null,
|
|
24
25
|
branch_project_id: null,
|
|
25
26
|
name: null,
|
|
27
|
+
base: null,
|
|
26
28
|
created_at: null,
|
|
27
29
|
updated_at: null,
|
|
28
30
|
merged_at: null,
|
|
@@ -5,13 +5,15 @@
|
|
|
5
5
|
Name | Type | Description | Notes
|
|
6
6
|
------------ | ------------- | ------------- | -------------
|
|
7
7
|
**name** | **String** | Name of the branch |
|
|
8
|
+
**base** | **String** | Name of an existing branch to use as the base for the new branch. | [optional]
|
|
8
9
|
|
|
9
10
|
## Code Sample
|
|
10
11
|
|
|
11
12
|
```ruby
|
|
12
13
|
require 'Phrase'
|
|
13
14
|
|
|
14
|
-
instance = Phrase::BranchCreateParameters.new(name: my-branch
|
|
15
|
+
instance = Phrase::BranchCreateParameters.new(name: my-branch,
|
|
16
|
+
base: parent-branch)
|
|
15
17
|
```
|
|
16
18
|
|
|
17
19
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Name | Type | Description | Notes
|
|
6
6
|
------------ | ------------- | ------------- | -------------
|
|
7
|
-
**strategy** | **String** | strategy
|
|
7
|
+
**strategy** | **String** | Conflict resolution strategy applied when the branch and its base have diverged. `use_main` keeps the values from the base branch; `use_branch` keeps the values from the branch being merged. | [optional]
|
|
8
8
|
|
|
9
9
|
## Code Sample
|
|
10
10
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Name | Type | Description | Notes
|
|
6
6
|
------------ | ------------- | ------------- | -------------
|
|
7
|
-
**strategy** | **String** | strategy
|
|
7
|
+
**strategy** | **String** | Conflict resolution strategy applied when the branch and its base have diverged. `use_main` keeps the values from the base branch; `use_branch` keeps the values from this branch. | [optional]
|
|
8
8
|
|
|
9
9
|
## Code Sample
|
|
10
10
|
|
data/docs/BranchesApi.md
CHANGED
|
@@ -148,7 +148,7 @@ Response<(nil (empty response body))>
|
|
|
148
148
|
|
|
149
149
|
Create a branch
|
|
150
150
|
|
|
151
|
-
Create a new branch. *Note: Creating a new branch may take several minutes depending on the project size.*
|
|
151
|
+
Create a new branch. Branch project provisioning runs asynchronously, so the newly created branch is returned in a transitional state (typically `creating_branch`) and only reaches `success` once the underlying project has been set up. Poll the branch resource until its `state` becomes `success` before performing further operations on it. Requires the Branching feature to be enabled on the account. *Note: Creating a new branch may take several minutes depending on the project size.*
|
|
152
152
|
|
|
153
153
|
### Example
|
|
154
154
|
|
|
@@ -211,7 +211,7 @@ Response<([**Branch**](Branch.md))>
|
|
|
211
211
|
|
|
212
212
|
Delete a branch
|
|
213
213
|
|
|
214
|
-
Delete an existing branch.
|
|
214
|
+
Delete an existing branch. A branch cannot be deleted while it still has open jobs or open translation orders attached to its branch project — in that case the request is rejected with `409 Conflict`. A branch whose current `state` does not allow deletion (for example, while a merge or sync is in progress) is rejected with `422 Unprocessable Entity`. Requires the Branching feature to be enabled on the account.
|
|
215
215
|
|
|
216
216
|
### Example
|
|
217
217
|
|
|
@@ -264,7 +264,7 @@ Response<(nil (empty response body))>
|
|
|
264
264
|
### HTTP request headers
|
|
265
265
|
|
|
266
266
|
- **Content-Type**: Not defined
|
|
267
|
-
- **Accept**:
|
|
267
|
+
- **Accept**: application/json
|
|
268
268
|
|
|
269
269
|
|
|
270
270
|
## branch_merge
|
|
@@ -273,7 +273,7 @@ Response<(nil (empty response body))>
|
|
|
273
273
|
|
|
274
274
|
Merge a branch
|
|
275
275
|
|
|
276
|
-
Merge an existing branch. *Note: Merging a branch may take several minutes depending on diff size.*
|
|
276
|
+
Merge an existing branch back into its base branch. The merge runs asynchronously. The branch transitions to `merging_branch` and settles in `merged`, `merge_error`, or `merge_conflict` once the background job completes; the response body for this request is empty. Poll the branch resource to observe the final state. A branch cannot be merged while it still has open jobs or open translation orders attached to its branch project — in that case the request is rejected with `409 Conflict`. A branch whose current `state` does not allow a merge is rejected with `422 Unprocessable Entity`. Requires the Branching feature to be enabled on the account. *Note: Merging a branch may take several minutes depending on diff size.*
|
|
277
277
|
|
|
278
278
|
### Example
|
|
279
279
|
|
|
@@ -328,7 +328,7 @@ Response<(nil (empty response body))>
|
|
|
328
328
|
### HTTP request headers
|
|
329
329
|
|
|
330
330
|
- **Content-Type**: application/json
|
|
331
|
-
- **Accept**:
|
|
331
|
+
- **Accept**: application/json
|
|
332
332
|
|
|
333
333
|
|
|
334
334
|
## branch_show
|
|
@@ -337,7 +337,7 @@ Response<(nil (empty response body))>
|
|
|
337
337
|
|
|
338
338
|
Get a single branch
|
|
339
339
|
|
|
340
|
-
Get details on a single branch for a given project.
|
|
340
|
+
Get details on a single branch for a given project. Requires the Branching feature to be enabled on the account.
|
|
341
341
|
|
|
342
342
|
### Example
|
|
343
343
|
|
|
@@ -400,7 +400,7 @@ Response<([**Branch**](Branch.md))>
|
|
|
400
400
|
|
|
401
401
|
Sync a branch
|
|
402
402
|
|
|
403
|
-
|
|
403
|
+
Pull changes from the base branch into this branch, applying the chosen conflict-resolution strategy. The sync runs asynchronously. The branch transitions to `syncing_branch` and settles back into `success` (or `merge_conflict` / `branch_error`) once the background job completes; the response body for this request is empty. Poll the branch resource to observe the final state. Only branches created with the newer branching system can be synced. Requests against branches from the older system, or against branches whose current state does not allow a sync, are rejected with `422 Unprocessable Entity` and an empty body. Requires the Branching feature to be enabled on the account.
|
|
404
404
|
|
|
405
405
|
### Example
|
|
406
406
|
|
|
@@ -455,7 +455,7 @@ Response<(nil (empty response body))>
|
|
|
455
455
|
### HTTP request headers
|
|
456
456
|
|
|
457
457
|
- **Content-Type**: application/json
|
|
458
|
-
- **Accept**:
|
|
458
|
+
- **Accept**: application/json
|
|
459
459
|
|
|
460
460
|
|
|
461
461
|
## branch_update
|
|
@@ -464,7 +464,7 @@ Response<(nil (empty response body))>
|
|
|
464
464
|
|
|
465
465
|
Update a branch
|
|
466
466
|
|
|
467
|
-
Update an existing branch.
|
|
467
|
+
Update an existing branch. Only the branch name can be changed. Requires the Branching feature to be enabled on the account.
|
|
468
468
|
|
|
469
469
|
### Example
|
|
470
470
|
|
|
@@ -529,7 +529,7 @@ Response<([**Branch**](Branch.md))>
|
|
|
529
529
|
|
|
530
530
|
List branches
|
|
531
531
|
|
|
532
|
-
List all branches
|
|
532
|
+
List all branches of the current project. Requires the Branching feature to be enabled on the account.
|
|
533
533
|
|
|
534
534
|
### Example
|
|
535
535
|
|
data/docs/CommentsApi.md
CHANGED
|
@@ -143,7 +143,7 @@ Response<(nil (empty response body))>
|
|
|
143
143
|
### HTTP request headers
|
|
144
144
|
|
|
145
145
|
- **Content-Type**: Not defined
|
|
146
|
-
- **Accept**:
|
|
146
|
+
- **Accept**: application/json
|
|
147
147
|
|
|
148
148
|
|
|
149
149
|
## comment_mark_check
|
|
@@ -275,7 +275,7 @@ Response<(nil (empty response body))>
|
|
|
275
275
|
### HTTP request headers
|
|
276
276
|
|
|
277
277
|
- **Content-Type**: application/json
|
|
278
|
-
- **Accept**:
|
|
278
|
+
- **Accept**: application/json
|
|
279
279
|
|
|
280
280
|
|
|
281
281
|
## comment_mark_unread
|
|
@@ -341,7 +341,7 @@ Response<(nil (empty response body))>
|
|
|
341
341
|
### HTTP request headers
|
|
342
342
|
|
|
343
343
|
- **Content-Type**: Not defined
|
|
344
|
-
- **Accept**:
|
|
344
|
+
- **Accept**: application/json
|
|
345
345
|
|
|
346
346
|
|
|
347
347
|
## comment_show
|
|
@@ -512,8 +512,8 @@ opts = {
|
|
|
512
512
|
branch: 'my-feature-branch', # String | specify the branch to use
|
|
513
513
|
query: 'Some comment content', # String | Search query for comment messages
|
|
514
514
|
locale_ids: ['inner_example'], # Array<String> | Search comments by their assigned locales
|
|
515
|
-
filters: ['
|
|
516
|
-
order: '
|
|
515
|
+
filters: ['read'], # Array<String> | Specify the filter for the comments. Supported values are `read` and `unread`. Combine both to return all comments (read + unread) without filtering.
|
|
516
|
+
order: 'asc' # String | Order direction. Defaults to `desc`. Values other than `asc` and `desc` fall back to `desc`.
|
|
517
517
|
}
|
|
518
518
|
|
|
519
519
|
begin
|
|
@@ -538,8 +538,8 @@ Name | Type | Description | Notes
|
|
|
538
538
|
**branch** | **String**| specify the branch to use | [optional]
|
|
539
539
|
**query** | **String**| Search query for comment messages | [optional]
|
|
540
540
|
**locale_ids** | [**Array<String>**](String.md)| Search comments by their assigned locales | [optional]
|
|
541
|
-
**filters** | [**Array<String>**](String.md)| Specify the filter for the comments | [optional]
|
|
542
|
-
**order** | **String**| Order direction.
|
|
541
|
+
**filters** | [**Array<String>**](String.md)| Specify the filter for the comments. Supported values are `read` and `unread`. Combine both to return all comments (read + unread) without filtering. | [optional]
|
|
542
|
+
**order** | **String**| Order direction. Defaults to `desc`. Values other than `asc` and `desc` fall back to `desc`. | [optional]
|
|
543
543
|
|
|
544
544
|
### Return type
|
|
545
545
|
|
data/docs/Distribution.md
CHANGED
|
@@ -8,9 +8,9 @@ Name | Type | Description | Notes
|
|
|
8
8
|
**name** | **String** | | [optional]
|
|
9
9
|
**project** | [**ProjectShort**](ProjectShort.md) | | [optional]
|
|
10
10
|
**platforms** | **Array<String>** | | [optional]
|
|
11
|
-
**
|
|
12
|
-
**releases** | [**Array<ReleasePreview>**](ReleasePreview.md) | | [optional]
|
|
11
|
+
**release_count** | **Integer** | | [optional]
|
|
13
12
|
**created_at** | **Time** | | [optional]
|
|
13
|
+
**updated_at** | **Time** | | [optional]
|
|
14
14
|
**deleted_at** | **Time** | | [optional]
|
|
15
15
|
|
|
16
16
|
## Code Sample
|
|
@@ -22,9 +22,9 @@ instance = Phrase::Distribution.new(id: null,
|
|
|
22
22
|
name: null,
|
|
23
23
|
project: null,
|
|
24
24
|
platforms: null,
|
|
25
|
-
|
|
26
|
-
releases: null,
|
|
25
|
+
release_count: null,
|
|
27
26
|
created_at: null,
|
|
27
|
+
updated_at: null,
|
|
28
28
|
deleted_at: null)
|
|
29
29
|
```
|
|
30
30
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Phrase::
|
|
1
|
+
# Phrase::DistributionDetails
|
|
2
2
|
|
|
3
3
|
## Properties
|
|
4
4
|
|
|
@@ -10,20 +10,26 @@ Name | Type | Description | Notes
|
|
|
10
10
|
**platforms** | **Array<String>** | | [optional]
|
|
11
11
|
**release_count** | **Integer** | | [optional]
|
|
12
12
|
**created_at** | **Time** | | [optional]
|
|
13
|
+
**updated_at** | **Time** | | [optional]
|
|
13
14
|
**deleted_at** | **Time** | | [optional]
|
|
15
|
+
**locales** | [**Array<LocalePreview>**](LocalePreview.md) | | [optional]
|
|
16
|
+
**releases** | [**Array<ReleasePreview>**](ReleasePreview.md) | | [optional]
|
|
14
17
|
|
|
15
18
|
## Code Sample
|
|
16
19
|
|
|
17
20
|
```ruby
|
|
18
21
|
require 'Phrase'
|
|
19
22
|
|
|
20
|
-
instance = Phrase::
|
|
23
|
+
instance = Phrase::DistributionDetails.new(id: null,
|
|
21
24
|
name: null,
|
|
22
25
|
project: null,
|
|
23
26
|
platforms: null,
|
|
24
27
|
release_count: null,
|
|
25
28
|
created_at: null,
|
|
26
|
-
|
|
29
|
+
updated_at: null,
|
|
30
|
+
deleted_at: null,
|
|
31
|
+
locales: null,
|
|
32
|
+
releases: null)
|
|
27
33
|
```
|
|
28
34
|
|
|
29
35
|
|
data/docs/DistributionsApi.md
CHANGED
|
@@ -14,7 +14,7 @@ Method | HTTP request | Description
|
|
|
14
14
|
|
|
15
15
|
## distribution_create
|
|
16
16
|
|
|
17
|
-
>
|
|
17
|
+
> DistributionDetails distribution_create(account_id, distribution_create_parameters, opts)
|
|
18
18
|
|
|
19
19
|
Create a distribution
|
|
20
20
|
|
|
@@ -63,7 +63,7 @@ Name | Type | Description | Notes
|
|
|
63
63
|
|
|
64
64
|
### Return type
|
|
65
65
|
|
|
66
|
-
Response<([**
|
|
66
|
+
Response<([**DistributionDetails**](DistributionDetails.md))>
|
|
67
67
|
|
|
68
68
|
### Authorization
|
|
69
69
|
|
|
@@ -134,12 +134,12 @@ Response<(nil (empty response body))>
|
|
|
134
134
|
### HTTP request headers
|
|
135
135
|
|
|
136
136
|
- **Content-Type**: Not defined
|
|
137
|
-
- **Accept**:
|
|
137
|
+
- **Accept**: application/json
|
|
138
138
|
|
|
139
139
|
|
|
140
140
|
## distribution_show
|
|
141
141
|
|
|
142
|
-
>
|
|
142
|
+
> DistributionDetails distribution_show(account_id, id, opts)
|
|
143
143
|
|
|
144
144
|
Get a single distribution
|
|
145
145
|
|
|
@@ -188,7 +188,7 @@ Name | Type | Description | Notes
|
|
|
188
188
|
|
|
189
189
|
### Return type
|
|
190
190
|
|
|
191
|
-
Response<([**
|
|
191
|
+
Response<([**DistributionDetails**](DistributionDetails.md))>
|
|
192
192
|
|
|
193
193
|
### Authorization
|
|
194
194
|
|
|
@@ -202,7 +202,7 @@ Response<([**Distribution**](Distribution.md))>
|
|
|
202
202
|
|
|
203
203
|
## distribution_update
|
|
204
204
|
|
|
205
|
-
>
|
|
205
|
+
> DistributionDetails distribution_update(account_id, id, distribution_update_parameters, opts)
|
|
206
206
|
|
|
207
207
|
Update a distribution
|
|
208
208
|
|
|
@@ -253,7 +253,7 @@ Name | Type | Description | Notes
|
|
|
253
253
|
|
|
254
254
|
### Return type
|
|
255
255
|
|
|
256
|
-
Response<([**
|
|
256
|
+
Response<([**DistributionDetails**](DistributionDetails.md))>
|
|
257
257
|
|
|
258
258
|
### Authorization
|
|
259
259
|
|
|
@@ -267,7 +267,7 @@ Response<([**Distribution**](Distribution.md))>
|
|
|
267
267
|
|
|
268
268
|
## distributions_list
|
|
269
269
|
|
|
270
|
-
> Array<
|
|
270
|
+
> Array<Distribution> distributions_list(account_id, opts)
|
|
271
271
|
|
|
272
272
|
List distributions
|
|
273
273
|
|
|
@@ -318,7 +318,7 @@ Name | Type | Description | Notes
|
|
|
318
318
|
|
|
319
319
|
### Return type
|
|
320
320
|
|
|
321
|
-
Response<([**Array<
|
|
321
|
+
Response<([**Array<Distribution>**](Distribution.md))>
|
|
322
322
|
|
|
323
323
|
### Authorization
|
|
324
324
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Phrase::DocumentDelete422Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
Name | Type | Description | Notes
|
|
6
|
+
------------ | ------------- | ------------- | -------------
|
|
7
|
+
**message** | **String** | | [optional]
|
|
8
|
+
**errors** | [**Array<DocumentDelete422ResponseErrorsInner>**](DocumentDelete422ResponseErrorsInner.md) | | [optional]
|
|
9
|
+
|
|
10
|
+
## Code Sample
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'Phrase'
|
|
14
|
+
|
|
15
|
+
instance = Phrase::DocumentDelete422Response.new(message: null,
|
|
16
|
+
errors: null)
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Phrase::
|
|
1
|
+
# Phrase::DocumentDelete422ResponseErrorsInner
|
|
2
2
|
|
|
3
3
|
## Properties
|
|
4
4
|
|
|
@@ -13,7 +13,7 @@ Name | Type | Description | Notes
|
|
|
13
13
|
```ruby
|
|
14
14
|
require 'Phrase'
|
|
15
15
|
|
|
16
|
-
instance = Phrase::
|
|
16
|
+
instance = Phrase::DocumentDelete422ResponseErrorsInner.new(resource: null,
|
|
17
17
|
field: null,
|
|
18
18
|
message: null)
|
|
19
19
|
```
|
data/docs/DocumentsApi.md
CHANGED
|
@@ -68,7 +68,7 @@ Response<(nil (empty response body))>
|
|
|
68
68
|
### HTTP request headers
|
|
69
69
|
|
|
70
70
|
- **Content-Type**: Not defined
|
|
71
|
-
- **Accept**:
|
|
71
|
+
- **Accept**: application/json
|
|
72
72
|
|
|
73
73
|
|
|
74
74
|
## documents_list
|
|
@@ -100,7 +100,8 @@ project_id = 'project_id_example' # String | Project ID
|
|
|
100
100
|
opts = {
|
|
101
101
|
x_phrase_app_otp: 'x_phrase_app_otp_example', # String | Two-Factor-Authentication token (optional)
|
|
102
102
|
page: 1, # Integer | Page number
|
|
103
|
-
per_page: 25 # Integer | Limit on the number of objects to be returned, between 1 and 100. 25 by default
|
|
103
|
+
per_page: 25, # Integer | Limit on the number of objects to be returned, between 1 and 100. 25 by default
|
|
104
|
+
q: 'invoice' # String | Search query. Filters documents by name (case-insensitive substring match).
|
|
104
105
|
}
|
|
105
106
|
|
|
106
107
|
begin
|
|
@@ -121,6 +122,7 @@ Name | Type | Description | Notes
|
|
|
121
122
|
**x_phrase_app_otp** | **String**| Two-Factor-Authentication token (optional) | [optional]
|
|
122
123
|
**page** | **Integer**| Page number | [optional]
|
|
123
124
|
**per_page** | **Integer**| Limit on the number of objects to be returned, between 1 and 100. 25 by default | [optional]
|
|
125
|
+
**q** | **String**| Search query. Filters documents by name (case-insensitive substring match). | [optional]
|
|
124
126
|
|
|
125
127
|
### Return type
|
|
126
128
|
|
data/docs/FigmaAttachmentsApi.md
CHANGED
data/docs/GlossariesApi.md
CHANGED
data/docs/Glossary.md
CHANGED
|
@@ -7,6 +7,7 @@ Name | Type | Description | Notes
|
|
|
7
7
|
**id** | **String** | | [optional]
|
|
8
8
|
**name** | **String** | | [optional]
|
|
9
9
|
**projects** | [**Array<ProjectShort>**](ProjectShort.md) | | [optional]
|
|
10
|
+
**spaces** | [**Array<Space>**](Space.md) | | [optional]
|
|
10
11
|
**created_at** | **Time** | | [optional]
|
|
11
12
|
**updated_at** | **Time** | | [optional]
|
|
12
13
|
|
|
@@ -18,6 +19,7 @@ require 'Phrase'
|
|
|
18
19
|
instance = Phrase::Glossary.new(id: null,
|
|
19
20
|
name: null,
|
|
20
21
|
projects: null,
|
|
22
|
+
spaces: null,
|
|
21
23
|
created_at: null,
|
|
22
24
|
updated_at: null)
|
|
23
25
|
```
|
data/docs/GlossaryTerm.md
CHANGED
|
@@ -10,6 +10,7 @@ Name | Type | Description | Notes
|
|
|
10
10
|
**translatable** | **Boolean** | | [optional]
|
|
11
11
|
**case_sensitive** | **Boolean** | | [optional]
|
|
12
12
|
**translations** | [**Array<GlossaryTermTranslation>**](GlossaryTermTranslation.md) | | [optional]
|
|
13
|
+
**glossary** | [**GlossaryTermGlossary**](GlossaryTermGlossary.md) | | [optional]
|
|
13
14
|
**created_at** | **Time** | | [optional]
|
|
14
15
|
**updated_at** | **Time** | | [optional]
|
|
15
16
|
|
|
@@ -24,6 +25,7 @@ instance = Phrase::GlossaryTerm.new(id: null,
|
|
|
24
25
|
translatable: null,
|
|
25
26
|
case_sensitive: null,
|
|
26
27
|
translations: null,
|
|
28
|
+
glossary: null,
|
|
27
29
|
created_at: null,
|
|
28
30
|
updated_at: null)
|
|
29
31
|
```
|