From 97a1a8fb6c501f816219144aa4a806ea0fde9352 Mon Sep 17 00:00:00 2001 From: Paula Date: Wed, 10 Jan 2024 16:45:42 +1100 Subject: [PATCH 1/8] add /_api/key-generators --- .../3.12/develop/http-api/collections.md | 39 +++++++++++++++++++ .../version-3.12/api-changes-in-3-12.md | 8 ++++ 2 files changed, 47 insertions(+) diff --git a/site/content/3.12/develop/http-api/collections.md b/site/content/3.12/develop/http-api/collections.md index a34ba322eb..ea5834b6d1 100644 --- a/site/content/3.12/develop/http-api/collections.md +++ b/site/content/3.12/develop/http-api/collections.md @@ -950,6 +950,45 @@ logJsonResponse(response); db._drop(cn); ``` +### Get the available key generators + +```openapi +paths: + /_api/key-generators: + get: + operationId: getKeyGenerators + description: | + Returns the available key generators for collections. + + The call returns a JSON object with the available key generators + on success: + + - `padded` + - `uuid` + - `autoincrement` + - `traditional` + responses: + '200': + description: | + The key generators that were found. + tags: + - Collections +``` + +**Examples:** + +```curl +--- +description: |- + Retrieving the key generators of collections: +name: RestCollectionGetKeyGenerators +--- +var url = "/_api/key-generators/" +var response = logCurlRequest('GET', url); +assert(response.code === 200); +logJsonResponse(response); +``` + ## Create and delete collections ### Create a collection diff --git a/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md b/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md index cd5cda57ed..0778b2f76a 100644 --- a/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md +++ b/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md @@ -111,7 +111,15 @@ The default value remains 128 MiB. ### Endpoints added +#### Collections API +You can now retrieve the key generators for collections using the following +endpoint: + +`GET /_api/key-generators` + +See the [description](../../develop/http-api/collections.md#get-the-available-key-generators) +for details. ### Endpoints augmented From e6852f29bea4e60a1918eba4e7ee4d65b7f45fe3 Mon Sep 17 00:00:00 2001 From: Paula Mihu <97217318+nerpaula@users.noreply.github.com> Date: Wed, 10 Jan 2024 21:52:30 +1100 Subject: [PATCH 2/8] Apply suggestions from code review Co-authored-by: Simran --- .../3.12/develop/http-api/collections.md | 18 +++++++++++++++--- .../version-3.12/api-changes-in-3-12.md | 8 +++----- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/site/content/3.12/develop/http-api/collections.md b/site/content/3.12/develop/http-api/collections.md index ea5834b6d1..55ee591a1e 100644 --- a/site/content/3.12/develop/http-api/collections.md +++ b/site/content/3.12/develop/http-api/collections.md @@ -970,7 +970,19 @@ paths: responses: '200': description: | - The key generators that were found. + The available generators for document keys. + content: + application/json: + schema: + type: array + uniqueItems: true + items: + type: string + enum: + - padded + - uuid + - autoincrement + - traditional tags: - Collections ``` @@ -980,10 +992,10 @@ paths: ```curl --- description: |- - Retrieving the key generators of collections: + Retrieving the key generators for collections: name: RestCollectionGetKeyGenerators --- -var url = "/_api/key-generators/" +var url = "/_api/key-generators" var response = logCurlRequest('GET', url); assert(response.code === 200); logJsonResponse(response); diff --git a/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md b/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md index 0778b2f76a..46ee4cad60 100644 --- a/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md +++ b/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md @@ -113,12 +113,10 @@ The default value remains 128 MiB. #### Collections API -You can now retrieve the key generators for collections using the following -endpoint: +You can now retrieve the available key generators for collections using the new +`GET /_api/key-generators` endpoint. -`GET /_api/key-generators` - -See the [description](../../develop/http-api/collections.md#get-the-available-key-generators) +See the [HTTP API description](../../develop/http-api/collections.md#get-the-available-key-generators) for details. ### Endpoints augmented From 3aee857ee551718f47e382c6b7ffc5e689e889a0 Mon Sep 17 00:00:00 2001 From: CircleCI Job Date: Wed, 10 Jan 2024 10:56:34 +0000 Subject: [PATCH 3/8] [skip ci] Automatic commit of generated files from CircleCI --- site/data/3.12/cache.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/site/data/3.12/cache.json b/site/data/3.12/cache.json index 66b9637738..a9dffb6bfb 100644 --- a/site/data/3.12/cache.json +++ b/site/data/3.12/cache.json @@ -851,6 +851,10 @@ "request": "LS0tCmRlc2NyaXB0aW9uOiB8LQogIFJldHJpZXZpbmcgdGhlIHJldmlzaW9uIG9mIGEgY29sbGVjdGlvbgpuYW1lOiBSZXN0Q29sbGVjdGlvbkdldENvbGxlY3Rpb25SZXZpc2lvbgotLS0KdmFyIGNuID0gInByb2R1Y3RzIjsKZGIuX2Ryb3AoY24pOwp2YXIgY29sbCA9IGRiLl9jcmVhdGUoY24sIHsgd2FpdEZvclN5bmM6IGZhbHNlIH0pOwp2YXIgdXJsID0gIi9fYXBpL2NvbGxlY3Rpb24vIisgY29sbC5uYW1lKCkgKyAiL3JldmlzaW9uIjsKCnZhciByZXNwb25zZSA9IGxvZ0N1cmxSZXF1ZXN0KCdHRVQnLCB1cmwpOwoKYXNzZXJ0KHJlc3BvbnNlLmNvZGUgPT09IDIwMCk7Cgpsb2dKc29uUmVzcG9uc2UocmVzcG9uc2UpOwpkYi5fZHJvcChjbik7", "response": "eyJpbnB1dCI6ImN1cmwgLS1oZWFkZXIgJ2FjY2VwdDogYXBwbGljYXRpb24vanNvbicgLS1kdW1wIC0gaHR0cDovL2xvY2FsaG9zdDo4NTI5L19hcGkvY29sbGVjdGlvbi9wcm9kdWN0cy9yZXZpc2lvbiIsIm91dHB1dCI6IkhUVFAvMS4xIDIwMCBPS1xuY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi9qc29uXG5jYWNoZS1jb250cm9sOiBuby1jYWNoZSwgbm8tc3RvcmUsIG11c3QtcmV2YWxpZGF0ZSwgcHJlLWNoZWNrPTAsIHBvc3QtY2hlY2s9MCwgbWF4LWFnZT0wLCBzLW1heGFnZT0wXG5jb25uZWN0aW9uOiBLZWVwLUFsaXZlXG5jb250ZW50LWxlbmd0aDogNDYyXG5jb250ZW50LXNlY3VyaXR5LXBvbGljeTogZnJhbWUtYW5jZXN0b3JzICdzZWxmJzsgZm9ybS1hY3Rpb24gJ3NlbGYnO1xuZXhwaXJlczogMFxubG9jYXRpb246IC9fZGIvX3N5c3RlbS9fYXBpL2NvbGxlY3Rpb24vcHJvZHVjdHMvcmV2aXNpb25cbnByYWdtYTogbm8tY2FjaGVcbnNlcnZlcjogQXJhbmdvREJcbnN0cmljdC10cmFuc3BvcnQtc2VjdXJpdHk6IG1heC1hZ2U9MzE1MzYwMDAgOyBpbmNsdWRlU3ViRG9tYWluc1xueC1hcmFuZ28tcXVldWUtdGltZS1zZWNvbmRzOiAwLjAwMDAwMFxueC1jb250ZW50LXR5cGUtb3B0aW9uczogbm9zbmlmZlxuXG57IFxuICBcImVycm9yXCIgOiBmYWxzZSwgXG4gIFwiY29kZVwiIDogMjAwLCBcbiAgXCJ3cml0ZUNvbmNlcm5cIiA6IDEsIFxuICBcIndhaXRGb3JTeW5jXCIgOiBmYWxzZSwgXG4gIFwidXNlc1JldmlzaW9uc0FzRG9jdW1lbnRJZHNcIiA6IHRydWUsIFxuICBcInN5bmNCeVJldmlzaW9uXCIgOiB0cnVlLCBcbiAgXCJzdGF0dXNTdHJpbmdcIiA6IFwibG9hZGVkXCIsIFxuICBcInNjaGVtYVwiIDogbnVsbCwgXG4gIFwicmV2aXNpb25cIiA6IFwiNTRcIiwgXG4gIFwiaWRcIiA6IFwiNjc5NDVcIiwgXG4gIFwiaXNTbWFydENoaWxkXCIgOiBmYWxzZSwgXG4gIFwibmFtZVwiIDogXCJwcm9kdWN0c1wiLCBcbiAgXCJ0eXBlXCIgOiAyLCBcbiAgXCJzdGF0dXNcIiA6IDMsIFxuICBcImNhY2hlRW5hYmxlZFwiIDogZmFsc2UsIFxuICBcImlzU3lzdGVtXCIgOiBmYWxzZSwgXG4gIFwib2JqZWN0SWRcIiA6IFwiNjc5NDZcIiwgXG4gIFwiY29tcHV0ZWRWYWx1ZXNcIiA6IG51bGwsIFxuICBcImludGVybmFsVmFsaWRhdG9yVHlwZVwiIDogMCwgXG4gIFwiZ2xvYmFsbHlVbmlxdWVJZFwiIDogXCJoMTExNTQ1QzQzMDA4LzY3OTQ1XCIsIFxuICBcImtleU9wdGlvbnNcIiA6IHsgXG4gICAgXCJhbGxvd1VzZXJLZXlzXCIgOiB0cnVlLCBcbiAgICBcInR5cGVcIiA6IFwidHJhZGl0aW9uYWxcIiwgXG4gICAgXCJsYXN0VmFsdWVcIiA6IDAgXG4gIH0gXG59IiwiZXJyb3IiOiIiLCJvcHRpb25zIjp7ImRlc2NyaXB0aW9uIjoiUmV0cmlldmluZyB0aGUgcmV2aXNpb24gb2YgYSBjb2xsZWN0aW9uIiwibmFtZSI6IlJlc3RDb2xsZWN0aW9uR2V0Q29sbGVjdGlvblJldmlzaW9uIiwidHlwZSI6InNpbmdsZSIsInJlbmRlciI6ImlucHV0L291dHB1dCJ9fQo=" }, + "RestCollectionGetKeyGenerators_single": { + "request": "LS0tCmRlc2NyaXB0aW9uOiB8LQogIFJldHJpZXZpbmcgdGhlIGtleSBnZW5lcmF0b3JzIG9mIGNvbGxlY3Rpb25zOgpuYW1lOiBSZXN0Q29sbGVjdGlvbkdldEtleUdlbmVyYXRvcnMKLS0tCnZhciB1cmwgPSAiL19hcGkva2V5LWdlbmVyYXRvcnMvIgp2YXIgcmVzcG9uc2UgPSBsb2dDdXJsUmVxdWVzdCgnR0VUJywgdXJsKTsKYXNzZXJ0KHJlc3BvbnNlLmNvZGUgPT09IDIwMCk7CmxvZ0pzb25SZXNwb25zZShyZXNwb25zZSk7", + "response": "eyJpbnB1dCI6ImN1cmwgLS1oZWFkZXIgJ2FjY2VwdDogYXBwbGljYXRpb24vanNvbicgLS1kdW1wIC0gaHR0cDovL2xvY2FsaG9zdDo4NTI5L19hcGkva2V5LWdlbmVyYXRvcnMvIiwib3V0cHV0IjoiSFRUUC8xLjEgMjAwIE9LXG5jb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2pzb25cbmNhY2hlLWNvbnRyb2w6IG5vLWNhY2hlLCBuby1zdG9yZSwgbXVzdC1yZXZhbGlkYXRlLCBwcmUtY2hlY2s9MCwgcG9zdC1jaGVjaz0wLCBtYXgtYWdlPTAsIHMtbWF4YWdlPTBcbmNvbm5lY3Rpb246IEtlZXAtQWxpdmVcbmNvbnRlbnQtbGVuZ3RoOiA2NVxuY29udGVudC1zZWN1cml0eS1wb2xpY3k6IGZyYW1lLWFuY2VzdG9ycyAnc2VsZic7IGZvcm0tYWN0aW9uICdzZWxmJztcbmV4cGlyZXM6IDBcbnByYWdtYTogbm8tY2FjaGVcbnNlcnZlcjogQXJhbmdvREJcbnN0cmljdC10cmFuc3BvcnQtc2VjdXJpdHk6IG1heC1hZ2U9MzE1MzYwMDAgOyBpbmNsdWRlU3ViRG9tYWluc1xueC1hcmFuZ28tcXVldWUtdGltZS1zZWNvbmRzOiAwLjAwMDAwMFxueC1jb250ZW50LXR5cGUtb3B0aW9uczogbm9zbmlmZlxuXG57IFxuICBcImtleUdlbmVyYXRvcnNcIiA6IFsgXG4gICAgXCJwYWRkZWRcIiwgXG4gICAgXCJ1dWlkXCIsIFxuICAgIFwiYXV0b2luY3JlbWVudFwiLCBcbiAgICBcInRyYWRpdGlvbmFsXCIgXG4gIF0gXG59IiwiZXJyb3IiOiIiLCJvcHRpb25zIjp7ImRlc2NyaXB0aW9uIjoiUmV0cmlldmluZyB0aGUga2V5IGdlbmVyYXRvcnMgb2YgY29sbGVjdGlvbnM6IiwibmFtZSI6IlJlc3RDb2xsZWN0aW9uR2V0S2V5R2VuZXJhdG9ycyIsInR5cGUiOiJzaW5nbGUiLCJyZW5kZXIiOiJpbnB1dC9vdXRwdXQifX0K" + }, "RestCollectionIdentifierLoadIndexesIntoMemory_single": { "request": "LS0tCmRlc2NyaXB0aW9uOiAnJwpuYW1lOiBSZXN0Q29sbGVjdGlvbklkZW50aWZpZXJMb2FkSW5kZXhlc0ludG9NZW1vcnkKLS0tCnZhciBjbiA9ICJwcm9kdWN0cyI7CmRiLl9kcm9wKGNuKTsKdmFyIGNvbGwgPSBkYi5fY3JlYXRlKGNuKTsKdmFyIHVybCA9ICIvX2FwaS9jb2xsZWN0aW9uLyIrIGNvbGwubmFtZSgpICsgIi9sb2FkSW5kZXhlc0ludG9NZW1vcnkiOwoKdmFyIHJlc3BvbnNlID0gbG9nQ3VybFJlcXVlc3QoJ1BVVCcsIHVybCwgJycpOwoKYXNzZXJ0KHJlc3BvbnNlLmNvZGUgPT09IDIwMCk7Cgpsb2dKc29uUmVzcG9uc2UocmVzcG9uc2UpOwpkYi5fZHJvcChjbik7", "response": "eyJpbnB1dCI6ImN1cmwgLVggUFVUIC0taGVhZGVyICdhY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24nIC0tZHVtcCAtIGh0dHA6Ly9sb2NhbGhvc3Q6ODUyOS9fYXBpL2NvbGxlY3Rpb24vcHJvZHVjdHMvbG9hZEluZGV4ZXNJbnRvTWVtb3J5Iiwib3V0cHV0IjoiSFRUUC8xLjEgMjAwIE9LXG5jb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2pzb25cbmNhY2hlLWNvbnRyb2w6IG5vLWNhY2hlLCBuby1zdG9yZSwgbXVzdC1yZXZhbGlkYXRlLCBwcmUtY2hlY2s9MCwgcG9zdC1jaGVjaz0wLCBtYXgtYWdlPTAsIHMtbWF4YWdlPTBcbmNvbm5lY3Rpb246IEtlZXAtQWxpdmVcbmNvbnRlbnQtbGVuZ3RoOiA0MFxuY29udGVudC1zZWN1cml0eS1wb2xpY3k6IGZyYW1lLWFuY2VzdG9ycyAnc2VsZic7IGZvcm0tYWN0aW9uICdzZWxmJztcbmV4cGlyZXM6IDBcbmxvY2F0aW9uOiAvX2RiL19zeXN0ZW0vX2FwaS9jb2xsZWN0aW9uL3Byb2R1Y3RzL2xvYWRJbmRleGVzSW50b01lbW9yeVxucHJhZ21hOiBuby1jYWNoZVxuc2VydmVyOiBBcmFuZ29EQlxuc3RyaWN0LXRyYW5zcG9ydC1zZWN1cml0eTogbWF4LWFnZT0zMTUzNjAwMCA7IGluY2x1ZGVTdWJEb21haW5zXG54LWFyYW5nby1xdWV1ZS10aW1lLXNlY29uZHM6IDAuMDAwMDAwXG54LWNvbnRlbnQtdHlwZS1vcHRpb25zOiBub3NuaWZmXG5cbnsgXG4gIFwiZXJyb3JcIiA6IGZhbHNlLCBcbiAgXCJjb2RlXCIgOiAyMDAsIFxuICBcInJlc3VsdFwiIDogdHJ1ZSBcbn0iLCJlcnJvciI6IiIsIm9wdGlvbnMiOnsiZGVzY3JpcHRpb24iOiIiLCJuYW1lIjoiUmVzdENvbGxlY3Rpb25JZGVudGlmaWVyTG9hZEluZGV4ZXNJbnRvTWVtb3J5IiwidHlwZSI6InNpbmdsZSIsInJlbmRlciI6ImlucHV0L291dHB1dCJ9fQo=" From 8d219c0b7b2239092b1143d8a6573deac398c7e2 Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Fri, 12 Jan 2024 15:14:07 +0100 Subject: [PATCH 4/8] Review --- .../3.12/develop/http-api/collections.md | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/site/content/3.12/develop/http-api/collections.md b/site/content/3.12/develop/http-api/collections.md index 55ee591a1e..80dff02aad 100644 --- a/site/content/3.12/develop/http-api/collections.md +++ b/site/content/3.12/develop/http-api/collections.md @@ -959,30 +959,20 @@ paths: operationId: getKeyGenerators description: | Returns the available key generators for collections. - - The call returns a JSON object with the available key generators - on success: - - - `padded` - - `uuid` - - `autoincrement` - - `traditional` responses: '200': description: | - The available generators for document keys. + A list of the available generators for document keys: + - `"padded"` + - `"uuid"` + - `"autoincrement"` + - `"traditional"` content: application/json: schema: type: array - uniqueItems: true items: type: string - enum: - - padded - - uuid - - autoincrement - - traditional tags: - Collections ``` From 2dc9afb09fd5ae7f32e7e92ade1fe7e6e449dd80 Mon Sep 17 00:00:00 2001 From: Paula Date: Mon, 15 Jan 2024 18:15:32 +1100 Subject: [PATCH 5/8] adjust endpoint description --- site/content/3.12/develop/http-api/collections.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/site/content/3.12/develop/http-api/collections.md b/site/content/3.12/develop/http-api/collections.md index 80dff02aad..b73d566e23 100644 --- a/site/content/3.12/develop/http-api/collections.md +++ b/site/content/3.12/develop/http-api/collections.md @@ -971,8 +971,6 @@ paths: application/json: schema: type: array - items: - type: string tags: - Collections ``` From 8cd7bf158fe2d46028fddc04d0472591ec0f1dfa Mon Sep 17 00:00:00 2001 From: Paula Date: Mon, 15 Jan 2024 20:59:42 +1100 Subject: [PATCH 6/8] re-re-adjust endpoint description --- site/content/3.12/develop/http-api/collections.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/site/content/3.12/develop/http-api/collections.md b/site/content/3.12/develop/http-api/collections.md index b73d566e23..8339ca8d3e 100644 --- a/site/content/3.12/develop/http-api/collections.md +++ b/site/content/3.12/develop/http-api/collections.md @@ -970,7 +970,20 @@ paths: content: application/json: schema: - type: array + type: object + required: + - keyGenerators + properties: + keyGenerators: + type: array + uniqueItems: true + items: + type: string + enum: + - padded + - uuid + - autoincrement + - traditional tags: - Collections ``` From 0e6d9e3ad5fdf187a8b2dec07069862efb3e7326 Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Mon, 15 Jan 2024 12:04:28 +0100 Subject: [PATCH 7/8] Refine --- site/content/3.12/develop/http-api/collections.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/site/content/3.12/develop/http-api/collections.md b/site/content/3.12/develop/http-api/collections.md index 8339ca8d3e..c74c950cb1 100644 --- a/site/content/3.12/develop/http-api/collections.md +++ b/site/content/3.12/develop/http-api/collections.md @@ -962,7 +962,7 @@ paths: responses: '200': description: | - A list of the available generators for document keys: + An object that contains a list of the available generators for document keys: - `"padded"` - `"uuid"` - `"autoincrement"` @@ -975,6 +975,8 @@ paths: - keyGenerators properties: keyGenerators: + description: | + The available document key generators. type: array uniqueItems: true items: @@ -984,6 +986,7 @@ paths: - uuid - autoincrement - traditional + example: ["traditional", "autoincrement", "padded", "uuid"] tags: - Collections ``` From 548b3ba35fb10e70610716f12076645240ba84b4 Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Mon, 15 Jan 2024 12:11:01 +0100 Subject: [PATCH 8/8] Change headline --- .../3.12/release-notes/version-3.12/api-changes-in-3-12.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md b/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md index 0057af4dc6..80fd1d6fe8 100644 --- a/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md +++ b/site/content/3.12/release-notes/version-3.12/api-changes-in-3-12.md @@ -131,7 +131,7 @@ the available startup options with `--dump-options`. See the [HTTP interface for administration](../../develop/http-api/administration.md#startup-options) for details. -#### Collections API +#### Available key generators You can now retrieve the available key generators for collections using the new `GET /_api/key-generators` endpoint.