From 103e26f0dba3e7fd1d792901a921f4a04d1bcf03 Mon Sep 17 00:00:00 2001
From: Erwan Rouchet <rouchet@teklia.com>
Date: Wed, 25 Sep 2019 08:03:23 +0000
Subject: [PATCH] Add ElementChildren

---
 arkindex/schema.yml | 381 ++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 367 insertions(+), 14 deletions(-)

diff --git a/arkindex/schema.yml b/arkindex/schema.yml
index 5991ca5..ce443b3 100644
--- a/arkindex/schema.yml
+++ b/arkindex/schema.yml
@@ -84,11 +84,42 @@ paths:
                         type:
                           enum:
                           - volume
-                          - register
                           - act
                           - page
                           - surface
                           readOnly: true
+                        zone:
+                          properties:
+                            center:
+                              items:
+                                type: integer
+                              type: array
+                            id:
+                              format: uuid
+                              type: string
+                            image_url:
+                              format: uri
+                              pattern: "^(?:[a-z0-9\\.\\-\\+]*)://(?:[^\\s:@/]+(?::[^\\\
+                                s:@/]*)?@)?(?:(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(?:\\\
+                                .(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}|\\[[0-9a-f:\\\
+                                .]+\\]|([a-z\xA1-\uFFFF0-9](?:[a-z\xA1-\uFFFF0-9-]{0,61}[a-z\xA1\
+                                -\uFFFF0-9])?(?:\\.(?!-)[a-z\xA1-\uFFFF0-9-]{1,63}(?<!-))*\\\
+                                .(?!-)(?:[a-z\xA1-\uFFFF-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\\
+                                .?|localhost))(?::\\d{2,5})?(?:[/?#][^\\s]*)?\\Z"
+                              type: string
+                            polygon:
+                              items:
+                                type: array
+                              type: array
+                            url:
+                              readOnly: true
+                              type: string
+                          readOnly: true
+                          required:
+                          - polygon
+                          - center
+                          - image_url
+                          type: object
                       required:
                       - name
                     readOnly: true
@@ -991,11 +1022,42 @@ paths:
                   type:
                     enum:
                     - volume
-                    - register
                     - act
                     - page
                     - surface
                     readOnly: true
+                  zone:
+                    properties:
+                      center:
+                        items:
+                          type: integer
+                        type: array
+                      id:
+                        format: uuid
+                        type: string
+                      image_url:
+                        format: uri
+                        pattern: "^(?:[a-z0-9\\.\\-\\+]*)://(?:[^\\s:@/]+(?::[^\\\
+                          s:@/]*)?@)?(?:(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(?:\\.(?:25[0-5]|2[0-4]\\\
+                          d|[0-1]?\\d?\\d)){3}|\\[[0-9a-f:\\.]+\\]|([a-z\xA1-\uFFFF\
+                          0-9](?:[a-z\xA1-\uFFFF0-9-]{0,61}[a-z\xA1-\uFFFF0-9])?(?:\\\
+                          .(?!-)[a-z\xA1-\uFFFF0-9-]{1,63}(?<!-))*\\.(?!-)(?:[a-z\xA1\
+                          -\uFFFF-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\.?|localhost))(?::\\\
+                          d{2,5})?(?:[/?#][^\\s]*)?\\Z"
+                        type: string
+                      polygon:
+                        items:
+                          type: array
+                        type: array
+                      url:
+                        readOnly: true
+                        type: string
+                    readOnly: true
+                    required:
+                    - polygon
+                    - center
+                    - image_url
+                    type: object
                 required:
                 - name
                 - classifications
@@ -1187,11 +1249,42 @@ paths:
                   type:
                     enum:
                     - volume
-                    - register
                     - act
                     - page
                     - surface
                     readOnly: true
+                  zone:
+                    properties:
+                      center:
+                        items:
+                          type: integer
+                        type: array
+                      id:
+                        format: uuid
+                        type: string
+                      image_url:
+                        format: uri
+                        pattern: "^(?:[a-z0-9\\.\\-\\+]*)://(?:[^\\s:@/]+(?::[^\\\
+                          s:@/]*)?@)?(?:(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(?:\\.(?:25[0-5]|2[0-4]\\\
+                          d|[0-1]?\\d?\\d)){3}|\\[[0-9a-f:\\.]+\\]|([a-z\xA1-\uFFFF\
+                          0-9](?:[a-z\xA1-\uFFFF0-9-]{0,61}[a-z\xA1-\uFFFF0-9])?(?:\\\
+                          .(?!-)[a-z\xA1-\uFFFF0-9-]{1,63}(?<!-))*\\.(?!-)(?:[a-z\xA1\
+                          -\uFFFF-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\.?|localhost))(?::\\\
+                          d{2,5})?(?:[/?#][^\\s]*)?\\Z"
+                        type: string
+                      polygon:
+                        items:
+                          type: array
+                        type: array
+                      url:
+                        readOnly: true
+                        type: string
+                    readOnly: true
+                    required:
+                    - polygon
+                    - center
+                    - image_url
+                    type: object
                 required:
                 - name
                 - classifications
@@ -1385,11 +1478,42 @@ paths:
                   type:
                     enum:
                     - volume
-                    - register
                     - act
                     - page
                     - surface
                     readOnly: true
+                  zone:
+                    properties:
+                      center:
+                        items:
+                          type: integer
+                        type: array
+                      id:
+                        format: uuid
+                        type: string
+                      image_url:
+                        format: uri
+                        pattern: "^(?:[a-z0-9\\.\\-\\+]*)://(?:[^\\s:@/]+(?::[^\\\
+                          s:@/]*)?@)?(?:(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(?:\\.(?:25[0-5]|2[0-4]\\\
+                          d|[0-1]?\\d?\\d)){3}|\\[[0-9a-f:\\.]+\\]|([a-z\xA1-\uFFFF\
+                          0-9](?:[a-z\xA1-\uFFFF0-9-]{0,61}[a-z\xA1-\uFFFF0-9])?(?:\\\
+                          .(?!-)[a-z\xA1-\uFFFF0-9-]{1,63}(?<!-))*\\.(?!-)(?:[a-z\xA1\
+                          -\uFFFF-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\.?|localhost))(?::\\\
+                          d{2,5})?(?:[/?#][^\\s]*)?\\Z"
+                        type: string
+                      polygon:
+                        items:
+                          type: array
+                        type: array
+                      url:
+                        readOnly: true
+                        type: string
+                    readOnly: true
+                    required:
+                    - polygon
+                    - center
+                    - image_url
+                    type: object
                 required:
                 - name
                 - classifications
@@ -1682,7 +1806,6 @@ paths:
                   type:
                     enum:
                     - volume
-                    - register
                     - act
                     - page
                     - surface
@@ -2597,11 +2720,42 @@ paths:
                         type:
                           enum:
                           - volume
-                          - register
                           - act
                           - page
                           - surface
                           readOnly: true
+                        zone:
+                          properties:
+                            center:
+                              items:
+                                type: integer
+                              type: array
+                            id:
+                              format: uuid
+                              type: string
+                            image_url:
+                              format: uri
+                              pattern: "^(?:[a-z0-9\\.\\-\\+]*)://(?:[^\\s:@/]+(?::[^\\\
+                                s:@/]*)?@)?(?:(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(?:\\\
+                                .(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}|\\[[0-9a-f:\\\
+                                .]+\\]|([a-z\xA1-\uFFFF0-9](?:[a-z\xA1-\uFFFF0-9-]{0,61}[a-z\xA1\
+                                -\uFFFF0-9])?(?:\\.(?!-)[a-z\xA1-\uFFFF0-9-]{1,63}(?<!-))*\\\
+                                .(?!-)(?:[a-z\xA1-\uFFFF-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\\
+                                .?|localhost))(?::\\d{2,5})?(?:[/?#][^\\s]*)?\\Z"
+                              type: string
+                            polygon:
+                              items:
+                                type: array
+                              type: array
+                            url:
+                              readOnly: true
+                              type: string
+                          readOnly: true
+                          required:
+                          - polygon
+                          - center
+                          - image_url
+                          type: object
                       required:
                       - name
                     type: array
@@ -2637,7 +2791,6 @@ paths:
                 type:
                   enum:
                   - volume
-                  - register
                   - act
                   - page
                   - surface
@@ -2669,7 +2822,6 @@ paths:
                   type:
                     enum:
                     - volume
-                    - register
                     - act
                     - page
                     - surface
@@ -2834,7 +2986,6 @@ paths:
                         type:
                           enum:
                           - volume
-                          - register
                           - act
                           - page
                           - surface
@@ -2913,17 +3064,191 @@ paths:
                   type:
                     enum:
                     - volume
-                    - register
                     - act
                     - page
                     - surface
                     readOnly: true
+                  zone:
+                    properties:
+                      center:
+                        items:
+                          type: integer
+                        type: array
+                      id:
+                        format: uuid
+                        type: string
+                      image_url:
+                        format: uri
+                        pattern: "^(?:[a-z0-9\\.\\-\\+]*)://(?:[^\\s:@/]+(?::[^\\\
+                          s:@/]*)?@)?(?:(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(?:\\.(?:25[0-5]|2[0-4]\\\
+                          d|[0-1]?\\d?\\d)){3}|\\[[0-9a-f:\\.]+\\]|([a-z\xA1-\uFFFF\
+                          0-9](?:[a-z\xA1-\uFFFF0-9-]{0,61}[a-z\xA1-\uFFFF0-9])?(?:\\\
+                          .(?!-)[a-z\xA1-\uFFFF0-9-]{1,63}(?<!-))*\\.(?!-)(?:[a-z\xA1\
+                          -\uFFFF-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\.?|localhost))(?::\\\
+                          d{2,5})?(?:[/?#][^\\s]*)?\\Z"
+                        type: string
+                      polygon:
+                        items:
+                          type: array
+                        type: array
+                      url:
+                        readOnly: true
+                        type: string
+                    readOnly: true
+                    required:
+                    - polygon
+                    - center
+                    - image_url
+                    type: object
                 required:
                 - name
           description: ''
       security: []
       tags:
       - elements
+  /api/v1/elements/{id}/children/:
+    get:
+      description: List all children of an element
+      operationId: ListElementChildren
+      parameters:
+      - description: ''
+        in: path
+        name: id
+        required: true
+        schema:
+          type: string
+      - description: A page number within the paginated result set.
+        in: query
+        name: page
+        required: false
+        schema:
+          type: integer
+      - description: Number of results to return per page.
+        in: query
+        name: page_size
+        required: false
+        schema:
+          type: integer
+      - description: Filter elements by type
+        in: query
+        name: type
+        required: false
+        schema:
+          enum:
+          - volume
+          - act
+          - page
+          - surface
+      responses:
+        '200':
+          content:
+            application/json:
+              schema:
+                properties:
+                  count:
+                    example: 123
+                    type: integer
+                  next:
+                    nullable: true
+                    type: string
+                  number:
+                    example: 123
+                    type: integer
+                  previous:
+                    nullable: true
+                    type: string
+                  results:
+                    items:
+                      properties:
+                        corpus:
+                          properties:
+                            id:
+                              format: uuid
+                              type: string
+                            name:
+                              maxLength: 250
+                              type: string
+                            public:
+                              type: boolean
+                          readOnly: true
+                          required:
+                          - name
+                          type: object
+                        id:
+                          format: uuid
+                          type: string
+                        name:
+                          maxLength: 250
+                          type: string
+                        thumbnail_put_url:
+                          format: uri
+                          pattern: "^(?:[a-z0-9\\.\\-\\+]*)://(?:[^\\s:@/]+(?::[^\\\
+                            s:@/]*)?@)?(?:(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(?:\\\
+                            .(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}|\\[[0-9a-f:\\\
+                            .]+\\]|([a-z\xA1-\uFFFF0-9](?:[a-z\xA1-\uFFFF0-9-]{0,61}[a-z\xA1\
+                            -\uFFFF0-9])?(?:\\.(?!-)[a-z\xA1-\uFFFF0-9-]{1,63}(?<!-))*\\\
+                            .(?!-)(?:[a-z\xA1-\uFFFF-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\\
+                            .?|localhost))(?::\\d{2,5})?(?:[/?#][^\\s]*)?\\Z"
+                          readOnly: true
+                          type: string
+                        thumbnail_url:
+                          format: uri
+                          pattern: "^(?:[a-z0-9\\.\\-\\+]*)://(?:[^\\s:@/]+(?::[^\\\
+                            s:@/]*)?@)?(?:(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(?:\\\
+                            .(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}|\\[[0-9a-f:\\\
+                            .]+\\]|([a-z\xA1-\uFFFF0-9](?:[a-z\xA1-\uFFFF0-9-]{0,61}[a-z\xA1\
+                            -\uFFFF0-9])?(?:\\.(?!-)[a-z\xA1-\uFFFF0-9-]{1,63}(?<!-))*\\\
+                            .(?!-)(?:[a-z\xA1-\uFFFF-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\\
+                            .?|localhost))(?::\\d{2,5})?(?:[/?#][^\\s]*)?\\Z"
+                          readOnly: true
+                          type: string
+                        type:
+                          enum:
+                          - volume
+                          - act
+                          - page
+                          - surface
+                          readOnly: true
+                        zone:
+                          properties:
+                            center:
+                              items:
+                                type: integer
+                              type: array
+                            id:
+                              format: uuid
+                              type: string
+                            image_url:
+                              format: uri
+                              pattern: "^(?:[a-z0-9\\.\\-\\+]*)://(?:[^\\s:@/]+(?::[^\\\
+                                s:@/]*)?@)?(?:(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(?:\\\
+                                .(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}|\\[[0-9a-f:\\\
+                                .]+\\]|([a-z\xA1-\uFFFF0-9](?:[a-z\xA1-\uFFFF0-9-]{0,61}[a-z\xA1\
+                                -\uFFFF0-9])?(?:\\.(?!-)[a-z\xA1-\uFFFF0-9-]{1,63}(?<!-))*\\\
+                                .(?!-)(?:[a-z\xA1-\uFFFF-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\\
+                                .?|localhost))(?::\\d{2,5})?(?:[/?#][^\\s]*)?\\Z"
+                              type: string
+                            polygon:
+                              items:
+                                type: array
+                              type: array
+                            url:
+                              readOnly: true
+                              type: string
+                          readOnly: true
+                          required:
+                          - polygon
+                          - center
+                          - image_url
+                          type: object
+                      required:
+                      - name
+                    type: array
+                type: object
+          description: ''
+      security: []
+      tags:
+      - elements
   /api/v1/elements/{id}/neighbors/:
     get:
       description: List neighboring elements
@@ -2979,7 +3304,6 @@ paths:
                             type:
                               enum:
                               - volume
-                              - register
                               - act
                               - page
                               - surface
@@ -3084,7 +3408,6 @@ paths:
                         type:
                           enum:
                           - volume
-                          - register
                           - act
                           - page
                           - surface
@@ -6386,11 +6709,42 @@ paths:
                         type:
                           enum:
                           - volume
-                          - register
                           - act
                           - page
                           - surface
                           readOnly: true
+                        zone:
+                          properties:
+                            center:
+                              items:
+                                type: integer
+                              type: array
+                            id:
+                              format: uuid
+                              type: string
+                            image_url:
+                              format: uri
+                              pattern: "^(?:[a-z0-9\\.\\-\\+]*)://(?:[^\\s:@/]+(?::[^\\\
+                                s:@/]*)?@)?(?:(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(?:\\\
+                                .(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}|\\[[0-9a-f:\\\
+                                .]+\\]|([a-z\xA1-\uFFFF0-9](?:[a-z\xA1-\uFFFF0-9-]{0,61}[a-z\xA1\
+                                -\uFFFF0-9])?(?:\\.(?!-)[a-z\xA1-\uFFFF0-9-]{1,63}(?<!-))*\\\
+                                .(?!-)(?:[a-z\xA1-\uFFFF-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\\
+                                .?|localhost))(?::\\d{2,5})?(?:[/?#][^\\s]*)?\\Z"
+                              type: string
+                            polygon:
+                              items:
+                                type: array
+                              type: array
+                            url:
+                              readOnly: true
+                              type: string
+                          readOnly: true
+                          required:
+                          - polygon
+                          - center
+                          - image_url
+                          type: object
                       required:
                       - name
                     type: array
@@ -8680,7 +9034,6 @@ paths:
                         type:
                           enum:
                           - volume
-                          - register
                           - act
                           - page
                           - surface
-- 
GitLab