Skip to content

Commit 0187c31

Browse files
feat(webhosting): edit method to allow user creation (#1655)
Co-authored-by: Jonathan R. <[email protected]>
1 parent 71b221b commit 0187c31

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

packages/clients/src/api/webhosting/v1/index.gen.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export type {
1515
CheckUserOwnsDomainResponse,
1616
ControlPanel,
1717
ControlPanelApiListControlPanelsRequest,
18+
CreateDatabaseRequestUser,
1819
CreateHostingRequestDomainConfiguration,
1920
Database,
2021
DatabaseApiAssignDatabaseUserRequest,

packages/clients/src/api/webhosting/v1/marshalling.gen.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// If you have any remark or suggestion do not hesitate to open an issue.
33
import {
44
isJSONObject,
5+
resolveOneOf,
56
unmarshalArrayOfObject,
67
unmarshalDate,
78
unmarshalMoney,
@@ -10,6 +11,7 @@ import type { DefaultValues } from '../../../bridge'
1011
import type {
1112
CheckUserOwnsDomainResponse,
1213
ControlPanel,
14+
CreateDatabaseRequestUser,
1315
CreateHostingRequestDomainConfiguration,
1416
Database,
1517
DatabaseApiAssignDatabaseUserRequest,
@@ -517,11 +519,29 @@ export const marshalDatabaseApiChangeDatabaseUserPasswordRequest = (
517519
password: request.password,
518520
})
519521

522+
const marshalCreateDatabaseRequestUser = (
523+
request: CreateDatabaseRequestUser,
524+
defaults: DefaultValues,
525+
): Record<string, unknown> => ({
526+
password: request.password,
527+
username: request.username,
528+
})
529+
520530
export const marshalDatabaseApiCreateDatabaseRequest = (
521531
request: DatabaseApiCreateDatabaseRequest,
522532
defaults: DefaultValues,
523533
): Record<string, unknown> => ({
524534
database_name: request.databaseName,
535+
...resolveOneOf<Record<string, unknown> | string>([
536+
{
537+
param: 'new_user',
538+
value:
539+
request.newUser !== undefined
540+
? marshalCreateDatabaseRequestUser(request.newUser, defaults)
541+
: undefined,
542+
},
543+
{ param: 'existing_username', value: request.existingUsername },
544+
]),
525545
})
526546

527547
export const marshalDatabaseApiCreateDatabaseUserRequest = (

packages/clients/src/api/webhosting/v1/types.gen.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,11 @@ export interface PlatformControlPanel {
106106
urls?: PlatformControlPanelUrls
107107
}
108108

109+
export interface CreateDatabaseRequestUser {
110+
username: string
111+
password: string
112+
}
113+
109114
export interface CreateHostingRequestDomainConfiguration {
110115
updateNameservers: boolean
111116
updateWebRecord: boolean
@@ -316,6 +321,18 @@ export type DatabaseApiCreateDatabaseRequest = {
316321
hostingId: string
317322
/** Name of the database to be created. */
318323
databaseName: string
324+
/**
325+
* (Optional) Username and password to create a user and link to the database.
326+
*
327+
* One-of ('user'): at most one of 'newUser', 'existingUsername' could be set.
328+
*/
329+
newUser?: CreateDatabaseRequestUser
330+
/**
331+
* (Optional) Username to link an existing user to the database.
332+
*
333+
* One-of ('user'): at most one of 'newUser', 'existingUsername' could be set.
334+
*/
335+
existingUsername?: string
319336
}
320337

321338
export type DatabaseApiCreateDatabaseUserRequest = {

0 commit comments

Comments
 (0)