@raketa-cloud/admin 0.0.30 → 0.0.33

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.
Files changed (173) hide show
  1. package/package.json +1 -1
  2. package/src/Adapter.js +3 -6
  3. package/src/HonoAdapter.js +3 -3
  4. package/src/Logger.js +21 -0
  5. package/src/cloud/ArticleRevisions.js +30 -1
  6. package/src/cloud/Articles.js +22 -9
  7. package/src/cloud/EventRevisions.js +40 -1
  8. package/src/cloud/Events.js +32 -11
  9. package/src/cloud/PageRevisions.js +20 -1
  10. package/src/cloud/Pages.js +13 -7
  11. package/src/cloud/RaketaClient.js +76 -0
  12. package/src/handlers/article_revisions/CodeHandler.js +18 -34
  13. package/src/handlers/article_revisions/GeneralHandler.js +19 -38
  14. package/src/handlers/article_revisions/LocksHandler.js +11 -6
  15. package/src/handlers/article_revisions/MetaHandler.js +18 -34
  16. package/src/handlers/article_revisions/TagHandler.js +23 -29
  17. package/src/handlers/article_revisions/UnlocksHandler.js +1 -1
  18. package/src/handlers/article_revisions/VisualHandler.js +18 -28
  19. package/src/handlers/articles/ArticlesHandler.js +11 -25
  20. package/src/handlers/articles/DeletesHandler.js +4 -4
  21. package/src/handlers/articles/TranslationsHandler.js +30 -56
  22. package/src/handlers/articles/URLsHandler.js +7 -7
  23. package/src/handlers/event_revisions/CodeHandler.js +22 -36
  24. package/src/handlers/event_revisions/GeneralHandler.js +22 -42
  25. package/src/handlers/event_revisions/LocksHandler.js +7 -6
  26. package/src/handlers/event_revisions/MetaHandler.js +22 -36
  27. package/src/handlers/event_revisions/TagHandler.js +25 -29
  28. package/src/handlers/event_revisions/VisualHandler.js +22 -30
  29. package/src/handlers/events/DeletesHandler.js +4 -4
  30. package/src/handlers/events/EventsHandler.js +13 -27
  31. package/src/handlers/events/TranslationsHandler.js +35 -58
  32. package/src/handlers/events/URLsHandler.js +7 -7
  33. package/src/handlers/page_revisions/CodeHandler.js +8 -34
  34. package/src/handlers/page_revisions/GeneralHandler.js +10 -37
  35. package/src/handlers/page_revisions/LocksHandler.js +11 -6
  36. package/src/handlers/page_revisions/MetaHandler.js +8 -34
  37. package/src/handlers/page_revisions/TagHandler.js +16 -27
  38. package/src/handlers/page_revisions/VisualHandler.js +8 -28
  39. package/src/handlers/pages/DeletesHandler.js +4 -4
  40. package/src/handlers/pages/PagesHandler.js +7 -24
  41. package/src/handlers/pages/TranslationsHandler.js +23 -45
  42. package/src/handlers/pages/URLsHandler.js +7 -7
  43. package/src/helpers/FormBuilder.js +1 -2
  44. package/src/helpers/Inflector.js +6 -0
  45. package/src/index.js +2 -0
  46. package/src/styles/application.css +7 -7
  47. package/src/tests/handlers/RedirectsHandler.test/create.test.js +1 -1
  48. package/src/tests/handlers/RedirectsHandler.test/create_form.test.js +1 -1
  49. package/src/tests/handlers/RedirectsHandler.test/destroy.test.js +1 -1
  50. package/src/tests/handlers/RedirectsHandler.test/edit_form.test.js +1 -1
  51. package/src/tests/handlers/RedirectsHandler.test/index.test.js +1 -1
  52. package/src/tests/handlers/RedirectsHandler.test/show.test.js +1 -1
  53. package/src/tests/handlers/RedirectsHandler.test/update.test.js +1 -1
  54. package/src/tests/handlers/article_revisions/ArticleRevisionsHandler.test/create.test.js +1 -1
  55. package/src/tests/handlers/article_revisions/ArticleRevisionsHandler.test/destroy.test.js +1 -1
  56. package/src/tests/handlers/article_revisions/CodesHandler.test/edit_form.test.js +7 -7
  57. package/src/tests/handlers/article_revisions/CodesHandler.test/update.test.js +37 -19
  58. package/src/tests/handlers/article_revisions/GeneralHandler.test/edit_form.test.js +5 -11
  59. package/src/tests/handlers/article_revisions/GeneralHandler.test/update.test.js +36 -28
  60. package/src/tests/handlers/article_revisions/MetaHandler.test/edit_form.test.js +7 -8
  61. package/src/tests/handlers/article_revisions/MetaHandler.test/update.test.js +41 -25
  62. package/src/tests/handlers/article_revisions/PublishesHandler.test/create.test.js +2 -2
  63. package/src/tests/handlers/article_revisions/PublishesHandler.test/create_form.test.js +2 -2
  64. package/src/tests/handlers/article_revisions/RevertsHandler.test/create.test.js +1 -1
  65. package/src/tests/handlers/article_revisions/TagHandler.test/edit_form.test.js +10 -7
  66. package/src/tests/handlers/article_revisions/TagHandler.test/update.test.js +20 -14
  67. package/src/tests/handlers/article_revisions/VisualHandler.test.test/edit_form.test.js +7 -6
  68. package/src/tests/handlers/article_revisions/VisualHandler.test.test/update.test.js +30 -19
  69. package/src/tests/handlers/article_revisions/WidgetHandler.test/show.test.js +2 -2
  70. package/src/tests/handlers/article_revisions/WidgetHandler.test/update.test.js +2 -2
  71. package/src/tests/handlers/articles/ArticlesHandler.test/create.test.js +53 -29
  72. package/src/tests/handlers/articles/ArticlesHandler.test/create_form.test.js +3 -3
  73. package/src/tests/handlers/articles/ArticlesHandler.test/index.test.js +2 -2
  74. package/src/tests/handlers/articles/ArticlesHandler.test/show.test.js +3 -3
  75. package/src/tests/handlers/articles/ClonesHandler.test/create.test.js +1 -1
  76. package/src/tests/handlers/articles/DeletesHandler.test/create.test.js +4 -4
  77. package/src/tests/handlers/articles/DeletesHandler.test/create_form.test.js +2 -2
  78. package/src/tests/handlers/articles/URLsHandler.test/create.test.js +6 -6
  79. package/src/tests/handlers/articles/URLsHandler.test/create_form.test.js +2 -2
  80. package/src/tests/handlers/event_revisions/CodesHandler.test/edit_form.test.js +11 -7
  81. package/src/tests/handlers/event_revisions/CodesHandler.test/update.test.js +43 -19
  82. package/src/tests/handlers/event_revisions/EventRevisionsHandler.test/create.test.js +1 -1
  83. package/src/tests/handlers/event_revisions/EventRevisionsHandler.test/destroy.test.js +1 -1
  84. package/src/tests/handlers/event_revisions/GeneralHandler.test/edit_form.test.js +7 -13
  85. package/src/tests/handlers/event_revisions/GeneralHandler.test/update.test.js +42 -32
  86. package/src/tests/handlers/event_revisions/MetaHandler.test/edit_form.test.js +11 -8
  87. package/src/tests/handlers/event_revisions/MetaHandler.test/update.test.js +47 -25
  88. package/src/tests/handlers/event_revisions/PublishesHandler.test/create.test.js +2 -2
  89. package/src/tests/handlers/event_revisions/PublishesHandler.test/create_form.test.js +2 -2
  90. package/src/tests/handlers/event_revisions/RevertsHandler.test/create.test.js +1 -1
  91. package/src/tests/handlers/event_revisions/TagHandler.test/edit_form.test.js +14 -7
  92. package/src/tests/handlers/event_revisions/TagHandler.test/update.test.js +26 -14
  93. package/src/tests/handlers/event_revisions/VisualHandler.test.test/edit_form.test.js +11 -6
  94. package/src/tests/handlers/event_revisions/VisualHandler.test.test/update.test.js +36 -19
  95. package/src/tests/handlers/event_revisions/WidgetHandler.test/show.test.js +2 -2
  96. package/src/tests/handlers/event_revisions/WidgetHandler.test/update.test.js +2 -2
  97. package/src/tests/handlers/events/ClonesHandler.test/create.test.js +1 -1
  98. package/src/tests/handlers/events/DeletesHandler.test/create.test.js +4 -4
  99. package/src/tests/handlers/events/DeletesHandler.test/create_form.test.js +2 -2
  100. package/src/tests/handlers/events/EventsHandler.test/create.test.js +53 -37
  101. package/src/tests/handlers/events/EventsHandler.test/create_form.test.js +3 -3
  102. package/src/tests/handlers/events/EventsHandler.test/index.test.js +2 -2
  103. package/src/tests/handlers/events/EventsHandler.test/show.test.js +3 -3
  104. package/src/tests/handlers/events/URLsHandler.test/create.test.js +6 -6
  105. package/src/tests/handlers/events/URLsHandler.test/create_form.test.js +2 -2
  106. package/src/tests/handlers/page_revisions/CodesHandler.test/edit_form.test.js +10 -8
  107. package/src/tests/handlers/page_revisions/CodesHandler.test/update.test.js +30 -17
  108. package/src/tests/handlers/page_revisions/GeneralHandler.test/edit_form.test.js +3 -11
  109. package/src/tests/handlers/page_revisions/GeneralHandler.test/update.test.js +38 -22
  110. package/src/tests/handlers/page_revisions/MetaHandler.test/edit_form.test.js +2 -8
  111. package/src/tests/handlers/page_revisions/MetaHandler.test/update.test.js +37 -23
  112. package/src/tests/handlers/page_revisions/PageRevisionsHandler.test/create.test.js +1 -1
  113. package/src/tests/handlers/page_revisions/PageRevisionsHandler.test/destroy.test.js +1 -1
  114. package/src/tests/handlers/page_revisions/PublishesHandler.test/create.test.js +2 -2
  115. package/src/tests/handlers/page_revisions/PublishesHandler.test/create_form.test.js +2 -2
  116. package/src/tests/handlers/page_revisions/RevertsHandler.test/create.test.js +1 -1
  117. package/src/tests/handlers/page_revisions/TagHandler.test/edit_form.test.js +3 -7
  118. package/src/tests/handlers/page_revisions/TagHandler.test/update.test.js +11 -12
  119. package/src/tests/handlers/page_revisions/VisualHandler.test.test/edit_form.test.js +10 -7
  120. package/src/tests/handlers/page_revisions/VisualHandler.test.test/update.test.js +23 -17
  121. package/src/tests/handlers/page_revisions/WidgetHandler.test/show.test.js +2 -2
  122. package/src/tests/handlers/page_revisions/WidgetHandler.test/update.test.js +2 -2
  123. package/src/tests/handlers/pages/ConesHandler.test/create.test.js +1 -1
  124. package/src/tests/handlers/pages/DeletesHandler.test/create.test.js +4 -4
  125. package/src/tests/handlers/pages/DeletesHandler.test/create_form.test.js +2 -2
  126. package/src/tests/handlers/pages/PagesHandler.test/create.test.js +50 -27
  127. package/src/tests/handlers/pages/PagesHandler.test/create_form.test.js +3 -3
  128. package/src/tests/handlers/pages/PagesHandler.test/index.test.js +2 -2
  129. package/src/tests/handlers/pages/PagesHandler.test/show.test.js +3 -3
  130. package/src/tests/handlers/pages/URLsHandler.test/create.test.js +6 -6
  131. package/src/tests/handlers/pages/URLsHandler.test/create_form.test.js +2 -2
  132. package/src/utils.js +12 -0
  133. package/src/views/_shared/_credentials_input.ejs +31 -0
  134. package/src/views/_shared/_layout_input.ejs +5 -0
  135. package/src/views/article_revisions/_nav.ejs +5 -5
  136. package/src/views/article_revisions/codes/edit_form.ejs +17 -6
  137. package/src/views/article_revisions/general/edit_form.ejs +10 -36
  138. package/src/views/article_revisions/locks/create_form.ejs +4 -4
  139. package/src/views/article_revisions/meta/edit_form.ejs +7 -7
  140. package/src/views/article_revisions/tags/edit_form.ejs +5 -5
  141. package/src/views/article_revisions/visuals/edit_form.ejs +5 -9
  142. package/src/views/articles/_form.ejs +6 -37
  143. package/src/views/articles/deletes/create_form.ejs +9 -9
  144. package/src/views/articles/index.ejs +1 -1
  145. package/src/views/articles/translations/_form.ejs +14 -46
  146. package/src/views/articles/urls/create_form.ejs +5 -5
  147. package/src/views/event_revisions/_nav.ejs +5 -5
  148. package/src/views/event_revisions/codes/edit_form.ejs +17 -6
  149. package/src/views/event_revisions/general/edit_form.ejs +12 -38
  150. package/src/views/event_revisions/locks/create_form.ejs +4 -4
  151. package/src/views/event_revisions/meta/edit_form.ejs +7 -7
  152. package/src/views/event_revisions/tags/edit_form.ejs +5 -5
  153. package/src/views/event_revisions/visuals/edit_form.ejs +5 -9
  154. package/src/views/events/_form.ejs +8 -39
  155. package/src/views/events/deletes/create_form.ejs +9 -9
  156. package/src/views/events/index.ejs +1 -1
  157. package/src/views/events/translations/_form.ejs +16 -47
  158. package/src/views/events/urls/create_form.ejs +5 -5
  159. package/src/views/layouts/application.ejs +57 -35
  160. package/src/views/page_revisions/_nav.ejs +5 -5
  161. package/src/views/page_revisions/codes/edit_form.ejs +17 -6
  162. package/src/views/page_revisions/general/edit_form.ejs +8 -35
  163. package/src/views/page_revisions/locks/create_form.ejs +4 -4
  164. package/src/views/page_revisions/meta/edit_form.ejs +7 -7
  165. package/src/views/page_revisions/publishes/_form.ejs +9 -9
  166. package/src/views/page_revisions/tags/edit_form.ejs +5 -5
  167. package/src/views/page_revisions/visuals/edit_form.ejs +5 -9
  168. package/src/views/pages/_form.ejs +5 -36
  169. package/src/views/pages/deletes/create_form.ejs +9 -9
  170. package/src/views/pages/index.ejs +1 -1
  171. package/src/views/pages/translations/_form.ejs +13 -45
  172. package/src/views/pages/urls/create_form.ejs +5 -5
  173. package/tailwind.config.js +1 -0
