Skip to content

Commit af66e8f

Browse files
Laure-diMia-Cross
andauthored
fix(rdb):add download url backup get (#3686)
Co-authored-by: Mia-Cross <[email protected]>
1 parent b5b5efb commit af66e8f

File tree

6 files changed

+25
-120
lines changed

6 files changed

+25
-120
lines changed

β€Žinternal/namespaces/rdb/v1/custom.goβ€Ž

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ func GetCommands() *core.Commands {
1515
human.RegisterMarshalerFunc(createInstanceResult{}, createInstanceResultMarshalerFunc)
1616
human.RegisterMarshalerFunc(rdbACLCustomResult{}, rdbACLCustomResultMarshalerFunc)
1717
human.RegisterMarshalerFunc(rdbEndpointCustomResult{}, rdbEndpointCustomResultMarshalerFunc)
18-
human.RegisterMarshalerFunc(rdb.DatabaseBackup{}, backupExportDisplayBuilder)
1918

2019
human.RegisterMarshalerFunc(rdb.InstanceStatus(""), human.EnumMarshalFunc(instanceStatusMarshalSpecs))
2120
human.RegisterMarshalerFunc(rdb.DatabaseBackupStatus(""), human.EnumMarshalFunc(backupStatusMarshalSpecs))

β€Žinternal/namespaces/rdb/v1/custom_backup.goβ€Ž

Lines changed: 6 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ func backupListBuilder(c *core.Command) *core.Command {
135135
CreatedAt *time.Time `json:"created_at"`
136136
UpdatedAt *time.Time `json:"updated_at"`
137137
InstanceName string `json:"instance_name"`
138-
DownloadURL string `json:"download_url"`
138+
IsExported bool `json:"is_exported"`
139139
URLExpired bool `json:"url_expired"`
140140
Region scw.Region `json:"region"`
141141
SameRegion bool `json:"same_region"`
@@ -172,8 +172,8 @@ func backupListBuilder(c *core.Command) *core.Command {
172172
FieldName: "URLExpired",
173173
},
174174
{
175-
Label: "Download URL",
176-
FieldName: "DownloadURL",
175+
Label: "Is Exported",
176+
FieldName: "IsExported",
177177
},
178178
{
179179
Label: "Expires At",
@@ -206,9 +206,9 @@ func backupListBuilder(c *core.Command) *core.Command {
206206
backupList := listBackupResp.([]*rdb.DatabaseBackup)
207207
var res []customBackup
208208
for _, backup := range backupList {
209-
downloadURL := ""
209+
isExported := false
210210
if backup.DownloadURL != nil {
211-
downloadURL = *backup.DownloadURL
211+
isExported = true
212212
}
213213
res = append(res, customBackup{
214214
ID: backup.ID,
@@ -221,7 +221,7 @@ func backupListBuilder(c *core.Command) *core.Command {
221221
CreatedAt: backup.CreatedAt,
222222
UpdatedAt: backup.UpdatedAt,
223223
InstanceName: backup.InstanceName,
224-
DownloadURL: downloadURL,
224+
IsExported: isExported,
225225
URLExpired: urlExpired(backup.DownloadURLExpiresAt),
226226
Region: backup.Region,
227227
SameRegion: backup.SameRegion,
@@ -233,99 +233,6 @@ func backupListBuilder(c *core.Command) *core.Command {
233233
return c
234234
}
235235

236-
func backupExportDisplayBuilder(i interface{}, opt *human.MarshalOpt) (string, error) {
237-
databaseBackup := i.(rdb.DatabaseBackup)
238-
239-
type customDisplayBackup struct {
240-
ID string `json:"ID"`
241-
InstanceID string `json:"instance_ID"`
242-
DatabaseName string `json:"database_name"`
243-
Name string `json:"name"`
244-
Status rdb.DatabaseBackupStatus `json:"status"`
245-
Size *scw.Size `json:"size"`
246-
ExpiresAt *time.Time `json:"expires_at"`
247-
CreatedAt *time.Time `json:"created_at"`
248-
UpdatedAt *time.Time `json:"updated_at"`
249-
InstanceName string `json:"instance_name"`
250-
IsExported bool `json:"is_exported"`
251-
Region scw.Region `json:"region"`
252-
SameRegion bool `json:"same_region"`
253-
}
254-
255-
opt.Fields = []*human.MarshalFieldOpt{
256-
{
257-
Label: "ID",
258-
FieldName: "ID",
259-
},
260-
{
261-
Label: "Name",
262-
FieldName: "Name",
263-
},
264-
{
265-
Label: "Database Name",
266-
FieldName: "DatabaseName",
267-
},
268-
{
269-
Label: "Size",
270-
FieldName: "Size",
271-
},
272-
{
273-
Label: "Status",
274-
FieldName: "Status",
275-
},
276-
{
277-
Label: "Instance ID",
278-
FieldName: "InstanceID",
279-
},
280-
{
281-
Label: "Is Exported",
282-
FieldName: "IsExported",
283-
},
284-
{
285-
Label: "Created At",
286-
FieldName: "CreatedAt",
287-
},
288-
{
289-
Label: "Updated At",
290-
FieldName: "UpdatedAt",
291-
},
292-
{
293-
Label: "Region",
294-
FieldName: "Region",
295-
},
296-
{
297-
Label: "Same Region",
298-
FieldName: "SameRegion",
299-
},
300-
}
301-
302-
isExported := false
303-
if databaseBackup.DownloadURL != nil {
304-
isExported = true
305-
}
306-
307-
arg := customDisplayBackup{
308-
ID: databaseBackup.ID,
309-
InstanceID: databaseBackup.InstanceID,
310-
DatabaseName: databaseBackup.DatabaseName,
311-
Name: databaseBackup.Name,
312-
Status: databaseBackup.Status,
313-
Size: databaseBackup.Size,
314-
ExpiresAt: databaseBackup.ExpiresAt,
315-
CreatedAt: databaseBackup.CreatedAt,
316-
UpdatedAt: databaseBackup.UpdatedAt,
317-
InstanceName: databaseBackup.InstanceName,
318-
IsExported: isExported,
319-
Region: databaseBackup.Region,
320-
SameRegion: databaseBackup.SameRegion,
321-
}
322-
str, err := human.Marshal(arg, opt)
323-
if err != nil {
324-
return "", err
325-
}
326-
return str, nil
327-
}
328-
329236
// urlExpired: indicates if the backup url is still valid after the indicated date.
330237
func urlExpired(expirationDate *time.Time) bool {
331238
if expirationDate == nil {

β€Žinternal/namespaces/rdb/v1/testdata/test-create-backup-simple.goldenβ€Ž

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ ExpiresAt few seconds ago
1010
CreatedAt few seconds ago
1111
UpdatedAt few seconds ago
1212
InstanceName cli-test
13-
IsExported false
1413
Region nl-ams
1514
SameRegion false
1615
🟩🟩🟩 JSON STDOUT 🟩🟩🟩

β€Žinternal/namespaces/rdb/v1/testdata/test-export-backup-simple.goldenβ€Ž

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲
22
🟩🟩🟩 STDOUT️ 🟩🟩🟩️
3-
ID f3e15b2d-ac65-413d-a027-8c63cf1bf674
4-
InstanceID 0e434676-e0c1-476e-963f-cda4bae23b33
5-
DatabaseName rdb
6-
Name foobar
7-
Status ready
8-
Size 2.1 kB
9-
ExpiresAt few seconds ago
10-
CreatedAt few seconds ago
11-
UpdatedAt few seconds ago
12-
InstanceName cli-test
13-
IsExported true
14-
Region fr-par
15-
SameRegion false
3+
ID f3e15b2d-ac65-413d-a027-8c63cf1bf674
4+
InstanceID 0e434676-e0c1-476e-963f-cda4bae23b33
5+
DatabaseName rdb
6+
Name foobar
7+
Status ready
8+
Size 2.1 kB
9+
ExpiresAt few seconds ago
10+
CreatedAt few seconds ago
11+
UpdatedAt few seconds ago
12+
InstanceName cli-test
13+
DownloadURL https://s3.nl-ams.scw.cloud/65940610-0e5e-4a98-9306-568aa4eb3673/0e434676-e0c1-476e-963f-cda4bae23b33/f3e15b2d-ac65-413d-a027-8c63cf1bf674.custom?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=SCW2HJV1WMKPE0CKDAW5%2F20231109%2Fnl-ams%2Fs3%2Faws4_request&X-Amz-Date=20231109T191717Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=44ba03c3e09d75780222bd3b15feebc62c50f5d890196aa1d3e0e3c84f9aa385
14+
DownloadURLExpiresAt few seconds ago
15+
Region fr-par
16+
SameRegion false
1617
🟩🟩🟩 JSON STDOUT 🟩🟩🟩
1718
{
1819
"id": "f3e15b2d-ac65-413d-a027-8c63cf1bf674",

β€Žinternal/namespaces/rdb/v1/testdata/test-list-backup-simple.goldenβ€Ž

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲
22
🟩🟩🟩 STDOUT️ 🟩🟩🟩️
3-
ID Name Database Name Size Status Instance ID URL Expired Download URL Expires At Created At Updated At Region Same Region
4-
6d576d04-9dc3-4081-8c3f-ab16d4bd2b3d will_be_exported rdb 2.1 kB ready 1b79dceb-5632-4176-b594-d6a73bfb06e1 true https://s3.nl-ams.scw.cloud/65940610-0e5e-4a98-9306-568aa4eb3673/1b79dceb-5632-4176-b594-d6a73bfb06e1/6d576d04-9dc3-4081-8c3f-ab16d4bd2b3d.custom?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=SCW2HJV1WMKPE0CKDAW5%2F20231109%2Fnl-ams%2Fs3%2Faws4_request&X-Amz-Date=20231109T192408Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=cc0e126290d5bd4dc7fa3db04e5293928a4e311ffa9466a015629361c33361ea few seconds ago few seconds ago few seconds ago fr-par false
5-
0aab45e7-e1de-493f-807b-4d843f8b383d will_not_be_exported rdb 2.1 kB ready 1b79dceb-5632-4176-b594-d6a73bfb06e1 true - few seconds ago few seconds ago few seconds ago fr-par false
3+
ID Name Database Name Size Status Instance ID URL Expired Is Exported Expires At Created At Updated At Region Same Region
4+
6d576d04-9dc3-4081-8c3f-ab16d4bd2b3d will_be_exported rdb 2.1 kB ready 1b79dceb-5632-4176-b594-d6a73bfb06e1 true true few seconds ago few seconds ago few seconds ago fr-par false
5+
0aab45e7-e1de-493f-807b-4d843f8b383d will_not_be_exported rdb 2.1 kB ready 1b79dceb-5632-4176-b594-d6a73bfb06e1 true false few seconds ago few seconds ago few seconds ago fr-par false
66
🟩🟩🟩 JSON STDOUT 🟩🟩🟩
77
[
88
{
@@ -16,7 +16,7 @@ ID Name Database Name Size
1616
"created_at": "1970-01-01T00:00:00.0Z",
1717
"updated_at": "1970-01-01T00:00:00.0Z",
1818
"instance_name": "cli-test",
19-
"download_url": "https://s3.nl-ams.scw.cloud/65940610-0e5e-4a98-9306-568aa4eb3673/1b79dceb-5632-4176-b594-d6a73bfb06e1/6d576d04-9dc3-4081-8c3f-ab16d4bd2b3d.custom?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=SCW2HJV1WMKPE0CKDAW5%2F20231109%2Fnl-ams%2Fs3%2Faws4_request\u0026X-Amz-Date=20231109T192408Z\u0026X-Amz-Expires=86400\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=cc0e126290d5bd4dc7fa3db04e5293928a4e311ffa9466a015629361c33361ea",
19+
"is_exported": true,
2020
"url_expired": true,
2121
"region": "fr-par",
2222
"same_region": false
@@ -32,7 +32,7 @@ ID Name Database Name Size
3232
"created_at": "1970-01-01T00:00:00.0Z",
3333
"updated_at": "1970-01-01T00:00:00.0Z",
3434
"instance_name": "cli-test",
35-
"download_url": "",
35+
"is_exported": false,
3636
"url_expired": true,
3737
"region": "fr-par",
3838
"same_region": false

β€Žinternal/namespaces/rdb/v1/testdata/test-restore-backup-simple.goldenβ€Ž

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ ExpiresAt few seconds ago
1010
CreatedAt few seconds ago
1111
UpdatedAt few seconds ago
1212
InstanceName cli-test
13-
IsExported false
1413
Region fr-par
1514
SameRegion false
1615
🟩🟩🟩 JSON STDOUT 🟩🟩🟩

0 commit comments

Comments
Β (0)