From 147281584c3f6b3d6000223ac250ca0d70af157f Mon Sep 17 00:00:00 2001 From: scaleway-bot Date: Mon, 28 Jul 2025 14:24:39 +0000 Subject: [PATCH] feat: update generated APIs --- packages_generated/mongodb/src/v1/api.gen.ts | 29 ++++++++++++++++ .../mongodb/src/v1/index.gen.ts | 4 +++ .../mongodb/src/v1/marshalling.gen.ts | 29 ++++++++++++++++ .../mongodb/src/v1/types.gen.ts | 34 +++++++++++++++++++ .../mongodb/src/v1/validation-rules.gen.ts | 10 ++++++ 5 files changed, 106 insertions(+) diff --git a/packages_generated/mongodb/src/v1/api.gen.ts b/packages_generated/mongodb/src/v1/api.gen.ts index 07eca711d..3039bc542 100644 --- a/packages_generated/mongodb/src/v1/api.gen.ts +++ b/packages_generated/mongodb/src/v1/api.gen.ts @@ -27,6 +27,7 @@ import { marshalUpgradeInstanceRequest, unmarshalEndpoint, unmarshalInstance, + unmarshalListDatabasesResponse, unmarshalListInstancesResponse, unmarshalListNodeTypesResponse, unmarshalListSnapshotsResponse, @@ -49,6 +50,8 @@ import type { GetInstanceRequest, GetSnapshotRequest, Instance, + ListDatabasesRequest, + ListDatabasesResponse, ListInstancesRequest, ListInstancesResponse, ListNodeTypesRequest, @@ -534,6 +537,32 @@ export class API extends ParentAPI { unmarshalUser, ) + protected pageOfListDatabases = (request: Readonly) => + this.client.fetch( + { + method: 'GET', + path: `/mongodb/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/databases`, + urlParams: urlParams( + ['order_by', request.orderBy], + ['page', request.page], + [ + 'page_size', + request.pageSize ?? this.client.settings.defaultPageSize, + ], + ), + }, + unmarshalListDatabasesResponse, + ) + + /** + * List databases in a Database Instance. List all databases of a given Database Instance. + * + * @param request - The request {@link ListDatabasesRequest} + * @returns A Promise of ListDatabasesResponse + */ + listDatabases = (request: Readonly) => + enrichForPagination('databases', this.pageOfListDatabases, request) + /** * Delete a Database Instance endpoint. Delete the endpoint of a Database Instance. You must specify the `endpoint_id` parameter of the endpoint you want to delete. Note that you might need to update any environment configurations that point to the deleted endpoint. * diff --git a/packages_generated/mongodb/src/v1/index.gen.ts b/packages_generated/mongodb/src/v1/index.gen.ts index 252c81fb2..4e7951caa 100644 --- a/packages_generated/mongodb/src/v1/index.gen.ts +++ b/packages_generated/mongodb/src/v1/index.gen.ts @@ -8,6 +8,7 @@ export type { CreateInstanceRequest, CreateSnapshotRequest, CreateUserRequest, + Database, DeleteEndpointRequest, DeleteInstanceRequest, DeleteSnapshotRequest, @@ -24,6 +25,9 @@ export type { Instance, InstanceSnapshotSchedule, InstanceStatus, + ListDatabasesRequest, + ListDatabasesRequestOrderBy, + ListDatabasesResponse, ListInstancesRequest, ListInstancesRequestOrderBy, ListInstancesResponse, diff --git a/packages_generated/mongodb/src/v1/marshalling.gen.ts b/packages_generated/mongodb/src/v1/marshalling.gen.ts index 46463895b..730830eff 100644 --- a/packages_generated/mongodb/src/v1/marshalling.gen.ts +++ b/packages_generated/mongodb/src/v1/marshalling.gen.ts @@ -13,6 +13,7 @@ import type { CreateInstanceRequest, CreateSnapshotRequest, CreateUserRequest, + Database, Endpoint, EndpointPrivateNetworkDetails, EndpointPublicNetworkDetails, @@ -21,6 +22,7 @@ import type { EndpointSpecPublicNetworkDetails, Instance, InstanceSnapshotSchedule, + ListDatabasesResponse, ListInstancesResponse, ListNodeTypesResponse, ListSnapshotsResponse, @@ -195,6 +197,33 @@ export const unmarshalUser = (data: unknown): User => { } as User } +const unmarshalDatabase = (data: unknown): Database => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'Database' failed as data isn't a dictionary.`, + ) + } + + return { + name: data.name, + } as Database +} + +export const unmarshalListDatabasesResponse = ( + data: unknown, +): ListDatabasesResponse => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'ListDatabasesResponse' failed as data isn't a dictionary.`, + ) + } + + return { + databases: unmarshalArrayOfObject(data.databases, unmarshalDatabase), + totalCount: data.total_count, + } as ListDatabasesResponse +} + export const unmarshalListInstancesResponse = ( data: unknown, ): ListInstancesResponse => { diff --git a/packages_generated/mongodb/src/v1/types.gen.ts b/packages_generated/mongodb/src/v1/types.gen.ts index c38f1437e..f6b5504b6 100644 --- a/packages_generated/mongodb/src/v1/types.gen.ts +++ b/packages_generated/mongodb/src/v1/types.gen.ts @@ -13,6 +13,8 @@ export type InstanceStatus = | 'locked' | 'snapshotting' +export type ListDatabasesRequestOrderBy = 'name_asc' | 'name_desc' + export type ListInstancesRequestOrderBy = | 'created_at_asc' | 'created_at_desc' @@ -180,6 +182,10 @@ export interface EndpointSpec { privateNetwork?: EndpointSpecPrivateNetworkDetails } +export interface Database { + name: string +} + export interface Instance { /** * UUID of the Database Instance. @@ -532,6 +538,34 @@ export type GetSnapshotRequest = { snapshotId: string } +export type ListDatabasesRequest = { + /** + * Region to target. If none is passed will use default region from the config. + */ + region?: ScwRegion + /** + * UUID of the Database Instance. + */ + instanceId: string + /** + * Criteria to use when requesting user listing. + */ + orderBy?: ListDatabasesRequestOrderBy + page?: number + pageSize?: number +} + +export interface ListDatabasesResponse { + /** + * List of the databases. + */ + databases: Database[] + /** + * Total count of databases present on a Database Instance. + */ + totalCount: number +} + export type ListInstancesRequest = { /** * Region to target. If none is passed will use default region from the config. diff --git a/packages_generated/mongodb/src/v1/validation-rules.gen.ts b/packages_generated/mongodb/src/v1/validation-rules.gen.ts index 005c4c489..bdf267adf 100644 --- a/packages_generated/mongodb/src/v1/validation-rules.gen.ts +++ b/packages_generated/mongodb/src/v1/validation-rules.gen.ts @@ -58,6 +58,16 @@ export const DeleteUserRequest = { }, } +export const ListDatabasesRequest = { + page: { + greaterThanOrEqual: 1, + }, + pageSize: { + greaterThanOrEqual: 1, + lessThanOrEqual: 100, + }, +} + export const ListInstancesRequest = { name: { maxLength: 255,