@@ -6,11 +6,11 @@ import Factory from "../../../support/factory";
6
6
  function buildCtx(revision, updateSettings) {
7
7
  return {
8
8
  client: {
9
- pageRevisions: new PageRevisions({}, "token"),
9
+ pageRevisions: new PageRevisions(() => ({}), "token"),
10
10
  },
11
11
  params: { parent_id: revision.id },
12
12
  resourceParams: {
13
- code_settings: updateSettings,
13
+ resource: updateSettings,
14
14
  },
15
15
  locale: "en",
16
16
  resourceConfig: {
@@ -25,8 +25,12 @@ describe("Page revision code settings", () => {
25
25
  const revision = Factory.build("page_revision");
26
26
 
27
27
  const updateSettings = {
28
- scripts: JSON.stringify([{ type: "bla" }]),
29
- structured_data: JSON.stringify({ type: "article" }),
28
+ settings: {
29
+ codes: {
30
+ scripts: JSON.stringify([{ type: "bla" }]),
31
+ structured_data: JSON.stringify({ type: "article" }),
32
+ },
33
+ },
30
34
  };
31
35
 
32
36
  const ctx = buildCtx(revision, updateSettings);
@@ -49,16 +53,16 @@ describe("Page revision code settings", () => {
49
53
  slug: revision.slug,
50
54
  title: revision.title,
51
55
  visibility: revision.visibility,
52
- widgets: JSON.stringify(revision.widgets),
56
+ widgets: revision.widgets,
53
57
  tags: revision.tags.map((t) => t.id),
54
58
  categories: revision.categories.map((c) => c.id),
55
- settings: JSON.stringify({
59
+ settings: {
56
60
  ...revision.settings,
57
61
  codes: {
58
62
  scripts: [{ type: "bla" }],
59
63
  structured_data: { type: "article" },
60
64
  },
61
- }),
65
+ },
62
66
  });
63
67
 
64
68
  expect(result).toEqual({
@@ -70,8 +74,12 @@ describe("Page revision code settings", () => {
70
74
  const revision = Factory.build("page_revision");
71
75
 
72
76
  const updateSettings = {
73
- scripts: JSON.stringify([{ type: "bla" }]),
74
- structured_data: JSON.stringify({ type: "article" }),
77
+ settings: {
78
+ codes: {
79
+ scripts: JSON.stringify([{ type: "bla" }]),
80
+ structured_data: JSON.stringify({ type: "article" }),
81
+ },
82
+ },
75
83
  };
76
84
 
77
85
  const ctx = buildCtx(revision, updateSettings);
@@ -94,27 +102,32 @@ describe("Page revision code settings", () => {
94
102
  slug: revision.slug,
95
103
  title: revision.title,
96
104
  visibility: revision.visibility,
97
- widgets: JSON.stringify(revision.widgets),
105
+ widgets: revision.widgets,
98
106
  tags: revision.tags.map((t) => t.id),
99
107
  categories: revision.categories.map((c) => c.id),
100
- settings: JSON.stringify({
108
+ settings: {
101
109
  ...revision.settings,
102
110
  codes: {
103
111
  scripts: [{ type: "bla" }],
104
112
  structured_data: { type: "article" },
105
113
  },
106
- }),
114
+ },
107
115
  });
108
116
 
109
117
  expect(result).toEqual({
110
118
  assigns: {
111
- code_settings: {
112
- ...updateSettings,
113
- id: revision.id,
114
- originalId: revision.originalId,
119
+ resource: {
120
+ ...revision,
121
+ settings: {
122
+ ...revision.settings,
123
+ codes: {
124
+ scripts: [{ type: "bla" }],
125
+ structured_data: { type: "article" },
126
+ },
127
+ },
115
128
  },
116
129
  errors: {
117
- code_settings: { generalError: "some error" },
130
+ resource: { generalError: "some error" },
118
131
  },
119
132
  _translations: [],
120
133
  },
@@ -7,8 +7,8 @@ import Factory from "../../../support/factory";
7
7
  function buildCtx(revision) {
8
8
  return {
9
9
  client: {
10
- pageRevisions: new PageRevisions({}, "token"),
11
- pages: new Pages({}, "token"),
10
+ pageRevisions: new PageRevisions(() => ({}), "token"),
11
+ pages: new Pages(() => ({}), "token"),
12
12
  },
13
13
  params: { parent_id: revision.id },
14
14
  locale: "en",
@@ -30,15 +30,7 @@ describe("Page revision genereal settings", () => {
30
30
 
31
31
  expect(result).toEqual({
32
32
  assigns: {
33
- general_settings: {
34
- id: revision.id,
35
- originalId: revision.originalId,
36
- title: revision.title,
37
- slug: revision.slug,
38
- visibility: revision.visibility,
39
- username: revision.settings?.credentials?.user || "",
40
- password: revision.settings?.credentials?.password || "",
41
- },
33
+ resource: revision,
42
34
  errors: {},
43
35
  visibilityOptions: ctx.client.pages.visibilityOptions(),
44
36
  _translations: [],
@@ -7,12 +7,12 @@ import Factory from "../../../support/factory";
7
7
  function buildCtx(revision, updateSettings) {
8
8
  return {
9
9
  client: {
10
- pageRevisions: new PageRevisions({}, "token"),
11
- pages: new Pages({}, "token"),
10
+ pageRevisions: new PageRevisions(() => ({}), "token"),
11
+ pages: new Pages(() => ({}), "token"),
12
12
  },
13
13
  params: { parent_id: revision.id },
14
14
  resourceParams: {
15
- general_settings: updateSettings,
15
+ resource: updateSettings,
16
16
  },
17
17
  locale: "en",
18
18
  resourceConfig: {
@@ -30,8 +30,12 @@ describe("Page revision general settings", () => {
30
30
  title: "Updated title",
31
31
  slug: "/updated-url",
32
32
  visibility: "protected",
33
- username: "user",
34
- password: "admin123!@#",
33
+ settings: {
34
+ credentials: {
35
+ user: "user",
36
+ password: "admin123!@#",
37
+ },
38
+ },
35
39
  };
36
40
 
37
41
  const ctx = buildCtx(revision, updateSettings);
@@ -54,16 +58,16 @@ describe("Page revision general settings", () => {
54
58
  slug: updateSettings.slug,
55
59
  title: updateSettings.title,
56
60
  visibility: updateSettings.visibility,
57
- widgets: JSON.stringify(revision.widgets),
61
+ widgets: revision.widgets,
58
62
  tags: revision.tags.map((t) => t.id),
59
63
  categories: revision.categories.map((c) => c.id),
60
- settings: JSON.stringify({
64
+ settings: {
61
65
  ...revision.settings,
62
66
  credentials: {
63
- user: updateSettings.username,
64
- password: updateSettings.password,
67
+ user: updateSettings.settings.credentials.user,
68
+ password: updateSettings.settings.credentials.password,
65
69
  },
66
- }),
70
+ },
67
71
  });
68
72
 
69
73
  expect(result).toEqual({
@@ -78,8 +82,12 @@ describe("Page revision general settings", () => {
78
82
  title: "Updated title",
79
83
  slug: "/updated-url",
80
84
  visibility: "protected",
81
- username: "user",
82
- password: "admin123!@#",
85
+ settings: {
86
+ credentials: {
87
+ user: "user",
88
+ password: "admin123!@#",
89
+ },
90
+ },
83
91
  };
84
92
 
85
93
  const ctx = buildCtx(revision, updateSettings);
@@ -102,27 +110,35 @@ describe("Page revision general settings", () => {
102
110
  slug: updateSettings.slug,
103
111
  title: updateSettings.title,
104
112
  visibility: updateSettings.visibility,
105
- widgets: JSON.stringify(revision.widgets),
113
+ widgets: revision.widgets,
106
114
  tags: revision.tags.map((t) => t.id),
107
115
  categories: revision.categories.map((c) => c.id),
108
- settings: JSON.stringify({
116
+ settings: {
109
117
  ...revision.settings,
110
118
  credentials: {
111
- user: updateSettings.username,
112
- password: updateSettings.password,
119
+ user: updateSettings.settings.credentials.user,
120
+ password: updateSettings.settings.credentials.password,
113
121
  },
114
- }),
122
+ },
115
123
  });
116
124
 
117
125
  expect(result).toEqual({
118
126
  assigns: {
119
- general_settings: {
120
- ...updateSettings,
121
- id: revision.id,
122
- originalId: revision.originalId,
127
+ resource: {
128
+ ...revision,
129
+ title: updateSettings.title,
130
+ slug: updateSettings.slug,
131
+ visibility: updateSettings.visibility,
132
+ settings: {
133
+ ...revision.settings,
134
+ credentials: {
135
+ user: updateSettings.settings.credentials.user,
136
+ password: updateSettings.settings.credentials.password,
137
+ },
138
+ },
123
139
  },
124
140
  errors: {
125
- general_settings: { slug: "has invalid format" },
141
+ resource: { slug: "has invalid format" },
126
142
  },
127
143
  visibilityOptions: ctx.client.pages.visibilityOptions(),
128
144
  _translations: [],
@@ -6,7 +6,7 @@ import Factory from "../../../support/factory";
6
6
  function buildCtx(revision) {
7
7
  return {
8
8
  client: {
9
- pageRevisions: new PageRevisions({}, "token"),
9
+ pageRevisions: new PageRevisions(() => ({}), "token"),
10
10
  },
11
11
  params: { parent_id: revision.id },
12
12
  locale: "en",
@@ -28,13 +28,7 @@ describe("Page revision meta settings", () => {
28
28
 
29
29
  expect(result).toEqual({
30
30
  assigns: {
31
- meta_settings: {
32
- id: revision.id,
33
- originalId: revision.originalId,
34
- title: revision.settings.meta.title,
35
- description: revision.settings.meta.description,
36
- image: revision.settings.meta.image,
37
- },
31
+ resource: revision,
38
32
  errors: {},
39
33
  _translations: [],
40
34
  },
@@ -6,11 +6,11 @@ import Factory from "../../../support/factory";
6
6
  function buildCtx(revision, updateSettings) {
7
7
  return {
8
8
  client: {
9
- pageRevisions: new PageRevisions({}, "token"),
9
+ pageRevisions: new PageRevisions(() => ({}), "token"),
10
10
  },
11
11
  params: { parent_id: revision.id },
12
12
  resourceParams: {
13
- meta_settings: updateSettings,
13
+ resource: updateSettings,
14
14
  },
15
15
  locale: "en",
16
16
  resourceConfig: {
@@ -25,9 +25,13 @@ describe("Page revision meta settings", () => {
25
25
  const revision = Factory.build("page_revision");
26
26
 
27
27
  const updateSettings = {
28
- title: "An open graph title",
29
- description: "An open graph description",
30
- image: JSON.stringify({ id: 42 }),
28
+ settings: {
29
+ meta: {
30
+ title: "An open graph title",
31
+ description: "An open graph description",
32
+ image: JSON.stringify({ id: 42 }),
33
+ },
34
+ },
31
35
  };
32
36
 
33
37
  const ctx = buildCtx(revision, updateSettings);
@@ -50,17 +54,17 @@ describe("Page revision meta settings", () => {
50
54
  slug: revision.slug,
51
55
  title: revision.title,
52
56
  visibility: revision.visibility,
53
- widgets: JSON.stringify(revision.widgets),
57
+ widgets: revision.widgets,
54
58
  tags: revision.tags.map((t) => t.id),
55
59
  categories: revision.categories.map((c) => c.id),
56
- settings: JSON.stringify({
60
+ settings: {
57
61
  ...revision.settings,
58
62
  meta: {
59
- title: updateSettings.title,
60
- description: updateSettings.description,
63
+ title: updateSettings.settings.meta.title,
64
+ description: updateSettings.settings.meta.description,
61
65
  image: { id: 42 },
62
66
  },
63
- }),
67
+ },
64
68
  });
65
69
 
66
70
  expect(result).toEqual({
@@ -72,9 +76,13 @@ describe("Page revision meta settings", () => {
72
76
  const revision = Factory.build("page_revision");
73
77
 
74
78
  const updateSettings = {
75
- title: "An open graph title",
76
- description: "An open graph description",
77
- image: JSON.stringify({ id: 42 }),
79
+ settings: {
80
+ meta: {
81
+ title: "An open graph title",
82
+ description: "An open graph description",
83
+ image: JSON.stringify({ id: 42 }),
84
+ },
85
+ },
78
86
  };
79
87
 
80
88
  const ctx = buildCtx(revision, updateSettings);
@@ -97,28 +105,34 @@ describe("Page revision meta settings", () => {
97
105
  slug: revision.slug,
98
106
  title: revision.title,
99
107
  visibility: revision.visibility,
100
- widgets: JSON.stringify(revision.widgets),
108
+ widgets: revision.widgets,
101
109
  tags: revision.tags.map((t) => t.id),
102
110
  categories: revision.categories.map((c) => c.id),
103
- settings: JSON.stringify({
111
+ settings: {
104
112
  ...revision.settings,
105
113
  meta: {
106
- title: updateSettings.title,
107
- description: updateSettings.description,
114
+ title: updateSettings.settings.meta.title,
115
+ description: updateSettings.settings.meta.description,
108
116
  image: { id: 42 },
109
117
  },
110
- }),
118
+ },
111
119
  });
112
120
 
113
121
  expect(result).toEqual({
114
122
  assigns: {
115
- meta_settings: {
116
- ...updateSettings,
117
- id: revision.id,
118
- originalId: revision.originalId,
123
+ resource: {
124
+ ...revision,
125
+ settings: {
126
+ ...revision.settings,
127
+ meta: {
128
+ title: updateSettings.settings.meta.title,
129
+ description: updateSettings.settings.meta.description,
130
+ image: { id: 42 },
131
+ },
132
+ },
119
133
  },
120
134
  errors: {
121
- meta_settings: { generalError: "some error" },
135
+ resource: { generalError: "some error" },
122
136
  },
123
137
  _translations: [],
124
138
  },
@@ -6,7 +6,7 @@ import Factory from "../../../support/factory";
6
6
  function buildCtx(pageID) {
7
7
  return {
8
8
  client: {
9
- pageRevisions: new PageRevisions({}, "token"),
9
+ pageRevisions: new PageRevisions(() => ({}), "token"),
10
10
  },
11
11
  params: { parent_id: pageID },
12
12
  locale: "en",
@@ -6,7 +6,7 @@ import Factory from "../../../support/factory";
6
6
  function buildCtx(revisionID) {
7
7
  return {
8
8
  client: {
9
- pageRevisions: new PageRevisions({}, "token"),
9
+ pageRevisions: new PageRevisions(() => ({}), "token"),
10
10
  },
11
11
  params: { id: revisionID },
12
12
  locale: "en",
@@ -7,8 +7,8 @@ import Factory from "../../../support/factory";
7
7
  function buildCtx(revision, resourceParams) {
8
8
  return {
9
9
  client: {
10
- pageRevisions: new PageRevisions({}, "token"),
11
- pages: new Pages({}, "token"),
10
+ pageRevisions: new PageRevisions(() => ({}), "token"),
11
+ pages: new Pages(() => ({}), "token"),
12
12
  },
13
13
  params: { parent_id: revision.id },
14
14
  resourceParams,
@@ -7,8 +7,8 @@ import Factory from "../../../support/factory";
7
7
  function buildCtx(revision) {
8
8
  return {
9
9
  client: {
10
- pageRevisions: new PageRevisions({}, "token"),
11
- pages: new Pages({}, "token"),
10
+ pageRevisions: new PageRevisions(() => ({}), "token"),
11
+ pages: new Pages(() => ({}), "token"),
12
12
  },
13
13
  params: { parent_id: revision.id },
14
14
  locale: "en",
@@ -4,7 +4,7 @@ import PageRevisions from "../../../../cloud/PageRevisions";
4
4
  function buildCtx(pageID, version) {
5
5
  return {
6
6
  client: {
7
- pageRevisions: new PageRevisions({}, "token"),
7
+ pageRevisions: new PageRevisions(() => ({}), "token"),
8
8
  },
9
9
  params: { parent_id: pageID },
10
10
  resourceParams: { version },
@@ -7,8 +7,8 @@ import Factory from "../../../support/factory";
7
7
  function buildCtx(revision) {
8
8
  return {
9
9
  client: {
10
- pageRevisions: new PageRevisions({}, "token"),
11
- tags: new Tags({}, "token"),
10
+ pageRevisions: new PageRevisions(() => ({}), "token"),
11
+ tags: new Tags(() => ({}), "token"),
12
12
  },
13
13
  params: { parent_id: revision.id },
14
14
  locale: "en",
@@ -41,11 +41,7 @@ describe("Page revision tags settings", () => {
41
41
 
42
42
  expect(result).toEqual({
43
43
  assigns: {
44
- tag_settings: {
45
- id: revision.id,
46
- originalId: revision.originalId,
47
- tags: revision.tags.map((t) => t.id),
48
- },
44
+ resource: revision,
49
45
  tags: tags,
50
46
  errors: {},
51
47
  _translations: [],
@@ -7,12 +7,12 @@ import Factory from "../../../support/factory";
7
7
  function buildCtx(revision, updateSettings) {
8
8
  return {
9
9
  client: {
10
- pageRevisions: new PageRevisions({}, "token"),
11
- tags: new Tags({}, "token"),
10
+ pageRevisions: new PageRevisions(() => ({}), "token"),
11
+ tags: new Tags(() => ({}), "token"),
12
12
  },
13
13
  params: { parent_id: revision.id },
14
14
  resourceParams: {
15
- tag_settings: updateSettings,
15
+ resource: updateSettings,
16
16
  },
17
17
  locale: "en",
18
18
  resourceConfig: {
@@ -54,10 +54,10 @@ describe("Page revision tags settings", () => {
54
54
  slug: revision.slug,
55
55
  title: revision.title,
56
56
  visibility: revision.visibility,
57
- widgets: JSON.stringify(revision.widgets),
57
+ widgets: revision.widgets,
58
58
  tags: updateSettings.tags,
59
59
  categories: revision.categories.map((c) => c.id),
60
- settings: JSON.stringify(revision.settings),
60
+ settings: revision.settings,
61
61
  });
62
62
 
63
63
  expect(result).toEqual({
@@ -102,22 +102,21 @@ describe("Page revision tags settings", () => {
102
102
  slug: revision.slug,
103
103
  title: revision.title,
104
104
  visibility: revision.visibility,
105
- widgets: JSON.stringify(revision.widgets),
105
+ widgets: revision.widgets,
106
106
  tags: updateSettings.tags,
107
107
  categories: revision.categories.map((c) => c.id),
108
- settings: JSON.stringify(revision.settings),
108
+ settings: revision.settings,
109
109
  });
110
110
  expect(mockTags).toHaveBeenCalledWith("en");
111
111
 
112
112
  expect(result).toEqual({
113
113
  assigns: {
114
- tag_settings: {
115
- ...updateSettings,
116
- id: revision.id,
117
- originalId: revision.originalId,
114
+ resource: {
115
+ ...revision,
116
+ tags: updateSettings.tags,
118
117
  },
119
118
  errors: {
120
- tag_settings: { generalError: "some error" },
119
+ resource: { generalError: "some error" },
121
120
  },
122
121
  tags: tags,
123
122
  _translations: [],
@@ -6,7 +6,7 @@ import Factory from "../../../support/factory";
6
6
  function buildCtx(revision) {
7
7
  return {
8
8
  client: {
9
- pageRevisions: new PageRevisions({}, "token"),
9
+ pageRevisions: new PageRevisions(() => ({}), "token"),
10
10
  },
11
11
  params: { parent_id: revision.id },
12
12
  locale: "en",
@@ -15,7 +15,14 @@ function buildCtx(revision) {
15
15
 
16
16
  describe("Page revision visuals settings", () => {
17
17
  test("edit_form when a revision exists", async () => {
18
- const revision = Factory.build("page_revision");
18
+ const revision = Factory.build("page_revision", {
19
+ settings: {
20
+ layout: "default",
21
+ meta: {
22
+ title: "Meta title",
23
+ },
24
+ },
25
+ });
19
26
  const ctx = buildCtx(revision);
20
27
 
21
28
  const mockFind = jest
@@ -28,11 +35,7 @@ describe("Page revision visuals settings", () => {
28
35
 
29
36
  expect(result).toEqual({
30
37
  assigns: {
31
- visual_settings: {
32
- id: revision.id,
33
- originalId: revision.originalId,
34
- layout: revision.settings.layout,
35
- },
38
+ resource: revision,
36
39
  errors: {},
37
40
  _translations: [],
38
41
  },
@@ -6,11 +6,11 @@ import Factory from "../../../support/factory";
6
6
  function buildCtx(revision, updateSettings) {
7
7
  return {
8
8
  client: {
9
- pageRevisions: new PageRevisions({}, "token"),
9
+ pageRevisions: new PageRevisions(() => ({}), "token"),
10
10
  },
11
11
  params: { parent_id: revision.id },
12
12
  resourceParams: {
13
- visual_settings: updateSettings,
13
+ resource: updateSettings,
14
14
  },
15
15
  locale: "en",
16
16
  resourceConfig: {
@@ -25,7 +25,9 @@ describe("Page revision visuals settings", () => {
25
25
  const revision = Factory.build("page_revision");
26
26
 
27
27
  const updateSettings = {
28
- layout: "bla",
28
+ settings: {
29
+ layout: "bla",
30
+ },
29
31
  };
30
32
 
31
33
  const ctx = buildCtx(revision, updateSettings);
@@ -48,13 +50,13 @@ describe("Page revision visuals settings", () => {
48
50
  slug: revision.slug,
49
51
  title: revision.title,
50
52
  visibility: revision.visibility,
51
- widgets: JSON.stringify(revision.widgets),
53
+ widgets: revision.widgets,
52
54
  tags: revision.tags.map((t) => t.id),
53
55
  categories: revision.categories.map((c) => c.id),
54
- settings: JSON.stringify({
56
+ settings: {
55
57
  ...revision.settings,
56
- layout: updateSettings.layout,
57
- }),
58
+ layout: "bla",
59
+ },
58
60
  });
59
61
 
60
62
  expect(result).toEqual({
@@ -66,7 +68,9 @@ describe("Page revision visuals settings", () => {
66
68
  const revision = Factory.build("page_revision");
67
69
 
68
70
  const updateSettings = {
69
- layout: "bla",
71
+ settings: {
72
+ layout: "bla",
73
+ },
70
74
  };
71
75
 
72
76
  const ctx = buildCtx(revision, updateSettings);
@@ -89,24 +93,26 @@ describe("Page revision visuals settings", () => {
89
93
  slug: revision.slug,
90
94
  title: revision.title,
91
95
  visibility: revision.visibility,
92
- widgets: JSON.stringify(revision.widgets),
96
+ widgets: revision.widgets,
93
97
  tags: revision.tags.map((t) => t.id),
94
98
  categories: revision.categories.map((c) => c.id),
95
- settings: JSON.stringify({
99
+ settings: {
96
100
  ...revision.settings,
97
- layout: updateSettings.layout,
98
- }),
101
+ layout: "bla",
102
+ },
99
103
  });
100
104
 
101
105
  expect(result).toEqual({
102
106
  assigns: {
103
- visual_settings: {
104
- ...updateSettings,
105
- id: revision.id,
106
- originalId: revision.originalId,
107
+ resource: {
108
+ ...revision,
109
+ settings: {
110
+ ...revision.settings,
111
+ layout: "bla",
112
+ },
107
113
  },
108
114
  errors: {
109
- visual_settings: { generalError: "some error" },
115
+ resource: { generalError: "some error" },
110
116
  },
111
117
  _translations: [],
112
118
  },
@@ -7,8 +7,8 @@ import Factory from "../../../support/factory";
7
7
  function buildCtx(revision) {
8
8
  return {
9
9
  client: {
10
- pageRevisions: new PageRevisions({}, "token"),
11
- settings: new Settings({}, "token"),
10
+ pageRevisions: new PageRevisions(() => ({}), "token"),
11
+ settings: new Settings(() => ({}), "token"),
12
12
  },
13
13
  params: { parent_id: revision.id },
14
14
  locale: "en",
@@ -7,8 +7,8 @@ import Factory from "../../../support/factory";
7
7
  function buildCtx(revision, newWidgets) {
8
8
  return {
9
9
  client: {
10
- pageRevisions: new PageRevisions({}, "token"),
11
- settings: new Settings({}, "token"),
10
+ pageRevisions: new PageRevisions(() => ({}), "token"),
11
+ settings: new Settings(() => ({}), "token"),
12
12
  },
13
13
  params: { parent_id: revision.id },
14
14
  resourceParams: {