storyblok-backup 0.4.0 → 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.
@@ -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
+ }
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> (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. Defaults to 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
- --with-asset-files Downloads all files (assets) of the space. Defaults to false.
123
- --output-dir <dir> Directory to write the backup to. Defaults to ./.output
124
- (ATTENTION: Will fail if the directory already exists!)
125
- --force Force deletion and recreation of existing output directory.
126
- --create-zip Create a zip file of the backup. Defaults to false.
127
- --zip-prefix <dir> Prefix for the zip file. Defaults to 'backup'.
128
- (The suffix will automatically be the current date.)
129
- --verbose Will show detailed output for every file written.
130
- --help Show this help
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`).
@@ -301,7 +302,7 @@ Call `npx storyblok-restore` with the following options:
301
302
  - 'ca': Canada
302
303
  - 'cn': China
303
304
  Alternatively, you can set the STORYBLOK_REGION environment variable.
304
- --types <types> Comma separated list of resource-types to backup (default=all).
305
+ --type <type> (required) Type of resource to restore. Possible values are:
305
306
  - 'story'
306
307
  - 'collaborator'
307
308
  - 'component'
@@ -321,14 +322,17 @@ Call `npx storyblok-restore` with the following options:
321
322
  - 'release'
322
323
  - 'pipeline-branch'
323
324
  - 'access-token'
324
- --with-asset-files Downloads all files (assets) of the space (default=false).
325
- --output-dir <dir> Directory to write the backup to (default=./.output)
326
- (ATTENTION: Will fail if the directory already exists!)
327
- --force Force deletion and recreation of existing output directory.
328
- --create-zip Create a zip file of the backup (default=false).
329
- --zip-prefix <dir> Prefix for the zip file. (default='backup').
330
- (The suffix will automatically be the current date.)
331
- --verbose Will show detailed output for every file written.
325
+ --file <file> (required) File of resource to restore.
326
+ --publish Perform a publish after restore of a story (default=false).
327
+ --create Create a new resource instead of updating (default=false).
328
+ Not supported for assets.
329
+ --propagate Propagate new story UUID to referencing stories (default=false).
330
+ Usable with create and stories. A create results in a new ID and UUID.
331
+ This option will update all stories referencing the old
332
+ UUID (as stated in the backup-json) with the new one.
333
+ --id <file> (required if type=datasource-entries and create is set)
334
+ ID of datasource the entries belong to.
335
+ --verbose Will show detailed result of the restore process.
332
336
  --help Show this help
333
337
  ```
334
338
 
@@ -44,31 +44,32 @@ if ('help' in args) {
44
44
  $ npx storyblok-backup
45
45
 
46
46
  OPTIONS
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
- --with-asset-files Downloads all files (assets) of the space (default=false).
64
- --output-dir <dir> Directory to write the backup to (default=./.output)
65
- (ATTENTION: Will fail if the directory already exists!)
66
- --force Force deletion and recreation of existing output directory.
67
- --create-zip Create a zip file of the backup (default=false).
68
- --zip-prefix <dir> Prefix for the zip file. (default='backup').
69
- (The suffix will automatically be the current date.)
70
- --verbose Will show detailed output for every file written.
71
- --help Show this help
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(`Output dir: ${outputDir}`)
169
+ console.log(`- output dir: ${outputDir}`)
161
170
  if ('create-zip' in args) {
162
- console.log(`Output zip: ${filePath}`)
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('assets', fileName, asset.filename)
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "storyblok-backup",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "npx CLI tool to create a full backup of a Storyblok space and restore single resources from it.",
5
5
  "scripts": {
6
6
  "upgrade": "npx npm-check-updates -i -u && pnpm install",