diff options
| author | Bryan Newbold <bnewbold@robocracy.org> | 2018-12-26 23:26:22 -0800 | 
|---|---|---|
| committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-12-26 23:26:22 -0800 | 
| commit | 0182cd1456ca1457747ff1363d9d5c5cf95ee2f7 (patch) | |
| tree | f619d908954e47f7fcc357e3b089b812e8885790 | |
| parent | 81b40c73e9f6d17637b90dbea1808171f89c9351 (diff) | |
| download | fatcat-0182cd1456ca1457747ff1363d9d5c5cf95ee2f7.tar.gz fatcat-0182cd1456ca1457747ff1363d9d5c5cf95ee2f7.zip | |
codegen
| -rw-r--r-- | python/fatcat_client/api/default_api.py | 276 | ||||
| -rw-r--r-- | python/fatcat_client/models/editor.py | 8 | ||||
| -rw-r--r-- | python/fatcat_client/models/entity_edit.py | 54 | ||||
| -rw-r--r-- | python/fatcat_client/models/file_entity.py | 18 | ||||
| -rw-r--r-- | python/fatcat_client/models/fileset_entity_manifest.py | 18 | ||||
| -rw-r--r-- | python/fatcat_client/models/release_entity_abstracts.py | 6 | ||||
| -rw-r--r-- | python/fatcat_client/models/release_ref.py | 8 | ||||
| -rw-r--r-- | python/fatcat_client/models/webcapture_entity_cdx.py | 23 | ||||
| -rw-r--r-- | rust/fatcat-api-spec/README.md | 2 | ||||
| -rw-r--r-- | rust/fatcat-api-spec/api.yaml | 162 | ||||
| -rw-r--r-- | rust/fatcat-api-spec/api/swagger.yaml | 588 | ||||
| -rw-r--r-- | rust/fatcat-api-spec/examples/client.rs | 28 | ||||
| -rw-r--r-- | rust/fatcat-api-spec/examples/server_lib/server.rs | 56 | ||||
| -rw-r--r-- | rust/fatcat-api-spec/src/client.rs | 28 | ||||
| -rw-r--r-- | rust/fatcat-api-spec/src/lib.rs | 84 | ||||
| -rw-r--r-- | rust/fatcat-api-spec/src/models.rs | 12 | 
16 files changed, 913 insertions, 458 deletions
| diff --git a/python/fatcat_client/api/default_api.py b/python/fatcat_client/api/default_api.py index 3865ff96..9f7edf07 100644 --- a/python/fatcat_client/api/default_api.py +++ b/python/fatcat_client/api/default_api.py @@ -1787,7 +1787,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: Success                   If the method is called asynchronously,                   returns the request thread. @@ -1808,7 +1808,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: Success                   If the method is called asynchronously,                   returns the request thread. @@ -1834,6 +1834,14 @@ class DefaultApi(object):                  params['edit_id'] is None):              raise ValueError("Missing the required parameter `edit_id` when calling `delete_container_edit`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) > 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_container_edit`, length must be less than or equal to `36`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) < 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_container_edit`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_container_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -1985,7 +1993,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: Success                   If the method is called asynchronously,                   returns the request thread. @@ -2006,7 +2014,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: Success                   If the method is called asynchronously,                   returns the request thread. @@ -2032,6 +2040,14 @@ class DefaultApi(object):                  params['edit_id'] is None):              raise ValueError("Missing the required parameter `edit_id` when calling `delete_creator_edit`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) > 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_creator_edit`, length must be less than or equal to `36`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) < 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_creator_edit`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_creator_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -2183,7 +2199,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: Success                   If the method is called asynchronously,                   returns the request thread. @@ -2204,7 +2220,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: Success                   If the method is called asynchronously,                   returns the request thread. @@ -2230,6 +2246,14 @@ class DefaultApi(object):                  params['edit_id'] is None):              raise ValueError("Missing the required parameter `edit_id` when calling `delete_file_edit`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) > 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_file_edit`, length must be less than or equal to `36`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) < 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_file_edit`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_file_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -2381,7 +2405,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: Success                   If the method is called asynchronously,                   returns the request thread. @@ -2402,7 +2426,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: Success                   If the method is called asynchronously,                   returns the request thread. @@ -2428,6 +2452,14 @@ class DefaultApi(object):                  params['edit_id'] is None):              raise ValueError("Missing the required parameter `edit_id` when calling `delete_fileset_edit`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) > 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_fileset_edit`, length must be less than or equal to `36`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) < 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_fileset_edit`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_fileset_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -2579,7 +2611,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: Success                   If the method is called asynchronously,                   returns the request thread. @@ -2600,7 +2632,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: Success                   If the method is called asynchronously,                   returns the request thread. @@ -2626,6 +2658,14 @@ class DefaultApi(object):                  params['edit_id'] is None):              raise ValueError("Missing the required parameter `edit_id` when calling `delete_release_edit`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) > 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_release_edit`, length must be less than or equal to `36`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) < 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_release_edit`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_release_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -2777,7 +2817,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: Success                   If the method is called asynchronously,                   returns the request thread. @@ -2798,7 +2838,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: Success                   If the method is called asynchronously,                   returns the request thread. @@ -2824,6 +2864,14 @@ class DefaultApi(object):                  params['edit_id'] is None):              raise ValueError("Missing the required parameter `edit_id` when calling `delete_webcapture_edit`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) > 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_webcapture_edit`, length must be less than or equal to `36`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) < 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_webcapture_edit`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_webcapture_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -2975,7 +3023,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: Success                   If the method is called asynchronously,                   returns the request thread. @@ -2996,7 +3044,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: Success                   If the method is called asynchronously,                   returns the request thread. @@ -3022,6 +3070,14 @@ class DefaultApi(object):                  params['edit_id'] is None):              raise ValueError("Missing the required parameter `edit_id` when calling `delete_work_edit`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) > 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_work_edit`, length must be less than or equal to `36`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) < 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_work_edit`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `edit_id` when calling `delete_work_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -3367,7 +3423,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: EntityEdit                   If the method is called asynchronously,                   returns the request thread. @@ -3388,7 +3444,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: EntityEdit                   If the method is called asynchronously,                   returns the request thread. @@ -3414,6 +3470,14 @@ class DefaultApi(object):                  params['edit_id'] is None):              raise ValueError("Missing the required parameter `edit_id` when calling `get_container_edit`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) > 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_container_edit`, length must be less than or equal to `36`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) < 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_container_edit`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_container_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -3662,7 +3726,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param str rev_id: (required) +        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :param str expand: List of sub-entities to expand in response. For containers, none accepted (yet).          :param str hide: List of entity fields to elide in response. For containers, none accepted (yet).          :return: ContainerEntity @@ -3685,7 +3749,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param str rev_id: (required) +        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :param str expand: List of sub-entities to expand in response. For containers, none accepted (yet).          :param str hide: List of entity fields to elide in response. For containers, none accepted (yet).          :return: ContainerEntity @@ -3713,6 +3777,14 @@ class DefaultApi(object):                  params['rev_id'] is None):              raise ValueError("Missing the required parameter `rev_id` when calling `get_container_revision`")  # noqa: E501 +        if ('rev_id' in params and +                len(params['rev_id']) > 36): +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_container_revision`, length must be less than or equal to `36`")  # noqa: E501 +        if ('rev_id' in params and +                len(params['rev_id']) < 36): +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_container_revision`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_container_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -3872,7 +3944,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: EntityEdit                   If the method is called asynchronously,                   returns the request thread. @@ -3893,7 +3965,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: EntityEdit                   If the method is called asynchronously,                   returns the request thread. @@ -3919,6 +3991,14 @@ class DefaultApi(object):                  params['edit_id'] is None):              raise ValueError("Missing the required parameter `edit_id` when calling `get_creator_edit`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) > 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_creator_edit`, length must be less than or equal to `36`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) < 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_creator_edit`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_creator_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -4268,7 +4348,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param str rev_id: (required) +        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :param str expand: List of sub-entities to expand in response. For creators, none accepted (yet).          :param str hide: List of entity fields to elide in response. For creators, none accepted (yet).          :return: CreatorEntity @@ -4291,7 +4371,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param str rev_id: (required) +        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :param str expand: List of sub-entities to expand in response. For creators, none accepted (yet).          :param str hide: List of entity fields to elide in response. For creators, none accepted (yet).          :return: CreatorEntity @@ -4319,6 +4399,14 @@ class DefaultApi(object):                  params['rev_id'] is None):              raise ValueError("Missing the required parameter `rev_id` when calling `get_creator_revision`")  # noqa: E501 +        if ('rev_id' in params and +                len(params['rev_id']) > 36): +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_creator_revision`, length must be less than or equal to `36`")  # noqa: E501 +        if ('rev_id' in params and +                len(params['rev_id']) < 36): +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_creator_revision`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_creator_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -4777,7 +4865,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: EntityEdit                   If the method is called asynchronously,                   returns the request thread. @@ -4798,7 +4886,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: EntityEdit                   If the method is called asynchronously,                   returns the request thread. @@ -4824,6 +4912,14 @@ class DefaultApi(object):                  params['edit_id'] is None):              raise ValueError("Missing the required parameter `edit_id` when calling `get_file_edit`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) > 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_file_edit`, length must be less than or equal to `36`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) < 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_file_edit`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_file_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -5072,7 +5168,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param str rev_id: (required) +        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :param str expand: List of sub-entities to expand in response. For files, none accepted (yet).          :param str hide: List of entity fields to elide in response. For files, none accepted (yet).          :return: FileEntity @@ -5095,7 +5191,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param str rev_id: (required) +        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :param str expand: List of sub-entities to expand in response. For files, none accepted (yet).          :param str hide: List of entity fields to elide in response. For files, none accepted (yet).          :return: FileEntity @@ -5123,6 +5219,14 @@ class DefaultApi(object):                  params['rev_id'] is None):              raise ValueError("Missing the required parameter `rev_id` when calling `get_file_revision`")  # noqa: E501 +        if ('rev_id' in params and +                len(params['rev_id']) > 36): +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_file_revision`, length must be less than or equal to `36`")  # noqa: E501 +        if ('rev_id' in params and +                len(params['rev_id']) < 36): +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_file_revision`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_file_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -5282,7 +5386,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: EntityEdit                   If the method is called asynchronously,                   returns the request thread. @@ -5303,7 +5407,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: EntityEdit                   If the method is called asynchronously,                   returns the request thread. @@ -5329,6 +5433,14 @@ class DefaultApi(object):                  params['edit_id'] is None):              raise ValueError("Missing the required parameter `edit_id` when calling `get_fileset_edit`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) > 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_fileset_edit`, length must be less than or equal to `36`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) < 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_fileset_edit`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_fileset_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -5577,7 +5689,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param str rev_id: (required) +        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :param str expand: List of sub-entities to expand in response. For filesets, none accepted (yet).          :param str hide: List of entity fields to elide in response. For filesets, 'manifest' is accepted.          :return: FilesetEntity @@ -5600,7 +5712,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param str rev_id: (required) +        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :param str expand: List of sub-entities to expand in response. For filesets, none accepted (yet).          :param str hide: List of entity fields to elide in response. For filesets, 'manifest' is accepted.          :return: FilesetEntity @@ -5628,6 +5740,14 @@ class DefaultApi(object):                  params['rev_id'] is None):              raise ValueError("Missing the required parameter `rev_id` when calling `get_fileset_revision`")  # noqa: E501 +        if ('rev_id' in params and +                len(params['rev_id']) > 36): +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_fileset_revision`, length must be less than or equal to `36`")  # noqa: E501 +        if ('rev_id' in params and +                len(params['rev_id']) < 36): +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_fileset_revision`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_fileset_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -5787,7 +5907,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: EntityEdit                   If the method is called asynchronously,                   returns the request thread. @@ -5808,7 +5928,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: EntityEdit                   If the method is called asynchronously,                   returns the request thread. @@ -5834,6 +5954,14 @@ class DefaultApi(object):                  params['edit_id'] is None):              raise ValueError("Missing the required parameter `edit_id` when calling `get_release_edit`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) > 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_release_edit`, length must be less than or equal to `36`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) < 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_release_edit`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_release_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -6284,7 +6412,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param str rev_id: (required) +        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :param str expand: List of sub-entities to expand in response. For releases, none accepted (yet).          :param str hide: List of entity fields to elide in response. For releases, none accepted (yet).          :return: ReleaseEntity @@ -6307,7 +6435,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param str rev_id: (required) +        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :param str expand: List of sub-entities to expand in response. For releases, none accepted (yet).          :param str hide: List of entity fields to elide in response. For releases, none accepted (yet).          :return: ReleaseEntity @@ -6335,6 +6463,14 @@ class DefaultApi(object):                  params['rev_id'] is None):              raise ValueError("Missing the required parameter `rev_id` when calling `get_release_revision`")  # noqa: E501 +        if ('rev_id' in params and +                len(params['rev_id']) > 36): +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_release_revision`, length must be less than or equal to `36`")  # noqa: E501 +        if ('rev_id' in params and +                len(params['rev_id']) < 36): +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_release_revision`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_release_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -6595,7 +6731,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: EntityEdit                   If the method is called asynchronously,                   returns the request thread. @@ -6616,7 +6752,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: EntityEdit                   If the method is called asynchronously,                   returns the request thread. @@ -6642,6 +6778,14 @@ class DefaultApi(object):                  params['edit_id'] is None):              raise ValueError("Missing the required parameter `edit_id` when calling `get_webcapture_edit`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) > 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_webcapture_edit`, length must be less than or equal to `36`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) < 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_webcapture_edit`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_webcapture_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -6890,7 +7034,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param str rev_id: (required) +        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :param str expand: List of sub-entities to expand in response. For webcaptures, none accepted (yet).          :param str hide: List of entity fields to elide in response. For webcaptures, 'cdx' is accepted.          :return: WebcaptureEntity @@ -6913,7 +7057,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param str rev_id: (required) +        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :param str expand: List of sub-entities to expand in response. For webcaptures, none accepted (yet).          :param str hide: List of entity fields to elide in response. For webcaptures, 'cdx' is accepted.          :return: WebcaptureEntity @@ -6941,6 +7085,14 @@ class DefaultApi(object):                  params['rev_id'] is None):              raise ValueError("Missing the required parameter `rev_id` when calling `get_webcapture_revision`")  # noqa: E501 +        if ('rev_id' in params and +                len(params['rev_id']) > 36): +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_webcapture_revision`, length must be less than or equal to `36`")  # noqa: E501 +        if ('rev_id' in params and +                len(params['rev_id']) < 36): +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_webcapture_revision`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_webcapture_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -7100,7 +7252,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: EntityEdit                   If the method is called asynchronously,                   returns the request thread. @@ -7121,7 +7273,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param int edit_id: (required) +        :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :return: EntityEdit                   If the method is called asynchronously,                   returns the request thread. @@ -7147,6 +7299,14 @@ class DefaultApi(object):                  params['edit_id'] is None):              raise ValueError("Missing the required parameter `edit_id` when calling `get_work_edit`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) > 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_work_edit`, length must be less than or equal to `36`")  # noqa: E501 +        if ('edit_id' in params and +                len(params['edit_id']) < 36): +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_work_edit`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `edit_id` when calling `get_work_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -7496,7 +7656,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param str rev_id: (required) +        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :param str expand: List of sub-entities to expand in response. For works, none accepted (yet).          :param str hide: List of entity fields to elide in response. For works, none accepted (yet).          :return: WorkEntity @@ -7519,7 +7679,7 @@ class DefaultApi(object):          >>> result = thread.get()          :param async bool -        :param str rev_id: (required) +        :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)          :param str expand: List of sub-entities to expand in response. For works, none accepted (yet).          :param str hide: List of entity fields to elide in response. For works, none accepted (yet).          :return: WorkEntity @@ -7547,6 +7707,14 @@ class DefaultApi(object):                  params['rev_id'] is None):              raise ValueError("Missing the required parameter `rev_id` when calling `get_work_revision`")  # noqa: E501 +        if ('rev_id' in params and +                len(params['rev_id']) > 36): +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_work_revision`, length must be less than or equal to `36`")  # noqa: E501 +        if ('rev_id' in params and +                len(params['rev_id']) < 36): +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_work_revision`, length must be greater than or equal to `36`")  # noqa: E501 +        if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `rev_id` when calling `get_work_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          collection_formats = {}          path_params = {} @@ -7878,6 +8046,30 @@ class DefaultApi(object):              params[key] = val          del params['kwargs'] +        if ('md5' in params and +                len(params['md5']) > 32): +            raise ValueError("Invalid value for parameter `md5` when calling `lookup_file`, length must be less than or equal to `32`")  # noqa: E501 +        if ('md5' in params and +                len(params['md5']) < 32): +            raise ValueError("Invalid value for parameter `md5` when calling `lookup_file`, length must be greater than or equal to `32`")  # noqa: E501 +        if 'md5' in params and not re.search('[a-f0-9]{32}', params['md5']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `md5` when calling `lookup_file`, must conform to the pattern `/[a-f0-9]{32}/`")  # noqa: E501 +        if ('sha1' in params and +                len(params['sha1']) > 40): +            raise ValueError("Invalid value for parameter `sha1` when calling `lookup_file`, length must be less than or equal to `40`")  # noqa: E501 +        if ('sha1' in params and +                len(params['sha1']) < 40): +            raise ValueError("Invalid value for parameter `sha1` when calling `lookup_file`, length must be greater than or equal to `40`")  # noqa: E501 +        if 'sha1' in params and not re.search('[a-f0-9]{40}', params['sha1']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `sha1` when calling `lookup_file`, must conform to the pattern `/[a-f0-9]{40}/`")  # noqa: E501 +        if ('sha256' in params and +                len(params['sha256']) > 64): +            raise ValueError("Invalid value for parameter `sha256` when calling `lookup_file`, length must be less than or equal to `64`")  # noqa: E501 +        if ('sha256' in params and +                len(params['sha256']) < 64): +            raise ValueError("Invalid value for parameter `sha256` when calling `lookup_file`, length must be greater than or equal to `64`")  # noqa: E501 +        if 'sha256' in params and not re.search('[a-f0-9]{64}', params['sha256']):  # noqa: E501 +            raise ValueError("Invalid value for parameter `sha256` when calling `lookup_file`, must conform to the pattern `/[a-f0-9]{64}/`")  # noqa: E501          collection_formats = {}          path_params = {} diff --git a/python/fatcat_client/models/editor.py b/python/fatcat_client/models/editor.py index c926f86f..2010d454 100644 --- a/python/fatcat_client/models/editor.py +++ b/python/fatcat_client/models/editor.py @@ -55,6 +55,7 @@ class Editor(object):      def editor_id(self):          """Gets the editor_id of this Editor.  # noqa: E501 +        base32-encoded unique identifier  # noqa: E501          :return: The editor_id of this Editor.  # noqa: E501          :rtype: str @@ -65,10 +66,17 @@ class Editor(object):      def editor_id(self, editor_id):          """Sets the editor_id of this Editor. +        base32-encoded unique identifier  # noqa: E501          :param editor_id: The editor_id of this Editor.  # noqa: E501          :type: str          """ +        if editor_id is not None and len(editor_id) > 26: +            raise ValueError("Invalid value for `editor_id`, length must be less than or equal to `26`")  # noqa: E501 +        if editor_id is not None and len(editor_id) < 26: +            raise ValueError("Invalid value for `editor_id`, length must be greater than or equal to `26`")  # noqa: E501 +        if editor_id is not None and not re.search('[a-zA-Z2-7]{26}', editor_id):  # noqa: E501 +            raise ValueError("Invalid value for `editor_id`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`")  # noqa: E501          self._editor_id = editor_id diff --git a/python/fatcat_client/models/entity_edit.py b/python/fatcat_client/models/entity_edit.py index 27af5eb6..cb1da67b 100644 --- a/python/fatcat_client/models/entity_edit.py +++ b/python/fatcat_client/models/entity_edit.py @@ -31,7 +31,7 @@ class EntityEdit(object):                              and the value is json key in definition.      """      swagger_types = { -        'edit_id': 'int', +        'edit_id': 'str',          'ident': 'str',          'revision': 'str',          'prev_revision': 'str', @@ -78,9 +78,10 @@ class EntityEdit(object):      def edit_id(self):          """Gets the edit_id of this EntityEdit.  # noqa: E501 +        UUID (lower-case, dash-separated, hex-encoded 128-bit)  # noqa: E501          :return: The edit_id of this EntityEdit.  # noqa: E501 -        :rtype: int +        :rtype: str          """          return self._edit_id @@ -88,12 +89,19 @@ class EntityEdit(object):      def edit_id(self, edit_id):          """Sets the edit_id of this EntityEdit. +        UUID (lower-case, dash-separated, hex-encoded 128-bit)  # noqa: E501          :param edit_id: The edit_id of this EntityEdit.  # noqa: E501 -        :type: int +        :type: str          """          if edit_id is None:              raise ValueError("Invalid value for `edit_id`, must not be `None`")  # noqa: E501 +        if edit_id is not None and len(edit_id) > 36: +            raise ValueError("Invalid value for `edit_id`, length must be less than or equal to `36`")  # noqa: E501 +        if edit_id is not None and len(edit_id) < 36: +            raise ValueError("Invalid value for `edit_id`, length must be greater than or equal to `36`")  # noqa: E501 +        if edit_id is not None and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', edit_id):  # noqa: E501 +            raise ValueError("Invalid value for `edit_id`, must be a follow pattern or equal to `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          self._edit_id = edit_id @@ -101,6 +109,7 @@ class EntityEdit(object):      def ident(self):          """Gets the ident of this EntityEdit.  # noqa: E501 +        base32-encoded unique identifier  # noqa: E501          :return: The ident of this EntityEdit.  # noqa: E501          :rtype: str @@ -111,12 +120,19 @@ class EntityEdit(object):      def ident(self, ident):          """Sets the ident of this EntityEdit. +        base32-encoded unique identifier  # noqa: E501          :param ident: The ident of this EntityEdit.  # noqa: E501          :type: str          """          if ident is None:              raise ValueError("Invalid value for `ident`, must not be `None`")  # noqa: E501 +        if ident is not None and len(ident) > 26: +            raise ValueError("Invalid value for `ident`, length must be less than or equal to `26`")  # noqa: E501 +        if ident is not None and len(ident) < 26: +            raise ValueError("Invalid value for `ident`, length must be greater than or equal to `26`")  # noqa: E501 +        if ident is not None and not re.search('[a-zA-Z2-7]{26}', ident):  # noqa: E501 +            raise ValueError("Invalid value for `ident`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`")  # noqa: E501          self._ident = ident @@ -124,6 +140,7 @@ class EntityEdit(object):      def revision(self):          """Gets the revision of this EntityEdit.  # noqa: E501 +        UUID (lower-case, dash-separated, hex-encoded 128-bit)  # noqa: E501          :return: The revision of this EntityEdit.  # noqa: E501          :rtype: str @@ -134,10 +151,17 @@ class EntityEdit(object):      def revision(self, revision):          """Sets the revision of this EntityEdit. +        UUID (lower-case, dash-separated, hex-encoded 128-bit)  # noqa: E501          :param revision: The revision of this EntityEdit.  # noqa: E501          :type: str          """ +        if revision is not None and len(revision) > 36: +            raise ValueError("Invalid value for `revision`, length must be less than or equal to `36`")  # noqa: E501 +        if revision is not None and len(revision) < 36: +            raise ValueError("Invalid value for `revision`, length must be greater than or equal to `36`")  # noqa: E501 +        if revision is not None and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', revision):  # noqa: E501 +            raise ValueError("Invalid value for `revision`, must be a follow pattern or equal to `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          self._revision = revision @@ -145,6 +169,7 @@ class EntityEdit(object):      def prev_revision(self):          """Gets the prev_revision of this EntityEdit.  # noqa: E501 +        UUID (lower-case, dash-separated, hex-encoded 128-bit)  # noqa: E501          :return: The prev_revision of this EntityEdit.  # noqa: E501          :rtype: str @@ -155,10 +180,17 @@ class EntityEdit(object):      def prev_revision(self, prev_revision):          """Sets the prev_revision of this EntityEdit. +        UUID (lower-case, dash-separated, hex-encoded 128-bit)  # noqa: E501          :param prev_revision: The prev_revision of this EntityEdit.  # noqa: E501          :type: str          """ +        if prev_revision is not None and len(prev_revision) > 36: +            raise ValueError("Invalid value for `prev_revision`, length must be less than or equal to `36`")  # noqa: E501 +        if prev_revision is not None and len(prev_revision) < 36: +            raise ValueError("Invalid value for `prev_revision`, length must be greater than or equal to `36`")  # noqa: E501 +        if prev_revision is not None and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', prev_revision):  # noqa: E501 +            raise ValueError("Invalid value for `prev_revision`, must be a follow pattern or equal to `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`")  # noqa: E501          self._prev_revision = prev_revision @@ -166,6 +198,7 @@ class EntityEdit(object):      def redirect_ident(self):          """Gets the redirect_ident of this EntityEdit.  # noqa: E501 +        base32-encoded unique identifier  # noqa: E501          :return: The redirect_ident of this EntityEdit.  # noqa: E501          :rtype: str @@ -176,10 +209,17 @@ class EntityEdit(object):      def redirect_ident(self, redirect_ident):          """Sets the redirect_ident of this EntityEdit. +        base32-encoded unique identifier  # noqa: E501          :param redirect_ident: The redirect_ident of this EntityEdit.  # noqa: E501          :type: str          """ +        if redirect_ident is not None and len(redirect_ident) > 26: +            raise ValueError("Invalid value for `redirect_ident`, length must be less than or equal to `26`")  # noqa: E501 +        if redirect_ident is not None and len(redirect_ident) < 26: +            raise ValueError("Invalid value for `redirect_ident`, length must be greater than or equal to `26`")  # noqa: E501 +        if redirect_ident is not None and not re.search('[a-zA-Z2-7]{26}', redirect_ident):  # noqa: E501 +            raise ValueError("Invalid value for `redirect_ident`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`")  # noqa: E501          self._redirect_ident = redirect_ident @@ -187,6 +227,7 @@ class EntityEdit(object):      def editgroup_id(self):          """Gets the editgroup_id of this EntityEdit.  # noqa: E501 +        base32-encoded unique identifier  # noqa: E501          :return: The editgroup_id of this EntityEdit.  # noqa: E501          :rtype: str @@ -197,12 +238,19 @@ class EntityEdit(object):      def editgroup_id(self, editgroup_id):          """Sets the editgroup_id of this EntityEdit. +        base32-encoded unique identifier  # noqa: E501          :param editgroup_id: The editgroup_id of this EntityEdit.  # noqa: E501          :type: str          """          if editgroup_id is None:              raise ValueError("Invalid value for `editgroup_id`, must not be `None`")  # noqa: E501 +        if editgroup_id is not None and len(editgroup_id) > 26: +            raise ValueError("Invalid value for `editgroup_id`, length must be less than or equal to `26`")  # noqa: E501 +        if editgroup_id is not None and len(editgroup_id) < 26: +            raise ValueError("Invalid value for `editgroup_id`, length must be greater than or equal to `26`")  # noqa: E501 +        if editgroup_id is not None and not re.search('[a-zA-Z2-7]{26}', editgroup_id):  # noqa: E501 +            raise ValueError("Invalid value for `editgroup_id`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`")  # noqa: E501          self._editgroup_id = editgroup_id diff --git a/python/fatcat_client/models/file_entity.py b/python/fatcat_client/models/file_entity.py index 001f5b6e..5d0105bd 100644 --- a/python/fatcat_client/models/file_entity.py +++ b/python/fatcat_client/models/file_entity.py @@ -190,6 +190,12 @@ class FileEntity(object):          :param sha256: The sha256 of this FileEntity.  # noqa: E501          :type: str          """ +        if sha256 is not None and len(sha256) > 64: +            raise ValueError("Invalid value for `sha256`, length must be less than or equal to `64`")  # noqa: E501 +        if sha256 is not None and len(sha256) < 64: +            raise ValueError("Invalid value for `sha256`, length must be greater than or equal to `64`")  # noqa: E501 +        if sha256 is not None and not re.search('[a-f0-9]{64}', sha256):  # noqa: E501 +            raise ValueError("Invalid value for `sha256`, must be a follow pattern or equal to `/[a-f0-9]{64}/`")  # noqa: E501          self._sha256 = sha256 @@ -211,6 +217,12 @@ class FileEntity(object):          :param sha1: The sha1 of this FileEntity.  # noqa: E501          :type: str          """ +        if sha1 is not None and len(sha1) > 40: +            raise ValueError("Invalid value for `sha1`, length must be less than or equal to `40`")  # noqa: E501 +        if sha1 is not None and len(sha1) < 40: +            raise ValueError("Invalid value for `sha1`, length must be greater than or equal to `40`")  # noqa: E501 +        if sha1 is not None and not re.search('[a-f0-9]{40}', sha1):  # noqa: E501 +            raise ValueError("Invalid value for `sha1`, must be a follow pattern or equal to `/[a-f0-9]{40}/`")  # noqa: E501          self._sha1 = sha1 @@ -232,6 +244,12 @@ class FileEntity(object):          :param md5: The md5 of this FileEntity.  # noqa: E501          :type: str          """ +        if md5 is not None and len(md5) > 32: +            raise ValueError("Invalid value for `md5`, length must be less than or equal to `32`")  # noqa: E501 +        if md5 is not None and len(md5) < 32: +            raise ValueError("Invalid value for `md5`, length must be greater than or equal to `32`")  # noqa: E501 +        if md5 is not None and not re.search('[a-f0-9]{32}', md5):  # noqa: E501 +            raise ValueError("Invalid value for `md5`, must be a follow pattern or equal to `/[a-f0-9]{32}/`")  # noqa: E501          self._md5 = md5 diff --git a/python/fatcat_client/models/fileset_entity_manifest.py b/python/fatcat_client/models/fileset_entity_manifest.py index 51990ebe..6dd5800f 100644 --- a/python/fatcat_client/models/fileset_entity_manifest.py +++ b/python/fatcat_client/models/fileset_entity_manifest.py @@ -134,6 +134,12 @@ class FilesetEntityManifest(object):          :param md5: The md5 of this FilesetEntityManifest.  # noqa: E501          :type: str          """ +        if md5 is not None and len(md5) > 32: +            raise ValueError("Invalid value for `md5`, length must be less than or equal to `32`")  # noqa: E501 +        if md5 is not None and len(md5) < 32: +            raise ValueError("Invalid value for `md5`, length must be greater than or equal to `32`")  # noqa: E501 +        if md5 is not None and not re.search('[a-f0-9]{32}', md5):  # noqa: E501 +            raise ValueError("Invalid value for `md5`, must be a follow pattern or equal to `/[a-f0-9]{32}/`")  # noqa: E501          self._md5 = md5 @@ -155,6 +161,12 @@ class FilesetEntityManifest(object):          :param sha1: The sha1 of this FilesetEntityManifest.  # noqa: E501          :type: str          """ +        if sha1 is not None and len(sha1) > 40: +            raise ValueError("Invalid value for `sha1`, length must be less than or equal to `40`")  # noqa: E501 +        if sha1 is not None and len(sha1) < 40: +            raise ValueError("Invalid value for `sha1`, length must be greater than or equal to `40`")  # noqa: E501 +        if sha1 is not None and not re.search('[a-f0-9]{40}', sha1):  # noqa: E501 +            raise ValueError("Invalid value for `sha1`, must be a follow pattern or equal to `/[a-f0-9]{40}/`")  # noqa: E501          self._sha1 = sha1 @@ -176,6 +188,12 @@ class FilesetEntityManifest(object):          :param sha256: The sha256 of this FilesetEntityManifest.  # noqa: E501          :type: str          """ +        if sha256 is not None and len(sha256) > 64: +            raise ValueError("Invalid value for `sha256`, length must be less than or equal to `64`")  # noqa: E501 +        if sha256 is not None and len(sha256) < 64: +            raise ValueError("Invalid value for `sha256`, length must be greater than or equal to `64`")  # noqa: E501 +        if sha256 is not None and not re.search('[a-f0-9]{64}', sha256):  # noqa: E501 +            raise ValueError("Invalid value for `sha256`, must be a follow pattern or equal to `/[a-f0-9]{64}/`")  # noqa: E501          self._sha256 = sha256 diff --git a/python/fatcat_client/models/release_entity_abstracts.py b/python/fatcat_client/models/release_entity_abstracts.py index 1adf832a..2818e112 100644 --- a/python/fatcat_client/models/release_entity_abstracts.py +++ b/python/fatcat_client/models/release_entity_abstracts.py @@ -80,6 +80,12 @@ class ReleaseEntityAbstracts(object):          :param sha1: The sha1 of this ReleaseEntityAbstracts.  # noqa: E501          :type: str          """ +        if sha1 is not None and len(sha1) > 40: +            raise ValueError("Invalid value for `sha1`, length must be less than or equal to `40`")  # noqa: E501 +        if sha1 is not None and len(sha1) < 40: +            raise ValueError("Invalid value for `sha1`, length must be greater than or equal to `40`")  # noqa: E501 +        if sha1 is not None and not re.search('[a-f0-9]{40}', sha1):  # noqa: E501 +            raise ValueError("Invalid value for `sha1`, must be a follow pattern or equal to `/[a-f0-9]{40}/`")  # noqa: E501          self._sha1 = sha1 diff --git a/python/fatcat_client/models/release_ref.py b/python/fatcat_client/models/release_ref.py index 99012c42..81ad9cfe 100644 --- a/python/fatcat_client/models/release_ref.py +++ b/python/fatcat_client/models/release_ref.py @@ -107,6 +107,7 @@ class ReleaseRef(object):      def target_release_id(self):          """Gets the target_release_id of this ReleaseRef.  # noqa: E501 +        base32-encoded unique identifier  # noqa: E501          :return: The target_release_id of this ReleaseRef.  # noqa: E501          :rtype: str @@ -117,10 +118,17 @@ class ReleaseRef(object):      def target_release_id(self, target_release_id):          """Sets the target_release_id of this ReleaseRef. +        base32-encoded unique identifier  # noqa: E501          :param target_release_id: The target_release_id of this ReleaseRef.  # noqa: E501          :type: str          """ +        if target_release_id is not None and len(target_release_id) > 26: +            raise ValueError("Invalid value for `target_release_id`, length must be less than or equal to `26`")  # noqa: E501 +        if target_release_id is not None and len(target_release_id) < 26: +            raise ValueError("Invalid value for `target_release_id`, length must be greater than or equal to `26`")  # noqa: E501 +        if target_release_id is not None and not re.search('[a-zA-Z2-7]{26}', target_release_id):  # noqa: E501 +            raise ValueError("Invalid value for `target_release_id`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`")  # noqa: E501          self._target_release_id = target_release_id diff --git a/python/fatcat_client/models/webcapture_entity_cdx.py b/python/fatcat_client/models/webcapture_entity_cdx.py index eb621d2f..a34ea2f1 100644 --- a/python/fatcat_client/models/webcapture_entity_cdx.py +++ b/python/fatcat_client/models/webcapture_entity_cdx.py @@ -32,7 +32,7 @@ class WebcaptureEntityCdx(object):      """      swagger_types = {          'surt': 'str', -        'timestamp': 'int', +        'timestamp': 'str',          'url': 'str',          'mimetype': 'str',          'status_code': 'int', @@ -67,7 +67,8 @@ class WebcaptureEntityCdx(object):          self.url = url          if mimetype is not None:              self.mimetype = mimetype -        self.status_code = status_code +        if status_code is not None: +            self.status_code = status_code          self.sha1 = sha1          if sha256 is not None:              self.sha256 = sha256 @@ -101,7 +102,7 @@ class WebcaptureEntityCdx(object):          :return: The timestamp of this WebcaptureEntityCdx.  # noqa: E501 -        :rtype: int +        :rtype: str          """          return self._timestamp @@ -111,7 +112,7 @@ class WebcaptureEntityCdx(object):          :param timestamp: The timestamp of this WebcaptureEntityCdx.  # noqa: E501 -        :type: int +        :type: str          """          if timestamp is None:              raise ValueError("Invalid value for `timestamp`, must not be `None`")  # noqa: E501 @@ -180,8 +181,6 @@ class WebcaptureEntityCdx(object):          :param status_code: The status_code of this WebcaptureEntityCdx.  # noqa: E501          :type: int          """ -        if status_code is None: -            raise ValueError("Invalid value for `status_code`, must not be `None`")  # noqa: E501          self._status_code = status_code @@ -205,6 +204,12 @@ class WebcaptureEntityCdx(object):          """          if sha1 is None:              raise ValueError("Invalid value for `sha1`, must not be `None`")  # noqa: E501 +        if sha1 is not None and len(sha1) > 40: +            raise ValueError("Invalid value for `sha1`, length must be less than or equal to `40`")  # noqa: E501 +        if sha1 is not None and len(sha1) < 40: +            raise ValueError("Invalid value for `sha1`, length must be greater than or equal to `40`")  # noqa: E501 +        if sha1 is not None and not re.search('[a-f0-9]{40}', sha1):  # noqa: E501 +            raise ValueError("Invalid value for `sha1`, must be a follow pattern or equal to `/[a-f0-9]{40}/`")  # noqa: E501          self._sha1 = sha1 @@ -226,6 +231,12 @@ class WebcaptureEntityCdx(object):          :param sha256: The sha256 of this WebcaptureEntityCdx.  # noqa: E501          :type: str          """ +        if sha256 is not None and len(sha256) > 64: +            raise ValueError("Invalid value for `sha256`, length must be less than or equal to `64`")  # noqa: E501 +        if sha256 is not None and len(sha256) < 64: +            raise ValueError("Invalid value for `sha256`, length must be greater than or equal to `64`")  # noqa: E501 +        if sha256 is not None and not re.search('[a-f0-9]{64}', sha256):  # noqa: E501 +            raise ValueError("Invalid value for `sha256`, must be a follow pattern or equal to `/[a-f0-9]{64}/`")  # noqa: E501          self._sha256 = sha256 diff --git a/rust/fatcat-api-spec/README.md b/rust/fatcat-api-spec/README.md index babde90a..d6f09b7a 100644 --- a/rust/fatcat-api-spec/README.md +++ b/rust/fatcat-api-spec/README.md @@ -13,7 +13,7 @@ To see how to make this your own, look here:  [README](https://github.com/swagger-api/swagger-codegen/blob/master/README.md)  - API version: 0.1.0 -- Build date: 2018-12-27T06:46:04.412Z +- Build date: 2018-12-27T07:23:47.225Z  This autogenerated project defines an API crate `fatcat` which contains:  * An `Api` trait defining the API in Rust. diff --git a/rust/fatcat-api-spec/api.yaml b/rust/fatcat-api-spec/api.yaml index eb0528d5..0f52a8b6 100644 --- a/rust/fatcat-api-spec/api.yaml +++ b/rust/fatcat-api-spec/api.yaml @@ -54,6 +54,24 @@ x-orcid: &FATCATORCID    pattern: "\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]"    minLength: 19    maxLength: 19 +x-md5: &FATCATMD5 +  type: string +  example: "1b39813549077b2347c0f370c3864b40" +  pattern: "[a-f0-9]{32}" +  minLength: 32 +  maxLength: 32 +x-sha1: &FATCATSHA1 +  type: string +  example: "e9dd75237c94b209dc3ccd52722de6931a310ba3" +  pattern: "[a-f0-9]{40}" +  minLength: 40 +  maxLength: 40 +x-sha256: &FATCATSHA256 +  type: string +  example: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452" +  pattern: "[a-f0-9]{64}" +  minLength: 64 +  maxLength: 64  # Common properties across entities  x-entity-props: &ENTITYPROPS @@ -136,17 +154,11 @@ definitions:          example: 1048576          format: int64        md5: -        type: string -        #format: custom -        example: "d41efcc592d1e40ac13905377399eb9b" +        <<: *FATCATMD5        sha1: -        type: string -        #format: custom -        example: "f013d66c7f6817d08b7eb2a93e6d0440c1f3e7f8" +        <<: *FATCATSHA1        sha256: -        type: string -        #format: custom -        example: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +        <<: *FATCATSHA256        urls:          type: array          items: @@ -168,8 +180,7 @@ definitions:        release_ids:          type: array          items: -          type: string -          #format: uuid +          <<: *FATCATIDENT    fileset_entity:      type: object      properties: @@ -191,17 +202,11 @@ definitions:                example: 1048576                format: int64              md5: -              type: string -              #format: custom -              example: "d41efcc592d1e40ac13905377399eb9b" +              <<: *FATCATMD5              sha1: -              type: string -              #format: custom -              example: "f013d66c7f6817d08b7eb2a93e6d0440c1f3e7f8" +              <<: *FATCATSHA1              sha256: -              type: string -              #format: custom -              example: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +              <<: *FATCATSHA256              extra:                type: object                additionalProperties: {} @@ -223,8 +228,7 @@ definitions:        release_ids:          type: array          items: -          type: string -          #format: uuid +          <<: *FATCATIDENT    webcapture_entity:      type: object      properties: @@ -248,6 +252,7 @@ definitions:                example: "20020429162520"              url:                type: string +              # NOTE: not format:url to allow alternatives                example: "http://www.asheesh.org:80/APUS/ch1/node15.html"              mimetype:                type: string @@ -257,13 +262,9 @@ definitions:                example: 200                format: int64              sha1: -              type: string -              #format: custom -              example: "3f242a192acc258bdfdb151943419437f440c313" +              <<: *FATCATSHA1              sha256: -              type: string -              #format: custom -              example: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +              <<: *FATCATSHA256        archive_urls:          type: array          items: @@ -281,7 +282,7 @@ definitions:                example: "wayback"        original_url:          type: string -        #format: url +        format: url          example: "http://asheesh.org"        timestamp:          type: string @@ -289,8 +290,7 @@ definitions:        release_ids:          type: array          items: -          type: string -          #format: uuid +          <<: *FATCATIDENT    release_entity:      type: object      # required for creation: title @@ -378,8 +378,7 @@ definitions:            type: object            properties:              sha1: -              type: string -              example: "3f242a192acc258bdfdb151943419437f440c313" +              <<: *FATCATSHA1              content:                type: string                example: "<jats:p>Some abstract thing goes here</jats:p>" @@ -414,27 +413,17 @@ definitions:        - editgroup_id      properties:        edit_id: -          type: integer -          example: 847 -          format: int64 +          <<: *FATCATUUID        ident: -          type: string -          example: "q3nouwy3nnbsvo3h5klxsx4a7y" +          <<: *FATCATIDENT        revision: -          type: string -          #format: uuid -          example: "86daea5b-1b6b-432a-bb67-ea97795f80fe" +          <<: *FATCATUUID        prev_revision: -          type: string -          #format: uuid -          example: "86daea5b-1b6b-432a-bb67-ea97795f80fe" +          <<: *FATCATUUID        redirect_ident: -          type: string -          example: "q3nouwy3nnbsvo3h5klxsx4a7y" -          #format: ident +          <<: *FATCATIDENT        editgroup_id: -          type: string -          example: "q3nouwy3nnbsvo3h5klxsx4a7y" +          <<: *FATCATIDENT        extra:            type: object            additionalProperties: {} @@ -444,8 +433,7 @@ definitions:        - username      properties:        editor_id: -        type: string -        example: "q3nouwy3nnbsvo3h5klxsx4a7y" +        <<: *FATCATIDENT        username:          type: string          example: "zerocool93" @@ -519,8 +507,7 @@ definitions:          type: integer          format: int64        target_release_id: -        type: string -        #format: ident +        <<: *FATCATIDENT        extra:          type: object          additionalProperties: {} @@ -689,9 +676,8 @@ paths:      parameters:        - name: rev_id          in: path -        type: string -        #format: uuid          required: true +        <<: *FATCATUUID      get:        operationId: "get_container_revision"        tags: # TAGLINE @@ -792,9 +778,8 @@ paths:        parameters:          - name: edit_id            in: path -          type: integer -          format: int64            required: true +          <<: *FATCATUUID        responses:          200:            description: Found Edit @@ -808,9 +793,8 @@ paths:        parameters:          - name: edit_id            in: path -          type: integer -          format: int64            required: true +          <<: *FATCATUUID        responses:          200:            description: Deleted Edit @@ -935,9 +919,8 @@ paths:      parameters:        - name: rev_id          in: path -        type: string -        #format: uuid          required: true +        <<: *FATCATUUID      get:        operationId: "get_creator_revision"        tags: # TAGLINE @@ -1061,9 +1044,8 @@ paths:        parameters:          - name: edit_id            in: path -          type: integer -          format: int64            required: true +          <<: *FATCATUUID        responses:          200:            description: Found Edit @@ -1077,9 +1059,8 @@ paths:        parameters:          - name: edit_id            in: path -          type: integer -          format: int64            required: true +          <<: *FATCATUUID        responses:          200:            description: Deleted Edit @@ -1204,9 +1185,8 @@ paths:      parameters:        - name: rev_id          in: path -        type: string -        #format: uuid          required: true +        <<: *FATCATUUID      get:        operationId: "get_file_revision"        tags: # TAGLINE @@ -1278,16 +1258,16 @@ paths:        parameters:          - name: md5            in: query -          type: string            required: false +          <<: *FATCATMD5          - name: sha1            in: query -          type: string            required: false +          <<: *FATCATSHA1          - name: sha256            in: query -          type: string            required: false +          <<: *FATCATSHA256          - name: expand            in: query            type: string @@ -1312,9 +1292,8 @@ paths:        parameters:          - name: edit_id            in: path -          type: integer -          format: int64            required: true +          <<: *FATCATUUID        responses:          200:            description: Found Edit @@ -1328,9 +1307,8 @@ paths:        parameters:          - name: edit_id            in: path -          type: integer -          format: int64            required: true +          <<: *FATCATUUID        responses:          200:            description: Deleted Edit @@ -1455,9 +1433,8 @@ paths:      parameters:        - name: rev_id          in: path -        type: string -        #format: uuid          required: true +        <<: *FATCATUUID      get:        operationId: "get_fileset_revision"        tags: # TAGLINE @@ -1529,9 +1506,8 @@ paths:        parameters:          - name: edit_id            in: path -          type: integer -          format: int64            required: true +          <<: *FATCATUUID        responses:          200:            description: Found Edit @@ -1545,9 +1521,8 @@ paths:        parameters:          - name: edit_id            in: path -          type: integer -          format: int64            required: true +          <<: *FATCATUUID        responses:          200:            description: Deleted Edit @@ -1672,9 +1647,8 @@ paths:      parameters:        - name: rev_id          in: path -        type: string -        #format: uuid          required: true +        <<: *FATCATUUID      get:        operationId: "get_webcapture_revision"        tags: # TAGLINE @@ -1746,9 +1720,8 @@ paths:        parameters:          - name: edit_id            in: path -          type: integer -          format: int64            required: true +          <<: *FATCATUUID        responses:          200:            description: Found Edit @@ -1762,9 +1735,8 @@ paths:        parameters:          - name: edit_id            in: path -          type: integer -          format: int64            required: true +          <<: *FATCATUUID        responses:          200:            description: Deleted Edit @@ -1889,9 +1861,8 @@ paths:      parameters:        - name: rev_id          in: path -        type: string -        #format: uuid          required: true +        <<: *FATCATUUID      get:        operationId: "get_release_revision"        tags: # TAGLINE @@ -2078,9 +2049,8 @@ paths:        parameters:          - name: edit_id            in: path -          type: integer -          format: int64            required: true +          <<: *FATCATUUID        responses:          200:            description: Found Edit @@ -2094,9 +2064,8 @@ paths:        parameters:          - name: edit_id            in: path -          type: integer -          format: int64            required: true +          <<: *FATCATUUID        responses:          200:            description: Deleted Edit @@ -2221,9 +2190,8 @@ paths:      parameters:        - name: rev_id          in: path -        type: string -        #format: uuid          required: true +        <<: *FATCATUUID      get:        operationId: "get_work_revision"        tags: # TAGLINE @@ -2318,9 +2286,8 @@ paths:        parameters:          - name: edit_id            in: path -          type: integer -          format: int64            required: true +          <<: *FATCATUUID        responses:          200:            description: Found Edit @@ -2334,9 +2301,8 @@ paths:        parameters:          - name: edit_id            in: path -          type: integer -          format: int64            required: true +          <<: *FATCATUUID        responses:          200:            description: Deleted Edit diff --git a/rust/fatcat-api-spec/api/swagger.yaml b/rust/fatcat-api-spec/api/swagger.yaml index 908ff1ae..3ad51b8a 100644 --- a/rust/fatcat-api-spec/api/swagger.yaml +++ b/rust/fatcat-api-spec/api/swagger.yaml @@ -375,8 +375,12 @@ paths:        parameters:        - name: "rev_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true          type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"          formatString: "\\\"{}\\\""          example: "\"rev_id_example\".to_string()"        - name: "expand" @@ -641,11 +645,14 @@ paths:        parameters:        - name: "edit_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true -        type: "integer" -        format: "int64" -        formatString: "{}" -        example: "789" +        type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" +        formatString: "\\\"{}\\\"" +        example: "\"edit_id_example\".to_string()"        responses:          200:            description: "Found Edit" @@ -695,11 +702,14 @@ paths:        parameters:        - name: "edit_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true -        type: "integer" -        format: "int64" -        formatString: "{}" -        example: "789" +        type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" +        formatString: "\\\"{}\\\"" +        example: "\"edit_id_example\".to_string()"        responses:          200:            description: "Deleted Edit" @@ -1096,8 +1106,12 @@ paths:        parameters:        - name: "rev_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true          type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"          formatString: "\\\"{}\\\""          example: "\"rev_id_example\".to_string()"        - name: "expand" @@ -1426,11 +1440,14 @@ paths:        parameters:        - name: "edit_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true -        type: "integer" -        format: "int64" -        formatString: "{}" -        example: "789" +        type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" +        formatString: "\\\"{}\\\"" +        example: "\"edit_id_example\".to_string()"        responses:          200:            description: "Found Edit" @@ -1480,11 +1497,14 @@ paths:        parameters:        - name: "edit_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true -        type: "integer" -        format: "int64" -        formatString: "{}" -        example: "789" +        type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" +        formatString: "\\\"{}\\\"" +        example: "\"edit_id_example\".to_string()"        responses:          200:            description: "Deleted Edit" @@ -1881,8 +1901,12 @@ paths:        parameters:        - name: "rev_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true          type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"          formatString: "\\\"{}\\\""          example: "\"rev_id_example\".to_string()"        - name: "expand" @@ -2072,18 +2096,27 @@ paths:          in: "query"          required: false          type: "string" +        maxLength: 32 +        minLength: 32 +        pattern: "[a-f0-9]{32}"          formatString: "{:?}"          example: "Some(\"md5_example\".to_string())"        - name: "sha1"          in: "query"          required: false          type: "string" +        maxLength: 40 +        minLength: 40 +        pattern: "[a-f0-9]{40}"          formatString: "{:?}"          example: "Some(\"sha1_example\".to_string())"        - name: "sha256"          in: "query"          required: false          type: "string" +        maxLength: 64 +        minLength: 64 +        pattern: "[a-f0-9]{64}"          formatString: "{:?}"          example: "Some(\"sha256_example\".to_string())"        - name: "expand" @@ -2151,11 +2184,14 @@ paths:        parameters:        - name: "edit_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true -        type: "integer" -        format: "int64" -        formatString: "{}" -        example: "789" +        type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" +        formatString: "\\\"{}\\\"" +        example: "\"edit_id_example\".to_string()"        responses:          200:            description: "Found Edit" @@ -2205,11 +2241,14 @@ paths:        parameters:        - name: "edit_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true -        type: "integer" -        format: "int64" -        formatString: "{}" -        example: "789" +        type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" +        formatString: "\\\"{}\\\"" +        example: "\"edit_id_example\".to_string()"        responses:          200:            description: "Deleted Edit" @@ -2606,8 +2645,12 @@ paths:        parameters:        - name: "rev_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true          type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"          formatString: "\\\"{}\\\""          example: "\"rev_id_example\".to_string()"        - name: "expand" @@ -2795,11 +2838,14 @@ paths:        parameters:        - name: "edit_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true -        type: "integer" -        format: "int64" -        formatString: "{}" -        example: "789" +        type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" +        formatString: "\\\"{}\\\"" +        example: "\"edit_id_example\".to_string()"        responses:          200:            description: "Found Edit" @@ -2849,11 +2895,14 @@ paths:        parameters:        - name: "edit_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true -        type: "integer" -        format: "int64" -        formatString: "{}" -        example: "789" +        type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" +        formatString: "\\\"{}\\\"" +        example: "\"edit_id_example\".to_string()"        responses:          200:            description: "Deleted Edit" @@ -3250,8 +3299,12 @@ paths:        parameters:        - name: "rev_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true          type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"          formatString: "\\\"{}\\\""          example: "\"rev_id_example\".to_string()"        - name: "expand" @@ -3439,11 +3492,14 @@ paths:        parameters:        - name: "edit_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true -        type: "integer" -        format: "int64" -        formatString: "{}" -        example: "789" +        type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" +        formatString: "\\\"{}\\\"" +        example: "\"edit_id_example\".to_string()"        responses:          200:            description: "Found Edit" @@ -3493,11 +3549,14 @@ paths:        parameters:        - name: "edit_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true -        type: "integer" -        format: "int64" -        formatString: "{}" -        example: "789" +        type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" +        formatString: "\\\"{}\\\"" +        example: "\"edit_id_example\".to_string()"        responses:          200:            description: "Deleted Edit" @@ -3894,8 +3953,12 @@ paths:        parameters:        - name: "rev_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true          type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"          formatString: "\\\"{}\\\""          example: "\"rev_id_example\".to_string()"        - name: "expand" @@ -4374,11 +4437,14 @@ paths:        parameters:        - name: "edit_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true -        type: "integer" -        format: "int64" -        formatString: "{}" -        example: "789" +        type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" +        formatString: "\\\"{}\\\"" +        example: "\"edit_id_example\".to_string()"        responses:          200:            description: "Found Edit" @@ -4428,11 +4494,14 @@ paths:        parameters:        - name: "edit_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true -        type: "integer" -        format: "int64" -        formatString: "{}" -        example: "789" +        type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" +        formatString: "\\\"{}\\\"" +        example: "\"edit_id_example\".to_string()"        responses:          200:            description: "Deleted Edit" @@ -4829,8 +4898,12 @@ paths:        parameters:        - name: "rev_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true          type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"          formatString: "\\\"{}\\\""          example: "\"rev_id_example\".to_string()"        - name: "expand" @@ -5082,11 +5155,14 @@ paths:        parameters:        - name: "edit_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true -        type: "integer" -        format: "int64" -        formatString: "{}" -        example: "789" +        type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" +        formatString: "\\\"{}\\\"" +        example: "\"edit_id_example\".to_string()"        responses:          200:            description: "Found Edit" @@ -5136,11 +5212,14 @@ paths:        parameters:        - name: "edit_id"          in: "path" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)"          required: true -        type: "integer" -        format: "int64" -        formatString: "{}" -        example: "789" +        type: "string" +        maxLength: 36 +        minLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" +        formatString: "\\\"{}\\\"" +        example: "\"edit_id_example\".to_string()"        responses:          200:            description: "Deleted Edit" @@ -5711,6 +5790,11 @@ definitions:          type: "array"          items:            type: "string" +          example: "q3nouwy3nnbsvo3h5klxsx4a7y" +          description: "base32-encoded unique identifier" +          minLength: 26 +          maxLength: 26 +          pattern: "[a-zA-Z2-7]{26}"        mimetype:          type: "string"          example: "application/pdf" @@ -5720,13 +5804,22 @@ definitions:            $ref: "#/definitions/file_entity_urls"        sha256:          type: "string" -        example: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +        example: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452" +        minLength: 64 +        maxLength: 64 +        pattern: "[a-f0-9]{64}"        sha1:          type: "string" -        example: "f013d66c7f6817d08b7eb2a93e6d0440c1f3e7f8" +        example: "e9dd75237c94b209dc3ccd52722de6931a310ba3" +        minLength: 40 +        maxLength: 40 +        pattern: "[a-f0-9]{40}"        md5:          type: "string" -        example: "d41efcc592d1e40ac13905377399eb9b" +        example: "1b39813549077b2347c0f370c3864b40" +        minLength: 32 +        maxLength: 32 +        pattern: "[a-f0-9]{32}"        size:          type: "integer"          format: "int64" @@ -5765,10 +5858,10 @@ definitions:          - "deleted"      example:        redirect: "q3nouwy3nnbsvo3h5klxsx4a7y" -      sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +      sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"        ident: "q3nouwy3nnbsvo3h5klxsx4a7y"        revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe" -      sha1: "f013d66c7f6817d08b7eb2a93e6d0440c1f3e7f8" +      sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"        urls:        - rel: "webarchive"          url: "https://example.edu/~frau/prcding.pdf" @@ -5779,10 +5872,10 @@ definitions:        mimetype: "application/pdf"        state: "wip"        release_ids: -      - "release_ids" -      - "release_ids" +      - "q3nouwy3nnbsvo3h5klxsx4a7y" +      - "q3nouwy3nnbsvo3h5klxsx4a7y"        edit_extra: "{}" -      md5: "d41efcc592d1e40ac13905377399eb9b" +      md5: "1b39813549077b2347c0f370c3864b40"      upperCaseName: "FILE_ENTITY"    fileset_entity:      type: "object" @@ -5791,6 +5884,11 @@ definitions:          type: "array"          items:            type: "string" +          example: "q3nouwy3nnbsvo3h5klxsx4a7y" +          description: "base32-encoded unique identifier" +          minLength: 26 +          maxLength: 26 +          pattern: "[a-zA-Z2-7]{26}"        urls:          type: "array"          items: @@ -5839,24 +5937,24 @@ definitions:        - rel: "webarchive"          url: "https://example.edu/~frau/prcding.pdf"        manifest: -      - sha1: "f013d66c7f6817d08b7eb2a93e6d0440c1f3e7f8" +      - sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"          path: "img/cat.png"          size: 1048576 -        sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +        sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"          extra: "{}" -        md5: "d41efcc592d1e40ac13905377399eb9b" -      - sha1: "f013d66c7f6817d08b7eb2a93e6d0440c1f3e7f8" +        md5: "1b39813549077b2347c0f370c3864b40" +      - sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"          path: "img/cat.png"          size: 1048576 -        sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +        sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"          extra: "{}" -        md5: "d41efcc592d1e40ac13905377399eb9b" +        md5: "1b39813549077b2347c0f370c3864b40"        ident: "q3nouwy3nnbsvo3h5klxsx4a7y"        extra: "{}"        state: "wip"        release_ids: -      - "release_ids" -      - "release_ids" +      - "q3nouwy3nnbsvo3h5klxsx4a7y" +      - "q3nouwy3nnbsvo3h5klxsx4a7y"        edit_extra: "{}"        revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"      upperCaseName: "FILESET_ENTITY" @@ -5867,11 +5965,17 @@ definitions:          type: "array"          items:            type: "string" +          example: "q3nouwy3nnbsvo3h5klxsx4a7y" +          description: "base32-encoded unique identifier" +          minLength: 26 +          maxLength: 26 +          pattern: "[a-zA-Z2-7]{26}"        timestamp:          type: "string"          format: "date-time"        original_url:          type: "string" +        format: "url"          example: "http://asheesh.org"        archive_urls:          type: "array" @@ -5922,17 +6026,17 @@ definitions:          url: "https://web.archive.org/web/"        original_url: "http://asheesh.org"        cdx: -      - sha1: "3f242a192acc258bdfdb151943419437f440c313" +      - sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"          surt: "org,asheesh)/apus/ch1/node15.html"          status_code: 200 -        sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +        sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"          mimetype: "text/html"          url: "http://www.asheesh.org:80/APUS/ch1/node15.html"          timestamp: "20020429162520" -      - sha1: "3f242a192acc258bdfdb151943419437f440c313" +      - sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"          surt: "org,asheesh)/apus/ch1/node15.html"          status_code: 200 -        sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +        sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"          mimetype: "text/html"          url: "http://www.asheesh.org:80/APUS/ch1/node15.html"          timestamp: "20020429162520" @@ -5940,8 +6044,8 @@ definitions:        extra: "{}"        state: "wip"        release_ids: -      - "release_ids" -      - "release_ids" +      - "q3nouwy3nnbsvo3h5klxsx4a7y" +      - "q3nouwy3nnbsvo3h5klxsx4a7y"        edit_extra: "{}"        timestamp: "2000-01-23T04:56:07.000+00:00"        revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe" @@ -6081,17 +6185,17 @@ definitions:            url: "https://web.archive.org/web/"          original_url: "http://asheesh.org"          cdx: -        - sha1: "3f242a192acc258bdfdb151943419437f440c313" +        - sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"            surt: "org,asheesh)/apus/ch1/node15.html"            status_code: 200 -          sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +          sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"            mimetype: "text/html"            url: "http://www.asheesh.org:80/APUS/ch1/node15.html"            timestamp: "20020429162520" -        - sha1: "3f242a192acc258bdfdb151943419437f440c313" +        - sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"            surt: "org,asheesh)/apus/ch1/node15.html"            status_code: 200 -          sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +          sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"            mimetype: "text/html"            url: "http://www.asheesh.org:80/APUS/ch1/node15.html"            timestamp: "20020429162520" @@ -6099,8 +6203,8 @@ definitions:          extra: "{}"          state: "wip"          release_ids: -        - "release_ids" -        - "release_ids" +        - "q3nouwy3nnbsvo3h5klxsx4a7y" +        - "q3nouwy3nnbsvo3h5klxsx4a7y"          edit_extra: "{}"          timestamp: "2000-01-23T04:56:07.000+00:00"          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe" @@ -6112,17 +6216,17 @@ definitions:            url: "https://web.archive.org/web/"          original_url: "http://asheesh.org"          cdx: -        - sha1: "3f242a192acc258bdfdb151943419437f440c313" +        - sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"            surt: "org,asheesh)/apus/ch1/node15.html"            status_code: 200 -          sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +          sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"            mimetype: "text/html"            url: "http://www.asheesh.org:80/APUS/ch1/node15.html"            timestamp: "20020429162520" -        - sha1: "3f242a192acc258bdfdb151943419437f440c313" +        - sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"            surt: "org,asheesh)/apus/ch1/node15.html"            status_code: 200 -          sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +          sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"            mimetype: "text/html"            url: "http://www.asheesh.org:80/APUS/ch1/node15.html"            timestamp: "20020429162520" @@ -6130,8 +6234,8 @@ definitions:          extra: "{}"          state: "wip"          release_ids: -        - "release_ids" -        - "release_ids" +        - "q3nouwy3nnbsvo3h5klxsx4a7y" +        - "q3nouwy3nnbsvo3h5klxsx4a7y"          edit_extra: "{}"          timestamp: "2000-01-23T04:56:07.000+00:00"          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe" @@ -6182,11 +6286,11 @@ definitions:        work_id: "q3nouwy3nnbsvo3h5klxsx4a7y"        issue: "12"        abstracts: -      - sha1: "3f242a192acc258bdfdb151943419437f440c313" +      - sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"          mimetype: "application/xml+jats"          lang: "en"          content: "<jats:p>Some abstract thing goes here</jats:p>" -      - sha1: "3f242a192acc258bdfdb151943419437f440c313" +      - sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"          mimetype: "application/xml+jats"          lang: "en"          content: "<jats:p>Some abstract thing goes here</jats:p>" @@ -6198,7 +6302,7 @@ definitions:        revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        volume: "volume"        refs: -      - target_release_id: "target_release_id" +      - target_release_id: "q3nouwy3nnbsvo3h5klxsx4a7y"          container_name: "container_name"          year: 6          extra: "{}" @@ -6206,7 +6310,7 @@ definitions:          title: "title"          locator: "p123"          key: "key" -      - target_release_id: "target_release_id" +      - target_release_id: "q3nouwy3nnbsvo3h5klxsx4a7y"          container_name: "container_name"          year: 6          extra: "{}" @@ -6219,10 +6323,10 @@ definitions:        publisher: "publisher"        files:        - redirect: "q3nouwy3nnbsvo3h5klxsx4a7y" -        sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +        sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"          ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe" -        sha1: "f013d66c7f6817d08b7eb2a93e6d0440c1f3e7f8" +        sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"          urls:          - rel: "webarchive"            url: "https://example.edu/~frau/prcding.pdf" @@ -6233,15 +6337,15 @@ definitions:          mimetype: "application/pdf"          state: "wip"          release_ids: -        - "release_ids" -        - "release_ids" +        - "q3nouwy3nnbsvo3h5klxsx4a7y" +        - "q3nouwy3nnbsvo3h5klxsx4a7y"          edit_extra: "{}" -        md5: "d41efcc592d1e40ac13905377399eb9b" +        md5: "1b39813549077b2347c0f370c3864b40"        - redirect: "q3nouwy3nnbsvo3h5klxsx4a7y" -        sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +        sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"          ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe" -        sha1: "f013d66c7f6817d08b7eb2a93e6d0440c1f3e7f8" +        sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"          urls:          - rel: "webarchive"            url: "https://example.edu/~frau/prcding.pdf" @@ -6252,10 +6356,10 @@ definitions:          mimetype: "application/pdf"          state: "wip"          release_ids: -        - "release_ids" -        - "release_ids" +        - "q3nouwy3nnbsvo3h5klxsx4a7y" +        - "q3nouwy3nnbsvo3h5klxsx4a7y"          edit_extra: "{}" -        md5: "d41efcc592d1e40ac13905377399eb9b" +        md5: "1b39813549077b2347c0f370c3864b40"        filesets:        - redirect: "q3nouwy3nnbsvo3h5klxsx4a7y"          urls: @@ -6264,24 +6368,24 @@ definitions:          - rel: "webarchive"            url: "https://example.edu/~frau/prcding.pdf"          manifest: -        - sha1: "f013d66c7f6817d08b7eb2a93e6d0440c1f3e7f8" +        - sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"            path: "img/cat.png"            size: 1048576 -          sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +          sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"            extra: "{}" -          md5: "d41efcc592d1e40ac13905377399eb9b" -        - sha1: "f013d66c7f6817d08b7eb2a93e6d0440c1f3e7f8" +          md5: "1b39813549077b2347c0f370c3864b40" +        - sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"            path: "img/cat.png"            size: 1048576 -          sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +          sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"            extra: "{}" -          md5: "d41efcc592d1e40ac13905377399eb9b" +          md5: "1b39813549077b2347c0f370c3864b40"          ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          extra: "{}"          state: "wip"          release_ids: -        - "release_ids" -        - "release_ids" +        - "q3nouwy3nnbsvo3h5klxsx4a7y" +        - "q3nouwy3nnbsvo3h5klxsx4a7y"          edit_extra: "{}"          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        - redirect: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6291,24 +6395,24 @@ definitions:          - rel: "webarchive"            url: "https://example.edu/~frau/prcding.pdf"          manifest: -        - sha1: "f013d66c7f6817d08b7eb2a93e6d0440c1f3e7f8" +        - sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"            path: "img/cat.png"            size: 1048576 -          sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +          sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"            extra: "{}" -          md5: "d41efcc592d1e40ac13905377399eb9b" -        - sha1: "f013d66c7f6817d08b7eb2a93e6d0440c1f3e7f8" +          md5: "1b39813549077b2347c0f370c3864b40" +        - sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"            path: "img/cat.png"            size: 1048576 -          sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +          sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"            extra: "{}" -          md5: "d41efcc592d1e40ac13905377399eb9b" +          md5: "1b39813549077b2347c0f370c3864b40"          ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          extra: "{}"          state: "wip"          release_ids: -        - "release_ids" -        - "release_ids" +        - "q3nouwy3nnbsvo3h5klxsx4a7y" +        - "q3nouwy3nnbsvo3h5klxsx4a7y"          edit_extra: "{}"          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        pmcid: "pmcid" @@ -6377,14 +6481,14 @@ definitions:          edits:            works:            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"              prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6392,14 +6496,14 @@ definitions:              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            webcaptures:            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"              prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6407,14 +6511,14 @@ definitions:              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            creators:            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"              prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6422,14 +6526,14 @@ definitions:              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            files:            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"              prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6437,14 +6541,14 @@ definitions:              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            containers:            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"              prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6452,14 +6556,14 @@ definitions:              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            filesets:            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"              prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6467,14 +6571,14 @@ definitions:              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            releases:            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"              prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6485,7 +6589,7 @@ definitions:          editor_id: "q3nouwy3nnbsvo3h5klxsx4a7y"        edit:          ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -        edit_id: 847 +        edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          extra: "{}"          redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6497,14 +6601,14 @@ definitions:            edits:              works:              - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -              edit_id: 847 +              edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                extra: "{}"                redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"                editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"                prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -              edit_id: 847 +              edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                extra: "{}"                redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"                editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6512,14 +6616,14 @@ definitions:                revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              webcaptures:              - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -              edit_id: 847 +              edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                extra: "{}"                redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"                editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"                prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -              edit_id: 847 +              edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                extra: "{}"                redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"                editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6527,14 +6631,14 @@ definitions:                revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              creators:              - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -              edit_id: 847 +              edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                extra: "{}"                redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"                editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"                prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -              edit_id: 847 +              edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                extra: "{}"                redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"                editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6542,14 +6646,14 @@ definitions:                revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              files:              - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -              edit_id: 847 +              edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                extra: "{}"                redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"                editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"                prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -              edit_id: 847 +              edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                extra: "{}"                redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"                editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6557,14 +6661,14 @@ definitions:                revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              containers:              - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -              edit_id: 847 +              edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                extra: "{}"                redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"                editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"                prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -              edit_id: 847 +              edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                extra: "{}"                redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"                editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6572,14 +6676,14 @@ definitions:                revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              filesets:              - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -              edit_id: 847 +              edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                extra: "{}"                redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"                editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"                prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -              edit_id: 847 +              edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                extra: "{}"                redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"                editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6587,14 +6691,14 @@ definitions:                revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              releases:              - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -              edit_id: 847 +              edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                extra: "{}"                redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"                editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"                prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -              edit_id: 847 +              edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"                extra: "{}"                redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"                editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6615,29 +6719,52 @@ definitions:      - "ident"      properties:        edit_id: -        type: "integer" -        format: "int64" -        example: 847 +        type: "string" +        example: "86daea5b-1b6b-432a-bb67-ea97795f80fe" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)" +        minLength: 36 +        maxLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"        ident:          type: "string"          example: "q3nouwy3nnbsvo3h5klxsx4a7y" +        description: "base32-encoded unique identifier" +        minLength: 26 +        maxLength: 26 +        pattern: "[a-zA-Z2-7]{26}"        revision:          type: "string"          example: "86daea5b-1b6b-432a-bb67-ea97795f80fe" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)" +        minLength: 36 +        maxLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"        prev_revision:          type: "string"          example: "86daea5b-1b6b-432a-bb67-ea97795f80fe" +        description: "UUID (lower-case, dash-separated, hex-encoded 128-bit)" +        minLength: 36 +        maxLength: 36 +        pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"        redirect_ident:          type: "string"          example: "q3nouwy3nnbsvo3h5klxsx4a7y" +        description: "base32-encoded unique identifier" +        minLength: 26 +        maxLength: 26 +        pattern: "[a-zA-Z2-7]{26}"        editgroup_id:          type: "string"          example: "q3nouwy3nnbsvo3h5klxsx4a7y" +        description: "base32-encoded unique identifier" +        minLength: 26 +        maxLength: 26 +        pattern: "[a-zA-Z2-7]{26}"        extra:          type: "object"      example:        ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -      edit_id: 847 +      edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        extra: "{}"        redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"        editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6652,6 +6779,10 @@ definitions:        editor_id:          type: "string"          example: "q3nouwy3nnbsvo3h5klxsx4a7y" +        description: "base32-encoded unique identifier" +        minLength: 26 +        maxLength: 26 +        pattern: "[a-zA-Z2-7]{26}"        username:          type: "string"          example: "zerocool93" @@ -6689,14 +6820,14 @@ definitions:        edits:          works:          - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -          edit_id: 847 +          edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            extra: "{}"            redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"            editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"            prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -          edit_id: 847 +          edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            extra: "{}"            redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"            editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6704,14 +6835,14 @@ definitions:            revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          webcaptures:          - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -          edit_id: 847 +          edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            extra: "{}"            redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"            editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"            prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -          edit_id: 847 +          edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            extra: "{}"            redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"            editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6719,14 +6850,14 @@ definitions:            revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          creators:          - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -          edit_id: 847 +          edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            extra: "{}"            redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"            editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"            prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -          edit_id: 847 +          edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            extra: "{}"            redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"            editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6734,14 +6865,14 @@ definitions:            revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          files:          - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -          edit_id: 847 +          edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            extra: "{}"            redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"            editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"            prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -          edit_id: 847 +          edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            extra: "{}"            redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"            editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6749,14 +6880,14 @@ definitions:            revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          containers:          - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -          edit_id: 847 +          edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            extra: "{}"            redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"            editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"            prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -          edit_id: 847 +          edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            extra: "{}"            redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"            editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6764,14 +6895,14 @@ definitions:            revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          filesets:          - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -          edit_id: 847 +          edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            extra: "{}"            redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"            editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"            prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -          edit_id: 847 +          edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            extra: "{}"            redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"            editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6779,14 +6910,14 @@ definitions:            revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          releases:          - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -          edit_id: 847 +          edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            extra: "{}"            redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"            editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"            prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -          edit_id: 847 +          edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            extra: "{}"            redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"            editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6820,14 +6951,14 @@ definitions:          edits:            works:            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"              prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6835,14 +6966,14 @@ definitions:              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            webcaptures:            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"              prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6850,14 +6981,14 @@ definitions:              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            creators:            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"              prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6865,14 +6996,14 @@ definitions:              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            files:            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"              prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6880,14 +7011,14 @@ definitions:              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            containers:            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"              prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6895,14 +7026,14 @@ definitions:              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            filesets:            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"              prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6910,14 +7041,14 @@ definitions:              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            releases:            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"              prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"            - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -            edit_id: 847 +            edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"              extra: "{}"              redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"              editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -6938,6 +7069,11 @@ definitions:          format: "int64"        target_release_id:          type: "string" +        example: "q3nouwy3nnbsvo3h5klxsx4a7y" +        description: "base32-encoded unique identifier" +        minLength: 26 +        maxLength: 26 +        pattern: "[a-zA-Z2-7]{26}"        extra:          type: "object"        key: @@ -6953,7 +7089,7 @@ definitions:          type: "string"          example: "p123"      example: -      target_release_id: "target_release_id" +      target_release_id: "q3nouwy3nnbsvo3h5klxsx4a7y"        container_name: "container_name"        year: 6        extra: "{}" @@ -7028,22 +7164,31 @@ definitions:          example: 1048576        md5:          type: "string" -        example: "d41efcc592d1e40ac13905377399eb9b" +        example: "1b39813549077b2347c0f370c3864b40" +        minLength: 32 +        maxLength: 32 +        pattern: "[a-f0-9]{32}"        sha1:          type: "string" -        example: "f013d66c7f6817d08b7eb2a93e6d0440c1f3e7f8" +        example: "e9dd75237c94b209dc3ccd52722de6931a310ba3" +        minLength: 40 +        maxLength: 40 +        pattern: "[a-f0-9]{40}"        sha256:          type: "string" -        example: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +        example: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452" +        minLength: 64 +        maxLength: 64 +        pattern: "[a-f0-9]{64}"        extra:          type: "object"      example: -      sha1: "f013d66c7f6817d08b7eb2a93e6d0440c1f3e7f8" +      sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"        path: "img/cat.png"        size: 1048576 -      sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +      sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"        extra: "{}" -      md5: "d41efcc592d1e40ac13905377399eb9b" +      md5: "1b39813549077b2347c0f370c3864b40"      upperCaseName: "FILESET_ENTITY_MANIFEST"    webcapture_entity_archive_urls:      required: @@ -7086,15 +7231,21 @@ definitions:          example: 200        sha1:          type: "string" -        example: "3f242a192acc258bdfdb151943419437f440c313" +        example: "e9dd75237c94b209dc3ccd52722de6931a310ba3" +        minLength: 40 +        maxLength: 40 +        pattern: "[a-f0-9]{40}"        sha256:          type: "string" -        example: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +        example: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452" +        minLength: 64 +        maxLength: 64 +        pattern: "[a-f0-9]{64}"      example: -      sha1: "3f242a192acc258bdfdb151943419437f440c313" +      sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"        surt: "org,asheesh)/apus/ch1/node15.html"        status_code: 200 -      sha256: "a77e4c11a57f1d757fca5754a8f83b5d4ece49a2d28596889127c1a2f3f28832" +      sha256: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452"        mimetype: "text/html"        url: "http://www.asheesh.org:80/APUS/ch1/node15.html"        timestamp: "20020429162520" @@ -7103,7 +7254,10 @@ definitions:      properties:        sha1:          type: "string" -        example: "3f242a192acc258bdfdb151943419437f440c313" +        example: "e9dd75237c94b209dc3ccd52722de6931a310ba3" +        minLength: 40 +        maxLength: 40 +        pattern: "[a-f0-9]{40}"        content:          type: "string"          example: "<jats:p>Some abstract thing goes here</jats:p>" @@ -7114,7 +7268,7 @@ definitions:          type: "string"          example: "en"      example: -      sha1: "3f242a192acc258bdfdb151943419437f440c313" +      sha1: "e9dd75237c94b209dc3ccd52722de6931a310ba3"        mimetype: "application/xml+jats"        lang: "en"        content: "<jats:p>Some abstract thing goes here</jats:p>" @@ -7152,14 +7306,14 @@ definitions:      example:        works:        - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -        edit_id: 847 +        edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          extra: "{}"          redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"          prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -        edit_id: 847 +        edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          extra: "{}"          redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -7167,14 +7321,14 @@ definitions:          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        webcaptures:        - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -        edit_id: 847 +        edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          extra: "{}"          redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"          prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -        edit_id: 847 +        edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          extra: "{}"          redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -7182,14 +7336,14 @@ definitions:          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        creators:        - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -        edit_id: 847 +        edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          extra: "{}"          redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"          prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -        edit_id: 847 +        edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          extra: "{}"          redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -7197,14 +7351,14 @@ definitions:          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        files:        - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -        edit_id: 847 +        edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          extra: "{}"          redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"          prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -        edit_id: 847 +        edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          extra: "{}"          redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -7212,14 +7366,14 @@ definitions:          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        containers:        - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -        edit_id: 847 +        edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          extra: "{}"          redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"          prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -        edit_id: 847 +        edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          extra: "{}"          redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -7227,14 +7381,14 @@ definitions:          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        filesets:        - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -        edit_id: 847 +        edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          extra: "{}"          redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"          prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -        edit_id: 847 +        edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          extra: "{}"          redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -7242,14 +7396,14 @@ definitions:          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        releases:        - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -        edit_id: 847 +        edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          extra: "{}"          redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y"          prev_revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          revision: "86daea5b-1b6b-432a-bb67-ea97795f80fe"        - ident: "q3nouwy3nnbsvo3h5klxsx4a7y" -        edit_id: 847 +        edit_id: "86daea5b-1b6b-432a-bb67-ea97795f80fe"          extra: "{}"          redirect_ident: "q3nouwy3nnbsvo3h5klxsx4a7y"          editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" @@ -7282,6 +7436,24 @@ x-orcid:    pattern: "\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]"    minLength: 19    maxLength: 19 +x-md5: +  type: "string" +  example: "1b39813549077b2347c0f370c3864b40" +  pattern: "[a-f0-9]{32}" +  minLength: 32 +  maxLength: 32 +x-sha1: +  type: "string" +  example: "e9dd75237c94b209dc3ccd52722de6931a310ba3" +  pattern: "[a-f0-9]{40}" +  minLength: 40 +  maxLength: 40 +x-sha256: +  type: "string" +  example: "cb1c378f464d5935ddaa8de28446d82638396c61f042295d7fb85e3cccc9e452" +  pattern: "[a-f0-9]{64}" +  minLength: 64 +  maxLength: 64  x-entity-props:    state:      type: "string" diff --git a/rust/fatcat-api-spec/examples/client.rs b/rust/fatcat-api-spec/examples/client.rs index 52a9e16a..bf0c07b3 100644 --- a/rust/fatcat-api-spec/examples/client.rs +++ b/rust/fatcat-api-spec/examples/client.rs @@ -149,7 +149,7 @@ fn main() {          }          Some("DeleteContainerEdit") => { -            let result = client.delete_container_edit(789).wait(); +            let result = client.delete_container_edit("edit_id_example".to_string()).wait();              println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));          } @@ -161,7 +161,7 @@ fn main() {          }          Some("GetContainerEdit") => { -            let result = client.get_container_edit(789).wait(); +            let result = client.get_container_edit("edit_id_example".to_string()).wait();              println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));          } @@ -216,7 +216,7 @@ fn main() {          }          Some("DeleteCreatorEdit") => { -            let result = client.delete_creator_edit(789).wait(); +            let result = client.delete_creator_edit("edit_id_example".to_string()).wait();              println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));          } @@ -228,7 +228,7 @@ fn main() {          }          Some("GetCreatorEdit") => { -            let result = client.get_creator_edit(789).wait(); +            let result = client.get_creator_edit("edit_id_example".to_string()).wait();              println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));          } @@ -322,7 +322,7 @@ fn main() {          }          Some("DeleteFileEdit") => { -            let result = client.delete_file_edit(789).wait(); +            let result = client.delete_file_edit("edit_id_example".to_string()).wait();              println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));          } @@ -334,7 +334,7 @@ fn main() {          }          Some("GetFileEdit") => { -            let result = client.get_file_edit(789).wait(); +            let result = client.get_file_edit("edit_id_example".to_string()).wait();              println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));          } @@ -390,7 +390,7 @@ fn main() {          }          Some("DeleteFilesetEdit") => { -            let result = client.delete_fileset_edit(789).wait(); +            let result = client.delete_fileset_edit("edit_id_example".to_string()).wait();              println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));          } @@ -402,7 +402,7 @@ fn main() {          }          Some("GetFilesetEdit") => { -            let result = client.get_fileset_edit(789).wait(); +            let result = client.get_fileset_edit("edit_id_example".to_string()).wait();              println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));          } @@ -450,7 +450,7 @@ fn main() {          }          Some("DeleteReleaseEdit") => { -            let result = client.delete_release_edit(789).wait(); +            let result = client.delete_release_edit("edit_id_example".to_string()).wait();              println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));          } @@ -462,7 +462,7 @@ fn main() {          }          Some("GetReleaseEdit") => { -            let result = client.get_release_edit(789).wait(); +            let result = client.get_release_edit("edit_id_example".to_string()).wait();              println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));          } @@ -536,7 +536,7 @@ fn main() {          }          Some("DeleteWebcaptureEdit") => { -            let result = client.delete_webcapture_edit(789).wait(); +            let result = client.delete_webcapture_edit("edit_id_example".to_string()).wait();              println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));          } @@ -548,7 +548,7 @@ fn main() {          }          Some("GetWebcaptureEdit") => { -            let result = client.get_webcapture_edit(789).wait(); +            let result = client.get_webcapture_edit("edit_id_example".to_string()).wait();              println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));          } @@ -585,7 +585,7 @@ fn main() {          }          Some("DeleteWorkEdit") => { -            let result = client.delete_work_edit(789).wait(); +            let result = client.delete_work_edit("edit_id_example".to_string()).wait();              println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));          } @@ -597,7 +597,7 @@ fn main() {          }          Some("GetWorkEdit") => { -            let result = client.get_work_edit(789).wait(); +            let result = client.get_work_edit("edit_id_example".to_string()).wait();              println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));          } diff --git a/rust/fatcat-api-spec/examples/server_lib/server.rs b/rust/fatcat-api-spec/examples/server_lib/server.rs index ad41ff27..a9301650 100644 --- a/rust/fatcat-api-spec/examples/server_lib/server.rs +++ b/rust/fatcat-api-spec/examples/server_lib/server.rs @@ -69,9 +69,9 @@ impl Api for Server {          Box::new(futures::failed("Generic failure".into()))      } -    fn delete_container_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = DeleteContainerEditResponse, Error = ApiError> + Send> { +    fn delete_container_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = DeleteContainerEditResponse, Error = ApiError> + Send> {          let context = context.clone(); -        println!("delete_container_edit({}) - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone()); +        println!("delete_container_edit(\"{}\") - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone());          Box::new(futures::failed("Generic failure".into()))      } @@ -87,9 +87,9 @@ impl Api for Server {          Box::new(futures::failed("Generic failure".into()))      } -    fn get_container_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = GetContainerEditResponse, Error = ApiError> + Send> { +    fn get_container_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = GetContainerEditResponse, Error = ApiError> + Send> {          let context = context.clone(); -        println!("get_container_edit({}) - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone()); +        println!("get_container_edit(\"{}\") - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone());          Box::new(futures::failed("Generic failure".into()))      } @@ -200,9 +200,9 @@ impl Api for Server {          Box::new(futures::failed("Generic failure".into()))      } -    fn delete_creator_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = DeleteCreatorEditResponse, Error = ApiError> + Send> { +    fn delete_creator_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = DeleteCreatorEditResponse, Error = ApiError> + Send> {          let context = context.clone(); -        println!("delete_creator_edit({}) - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone()); +        println!("delete_creator_edit(\"{}\") - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone());          Box::new(futures::failed("Generic failure".into()))      } @@ -218,9 +218,9 @@ impl Api for Server {          Box::new(futures::failed("Generic failure".into()))      } -    fn get_creator_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = GetCreatorEditResponse, Error = ApiError> + Send> { +    fn get_creator_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = GetCreatorEditResponse, Error = ApiError> + Send> {          let context = context.clone(); -        println!("get_creator_edit({}) - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone()); +        println!("get_creator_edit(\"{}\") - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone());          Box::new(futures::failed("Generic failure".into()))      } @@ -378,9 +378,9 @@ impl Api for Server {          Box::new(futures::failed("Generic failure".into()))      } -    fn delete_file_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = DeleteFileEditResponse, Error = ApiError> + Send> { +    fn delete_file_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = DeleteFileEditResponse, Error = ApiError> + Send> {          let context = context.clone(); -        println!("delete_file_edit({}) - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone()); +        println!("delete_file_edit(\"{}\") - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone());          Box::new(futures::failed("Generic failure".into()))      } @@ -396,9 +396,9 @@ impl Api for Server {          Box::new(futures::failed("Generic failure".into()))      } -    fn get_file_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = GetFileEditResponse, Error = ApiError> + Send> { +    fn get_file_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = GetFileEditResponse, Error = ApiError> + Send> {          let context = context.clone(); -        println!("get_file_edit({}) - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone()); +        println!("get_file_edit(\"{}\") - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone());          Box::new(futures::failed("Generic failure".into()))      } @@ -505,9 +505,9 @@ impl Api for Server {          Box::new(futures::failed("Generic failure".into()))      } -    fn delete_fileset_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = DeleteFilesetEditResponse, Error = ApiError> + Send> { +    fn delete_fileset_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = DeleteFilesetEditResponse, Error = ApiError> + Send> {          let context = context.clone(); -        println!("delete_fileset_edit({}) - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone()); +        println!("delete_fileset_edit(\"{}\") - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone());          Box::new(futures::failed("Generic failure".into()))      } @@ -523,9 +523,9 @@ impl Api for Server {          Box::new(futures::failed("Generic failure".into()))      } -    fn get_fileset_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = GetFilesetEditResponse, Error = ApiError> + Send> { +    fn get_fileset_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = GetFilesetEditResponse, Error = ApiError> + Send> {          let context = context.clone(); -        println!("get_fileset_edit({}) - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone()); +        println!("get_fileset_edit(\"{}\") - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone());          Box::new(futures::failed("Generic failure".into()))      } @@ -621,9 +621,9 @@ impl Api for Server {          Box::new(futures::failed("Generic failure".into()))      } -    fn delete_release_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = DeleteReleaseEditResponse, Error = ApiError> + Send> { +    fn delete_release_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = DeleteReleaseEditResponse, Error = ApiError> + Send> {          let context = context.clone(); -        println!("delete_release_edit({}) - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone()); +        println!("delete_release_edit(\"{}\") - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone());          Box::new(futures::failed("Generic failure".into()))      } @@ -639,9 +639,9 @@ impl Api for Server {          Box::new(futures::failed("Generic failure".into()))      } -    fn get_release_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = GetReleaseEditResponse, Error = ApiError> + Send> { +    fn get_release_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = GetReleaseEditResponse, Error = ApiError> + Send> {          let context = context.clone(); -        println!("get_release_edit({}) - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone()); +        println!("get_release_edit(\"{}\") - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone());          Box::new(futures::failed("Generic failure".into()))      } @@ -787,9 +787,9 @@ impl Api for Server {          Box::new(futures::failed("Generic failure".into()))      } -    fn delete_webcapture_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = DeleteWebcaptureEditResponse, Error = ApiError> + Send> { +    fn delete_webcapture_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = DeleteWebcaptureEditResponse, Error = ApiError> + Send> {          let context = context.clone(); -        println!("delete_webcapture_edit({}) - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone()); +        println!("delete_webcapture_edit(\"{}\") - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone());          Box::new(futures::failed("Generic failure".into()))      } @@ -805,9 +805,9 @@ impl Api for Server {          Box::new(futures::failed("Generic failure".into()))      } -    fn get_webcapture_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = GetWebcaptureEditResponse, Error = ApiError> + Send> { +    fn get_webcapture_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = GetWebcaptureEditResponse, Error = ApiError> + Send> {          let context = context.clone(); -        println!("get_webcapture_edit({}) - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone()); +        println!("get_webcapture_edit(\"{}\") - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone());          Box::new(futures::failed("Generic failure".into()))      } @@ -887,9 +887,9 @@ impl Api for Server {          Box::new(futures::failed("Generic failure".into()))      } -    fn delete_work_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = DeleteWorkEditResponse, Error = ApiError> + Send> { +    fn delete_work_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = DeleteWorkEditResponse, Error = ApiError> + Send> {          let context = context.clone(); -        println!("delete_work_edit({}) - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone()); +        println!("delete_work_edit(\"{}\") - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone());          Box::new(futures::failed("Generic failure".into()))      } @@ -905,9 +905,9 @@ impl Api for Server {          Box::new(futures::failed("Generic failure".into()))      } -    fn get_work_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = GetWorkEditResponse, Error = ApiError> + Send> { +    fn get_work_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = GetWorkEditResponse, Error = ApiError> + Send> {          let context = context.clone(); -        println!("get_work_edit({}) - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone()); +        println!("get_work_edit(\"{}\") - X-Span-ID: {:?}", edit_id, context.x_span_id.unwrap_or(String::from("<none>")).clone());          Box::new(futures::failed("Generic failure".into()))      } diff --git a/rust/fatcat-api-spec/src/client.rs b/rust/fatcat-api-spec/src/client.rs index c764df6f..0ef2742e 100644 --- a/rust/fatcat-api-spec/src/client.rs +++ b/rust/fatcat-api-spec/src/client.rs @@ -392,7 +392,7 @@ impl Api for Client {          Box::new(futures::done(result))      } -    fn delete_container_edit(&self, param_edit_id: i64, context: &Context) -> Box<Future<Item = DeleteContainerEditResponse, Error = ApiError> + Send> { +    fn delete_container_edit(&self, param_edit_id: String, context: &Context) -> Box<Future<Item = DeleteContainerEditResponse, Error = ApiError> + Send> {          let url = format!(              "{}/v0/container/edit/{edit_id}",              self.base_path, @@ -526,7 +526,7 @@ impl Api for Client {          Box::new(futures::done(result))      } -    fn get_container_edit(&self, param_edit_id: i64, context: &Context) -> Box<Future<Item = GetContainerEditResponse, Error = ApiError> + Send> { +    fn get_container_edit(&self, param_edit_id: String, context: &Context) -> Box<Future<Item = GetContainerEditResponse, Error = ApiError> + Send> {          let url = format!(              "{}/v0/container/edit/{edit_id}",              self.base_path, @@ -1177,7 +1177,7 @@ impl Api for Client {          Box::new(futures::done(result))      } -    fn delete_creator_edit(&self, param_edit_id: i64, context: &Context) -> Box<Future<Item = DeleteCreatorEditResponse, Error = ApiError> + Send> { +    fn delete_creator_edit(&self, param_edit_id: String, context: &Context) -> Box<Future<Item = DeleteCreatorEditResponse, Error = ApiError> + Send> {          let url = format!(              "{}/v0/creator/edit/{edit_id}",              self.base_path, @@ -1311,7 +1311,7 @@ impl Api for Client {          Box::new(futures::done(result))      } -    fn get_creator_edit(&self, param_edit_id: i64, context: &Context) -> Box<Future<Item = GetCreatorEditResponse, Error = ApiError> + Send> { +    fn get_creator_edit(&self, param_edit_id: String, context: &Context) -> Box<Future<Item = GetCreatorEditResponse, Error = ApiError> + Send> {          let url = format!(              "{}/v0/creator/edit/{edit_id}",              self.base_path, @@ -2453,7 +2453,7 @@ impl Api for Client {          Box::new(futures::done(result))      } -    fn delete_file_edit(&self, param_edit_id: i64, context: &Context) -> Box<Future<Item = DeleteFileEditResponse, Error = ApiError> + Send> { +    fn delete_file_edit(&self, param_edit_id: String, context: &Context) -> Box<Future<Item = DeleteFileEditResponse, Error = ApiError> + Send> {          let url = format!(              "{}/v0/file/edit/{edit_id}",              self.base_path, @@ -2587,7 +2587,7 @@ impl Api for Client {          Box::new(futures::done(result))      } -    fn get_file_edit(&self, param_edit_id: i64, context: &Context) -> Box<Future<Item = GetFileEditResponse, Error = ApiError> + Send> { +    fn get_file_edit(&self, param_edit_id: String, context: &Context) -> Box<Future<Item = GetFileEditResponse, Error = ApiError> + Send> {          let url = format!(              "{}/v0/file/edit/{edit_id}",              self.base_path, @@ -3241,7 +3241,7 @@ impl Api for Client {          Box::new(futures::done(result))      } -    fn delete_fileset_edit(&self, param_edit_id: i64, context: &Context) -> Box<Future<Item = DeleteFilesetEditResponse, Error = ApiError> + Send> { +    fn delete_fileset_edit(&self, param_edit_id: String, context: &Context) -> Box<Future<Item = DeleteFilesetEditResponse, Error = ApiError> + Send> {          let url = format!(              "{}/v0/fileset/edit/{edit_id}",              self.base_path, @@ -3375,7 +3375,7 @@ impl Api for Client {          Box::new(futures::done(result))      } -    fn get_fileset_edit(&self, param_edit_id: i64, context: &Context) -> Box<Future<Item = GetFilesetEditResponse, Error = ApiError> + Send> { +    fn get_fileset_edit(&self, param_edit_id: String, context: &Context) -> Box<Future<Item = GetFilesetEditResponse, Error = ApiError> + Send> {          let url = format!(              "{}/v0/fileset/edit/{edit_id}",              self.base_path, @@ -4014,7 +4014,7 @@ impl Api for Client {          Box::new(futures::done(result))      } -    fn delete_release_edit(&self, param_edit_id: i64, context: &Context) -> Box<Future<Item = DeleteReleaseEditResponse, Error = ApiError> + Send> { +    fn delete_release_edit(&self, param_edit_id: String, context: &Context) -> Box<Future<Item = DeleteReleaseEditResponse, Error = ApiError> + Send> {          let url = format!(              "{}/v0/release/edit/{edit_id}",              self.base_path, @@ -4148,7 +4148,7 @@ impl Api for Client {          Box::new(futures::done(result))      } -    fn get_release_edit(&self, param_edit_id: i64, context: &Context) -> Box<Future<Item = GetReleaseEditResponse, Error = ApiError> + Send> { +    fn get_release_edit(&self, param_edit_id: String, context: &Context) -> Box<Future<Item = GetReleaseEditResponse, Error = ApiError> + Send> {          let url = format!(              "{}/v0/release/edit/{edit_id}",              self.base_path, @@ -5020,7 +5020,7 @@ impl Api for Client {          Box::new(futures::done(result))      } -    fn delete_webcapture_edit(&self, param_edit_id: i64, context: &Context) -> Box<Future<Item = DeleteWebcaptureEditResponse, Error = ApiError> + Send> { +    fn delete_webcapture_edit(&self, param_edit_id: String, context: &Context) -> Box<Future<Item = DeleteWebcaptureEditResponse, Error = ApiError> + Send> {          let url = format!(              "{}/v0/webcapture/edit/{edit_id}",              self.base_path, @@ -5154,7 +5154,7 @@ impl Api for Client {          Box::new(futures::done(result))      } -    fn get_webcapture_edit(&self, param_edit_id: i64, context: &Context) -> Box<Future<Item = GetWebcaptureEditResponse, Error = ApiError> + Send> { +    fn get_webcapture_edit(&self, param_edit_id: String, context: &Context) -> Box<Future<Item = GetWebcaptureEditResponse, Error = ApiError> + Send> {          let url = format!(              "{}/v0/webcapture/edit/{edit_id}",              self.base_path, @@ -5653,7 +5653,7 @@ impl Api for Client {          Box::new(futures::done(result))      } -    fn delete_work_edit(&self, param_edit_id: i64, context: &Context) -> Box<Future<Item = DeleteWorkEditResponse, Error = ApiError> + Send> { +    fn delete_work_edit(&self, param_edit_id: String, context: &Context) -> Box<Future<Item = DeleteWorkEditResponse, Error = ApiError> + Send> {          let url = format!(              "{}/v0/work/edit/{edit_id}",              self.base_path, @@ -5787,7 +5787,7 @@ impl Api for Client {          Box::new(futures::done(result))      } -    fn get_work_edit(&self, param_edit_id: i64, context: &Context) -> Box<Future<Item = GetWorkEditResponse, Error = ApiError> + Send> { +    fn get_work_edit(&self, param_edit_id: String, context: &Context) -> Box<Future<Item = GetWorkEditResponse, Error = ApiError> + Send> {          let url = format!(              "{}/v0/work/edit/{edit_id}",              self.base_path, diff --git a/rust/fatcat-api-spec/src/lib.rs b/rust/fatcat-api-spec/src/lib.rs index ad05aba7..c54e91ae 100644 --- a/rust/fatcat-api-spec/src/lib.rs +++ b/rust/fatcat-api-spec/src/lib.rs @@ -1072,11 +1072,11 @@ pub trait Api {      fn delete_container(&self, ident: String, editgroup_id: Option<String>, context: &Context) -> Box<Future<Item = DeleteContainerResponse, Error = ApiError> + Send>; -    fn delete_container_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = DeleteContainerEditResponse, Error = ApiError> + Send>; +    fn delete_container_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = DeleteContainerEditResponse, Error = ApiError> + Send>;      fn get_container(&self, ident: String, expand: Option<String>, hide: Option<String>, context: &Context) -> Box<Future<Item = GetContainerResponse, Error = ApiError> + Send>; -    fn get_container_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = GetContainerEditResponse, Error = ApiError> + Send>; +    fn get_container_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = GetContainerEditResponse, Error = ApiError> + Send>;      fn get_container_history(&self, ident: String, limit: Option<i64>, context: &Context) -> Box<Future<Item = GetContainerHistoryResponse, Error = ApiError> + Send>; @@ -1108,11 +1108,11 @@ pub trait Api {      fn delete_creator(&self, ident: String, editgroup_id: Option<String>, context: &Context) -> Box<Future<Item = DeleteCreatorResponse, Error = ApiError> + Send>; -    fn delete_creator_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = DeleteCreatorEditResponse, Error = ApiError> + Send>; +    fn delete_creator_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = DeleteCreatorEditResponse, Error = ApiError> + Send>;      fn get_creator(&self, ident: String, expand: Option<String>, hide: Option<String>, context: &Context) -> Box<Future<Item = GetCreatorResponse, Error = ApiError> + Send>; -    fn get_creator_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = GetCreatorEditResponse, Error = ApiError> + Send>; +    fn get_creator_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = GetCreatorEditResponse, Error = ApiError> + Send>;      fn get_creator_history(&self, ident: String, limit: Option<i64>, context: &Context) -> Box<Future<Item = GetCreatorHistoryResponse, Error = ApiError> + Send>; @@ -1159,11 +1159,11 @@ pub trait Api {      fn delete_file(&self, ident: String, editgroup_id: Option<String>, context: &Context) -> Box<Future<Item = DeleteFileResponse, Error = ApiError> + Send>; -    fn delete_file_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = DeleteFileEditResponse, Error = ApiError> + Send>; +    fn delete_file_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = DeleteFileEditResponse, Error = ApiError> + Send>;      fn get_file(&self, ident: String, expand: Option<String>, hide: Option<String>, context: &Context) -> Box<Future<Item = GetFileResponse, Error = ApiError> + Send>; -    fn get_file_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = GetFileEditResponse, Error = ApiError> + Send>; +    fn get_file_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = GetFileEditResponse, Error = ApiError> + Send>;      fn get_file_history(&self, ident: String, limit: Option<i64>, context: &Context) -> Box<Future<Item = GetFileHistoryResponse, Error = ApiError> + Send>; @@ -1195,11 +1195,11 @@ pub trait Api {      fn delete_fileset(&self, ident: String, editgroup_id: Option<String>, context: &Context) -> Box<Future<Item = DeleteFilesetResponse, Error = ApiError> + Send>; -    fn delete_fileset_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = DeleteFilesetEditResponse, Error = ApiError> + Send>; +    fn delete_fileset_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = DeleteFilesetEditResponse, Error = ApiError> + Send>;      fn get_fileset(&self, ident: String, expand: Option<String>, hide: Option<String>, context: &Context) -> Box<Future<Item = GetFilesetResponse, Error = ApiError> + Send>; -    fn get_fileset_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = GetFilesetEditResponse, Error = ApiError> + Send>; +    fn get_fileset_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = GetFilesetEditResponse, Error = ApiError> + Send>;      fn get_fileset_history(&self, ident: String, limit: Option<i64>, context: &Context) -> Box<Future<Item = GetFilesetHistoryResponse, Error = ApiError> + Send>; @@ -1223,11 +1223,11 @@ pub trait Api {      fn delete_release(&self, ident: String, editgroup_id: Option<String>, context: &Context) -> Box<Future<Item = DeleteReleaseResponse, Error = ApiError> + Send>; -    fn delete_release_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = DeleteReleaseEditResponse, Error = ApiError> + Send>; +    fn delete_release_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = DeleteReleaseEditResponse, Error = ApiError> + Send>;      fn get_release(&self, ident: String, expand: Option<String>, hide: Option<String>, context: &Context) -> Box<Future<Item = GetReleaseResponse, Error = ApiError> + Send>; -    fn get_release_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = GetReleaseEditResponse, Error = ApiError> + Send>; +    fn get_release_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = GetReleaseEditResponse, Error = ApiError> + Send>;      fn get_release_files(&self, ident: String, hide: Option<String>, context: &Context) -> Box<Future<Item = GetReleaseFilesResponse, Error = ApiError> + Send>; @@ -1268,11 +1268,11 @@ pub trait Api {      fn delete_webcapture(&self, ident: String, editgroup_id: Option<String>, context: &Context) -> Box<Future<Item = DeleteWebcaptureResponse, Error = ApiError> + Send>; -    fn delete_webcapture_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = DeleteWebcaptureEditResponse, Error = ApiError> + Send>; +    fn delete_webcapture_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = DeleteWebcaptureEditResponse, Error = ApiError> + Send>;      fn get_webcapture(&self, ident: String, expand: Option<String>, hide: Option<String>, context: &Context) -> Box<Future<Item = GetWebcaptureResponse, Error = ApiError> + Send>; -    fn get_webcapture_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = GetWebcaptureEditResponse, Error = ApiError> + Send>; +    fn get_webcapture_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = GetWebcaptureEditResponse, Error = ApiError> + Send>;      fn get_webcapture_history(&self, ident: String, limit: Option<i64>, context: &Context) -> Box<Future<Item = GetWebcaptureHistoryResponse, Error = ApiError> + Send>; @@ -1298,11 +1298,11 @@ pub trait Api {      fn delete_work(&self, ident: String, editgroup_id: Option<String>, context: &Context) -> Box<Future<Item = DeleteWorkResponse, Error = ApiError> + Send>; -    fn delete_work_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = DeleteWorkEditResponse, Error = ApiError> + Send>; +    fn delete_work_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = DeleteWorkEditResponse, Error = ApiError> + Send>;      fn get_work(&self, ident: String, expand: Option<String>, hide: Option<String>, context: &Context) -> Box<Future<Item = GetWorkResponse, Error = ApiError> + Send>; -    fn get_work_edit(&self, edit_id: i64, context: &Context) -> Box<Future<Item = GetWorkEditResponse, Error = ApiError> + Send>; +    fn get_work_edit(&self, edit_id: String, context: &Context) -> Box<Future<Item = GetWorkEditResponse, Error = ApiError> + Send>;      fn get_work_history(&self, ident: String, limit: Option<i64>, context: &Context) -> Box<Future<Item = GetWorkHistoryResponse, Error = ApiError> + Send>; @@ -1328,11 +1328,11 @@ pub trait ApiNoContext {      fn delete_container(&self, ident: String, editgroup_id: Option<String>) -> Box<Future<Item = DeleteContainerResponse, Error = ApiError> + Send>; -    fn delete_container_edit(&self, edit_id: i64) -> Box<Future<Item = DeleteContainerEditResponse, Error = ApiError> + Send>; +    fn delete_container_edit(&self, edit_id: String) -> Box<Future<Item = DeleteContainerEditResponse, Error = ApiError> + Send>;      fn get_container(&self, ident: String, expand: Option<String>, hide: Option<String>) -> Box<Future<Item = GetContainerResponse, Error = ApiError> + Send>; -    fn get_container_edit(&self, edit_id: i64) -> Box<Future<Item = GetContainerEditResponse, Error = ApiError> + Send>; +    fn get_container_edit(&self, edit_id: String) -> Box<Future<Item = GetContainerEditResponse, Error = ApiError> + Send>;      fn get_container_history(&self, ident: String, limit: Option<i64>) -> Box<Future<Item = GetContainerHistoryResponse, Error = ApiError> + Send>; @@ -1361,11 +1361,11 @@ pub trait ApiNoContext {      fn delete_creator(&self, ident: String, editgroup_id: Option<String>) -> Box<Future<Item = DeleteCreatorResponse, Error = ApiError> + Send>; -    fn delete_creator_edit(&self, edit_id: i64) -> Box<Future<Item = DeleteCreatorEditResponse, Error = ApiError> + Send>; +    fn delete_creator_edit(&self, edit_id: String) -> Box<Future<Item = DeleteCreatorEditResponse, Error = ApiError> + Send>;      fn get_creator(&self, ident: String, expand: Option<String>, hide: Option<String>) -> Box<Future<Item = GetCreatorResponse, Error = ApiError> + Send>; -    fn get_creator_edit(&self, edit_id: i64) -> Box<Future<Item = GetCreatorEditResponse, Error = ApiError> + Send>; +    fn get_creator_edit(&self, edit_id: String) -> Box<Future<Item = GetCreatorEditResponse, Error = ApiError> + Send>;      fn get_creator_history(&self, ident: String, limit: Option<i64>) -> Box<Future<Item = GetCreatorHistoryResponse, Error = ApiError> + Send>; @@ -1399,11 +1399,11 @@ pub trait ApiNoContext {      fn delete_file(&self, ident: String, editgroup_id: Option<String>) -> Box<Future<Item = DeleteFileResponse, Error = ApiError> + Send>; -    fn delete_file_edit(&self, edit_id: i64) -> Box<Future<Item = DeleteFileEditResponse, Error = ApiError> + Send>; +    fn delete_file_edit(&self, edit_id: String) -> Box<Future<Item = DeleteFileEditResponse, Error = ApiError> + Send>;      fn get_file(&self, ident: String, expand: Option<String>, hide: Option<String>) -> Box<Future<Item = GetFileResponse, Error = ApiError> + Send>; -    fn get_file_edit(&self, edit_id: i64) -> Box<Future<Item = GetFileEditResponse, Error = ApiError> + Send>; +    fn get_file_edit(&self, edit_id: String) -> Box<Future<Item = GetFileEditResponse, Error = ApiError> + Send>;      fn get_file_history(&self, ident: String, limit: Option<i64>) -> Box<Future<Item = GetFileHistoryResponse, Error = ApiError> + Send>; @@ -1433,11 +1433,11 @@ pub trait ApiNoContext {      fn delete_fileset(&self, ident: String, editgroup_id: Option<String>) -> Box<Future<Item = DeleteFilesetResponse, Error = ApiError> + Send>; -    fn delete_fileset_edit(&self, edit_id: i64) -> Box<Future<Item = DeleteFilesetEditResponse, Error = ApiError> + Send>; +    fn delete_fileset_edit(&self, edit_id: String) -> Box<Future<Item = DeleteFilesetEditResponse, Error = ApiError> + Send>;      fn get_fileset(&self, ident: String, expand: Option<String>, hide: Option<String>) -> Box<Future<Item = GetFilesetResponse, Error = ApiError> + Send>; -    fn get_fileset_edit(&self, edit_id: i64) -> Box<Future<Item = GetFilesetEditResponse, Error = ApiError> + Send>; +    fn get_fileset_edit(&self, edit_id: String) -> Box<Future<Item = GetFilesetEditResponse, Error = ApiError> + Send>;      fn get_fileset_history(&self, ident: String, limit: Option<i64>) -> Box<Future<Item = GetFilesetHistoryResponse, Error = ApiError> + Send>; @@ -1460,11 +1460,11 @@ pub trait ApiNoContext {      fn delete_release(&self, ident: String, editgroup_id: Option<String>) -> Box<Future<Item = DeleteReleaseResponse, Error = ApiError> + Send>; -    fn delete_release_edit(&self, edit_id: i64) -> Box<Future<Item = DeleteReleaseEditResponse, Error = ApiError> + Send>; +    fn delete_release_edit(&self, edit_id: String) -> Box<Future<Item = DeleteReleaseEditResponse, Error = ApiError> + Send>;      fn get_release(&self, ident: String, expand: Option<String>, hide: Option<String>) -> Box<Future<Item = GetReleaseResponse, Error = ApiError> + Send>; -    fn get_release_edit(&self, edit_id: i64) -> Box<Future<Item = GetReleaseEditResponse, Error = ApiError> + Send>; +    fn get_release_edit(&self, edit_id: String) -> Box<Future<Item = GetReleaseEditResponse, Error = ApiError> + Send>;      fn get_release_files(&self, ident: String, hide: Option<String>) -> Box<Future<Item = GetReleaseFilesResponse, Error = ApiError> + Send>; @@ -1503,11 +1503,11 @@ pub trait ApiNoContext {      fn delete_webcapture(&self, ident: String, editgroup_id: Option<String>) -> Box<Future<Item = DeleteWebcaptureResponse, Error = ApiError> + Send>; -    fn delete_webcapture_edit(&self, edit_id: i64) -> Box<Future<Item = DeleteWebcaptureEditResponse, Error = ApiError> + Send>; +    fn delete_webcapture_edit(&self, edit_id: String) -> Box<Future<Item = DeleteWebcaptureEditResponse, Error = ApiError> + Send>;      fn get_webcapture(&self, ident: String, expand: Option<String>, hide: Option<String>) -> Box<Future<Item = GetWebcaptureResponse, Error = ApiError> + Send>; -    fn get_webcapture_edit(&self, edit_id: i64) -> Box<Future<Item = GetWebcaptureEditResponse, Error = ApiError> + Send>; +    fn get_webcapture_edit(&self, edit_id: String) -> Box<Future<Item = GetWebcaptureEditResponse, Error = ApiError> + Send>;      fn get_webcapture_history(&self, ident: String, limit: Option<i64>) -> Box<Future<Item = GetWebcaptureHistoryResponse, Error = ApiError> + Send>; @@ -1521,11 +1521,11 @@ pub trait ApiNoContext {      fn delete_work(&self, ident: String, editgroup_id: Option<String>) -> Box<Future<Item = DeleteWorkResponse, Error = ApiError> + Send>; -    fn delete_work_edit(&self, edit_id: i64) -> Box<Future<Item = DeleteWorkEditResponse, Error = ApiError> + Send>; +    fn delete_work_edit(&self, edit_id: String) -> Box<Future<Item = DeleteWorkEditResponse, Error = ApiError> + Send>;      fn get_work(&self, ident: String, expand: Option<String>, hide: Option<String>) -> Box<Future<Item = GetWorkResponse, Error = ApiError> + Send>; -    fn get_work_edit(&self, edit_id: i64) -> Box<Future<Item = GetWorkEditResponse, Error = ApiError> + Send>; +    fn get_work_edit(&self, edit_id: String) -> Box<Future<Item = GetWorkEditResponse, Error = ApiError> + Send>;      fn get_work_history(&self, ident: String, limit: Option<i64>) -> Box<Future<Item = GetWorkHistoryResponse, Error = ApiError> + Send>; @@ -1571,7 +1571,7 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {          self.api().delete_container(ident, editgroup_id, &self.context())      } -    fn delete_container_edit(&self, edit_id: i64) -> Box<Future<Item = DeleteContainerEditResponse, Error = ApiError> + Send> { +    fn delete_container_edit(&self, edit_id: String) -> Box<Future<Item = DeleteContainerEditResponse, Error = ApiError> + Send> {          self.api().delete_container_edit(edit_id, &self.context())      } @@ -1579,7 +1579,7 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {          self.api().get_container(ident, expand, hide, &self.context())      } -    fn get_container_edit(&self, edit_id: i64) -> Box<Future<Item = GetContainerEditResponse, Error = ApiError> + Send> { +    fn get_container_edit(&self, edit_id: String) -> Box<Future<Item = GetContainerEditResponse, Error = ApiError> + Send> {          self.api().get_container_edit(edit_id, &self.context())      } @@ -1626,7 +1626,7 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {          self.api().delete_creator(ident, editgroup_id, &self.context())      } -    fn delete_creator_edit(&self, edit_id: i64) -> Box<Future<Item = DeleteCreatorEditResponse, Error = ApiError> + Send> { +    fn delete_creator_edit(&self, edit_id: String) -> Box<Future<Item = DeleteCreatorEditResponse, Error = ApiError> + Send> {          self.api().delete_creator_edit(edit_id, &self.context())      } @@ -1634,7 +1634,7 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {          self.api().get_creator(ident, expand, hide, &self.context())      } -    fn get_creator_edit(&self, edit_id: i64) -> Box<Future<Item = GetCreatorEditResponse, Error = ApiError> + Send> { +    fn get_creator_edit(&self, edit_id: String) -> Box<Future<Item = GetCreatorEditResponse, Error = ApiError> + Send> {          self.api().get_creator_edit(edit_id, &self.context())      } @@ -1702,7 +1702,7 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {          self.api().delete_file(ident, editgroup_id, &self.context())      } -    fn delete_file_edit(&self, edit_id: i64) -> Box<Future<Item = DeleteFileEditResponse, Error = ApiError> + Send> { +    fn delete_file_edit(&self, edit_id: String) -> Box<Future<Item = DeleteFileEditResponse, Error = ApiError> + Send> {          self.api().delete_file_edit(edit_id, &self.context())      } @@ -1710,7 +1710,7 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {          self.api().get_file(ident, expand, hide, &self.context())      } -    fn get_file_edit(&self, edit_id: i64) -> Box<Future<Item = GetFileEditResponse, Error = ApiError> + Send> { +    fn get_file_edit(&self, edit_id: String) -> Box<Future<Item = GetFileEditResponse, Error = ApiError> + Send> {          self.api().get_file_edit(edit_id, &self.context())      } @@ -1758,7 +1758,7 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {          self.api().delete_fileset(ident, editgroup_id, &self.context())      } -    fn delete_fileset_edit(&self, edit_id: i64) -> Box<Future<Item = DeleteFilesetEditResponse, Error = ApiError> + Send> { +    fn delete_fileset_edit(&self, edit_id: String) -> Box<Future<Item = DeleteFilesetEditResponse, Error = ApiError> + Send> {          self.api().delete_fileset_edit(edit_id, &self.context())      } @@ -1766,7 +1766,7 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {          self.api().get_fileset(ident, expand, hide, &self.context())      } -    fn get_fileset_edit(&self, edit_id: i64) -> Box<Future<Item = GetFilesetEditResponse, Error = ApiError> + Send> { +    fn get_fileset_edit(&self, edit_id: String) -> Box<Future<Item = GetFilesetEditResponse, Error = ApiError> + Send> {          self.api().get_fileset_edit(edit_id, &self.context())      } @@ -1807,7 +1807,7 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {          self.api().delete_release(ident, editgroup_id, &self.context())      } -    fn delete_release_edit(&self, edit_id: i64) -> Box<Future<Item = DeleteReleaseEditResponse, Error = ApiError> + Send> { +    fn delete_release_edit(&self, edit_id: String) -> Box<Future<Item = DeleteReleaseEditResponse, Error = ApiError> + Send> {          self.api().delete_release_edit(edit_id, &self.context())      } @@ -1815,7 +1815,7 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {          self.api().get_release(ident, expand, hide, &self.context())      } -    fn get_release_edit(&self, edit_id: i64) -> Box<Future<Item = GetReleaseEditResponse, Error = ApiError> + Send> { +    fn get_release_edit(&self, edit_id: String) -> Box<Future<Item = GetReleaseEditResponse, Error = ApiError> + Send> {          self.api().get_release_edit(edit_id, &self.context())      } @@ -1878,7 +1878,7 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {          self.api().delete_webcapture(ident, editgroup_id, &self.context())      } -    fn delete_webcapture_edit(&self, edit_id: i64) -> Box<Future<Item = DeleteWebcaptureEditResponse, Error = ApiError> + Send> { +    fn delete_webcapture_edit(&self, edit_id: String) -> Box<Future<Item = DeleteWebcaptureEditResponse, Error = ApiError> + Send> {          self.api().delete_webcapture_edit(edit_id, &self.context())      } @@ -1886,7 +1886,7 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {          self.api().get_webcapture(ident, expand, hide, &self.context())      } -    fn get_webcapture_edit(&self, edit_id: i64) -> Box<Future<Item = GetWebcaptureEditResponse, Error = ApiError> + Send> { +    fn get_webcapture_edit(&self, edit_id: String) -> Box<Future<Item = GetWebcaptureEditResponse, Error = ApiError> + Send> {          self.api().get_webcapture_edit(edit_id, &self.context())      } @@ -1914,7 +1914,7 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {          self.api().delete_work(ident, editgroup_id, &self.context())      } -    fn delete_work_edit(&self, edit_id: i64) -> Box<Future<Item = DeleteWorkEditResponse, Error = ApiError> + Send> { +    fn delete_work_edit(&self, edit_id: String) -> Box<Future<Item = DeleteWorkEditResponse, Error = ApiError> + Send> {          self.api().delete_work_edit(edit_id, &self.context())      } @@ -1922,7 +1922,7 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {          self.api().get_work(ident, expand, hide, &self.context())      } -    fn get_work_edit(&self, edit_id: i64) -> Box<Future<Item = GetWorkEditResponse, Error = ApiError> + Send> { +    fn get_work_edit(&self, edit_id: String) -> Box<Future<Item = GetWorkEditResponse, Error = ApiError> + Send> {          self.api().get_work_edit(edit_id, &self.context())      } diff --git a/rust/fatcat-api-spec/src/models.rs b/rust/fatcat-api-spec/src/models.rs index a7c1375f..01b4c28e 100644 --- a/rust/fatcat-api-spec/src/models.rs +++ b/rust/fatcat-api-spec/src/models.rs @@ -264,6 +264,7 @@ impl EditgroupEdits {  #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]  pub struct Editor { +    /// base32-encoded unique identifier      #[serde(rename = "editor_id")]      #[serde(skip_serializing_if = "Option::is_none")]      pub editor_id: Option<String>, @@ -280,24 +281,30 @@ impl Editor {  #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]  pub struct EntityEdit { +    /// UUID (lower-case, dash-separated, hex-encoded 128-bit)      #[serde(rename = "edit_id")] -    pub edit_id: i64, +    pub edit_id: String, +    /// base32-encoded unique identifier      #[serde(rename = "ident")]      pub ident: String, +    /// UUID (lower-case, dash-separated, hex-encoded 128-bit)      #[serde(rename = "revision")]      #[serde(skip_serializing_if = "Option::is_none")]      pub revision: Option<String>, +    /// UUID (lower-case, dash-separated, hex-encoded 128-bit)      #[serde(rename = "prev_revision")]      #[serde(skip_serializing_if = "Option::is_none")]      pub prev_revision: Option<String>, +    /// base32-encoded unique identifier      #[serde(rename = "redirect_ident")]      #[serde(skip_serializing_if = "Option::is_none")]      pub redirect_ident: Option<String>, +    /// base32-encoded unique identifier      #[serde(rename = "editgroup_id")]      pub editgroup_id: String, @@ -307,7 +314,7 @@ pub struct EntityEdit {  }  impl EntityEdit { -    pub fn new(edit_id: i64, ident: String, editgroup_id: String) -> EntityEdit { +    pub fn new(edit_id: String, ident: String, editgroup_id: String) -> EntityEdit {          EntityEdit {              edit_id: edit_id,              ident: ident, @@ -797,6 +804,7 @@ pub struct ReleaseRef {      #[serde(skip_serializing_if = "Option::is_none")]      pub index: Option<i64>, +    /// base32-encoded unique identifier      #[serde(rename = "target_release_id")]      #[serde(skip_serializing_if = "Option::is_none")]      pub target_release_id: Option<String>, | 
