storyblok-backup 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/backup/components/feature.json +34 -0
- package/.output/backup/components/grid.json +27 -0
- package/.output/backup/components/page.json +80 -0
- package/.output/backup/components/teaser.json +27 -0
- package/.output/backup/components/test.json +23 -0
- package/.output/backup/stories/522674929.json +118 -0
- package/.output/backup/stories/569104997.json +96 -0
- package/.output/backup/stories/569109297.json +86 -0
- package/.output/backup/stories/569110113.json +112 -0
- package/.output/backup/stories/569112436.json +89 -0
- package/.output/backup/stories/569114646.json +89 -0
- package/.output/backup/stories/569128208.json +75 -0
- package/.output/daily-2024-11-22-10-06-41.zip +0 -0
- package/README.md +46 -45
- package/bin/storyblok-backup.mjs +46 -28
- package/bin/storyblok-restore.mjs +13 -0
- package/package.json +1 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "feature",
|
|
3
|
+
"display_name": null,
|
|
4
|
+
"description": null,
|
|
5
|
+
"created_at": "2024-07-13T20:18:27.194Z",
|
|
6
|
+
"updated_at": "2024-07-13T22:32:08.433Z",
|
|
7
|
+
"id": 6045521,
|
|
8
|
+
"schema": {
|
|
9
|
+
"name": {
|
|
10
|
+
"type": "text"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"image": null,
|
|
14
|
+
"preview_field": null,
|
|
15
|
+
"is_root": false,
|
|
16
|
+
"preview_tmpl": null,
|
|
17
|
+
"is_nestable": true,
|
|
18
|
+
"all_presets": [],
|
|
19
|
+
"preset_id": null,
|
|
20
|
+
"real_name": "feature",
|
|
21
|
+
"component_group_uuid": "6695906b-b6d3-4149-b237-3c1305dff08d",
|
|
22
|
+
"color": null,
|
|
23
|
+
"icon": null,
|
|
24
|
+
"internal_tags_list": [
|
|
25
|
+
{
|
|
26
|
+
"id": 47100,
|
|
27
|
+
"name": "component-tag2"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"internal_tag_ids": [
|
|
31
|
+
"47100"
|
|
32
|
+
],
|
|
33
|
+
"content_type_asset_preview": null
|
|
34
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "grid",
|
|
3
|
+
"display_name": null,
|
|
4
|
+
"description": null,
|
|
5
|
+
"created_at": "2024-07-13T20:18:27.179Z",
|
|
6
|
+
"updated_at": "2024-07-13T20:18:27.179Z",
|
|
7
|
+
"id": 6045520,
|
|
8
|
+
"schema": {
|
|
9
|
+
"columns": {
|
|
10
|
+
"type": "bloks"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"image": null,
|
|
14
|
+
"preview_field": null,
|
|
15
|
+
"is_root": false,
|
|
16
|
+
"preview_tmpl": null,
|
|
17
|
+
"is_nestable": true,
|
|
18
|
+
"all_presets": [],
|
|
19
|
+
"preset_id": null,
|
|
20
|
+
"real_name": "grid",
|
|
21
|
+
"component_group_uuid": null,
|
|
22
|
+
"color": null,
|
|
23
|
+
"icon": null,
|
|
24
|
+
"internal_tags_list": [],
|
|
25
|
+
"internal_tag_ids": [],
|
|
26
|
+
"content_type_asset_preview": null
|
|
27
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "page",
|
|
3
|
+
"display_name": null,
|
|
4
|
+
"description": null,
|
|
5
|
+
"created_at": "2024-07-13T20:18:27.146Z",
|
|
6
|
+
"updated_at": "2024-10-25T08:47:01.171Z",
|
|
7
|
+
"id": 6045518,
|
|
8
|
+
"schema": {
|
|
9
|
+
"body": {
|
|
10
|
+
"type": "bloks"
|
|
11
|
+
},
|
|
12
|
+
"test": {
|
|
13
|
+
"type": "option",
|
|
14
|
+
"pos": 1,
|
|
15
|
+
"use_uuid": true,
|
|
16
|
+
"source": "internal",
|
|
17
|
+
"exclude_empty_option": true,
|
|
18
|
+
"datasource_slug": "test"
|
|
19
|
+
},
|
|
20
|
+
"reference": {
|
|
21
|
+
"type": "option",
|
|
22
|
+
"pos": 2,
|
|
23
|
+
"use_uuid": true,
|
|
24
|
+
"source": "internal_stories",
|
|
25
|
+
"entry_appearance": "card"
|
|
26
|
+
},
|
|
27
|
+
"image": {
|
|
28
|
+
"type": "asset",
|
|
29
|
+
"pos": 3,
|
|
30
|
+
"filetypes": [
|
|
31
|
+
"images"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"link": {
|
|
35
|
+
"type": "multilink",
|
|
36
|
+
"pos": 4
|
|
37
|
+
},
|
|
38
|
+
"richtext": {
|
|
39
|
+
"type": "richtext",
|
|
40
|
+
"pos": 5
|
|
41
|
+
},
|
|
42
|
+
"multi_option": {
|
|
43
|
+
"type": "options",
|
|
44
|
+
"pos": 6,
|
|
45
|
+
"source": "internal_stories"
|
|
46
|
+
},
|
|
47
|
+
"references": {
|
|
48
|
+
"type": "options",
|
|
49
|
+
"pos": 7,
|
|
50
|
+
"is_reference_type": true,
|
|
51
|
+
"source": "internal_stories",
|
|
52
|
+
"entry_appearance": "card",
|
|
53
|
+
"allow_advanced_search": true
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"image": "",
|
|
57
|
+
"preview_field": null,
|
|
58
|
+
"is_root": true,
|
|
59
|
+
"preview_tmpl": null,
|
|
60
|
+
"is_nestable": false,
|
|
61
|
+
"all_presets": [
|
|
62
|
+
{
|
|
63
|
+
"id": 2331470,
|
|
64
|
+
"name": "my-preset",
|
|
65
|
+
"component_id": 6045518,
|
|
66
|
+
"image": "",
|
|
67
|
+
"icon": "",
|
|
68
|
+
"color": "",
|
|
69
|
+
"description": ""
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"preset_id": null,
|
|
73
|
+
"real_name": "page",
|
|
74
|
+
"component_group_uuid": null,
|
|
75
|
+
"color": null,
|
|
76
|
+
"icon": null,
|
|
77
|
+
"internal_tags_list": [],
|
|
78
|
+
"internal_tag_ids": [],
|
|
79
|
+
"content_type_asset_preview": null
|
|
80
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "teaser",
|
|
3
|
+
"display_name": null,
|
|
4
|
+
"description": null,
|
|
5
|
+
"created_at": "2024-07-13T20:18:27.163Z",
|
|
6
|
+
"updated_at": "2024-07-13T20:18:27.163Z",
|
|
7
|
+
"id": 6045519,
|
|
8
|
+
"schema": {
|
|
9
|
+
"headline": {
|
|
10
|
+
"type": "text"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"image": null,
|
|
14
|
+
"preview_field": null,
|
|
15
|
+
"is_root": false,
|
|
16
|
+
"preview_tmpl": null,
|
|
17
|
+
"is_nestable": true,
|
|
18
|
+
"all_presets": [],
|
|
19
|
+
"preset_id": null,
|
|
20
|
+
"real_name": "teaser",
|
|
21
|
+
"component_group_uuid": null,
|
|
22
|
+
"color": null,
|
|
23
|
+
"icon": null,
|
|
24
|
+
"internal_tags_list": [],
|
|
25
|
+
"internal_tag_ids": [],
|
|
26
|
+
"content_type_asset_preview": null
|
|
27
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "test",
|
|
3
|
+
"display_name": null,
|
|
4
|
+
"description": null,
|
|
5
|
+
"created_at": "2024-10-25T08:14:10.889Z",
|
|
6
|
+
"updated_at": "2024-10-25T08:14:10.889Z",
|
|
7
|
+
"id": 6473083,
|
|
8
|
+
"schema": {},
|
|
9
|
+
"image": null,
|
|
10
|
+
"preview_field": null,
|
|
11
|
+
"is_root": false,
|
|
12
|
+
"preview_tmpl": null,
|
|
13
|
+
"is_nestable": true,
|
|
14
|
+
"all_presets": [],
|
|
15
|
+
"preset_id": null,
|
|
16
|
+
"real_name": "test",
|
|
17
|
+
"component_group_uuid": null,
|
|
18
|
+
"color": null,
|
|
19
|
+
"icon": null,
|
|
20
|
+
"internal_tags_list": [],
|
|
21
|
+
"internal_tag_ids": [],
|
|
22
|
+
"content_type_asset_preview": null
|
|
23
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Home",
|
|
3
|
+
"parent_id": 0,
|
|
4
|
+
"group_id": "62c244df-afed-400c-9c3d-dc17cc528501",
|
|
5
|
+
"alternates": [],
|
|
6
|
+
"created_at": "2024-07-13T20:18:27.228Z",
|
|
7
|
+
"deleted_at": null,
|
|
8
|
+
"sort_by_date": null,
|
|
9
|
+
"tag_list": [],
|
|
10
|
+
"updated_at": "2024-10-25T09:11:52.910Z",
|
|
11
|
+
"published_at": "2024-08-15T10:11:20.942Z",
|
|
12
|
+
"id": 522674929,
|
|
13
|
+
"uuid": "892a6960-a311-4b19-9d73-e458e582cc50",
|
|
14
|
+
"is_folder": false,
|
|
15
|
+
"content": {
|
|
16
|
+
"_uid": "8127698d-346f-491f-8e51-3969724156fb",
|
|
17
|
+
"body": [
|
|
18
|
+
{
|
|
19
|
+
"_uid": "10868157-a135-443b-b1b6-9069e5b3ad47",
|
|
20
|
+
"headline": "Hello world!",
|
|
21
|
+
"component": "teaser"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"_uid": "624a8c0b-b1a4-47e5-82c1-9b17c1510b22",
|
|
25
|
+
"columns": [
|
|
26
|
+
{
|
|
27
|
+
"_uid": "69aefccd-6f0a-4dee-af41-337e9cf31bae",
|
|
28
|
+
"name": "Feature 1",
|
|
29
|
+
"component": "feature"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"_uid": "ebe62594-559c-429f-af41-9fa000b0532b",
|
|
33
|
+
"name": "Feature 2",
|
|
34
|
+
"component": "feature"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"_uid": "82d5149c-8cf5-462b-89c0-2481a2265b46",
|
|
38
|
+
"name": "Feature 3",
|
|
39
|
+
"component": "feature"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"component": "grid"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"link": {
|
|
46
|
+
"id": "",
|
|
47
|
+
"url": "",
|
|
48
|
+
"linktype": "story",
|
|
49
|
+
"fieldtype": "multilink",
|
|
50
|
+
"cached_url": ""
|
|
51
|
+
},
|
|
52
|
+
"test": "value",
|
|
53
|
+
"image": {
|
|
54
|
+
"id": null,
|
|
55
|
+
"alt": null,
|
|
56
|
+
"name": "",
|
|
57
|
+
"focus": null,
|
|
58
|
+
"title": null,
|
|
59
|
+
"source": null,
|
|
60
|
+
"filename": "",
|
|
61
|
+
"copyright": null,
|
|
62
|
+
"fieldtype": "asset",
|
|
63
|
+
"meta_data": {}
|
|
64
|
+
},
|
|
65
|
+
"richtext": {
|
|
66
|
+
"type": "doc",
|
|
67
|
+
"content": [
|
|
68
|
+
{
|
|
69
|
+
"type": "paragraph"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
"component": "page",
|
|
74
|
+
"reference": "ca1552f4-ebf6-4e86-adb3-9c525c35f25a",
|
|
75
|
+
"references": [],
|
|
76
|
+
"multi_option": []
|
|
77
|
+
},
|
|
78
|
+
"published": true,
|
|
79
|
+
"slug": "home",
|
|
80
|
+
"path": null,
|
|
81
|
+
"full_slug": "home",
|
|
82
|
+
"default_root": null,
|
|
83
|
+
"disble_fe_editor": false,
|
|
84
|
+
"disable_fe_editor": false,
|
|
85
|
+
"parent": null,
|
|
86
|
+
"is_startpage": false,
|
|
87
|
+
"unpublished_changes": true,
|
|
88
|
+
"meta_data": null,
|
|
89
|
+
"imported_at": null,
|
|
90
|
+
"pinned": false,
|
|
91
|
+
"breadcrumbs": [],
|
|
92
|
+
"publish_at": null,
|
|
93
|
+
"expire_at": null,
|
|
94
|
+
"first_published_at": "2024-08-15T10:11:20.942Z",
|
|
95
|
+
"last_author": {
|
|
96
|
+
"id": 197040,
|
|
97
|
+
"userid": "g.buttinger@adwerba.at",
|
|
98
|
+
"friendly_name": "Gerald Buttinger"
|
|
99
|
+
},
|
|
100
|
+
"last_author_id": 197040,
|
|
101
|
+
"user_ids": [],
|
|
102
|
+
"space_role_ids": [],
|
|
103
|
+
"translated_slugs": [],
|
|
104
|
+
"localized_paths": [],
|
|
105
|
+
"position": 0,
|
|
106
|
+
"translated_stories": [],
|
|
107
|
+
"can_not_view": false,
|
|
108
|
+
"is_scheduled": null,
|
|
109
|
+
"scheduled_dates": null,
|
|
110
|
+
"ideas": [],
|
|
111
|
+
"stage": {
|
|
112
|
+
"workflow_id": 68154,
|
|
113
|
+
"workflow_stage_id": 578771,
|
|
114
|
+
"story_id": 522674929,
|
|
115
|
+
"created_at": "2024-10-25T08:04:09.640Z"
|
|
116
|
+
},
|
|
117
|
+
"favourite_for_user_ids": []
|
|
118
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "no-reference",
|
|
3
|
+
"parent_id": 0,
|
|
4
|
+
"group_id": "89a05781-266e-4562-bf71-8342c9201d10",
|
|
5
|
+
"alternates": [],
|
|
6
|
+
"created_at": "2024-10-25T08:30:40.619Z",
|
|
7
|
+
"deleted_at": null,
|
|
8
|
+
"sort_by_date": null,
|
|
9
|
+
"tag_list": [],
|
|
10
|
+
"updated_at": "2024-10-25T08:32:48.717Z",
|
|
11
|
+
"published_at": null,
|
|
12
|
+
"id": 569104997,
|
|
13
|
+
"uuid": "f43c7c9f-22c2-4bd9-a3e4-3f3a204e4cad",
|
|
14
|
+
"is_folder": false,
|
|
15
|
+
"content": {
|
|
16
|
+
"_uid": "8127698d-346f-491f-8e51-3969724156fb",
|
|
17
|
+
"body": [
|
|
18
|
+
{
|
|
19
|
+
"_uid": "10868157-a135-443b-b1b6-9069e5b3ad47",
|
|
20
|
+
"headline": "Hello world!",
|
|
21
|
+
"component": "teaser"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"_uid": "624a8c0b-b1a4-47e5-82c1-9b17c1510b22",
|
|
25
|
+
"columns": [
|
|
26
|
+
{
|
|
27
|
+
"_uid": "69aefccd-6f0a-4dee-af41-337e9cf31bae",
|
|
28
|
+
"name": "Feature 1",
|
|
29
|
+
"component": "feature"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"_uid": "ebe62594-559c-429f-af41-9fa000b0532b",
|
|
33
|
+
"name": "Feature 2",
|
|
34
|
+
"component": "feature"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"_uid": "82d5149c-8cf5-462b-89c0-2481a2265b46",
|
|
38
|
+
"name": "Feature 3",
|
|
39
|
+
"component": "feature"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"component": "grid"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"test": "value",
|
|
46
|
+
"image": {
|
|
47
|
+
"id": null,
|
|
48
|
+
"alt": null,
|
|
49
|
+
"name": "",
|
|
50
|
+
"focus": null,
|
|
51
|
+
"title": null,
|
|
52
|
+
"source": null,
|
|
53
|
+
"filename": "",
|
|
54
|
+
"copyright": null,
|
|
55
|
+
"fieldtype": "asset",
|
|
56
|
+
"meta_data": {}
|
|
57
|
+
},
|
|
58
|
+
"component": "page",
|
|
59
|
+
"reference": "892a6960-a311-4b19-9d73-e458e582cc50"
|
|
60
|
+
},
|
|
61
|
+
"published": false,
|
|
62
|
+
"slug": "no-reference",
|
|
63
|
+
"path": null,
|
|
64
|
+
"full_slug": "no-reference",
|
|
65
|
+
"default_root": null,
|
|
66
|
+
"disble_fe_editor": false,
|
|
67
|
+
"disable_fe_editor": false,
|
|
68
|
+
"parent": null,
|
|
69
|
+
"is_startpage": false,
|
|
70
|
+
"unpublished_changes": true,
|
|
71
|
+
"meta_data": null,
|
|
72
|
+
"imported_at": null,
|
|
73
|
+
"pinned": false,
|
|
74
|
+
"breadcrumbs": [],
|
|
75
|
+
"publish_at": null,
|
|
76
|
+
"expire_at": null,
|
|
77
|
+
"first_published_at": null,
|
|
78
|
+
"last_author": {
|
|
79
|
+
"id": 197040,
|
|
80
|
+
"userid": "g.buttinger@adwerba.at",
|
|
81
|
+
"friendly_name": "Gerald Buttinger"
|
|
82
|
+
},
|
|
83
|
+
"last_author_id": 197040,
|
|
84
|
+
"user_ids": [],
|
|
85
|
+
"space_role_ids": [],
|
|
86
|
+
"translated_slugs": [],
|
|
87
|
+
"localized_paths": [],
|
|
88
|
+
"position": 0,
|
|
89
|
+
"translated_stories": [],
|
|
90
|
+
"can_not_view": false,
|
|
91
|
+
"is_scheduled": null,
|
|
92
|
+
"scheduled_dates": null,
|
|
93
|
+
"ideas": [],
|
|
94
|
+
"stage": null,
|
|
95
|
+
"favourite_for_user_ids": []
|
|
96
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "link-reference",
|
|
3
|
+
"parent_id": null,
|
|
4
|
+
"group_id": "069e3728-e8b8-44fa-942d-6d59e50a247e",
|
|
5
|
+
"alternates": [],
|
|
6
|
+
"created_at": "2024-10-25T08:43:50.186Z",
|
|
7
|
+
"deleted_at": null,
|
|
8
|
+
"sort_by_date": null,
|
|
9
|
+
"tag_list": [],
|
|
10
|
+
"updated_at": "2024-10-25T09:11:52.617Z",
|
|
11
|
+
"published_at": null,
|
|
12
|
+
"id": 569109297,
|
|
13
|
+
"uuid": "701448d9-6c5f-4e5f-ad68-a536cb5561fc",
|
|
14
|
+
"is_folder": false,
|
|
15
|
+
"content": {
|
|
16
|
+
"_uid": "586a5908-0b7c-43e0-bac9-890a15314720",
|
|
17
|
+
"body": [],
|
|
18
|
+
"link": {
|
|
19
|
+
"id": "ca1552f4-ebf6-4e86-adb3-9c525c35f25a",
|
|
20
|
+
"url": "",
|
|
21
|
+
"linktype": "story",
|
|
22
|
+
"fieldtype": "multilink",
|
|
23
|
+
"cached_url": "test"
|
|
24
|
+
},
|
|
25
|
+
"test": "",
|
|
26
|
+
"image": {
|
|
27
|
+
"id": null,
|
|
28
|
+
"alt": null,
|
|
29
|
+
"name": "",
|
|
30
|
+
"focus": null,
|
|
31
|
+
"title": null,
|
|
32
|
+
"source": null,
|
|
33
|
+
"filename": "",
|
|
34
|
+
"copyright": null,
|
|
35
|
+
"fieldtype": "asset",
|
|
36
|
+
"meta_data": {}
|
|
37
|
+
},
|
|
38
|
+
"richtext": {
|
|
39
|
+
"type": "doc",
|
|
40
|
+
"content": [
|
|
41
|
+
{
|
|
42
|
+
"type": "paragraph"
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"component": "page",
|
|
47
|
+
"reference": "",
|
|
48
|
+
"references": [],
|
|
49
|
+
"multi_option": []
|
|
50
|
+
},
|
|
51
|
+
"published": false,
|
|
52
|
+
"slug": "link-reference",
|
|
53
|
+
"path": null,
|
|
54
|
+
"full_slug": "link-reference",
|
|
55
|
+
"default_root": null,
|
|
56
|
+
"disble_fe_editor": false,
|
|
57
|
+
"disable_fe_editor": false,
|
|
58
|
+
"parent": null,
|
|
59
|
+
"is_startpage": false,
|
|
60
|
+
"unpublished_changes": true,
|
|
61
|
+
"meta_data": null,
|
|
62
|
+
"imported_at": null,
|
|
63
|
+
"pinned": false,
|
|
64
|
+
"breadcrumbs": [],
|
|
65
|
+
"publish_at": null,
|
|
66
|
+
"expire_at": null,
|
|
67
|
+
"first_published_at": null,
|
|
68
|
+
"last_author": {
|
|
69
|
+
"id": 197040,
|
|
70
|
+
"userid": "g.buttinger@adwerba.at",
|
|
71
|
+
"friendly_name": "Gerald Buttinger"
|
|
72
|
+
},
|
|
73
|
+
"last_author_id": 197040,
|
|
74
|
+
"user_ids": [],
|
|
75
|
+
"space_role_ids": [],
|
|
76
|
+
"translated_slugs": [],
|
|
77
|
+
"localized_paths": [],
|
|
78
|
+
"position": -10,
|
|
79
|
+
"translated_stories": [],
|
|
80
|
+
"can_not_view": false,
|
|
81
|
+
"is_scheduled": null,
|
|
82
|
+
"scheduled_dates": null,
|
|
83
|
+
"ideas": [],
|
|
84
|
+
"stage": null,
|
|
85
|
+
"favourite_for_user_ids": []
|
|
86
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "rt-link-reference",
|
|
3
|
+
"parent_id": null,
|
|
4
|
+
"group_id": "90d55567-6544-4cb2-9710-a9cc0270175c",
|
|
5
|
+
"alternates": [],
|
|
6
|
+
"created_at": "2024-10-25T08:44:29.764Z",
|
|
7
|
+
"deleted_at": null,
|
|
8
|
+
"sort_by_date": null,
|
|
9
|
+
"tag_list": [],
|
|
10
|
+
"updated_at": "2024-10-25T09:11:51.787Z",
|
|
11
|
+
"published_at": null,
|
|
12
|
+
"id": 569110113,
|
|
13
|
+
"uuid": "1a86dc79-002d-4877-8c8b-63c1f77253dd",
|
|
14
|
+
"is_folder": false,
|
|
15
|
+
"content": {
|
|
16
|
+
"_uid": "c5feedec-d0d0-4c2e-bab4-8240cd03b965",
|
|
17
|
+
"body": [],
|
|
18
|
+
"link": {
|
|
19
|
+
"id": "",
|
|
20
|
+
"url": "",
|
|
21
|
+
"linktype": "story",
|
|
22
|
+
"fieldtype": "multilink",
|
|
23
|
+
"cached_url": ""
|
|
24
|
+
},
|
|
25
|
+
"test": "",
|
|
26
|
+
"image": {
|
|
27
|
+
"id": null,
|
|
28
|
+
"alt": null,
|
|
29
|
+
"name": "",
|
|
30
|
+
"focus": null,
|
|
31
|
+
"title": null,
|
|
32
|
+
"source": null,
|
|
33
|
+
"filename": "",
|
|
34
|
+
"copyright": null,
|
|
35
|
+
"fieldtype": "asset",
|
|
36
|
+
"meta_data": {}
|
|
37
|
+
},
|
|
38
|
+
"richtext": {
|
|
39
|
+
"type": "doc",
|
|
40
|
+
"content": [
|
|
41
|
+
{
|
|
42
|
+
"type": "paragraph",
|
|
43
|
+
"content": [
|
|
44
|
+
{
|
|
45
|
+
"text": "Lorem ",
|
|
46
|
+
"type": "text"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"text": "Link",
|
|
50
|
+
"type": "text",
|
|
51
|
+
"marks": [
|
|
52
|
+
{
|
|
53
|
+
"type": "link",
|
|
54
|
+
"attrs": {
|
|
55
|
+
"href": "/test",
|
|
56
|
+
"uuid": "ca1552f4-ebf6-4e86-adb3-9c525c35f25a",
|
|
57
|
+
"anchor": null,
|
|
58
|
+
"target": "_self",
|
|
59
|
+
"linktype": "story"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"text": " Ipsum",
|
|
66
|
+
"type": "text"
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
"component": "page",
|
|
73
|
+
"reference": "",
|
|
74
|
+
"references": [],
|
|
75
|
+
"multi_option": []
|
|
76
|
+
},
|
|
77
|
+
"published": false,
|
|
78
|
+
"slug": "rt-link-reference",
|
|
79
|
+
"path": null,
|
|
80
|
+
"full_slug": "rt-link-reference",
|
|
81
|
+
"default_root": null,
|
|
82
|
+
"disble_fe_editor": false,
|
|
83
|
+
"disable_fe_editor": false,
|
|
84
|
+
"parent": null,
|
|
85
|
+
"is_startpage": false,
|
|
86
|
+
"unpublished_changes": true,
|
|
87
|
+
"meta_data": null,
|
|
88
|
+
"imported_at": null,
|
|
89
|
+
"pinned": false,
|
|
90
|
+
"breadcrumbs": [],
|
|
91
|
+
"publish_at": null,
|
|
92
|
+
"expire_at": null,
|
|
93
|
+
"first_published_at": null,
|
|
94
|
+
"last_author": {
|
|
95
|
+
"id": 197040,
|
|
96
|
+
"userid": "g.buttinger@adwerba.at",
|
|
97
|
+
"friendly_name": "Gerald Buttinger"
|
|
98
|
+
},
|
|
99
|
+
"last_author_id": 197040,
|
|
100
|
+
"user_ids": [],
|
|
101
|
+
"space_role_ids": [],
|
|
102
|
+
"translated_slugs": [],
|
|
103
|
+
"localized_paths": [],
|
|
104
|
+
"position": -20,
|
|
105
|
+
"translated_stories": [],
|
|
106
|
+
"can_not_view": false,
|
|
107
|
+
"is_scheduled": null,
|
|
108
|
+
"scheduled_dates": null,
|
|
109
|
+
"ideas": [],
|
|
110
|
+
"stage": null,
|
|
111
|
+
"favourite_for_user_ids": []
|
|
112
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "multi-option-reference",
|
|
3
|
+
"parent_id": null,
|
|
4
|
+
"group_id": "599ea0f6-5730-4e16-afaf-71b8961882e5",
|
|
5
|
+
"alternates": [],
|
|
6
|
+
"created_at": "2024-10-25T08:45:41.725Z",
|
|
7
|
+
"deleted_at": null,
|
|
8
|
+
"sort_by_date": null,
|
|
9
|
+
"tag_list": [],
|
|
10
|
+
"updated_at": "2024-10-25T09:11:50.895Z",
|
|
11
|
+
"published_at": null,
|
|
12
|
+
"id": 569112436,
|
|
13
|
+
"uuid": "24269166-44a0-4df4-8097-611999fddc9d",
|
|
14
|
+
"is_folder": false,
|
|
15
|
+
"content": {
|
|
16
|
+
"_uid": "09c3f02c-11cf-4965-8767-10b86ad1d3e9",
|
|
17
|
+
"body": [],
|
|
18
|
+
"link": {
|
|
19
|
+
"id": "",
|
|
20
|
+
"url": "",
|
|
21
|
+
"linktype": "story",
|
|
22
|
+
"fieldtype": "multilink",
|
|
23
|
+
"cached_url": ""
|
|
24
|
+
},
|
|
25
|
+
"test": "",
|
|
26
|
+
"image": {
|
|
27
|
+
"id": null,
|
|
28
|
+
"alt": null,
|
|
29
|
+
"name": "",
|
|
30
|
+
"focus": null,
|
|
31
|
+
"title": null,
|
|
32
|
+
"source": null,
|
|
33
|
+
"filename": "",
|
|
34
|
+
"copyright": null,
|
|
35
|
+
"fieldtype": "asset",
|
|
36
|
+
"meta_data": {}
|
|
37
|
+
},
|
|
38
|
+
"richtext": {
|
|
39
|
+
"type": "doc",
|
|
40
|
+
"content": [
|
|
41
|
+
{
|
|
42
|
+
"type": "paragraph"
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"component": "page",
|
|
47
|
+
"reference": "",
|
|
48
|
+
"references": [],
|
|
49
|
+
"multi_option": [
|
|
50
|
+
"892a6960-a311-4b19-9d73-e458e582cc50",
|
|
51
|
+
"ca1552f4-ebf6-4e86-adb3-9c525c35f25a"
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
"published": false,
|
|
55
|
+
"slug": "multi-option-reference",
|
|
56
|
+
"path": null,
|
|
57
|
+
"full_slug": "multi-option-reference",
|
|
58
|
+
"default_root": null,
|
|
59
|
+
"disble_fe_editor": false,
|
|
60
|
+
"disable_fe_editor": false,
|
|
61
|
+
"parent": null,
|
|
62
|
+
"is_startpage": false,
|
|
63
|
+
"unpublished_changes": true,
|
|
64
|
+
"meta_data": null,
|
|
65
|
+
"imported_at": null,
|
|
66
|
+
"pinned": false,
|
|
67
|
+
"breadcrumbs": [],
|
|
68
|
+
"publish_at": null,
|
|
69
|
+
"expire_at": null,
|
|
70
|
+
"first_published_at": null,
|
|
71
|
+
"last_author": {
|
|
72
|
+
"id": 197040,
|
|
73
|
+
"userid": "g.buttinger@adwerba.at",
|
|
74
|
+
"friendly_name": "Gerald Buttinger"
|
|
75
|
+
},
|
|
76
|
+
"last_author_id": 197040,
|
|
77
|
+
"user_ids": [],
|
|
78
|
+
"space_role_ids": [],
|
|
79
|
+
"translated_slugs": [],
|
|
80
|
+
"localized_paths": [],
|
|
81
|
+
"position": -30,
|
|
82
|
+
"translated_stories": [],
|
|
83
|
+
"can_not_view": false,
|
|
84
|
+
"is_scheduled": null,
|
|
85
|
+
"scheduled_dates": null,
|
|
86
|
+
"ideas": [],
|
|
87
|
+
"stage": null,
|
|
88
|
+
"favourite_for_user_ids": []
|
|
89
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "multi-reference",
|
|
3
|
+
"parent_id": null,
|
|
4
|
+
"group_id": "84361fa6-02f7-4688-bf4f-9007a07f23d2",
|
|
5
|
+
"alternates": [],
|
|
6
|
+
"created_at": "2024-10-25T08:46:40.758Z",
|
|
7
|
+
"deleted_at": null,
|
|
8
|
+
"sort_by_date": null,
|
|
9
|
+
"tag_list": [],
|
|
10
|
+
"updated_at": "2024-10-25T09:11:50.576Z",
|
|
11
|
+
"published_at": null,
|
|
12
|
+
"id": 569114646,
|
|
13
|
+
"uuid": "550036eb-c45a-4abb-bf8b-45a0831f4d4c",
|
|
14
|
+
"is_folder": false,
|
|
15
|
+
"content": {
|
|
16
|
+
"_uid": "d36b7e99-ef42-43e1-b231-a4b525a09e84",
|
|
17
|
+
"body": [],
|
|
18
|
+
"link": {
|
|
19
|
+
"id": "",
|
|
20
|
+
"url": "",
|
|
21
|
+
"linktype": "story",
|
|
22
|
+
"fieldtype": "multilink",
|
|
23
|
+
"cached_url": ""
|
|
24
|
+
},
|
|
25
|
+
"test": "",
|
|
26
|
+
"image": {
|
|
27
|
+
"id": null,
|
|
28
|
+
"alt": null,
|
|
29
|
+
"name": "",
|
|
30
|
+
"focus": null,
|
|
31
|
+
"title": null,
|
|
32
|
+
"source": null,
|
|
33
|
+
"filename": "",
|
|
34
|
+
"copyright": null,
|
|
35
|
+
"fieldtype": "asset",
|
|
36
|
+
"meta_data": {}
|
|
37
|
+
},
|
|
38
|
+
"richtext": {
|
|
39
|
+
"type": "doc",
|
|
40
|
+
"content": [
|
|
41
|
+
{
|
|
42
|
+
"type": "paragraph"
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"component": "page",
|
|
47
|
+
"reference": "",
|
|
48
|
+
"references": [
|
|
49
|
+
"892a6960-a311-4b19-9d73-e458e582cc50",
|
|
50
|
+
"ca1552f4-ebf6-4e86-adb3-9c525c35f25a"
|
|
51
|
+
],
|
|
52
|
+
"multi_option": []
|
|
53
|
+
},
|
|
54
|
+
"published": false,
|
|
55
|
+
"slug": "multi-reference",
|
|
56
|
+
"path": null,
|
|
57
|
+
"full_slug": "multi-reference",
|
|
58
|
+
"default_root": null,
|
|
59
|
+
"disble_fe_editor": false,
|
|
60
|
+
"disable_fe_editor": false,
|
|
61
|
+
"parent": null,
|
|
62
|
+
"is_startpage": false,
|
|
63
|
+
"unpublished_changes": true,
|
|
64
|
+
"meta_data": null,
|
|
65
|
+
"imported_at": null,
|
|
66
|
+
"pinned": false,
|
|
67
|
+
"breadcrumbs": [],
|
|
68
|
+
"publish_at": null,
|
|
69
|
+
"expire_at": null,
|
|
70
|
+
"first_published_at": null,
|
|
71
|
+
"last_author": {
|
|
72
|
+
"id": 197040,
|
|
73
|
+
"userid": "g.buttinger@adwerba.at",
|
|
74
|
+
"friendly_name": "Gerald Buttinger"
|
|
75
|
+
},
|
|
76
|
+
"last_author_id": 197040,
|
|
77
|
+
"user_ids": [],
|
|
78
|
+
"space_role_ids": [],
|
|
79
|
+
"translated_slugs": [],
|
|
80
|
+
"localized_paths": [],
|
|
81
|
+
"position": -40,
|
|
82
|
+
"translated_stories": [],
|
|
83
|
+
"can_not_view": false,
|
|
84
|
+
"is_scheduled": null,
|
|
85
|
+
"scheduled_dates": null,
|
|
86
|
+
"ideas": [],
|
|
87
|
+
"stage": null,
|
|
88
|
+
"favourite_for_user_ids": []
|
|
89
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "test",
|
|
3
|
+
"parent_id": null,
|
|
4
|
+
"group_id": "0648e5ed-2faf-4bef-9a43-9af9c9e332a9",
|
|
5
|
+
"alternates": [],
|
|
6
|
+
"created_at": "2024-10-25T09:11:49.659Z",
|
|
7
|
+
"deleted_at": null,
|
|
8
|
+
"sort_by_date": null,
|
|
9
|
+
"tag_list": [],
|
|
10
|
+
"updated_at": "2024-10-25T09:11:49.659Z",
|
|
11
|
+
"published_at": null,
|
|
12
|
+
"id": 569128208,
|
|
13
|
+
"uuid": "ca1552f4-ebf6-4e86-adb3-9c525c35f25a",
|
|
14
|
+
"is_folder": false,
|
|
15
|
+
"content": {
|
|
16
|
+
"_uid": "aec95dde-80c3-46ac-a5b9-46b4b90ff6c8",
|
|
17
|
+
"body": [],
|
|
18
|
+
"test": "",
|
|
19
|
+
"image": {
|
|
20
|
+
"id": 16640624,
|
|
21
|
+
"alt": "",
|
|
22
|
+
"name": "",
|
|
23
|
+
"focus": "",
|
|
24
|
+
"title": "",
|
|
25
|
+
"source": "",
|
|
26
|
+
"filename": "https://a.storyblok.com/f/296932/232x244/945a3b296d/test.png",
|
|
27
|
+
"copyright": "",
|
|
28
|
+
"fieldtype": "asset",
|
|
29
|
+
"meta_data": {
|
|
30
|
+
"alt": "",
|
|
31
|
+
"title": "",
|
|
32
|
+
"source": "",
|
|
33
|
+
"copyright": ""
|
|
34
|
+
},
|
|
35
|
+
"is_external_url": false
|
|
36
|
+
},
|
|
37
|
+
"component": "page",
|
|
38
|
+
"reference": ""
|
|
39
|
+
},
|
|
40
|
+
"published": false,
|
|
41
|
+
"slug": "test",
|
|
42
|
+
"path": null,
|
|
43
|
+
"full_slug": "test",
|
|
44
|
+
"default_root": null,
|
|
45
|
+
"disble_fe_editor": false,
|
|
46
|
+
"disable_fe_editor": false,
|
|
47
|
+
"parent": null,
|
|
48
|
+
"is_startpage": false,
|
|
49
|
+
"unpublished_changes": false,
|
|
50
|
+
"meta_data": null,
|
|
51
|
+
"imported_at": null,
|
|
52
|
+
"pinned": false,
|
|
53
|
+
"breadcrumbs": [],
|
|
54
|
+
"publish_at": null,
|
|
55
|
+
"expire_at": null,
|
|
56
|
+
"first_published_at": "2024-08-15T10:09:33.782Z",
|
|
57
|
+
"last_author": {
|
|
58
|
+
"id": 197040,
|
|
59
|
+
"userid": "g.buttinger@adwerba.at",
|
|
60
|
+
"friendly_name": "Gerald Buttinger"
|
|
61
|
+
},
|
|
62
|
+
"last_author_id": 197040,
|
|
63
|
+
"user_ids": [],
|
|
64
|
+
"space_role_ids": [],
|
|
65
|
+
"translated_slugs": [],
|
|
66
|
+
"localized_paths": [],
|
|
67
|
+
"position": 0,
|
|
68
|
+
"translated_stories": [],
|
|
69
|
+
"can_not_view": false,
|
|
70
|
+
"is_scheduled": null,
|
|
71
|
+
"scheduled_dates": null,
|
|
72
|
+
"ideas": [],
|
|
73
|
+
"stage": null,
|
|
74
|
+
"favourite_for_user_ids": []
|
|
75
|
+
}
|
|
Binary file
|
package/README.md
CHANGED
|
@@ -83,51 +83,52 @@ Call `npx storyblok-backup` with the following options:
|
|
|
83
83
|
#### Backup options
|
|
84
84
|
|
|
85
85
|
```text
|
|
86
|
-
--token <token>
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
--space <space_id>
|
|
91
|
-
|
|
92
|
-
--region <region>
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
--types <types>
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
--
|
|
123
|
-
--
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
--
|
|
127
|
-
--zip
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
--
|
|
86
|
+
--token <token> (required) Personal OAuth access token created
|
|
87
|
+
in the account settings of a Stoyblok user.
|
|
88
|
+
(NOT the Access Token of a Space!)
|
|
89
|
+
Alternatively, you can set the STORYBLOK_OAUTH_TOKEN environment variable.
|
|
90
|
+
--space <space_id> (required) ID of the space to backup
|
|
91
|
+
Alternatively, you can set the STORYBLOK_SPACE_ID environment variable.
|
|
92
|
+
--region <region> Region of the space. Possible values are:
|
|
93
|
+
- 'eu' (default): EU
|
|
94
|
+
- 'us': US
|
|
95
|
+
- 'ap': Australia
|
|
96
|
+
- 'ca': Canada
|
|
97
|
+
- 'cn': China
|
|
98
|
+
Alternatively, you can set the STORYBLOK_REGION environment variable.
|
|
99
|
+
--types <types> Comma separated list of resource-types to backup (default=all).
|
|
100
|
+
Possible values are:
|
|
101
|
+
- 'stories'
|
|
102
|
+
- 'collaborators'
|
|
103
|
+
- 'components'
|
|
104
|
+
- 'component-groups'
|
|
105
|
+
- 'assets'
|
|
106
|
+
- 'asset-folders'
|
|
107
|
+
- 'internal-tags'
|
|
108
|
+
- 'datasources'
|
|
109
|
+
- 'space'
|
|
110
|
+
- 'space-roles'
|
|
111
|
+
- 'tasks'
|
|
112
|
+
- 'activities'
|
|
113
|
+
- 'presets'
|
|
114
|
+
- 'field-types'
|
|
115
|
+
- 'webhooks'
|
|
116
|
+
- 'workflow-stages'
|
|
117
|
+
- 'workflow-stage-changes'
|
|
118
|
+
- 'workflows'
|
|
119
|
+
- 'releases'
|
|
120
|
+
- 'pipeline-branches'
|
|
121
|
+
- 'access-tokens'
|
|
122
|
+
--omit-types <types> Comma separated list of resource-types to omit.
|
|
123
|
+
--with-asset-files Downloads all files (assets) of the space (default=false).
|
|
124
|
+
--output-dir <dir> Directory to write the backup to (default=./.output)
|
|
125
|
+
(ATTENTION: Will fail if the directory already exists!)
|
|
126
|
+
--force Force deletion and recreation of existing output directory.
|
|
127
|
+
--create-zip Create a zip file of the backup (default=false).
|
|
128
|
+
--zip-prefix <dir> Prefix for the zip file. (default='backup').
|
|
129
|
+
(The suffix will automatically be the current date.)
|
|
130
|
+
--verbose Will show detailed output for every file written.
|
|
131
|
+
--help Show this help
|
|
131
132
|
```
|
|
132
133
|
|
|
133
134
|
OAuth token, space-id and region can be set via environment variables. You can also use a `.env` file in your project root for this (see `.env.example`).
|
package/bin/storyblok-backup.mjs
CHANGED
|
@@ -44,31 +44,32 @@ if ('help' in args) {
|
|
|
44
44
|
$ npx storyblok-backup
|
|
45
45
|
|
|
46
46
|
OPTIONS
|
|
47
|
-
--token <token>
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
--space <space_id>
|
|
52
|
-
|
|
53
|
-
--region <region>
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
--types <types>
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
--
|
|
64
|
-
--
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
--
|
|
68
|
-
--zip
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
--
|
|
47
|
+
--token <token> (required) Personal OAuth access token created
|
|
48
|
+
in the account settings of a Stoyblok user.
|
|
49
|
+
(NOT the Access Token of a Space!)
|
|
50
|
+
Alternatively, you can set the STORYBLOK_OAUTH_TOKEN environment variable.
|
|
51
|
+
--space <space_id> (required) ID of the space to backup
|
|
52
|
+
Alternatively, you can set the STORYBLOK_SPACE_ID environment variable.
|
|
53
|
+
--region <region> Region of the space. Possible values are:
|
|
54
|
+
- 'eu' (default): EU
|
|
55
|
+
- 'us': US
|
|
56
|
+
- 'ap': Australia
|
|
57
|
+
- 'ca': Canada
|
|
58
|
+
- 'cn': China
|
|
59
|
+
Alternatively, you can set the STORYBLOK_REGION environment variable.
|
|
60
|
+
--types <types> Comma separated list of resource-types to backup (default=all).
|
|
61
|
+
Possible values are:
|
|
62
|
+
- '${resourceTypes.join("'\n - '")}'
|
|
63
|
+
--omit-types <types> Comma separated list of resource-types to omit.
|
|
64
|
+
--with-asset-files Downloads all files (assets) of the space (default=false).
|
|
65
|
+
--output-dir <dir> Directory to write the backup to (default=./.output)
|
|
66
|
+
(ATTENTION: Will fail if the directory already exists!)
|
|
67
|
+
--force Force deletion and recreation of existing output directory.
|
|
68
|
+
--create-zip Create a zip file of the backup (default=false).
|
|
69
|
+
--zip-prefix <dir> Prefix for the zip file. (default='backup').
|
|
70
|
+
(The suffix will automatically be the current date.)
|
|
71
|
+
--verbose Will show detailed output for every file written.
|
|
72
|
+
--help Show this help
|
|
72
73
|
|
|
73
74
|
MINIMAL EXAMPLE
|
|
74
75
|
$ npx storyblok-backup --token 1234567890abcdef --space 12345
|
|
@@ -79,6 +80,7 @@ MAXIMAL EXAMPLE
|
|
|
79
80
|
--space 12345 \\
|
|
80
81
|
--region ap \\
|
|
81
82
|
--types "stories,components" \\
|
|
83
|
+
--omit-types "activities" \\
|
|
82
84
|
--with-asset-files \\
|
|
83
85
|
--output-dir ./my-dir \\
|
|
84
86
|
--force \\
|
|
@@ -128,6 +130,11 @@ if ('types' in args) {
|
|
|
128
130
|
resourceTypes = typesToBackup
|
|
129
131
|
}
|
|
130
132
|
|
|
133
|
+
if ('omit-types' in args) {
|
|
134
|
+
const typesToOmit = args['omit-types'].split(',')
|
|
135
|
+
resourceTypes = resourceTypes.filter((type) => !typesToOmit.includes(type))
|
|
136
|
+
}
|
|
137
|
+
|
|
131
138
|
const verbose = 'verbose' in args
|
|
132
139
|
|
|
133
140
|
const outputDir = args['output-dir'] || './.output'
|
|
@@ -156,11 +163,17 @@ const fileName =
|
|
|
156
163
|
|
|
157
164
|
const filePath = `${outputDir}/${fileName}`
|
|
158
165
|
|
|
166
|
+
// Output General information
|
|
167
|
+
console.log('')
|
|
159
168
|
console.log(`Creating backup for space ${spaceId}:`)
|
|
160
|
-
console.log(
|
|
169
|
+
console.log(`- output dir: ${outputDir}`)
|
|
161
170
|
if ('create-zip' in args) {
|
|
162
|
-
console.log(
|
|
171
|
+
console.log(`- output zip: ${filePath}`)
|
|
163
172
|
}
|
|
173
|
+
console.log(`- resource types: ${resourceTypes.join(', ')}`)
|
|
174
|
+
console.log(`- with asset files: ${'with-asset-files' in args ? 'yes' : 'no'}`)
|
|
175
|
+
console.log(`- force output folder: ${'force' in args ? 'yes' : 'no'}`)
|
|
176
|
+
console.log('')
|
|
164
177
|
|
|
165
178
|
// Init Management API
|
|
166
179
|
const StoryblokMAPI = new StoryblokClient({
|
|
@@ -179,6 +192,11 @@ resourceTypes.forEach(
|
|
|
179
192
|
(resource) => resource === 'space' || fs.mkdirSync(`${backupDir}/${resource}`)
|
|
180
193
|
)
|
|
181
194
|
|
|
195
|
+
// Create separate directory for asset-files
|
|
196
|
+
if (resourceTypes.includes('assets') && 'with-asset-files' in args) {
|
|
197
|
+
fs.mkdirSync(`${backupDir}/asset-files`)
|
|
198
|
+
}
|
|
199
|
+
|
|
182
200
|
// Function to perform a default fetch
|
|
183
201
|
const defaultFetch = async (endpoint, type, fileField, fileFieldObject) => {
|
|
184
202
|
if (resourceTypes.includes(type)) {
|
|
@@ -282,7 +300,7 @@ if (resourceTypes.includes('assets')) {
|
|
|
282
300
|
if ('with-asset-files' in args) {
|
|
283
301
|
const fileExtension = asset.filename.split('.').at(-1)
|
|
284
302
|
const fileName = asset.id + '.' + fileExtension
|
|
285
|
-
await downloadFile('
|
|
303
|
+
await downloadFile('asset-files', fileName, asset.filename)
|
|
286
304
|
}
|
|
287
305
|
}
|
|
288
306
|
})
|
|
@@ -154,6 +154,19 @@ if (propagate && args.type !== 'story') {
|
|
|
154
154
|
process.exit(1)
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
+
// Output General information
|
|
158
|
+
console.log('')
|
|
159
|
+
console.log(`Restoring backup in space ${spaceId}:`)
|
|
160
|
+
console.log(`- resource type: ${args.type}`)
|
|
161
|
+
console.log(`- file: ${args.file}`)
|
|
162
|
+
if ('id' in args) {
|
|
163
|
+
console.log(`- datasource id: ${args.id}`)
|
|
164
|
+
}
|
|
165
|
+
console.log(`- mode: ${'create' in args ? 'create' : 'update'}`)
|
|
166
|
+
console.log(`- publish: ${'publish' in args ? 'yes' : 'no'}`)
|
|
167
|
+
console.log(`- propagate: ${'propagate' in args ? 'yes' : 'no'}`)
|
|
168
|
+
console.log('')
|
|
169
|
+
|
|
157
170
|
// Init Management API
|
|
158
171
|
const StoryblokMAPI = new StoryblokClient({
|
|
159
172
|
oauthToken: oauthToken,
|
package/package.json
CHANGED