@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,7 +6,7 @@ import { remoteConfig } from "../../../support/handlersHelper";
6
6
  function buildCtx(article) {
7
7
  return {
8
8
  client: {
9
- articles: new Articles({}, "token"),
9
+ articles: new Articles(() => ({}), "token"),
10
10
  },
11
11
  params: { parent_id: article.id },
12
12
  locale: "en",
@@ -33,7 +33,7 @@ describe("Article delete", () => {
33
33
 
34
34
  expect(result).toEqual({
35
35
  assigns: {
36
- deleteAction: {
36
+ resource: {
37
37
  id: article.id,
38
38
  redirect: "",
39
39
  },
@@ -6,11 +6,11 @@ import { remoteConfig } from "../../../support/handlersHelper";
6
6
  function buildCtx(article, updateSettings) {
7
7
  return {
8
8
  client: {
9
- articles: new Articles({}, "token"),
9
+ articles: new Articles(() => ({}), "token"),
10
10
  },
11
11
  params: { parent_id: article.id },
12
12
  resourceParams: {
13
- change: updateSettings,
13
+ resource: updateSettings,
14
14
  },
15
15
  locale: "en",
16
16
  remoteConfig: remoteConfig(),
@@ -88,8 +88,8 @@ describe("Article change url", () => {
88
88
 
89
89
  expect(result).toEqual({
90
90
  assigns: {
91
- change: { ...updateSettings, id: article.id },
92
- errors: { change: { slug: "has already been taken" } },
91
+ resource: { ...updateSettings, id: article.id },
92
+ errors: { resource: { slug: "has already been taken" } },
93
93
  _translations: [],
94
94
  },
95
95
  });
@@ -137,8 +137,8 @@ describe("Article change url", () => {
137
137
 
138
138
  expect(result).toEqual({
139
139
  assigns: {
140
- change: { ...updateSettings, id: article.id },
141
- errors: { change: { redirect: "url: has already been taken" } },
140
+ resource: { ...updateSettings, id: article.id },
141
+ errors: { resource: { redirect: "url: has already been taken" } },
142
142
  _translations: [],
143
143
  },
144
144
  });
@@ -5,7 +5,7 @@ import Factory from "../../../support/factory";
5
5
  function buildCtx(article) {
6
6
  return {
7
7
  client: {
8
- articles: new Articles({}, "token"),
8
+ articles: new Articles(() => ({}), "token"),
9
9
  },
10
10
  params: { parent_id: article.id },
11
11
  locale: "en",
@@ -31,7 +31,7 @@ describe("Article change url", () => {
31
31
 
32
32
  expect(result).toEqual({
33
33
  assigns: {
34
- change: { slug: article.slug, id: article.id, redirect: null },
34
+ resource: { slug: article.slug, id: article.id, redirect: null },
35
35
  errors: {},
36
36
  _translations: [],
37
37
  },
@@ -6,7 +6,7 @@ import Factory from "../../../support/factory";
6
6
  function buildCtx(revision) {
7
7
  return {
8
8
  client: {
9
- eventRevisions: new EventRevisions({}, "token"),
9
+ eventRevisions: new EventRevisions(() => ({}), "token"),
10
10
  },
11
11
  params: { parent_id: revision.id },
12
12
  locale: "en",
@@ -15,7 +15,11 @@ function buildCtx(revision) {
15
15
 
16
16
  describe("Event revision code settings", () => {
17
17
  test("edit_form when a revision exists", async () => {
18
- const revision = Factory.build("event_revision");
18
+ const revision = Factory.build("event_revision", {
19
+ publishAt: "2024-10-10T07:00:00Z",
20
+ startsAt: "2024-10-10T07:05:00Z",
21
+ endsAt: "2024-10-10T07:10:00Z",
22
+ });
19
23
  const ctx = buildCtx(revision);
20
24
 
21
25
  const mockFind = jest
@@ -28,11 +32,11 @@ describe("Event revision code settings", () => {
28
32
 
29
33
  expect(result).toEqual({
30
34
  assigns: {
31
- code_settings: {
32
- id: revision.id,
33
- originalId: revision.originalId,
34
- scripts: JSON.stringify([]),
35
- structured_data: JSON.stringify({}),
35
+ resource: {
36
+ ...revision,
37
+ publishAt: "2024-10-10T07:00:00",
38
+ startsAt: "2024-10-10T07:05:00",
39
+ endsAt: "2024-10-10T07:10:00",
36
40
  },
37
41
  errors: {},
38
42
  _translations: [],
@@ -6,11 +6,11 @@ import Factory from "../../../support/factory";
6
6
  function buildCtx(revision, updateSettings) {
7
7
  return {
8
8
  client: {
9
- eventRevisions: new EventRevisions({}, "token"),
9
+ eventRevisions: new EventRevisions(() => ({}), "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: {
@@ -22,11 +22,19 @@ function buildCtx(revision, updateSettings) {
22
22
 
23
23
  describe("Event revision code settings", () => {
24
24
  test("update successful", async () => {
25
- const revision = Factory.build("event_revision");
25
+ const revision = Factory.build("event_revision", {
26
+ publishAt: "2024-10-10T07:00:00Z",
27
+ startsAt: "2024-10-10T07:05:00Z",
28
+ endsAt: "2024-10-10T07:10:00Z",
29
+ });
26
30
 
27
31
  const updateSettings = {
28
- scripts: JSON.stringify([{ type: "bla" }]),
29
- structured_data: JSON.stringify({ type: "event" }),
32
+ settings: {
33
+ codes: {
34
+ scripts: JSON.stringify([{ type: "bla" }]),
35
+ structured_data: JSON.stringify({ type: "event" }),
36
+ },
37
+ },
30
38
  };
31
39
 
32
40
  const ctx = buildCtx(revision, updateSettings);
@@ -52,16 +60,16 @@ describe("Event revision code settings", () => {
52
60
  publishAt: revision.publishAt,
53
61
  startsAt: revision.startsAt,
54
62
  endsAt: revision.endsAt,
55
- widgets: JSON.stringify(revision.widgets),
63
+ widgets: revision.widgets,
56
64
  tags: revision.tags.map((t) => t.id),
57
65
  categories: revision.categories.map((c) => c.id),
58
- settings: JSON.stringify({
66
+ settings: {
59
67
  ...revision.settings,
60
68
  codes: {
61
69
  scripts: [{ type: "bla" }],
62
70
  structured_data: { type: "event" },
63
71
  },
64
- }),
72
+ },
65
73
  });
66
74
 
67
75
  expect(result).toEqual({
@@ -70,11 +78,19 @@ describe("Event revision code settings", () => {
70
78
  });
71
79
 
72
80
  test("update failed", async () => {
73
- const revision = Factory.build("event_revision");
81
+ const revision = Factory.build("event_revision", {
82
+ publishAt: "2024-10-10T07:00:00Z",
83
+ startsAt: "2024-10-10T07:05:00Z",
84
+ endsAt: "2024-10-10T07:10:00Z",
85
+ });
74
86
 
75
87
  const updateSettings = {
76
- scripts: JSON.stringify([{ type: "bla" }]),
77
- structured_data: JSON.stringify({ type: "event" }),
88
+ settings: {
89
+ codes: {
90
+ scripts: JSON.stringify([{ type: "bla" }]),
91
+ structured_data: JSON.stringify({ type: "event" }),
92
+ },
93
+ },
78
94
  };
79
95
 
80
96
  const ctx = buildCtx(revision, updateSettings);
@@ -100,27 +116,35 @@ describe("Event revision code settings", () => {
100
116
  publishAt: revision.publishAt,
101
117
  startsAt: revision.startsAt,
102
118
  endsAt: revision.endsAt,
103
- widgets: JSON.stringify(revision.widgets),
119
+ widgets: revision.widgets,
104
120
  tags: revision.tags.map((t) => t.id),
105
121
  categories: revision.categories.map((c) => c.id),
106
- settings: JSON.stringify({
122
+ settings: {
107
123
  ...revision.settings,
108
124
  codes: {
109
125
  scripts: [{ type: "bla" }],
110
126
  structured_data: { type: "event" },
111
127
  },
112
- }),
128
+ },
113
129
  });
114
130
 
115
131
  expect(result).toEqual({
116
132
  assigns: {
117
- code_settings: {
118
- ...updateSettings,
119
- id: revision.id,
120
- originalId: revision.originalId,
133
+ resource: {
134
+ ...revision,
135
+ publishAt: "2024-10-10T07:00:00",
136
+ startsAt: "2024-10-10T07:05:00",
137
+ endsAt: "2024-10-10T07:10:00",
138
+ settings: {
139
+ ...revision.settings,
140
+ codes: {
141
+ scripts: [{ type: "bla" }],
142
+ structured_data: { type: "event" },
143
+ },
144
+ },
121
145
  },
122
146
  errors: {
123
- code_settings: { generalError: "some error" },
147
+ resource: { generalError: "some error" },
124
148
  },
125
149
  _translations: [],
126
150
  },
@@ -6,7 +6,7 @@ import Factory from "../../../support/factory";
6
6
  function buildCtx(eventID) {
7
7
  return {
8
8
  client: {
9
- eventRevisions: new EventRevisions({}, "token"),
9
+ eventRevisions: new EventRevisions(() => ({}), "token"),
10
10
  },
11
11
  params: { parent_id: eventID },
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
- eventRevisions: new EventRevisions({}, "token"),
9
+ eventRevisions: new EventRevisions(() => ({}), "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) {
8
8
  return {
9
9
  client: {
10
- eventRevisions: new EventRevisions({}, "token"),
11
- events: new Events({}, "token"),
10
+ eventRevisions: new EventRevisions(() => ({}), "token"),
11
+ events: new Events(() => ({}), "token"),
12
12
  },
13
13
  params: { parent_id: revision.id },
14
14
  locale: "en",
@@ -34,17 +34,11 @@ describe("Event revision genereal settings", () => {
34
34
 
35
35
  expect(result).toEqual({
36
36
  assigns: {
37
- general_settings: {
38
- id: revision.id,
39
- originalId: revision.originalId,
40
- title: revision.title,
41
- slug: revision.slug,
42
- visibility: revision.visibility,
43
- publish_at: "2024-08-30T19:05:00",
44
- starts_at: "2024-08-30T19:10:00",
45
- ends_at: "2024-08-30T19:15:00",
46
- username: revision.settings?.credentials?.user || "",
47
- password: revision.settings?.credentials?.password || "",
37
+ resource: {
38
+ ...revision,
39
+ publishAt: "2024-08-30T19:05:00",
40
+ startsAt: "2024-08-30T19:10:00",
41
+ endsAt: "2024-08-30T19:15:00",
48
42
  },
49
43
  errors: {},
50
44
  visibilityOptions: ctx.client.events.visibilityOptions(),
@@ -7,12 +7,12 @@ import Factory from "../../../support/factory";
7
7
  function buildCtx(revision, updateSettings) {
8
8
  return {
9
9
  client: {
10
- eventRevisions: new EventRevisions({}, "token"),
11
- events: new Events({}, "token"),
10
+ eventRevisions: new EventRevisions(() => ({}), "token"),
11
+ events: new Events(() => ({}), "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,11 +30,15 @@ describe("Event revision general settings", () => {
30
30
  title: "Updated title",
31
31
  slug: "/updated-url",
32
32
  visibility: "protected",
33
- publish_at: "2024-08-30T19:05",
34
- starts_at: "2024-08-30T19:10",
35
- ends_at: "2024-08-30T19:15",
36
- username: "user",
37
- password: "admin123!@#",
33
+ publishAt: "2024-08-30T19:05",
34
+ startsAt: "2024-08-30T19:10",
35
+ endsAt: "2024-08-30T19:15",
36
+ settings: {
37
+ credentials: {
38
+ username: "user",
39
+ password: "admin123!@#",
40
+ },
41
+ },
38
42
  };
39
43
 
40
44
  const ctx = buildCtx(revision, updateSettings);
@@ -60,16 +64,13 @@ describe("Event revision general settings", () => {
60
64
  publishAt: "2024-08-30T19:05:00Z",
61
65
  startsAt: "2024-08-30T19:10:00Z",
62
66
  endsAt: "2024-08-30T19:15:00Z",
63
- widgets: JSON.stringify(revision.widgets),
67
+ widgets: revision.widgets,
64
68
  tags: revision.tags.map((t) => t.id),
65
69
  categories: revision.categories.map((c) => c.id),
66
- settings: JSON.stringify({
70
+ settings: {
67
71
  ...revision.settings,
68
- credentials: {
69
- user: updateSettings.username,
70
- password: updateSettings.password,
71
- },
72
- }),
72
+ ...updateSettings.settings,
73
+ },
73
74
  });
74
75
 
75
76
  expect(result).toEqual({
@@ -84,11 +85,15 @@ describe("Event revision general settings", () => {
84
85
  title: "Updated title",
85
86
  slug: "/updated-url",
86
87
  visibility: "protected",
87
- publish_at: "2024-08-30T19:05",
88
- starts_at: "2024-08-30T19:10",
89
- ends_at: "2024-08-30T19:15",
90
- username: "user",
91
- password: "admin123!@#",
88
+ publishAt: "2024-08-30T19:05",
89
+ startsAt: "2024-08-30T19:10",
90
+ endsAt: "2024-08-30T19:15",
91
+ settings: {
92
+ credentials: {
93
+ username: "user",
94
+ password: "admin123!@#",
95
+ },
96
+ },
92
97
  };
93
98
 
94
99
  const ctx = buildCtx(revision, updateSettings);
@@ -114,27 +119,32 @@ describe("Event revision general settings", () => {
114
119
  publishAt: "2024-08-30T19:05:00Z",
115
120
  startsAt: "2024-08-30T19:10:00Z",
116
121
  endsAt: "2024-08-30T19:15:00Z",
117
- widgets: JSON.stringify(revision.widgets),
122
+ widgets: revision.widgets,
118
123
  tags: revision.tags.map((t) => t.id),
119
124
  categories: revision.categories.map((c) => c.id),
120
- settings: JSON.stringify({
125
+ settings: {
121
126
  ...revision.settings,
122
- credentials: {
123
- user: updateSettings.username,
124
- password: updateSettings.password,
125
- },
126
- }),
127
+ ...updateSettings.settings,
128
+ },
127
129
  });
128
130
 
129
131
  expect(result).toEqual({
130
132
  assigns: {
131
- general_settings: {
132
- ...updateSettings,
133
- id: revision.id,
134
- originalId: revision.originalId,
133
+ resource: {
134
+ ...revision,
135
+ slug: updateSettings.slug,
136
+ title: updateSettings.title,
137
+ visibility: updateSettings.visibility,
138
+ settings: {
139
+ ...revision.settings,
140
+ ...updateSettings.settings,
141
+ },
142
+ publishAt: "2024-08-30T19:05:00",
143
+ startsAt: "2024-08-30T19:10:00",
144
+ endsAt: "2024-08-30T19:15:00",
135
145
  },
136
146
  errors: {
137
- general_settings: { slug: "has invalid format" },
147
+ resource: { slug: "has invalid format" },
138
148
  },
139
149
  visibilityOptions: ctx.client.events.visibilityOptions(),
140
150
  _translations: [],
@@ -6,7 +6,7 @@ import Factory from "../../../support/factory";
6
6
  function buildCtx(revision) {
7
7
  return {
8
8
  client: {
9
- eventRevisions: new EventRevisions({}, "token"),
9
+ eventRevisions: new EventRevisions(() => ({}), "token"),
10
10
  },
11
11
  params: { parent_id: revision.id },
12
12
  locale: "en",
@@ -15,7 +15,11 @@ function buildCtx(revision) {
15
15
 
16
16
  describe("Event revision meta settings", () => {
17
17
  test("edit_form when a revision exists", async () => {
18
- const revision = Factory.build("event_revision");
18
+ const revision = Factory.build("event_revision", {
19
+ publishAt: "2024-10-10T07:05:00Z",
20
+ startsAt: "2024-10-10T07:15:00Z",
21
+ endsAt: "2024-10-10T07:25:00Z",
22
+ });
19
23
  const ctx = buildCtx(revision);
20
24
 
21
25
  const mockFind = jest
@@ -28,12 +32,11 @@ describe("Event revision meta settings", () => {
28
32
 
29
33
  expect(result).toEqual({
30
34
  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,
35
+ resource: {
36
+ ...revision,
37
+ publishAt: "2024-10-10T07:05:00",
38
+ startsAt: "2024-10-10T07:15:00",
39
+ endsAt: "2024-10-10T07:25:00",
37
40
  },
38
41
  errors: {},
39
42
  _translations: [],
@@ -6,11 +6,11 @@ import Factory from "../../../support/factory";
6
6
  function buildCtx(revision, updateSettings) {
7
7
  return {
8
8
  client: {
9
- eventRevisions: new EventRevisions({}, "token"),
9
+ eventRevisions: new EventRevisions(() => ({}), "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: {
@@ -22,12 +22,20 @@ function buildCtx(revision, updateSettings) {
22
22
 
23
23
  describe("Event revision meta settings", () => {
24
24
  test("update successful", async () => {
25
- const revision = Factory.build("event_revision");
25
+ const revision = Factory.build("event_revision", {
26
+ publishAt: "2024-10-10T07:05:00Z",
27
+ startsAt: "2024-10-10T07:15:00Z",
28
+ endsAt: "2024-10-10T07:25:00Z",
29
+ });
26
30
 
27
31
  const updateSettings = {
28
- title: "An open graph title",
29
- description: "An open graph description",
30
- image: JSON.stringify({ id: 42 }),
32
+ settings: {
33
+ meta: {
34
+ title: "An open graph title",
35
+ description: "An open graph description",
36
+ image: JSON.stringify({ id: 42 }),
37
+ },
38
+ },
31
39
  };
32
40
 
33
41
  const ctx = buildCtx(revision, updateSettings);
@@ -53,17 +61,16 @@ describe("Event revision meta settings", () => {
53
61
  publishAt: revision.publishAt,
54
62
  startsAt: revision.startsAt,
55
63
  endsAt: revision.endsAt,
56
- widgets: JSON.stringify(revision.widgets),
64
+ widgets: revision.widgets,
57
65
  tags: revision.tags.map((t) => t.id),
58
66
  categories: revision.categories.map((c) => c.id),
59
- settings: JSON.stringify({
67
+ settings: {
60
68
  ...revision.settings,
61
69
  meta: {
62
- title: updateSettings.title,
63
- description: updateSettings.description,
70
+ ...updateSettings.settings.meta,
64
71
  image: { id: 42 },
65
72
  },
66
- }),
73
+ },
67
74
  });
68
75
 
69
76
  expect(result).toEqual({
@@ -72,12 +79,20 @@ describe("Event revision meta settings", () => {
72
79
  });
73
80
 
74
81
  test("update failed", async () => {
75
- const revision = Factory.build("event_revision");
82
+ const revision = Factory.build("event_revision", {
83
+ publishAt: "2024-10-10T07:05:00",
84
+ startsAt: "2024-10-10T07:15:00",
85
+ endsAt: "2024-10-10T07:25:00",
86
+ });
76
87
 
77
88
  const updateSettings = {
78
- title: "An open graph title",
79
- description: "An open graph description",
80
- image: JSON.stringify({ id: 42 }),
89
+ settings: {
90
+ meta: {
91
+ title: "An open graph title",
92
+ description: "An open graph description",
93
+ image: JSON.stringify({ id: 42 }),
94
+ },
95
+ },
81
96
  };
82
97
 
83
98
  const ctx = buildCtx(revision, updateSettings);
@@ -103,28 +118,35 @@ describe("Event revision meta settings", () => {
103
118
  publishAt: revision.publishAt,
104
119
  startsAt: revision.startsAt,
105
120
  endsAt: revision.endsAt,
106
- widgets: JSON.stringify(revision.widgets),
121
+ widgets: revision.widgets,
107
122
  tags: revision.tags.map((t) => t.id),
108
123
  categories: revision.categories.map((c) => c.id),
109
- settings: JSON.stringify({
124
+ settings: {
110
125
  ...revision.settings,
111
126
  meta: {
112
- title: updateSettings.title,
113
- description: updateSettings.description,
127
+ ...updateSettings.settings.meta,
114
128
  image: { id: 42 },
115
129
  },
116
- }),
130
+ },
117
131
  });
118
132
 
119
133
  expect(result).toEqual({
120
134
  assigns: {
121
- meta_settings: {
122
- ...updateSettings,
123
- id: revision.id,
124
- originalId: revision.originalId,
135
+ resource: {
136
+ ...revision,
137
+ publishAt: "2024-10-10T07:05:00",
138
+ startsAt: "2024-10-10T07:15:00",
139
+ endsAt: "2024-10-10T07:25:00",
140
+ settings: {
141
+ ...revision.settings,
142
+ meta: {
143
+ ...updateSettings.settings.meta,
144
+ image: { id: 42 },
145
+ },
146
+ },
125
147
  },
126
148
  errors: {
127
- meta_settings: { generalError: "some error" },
149
+ resource: { generalError: "some error" },
128
150
  },
129
151
  _translations: [],
130
152
  },
@@ -7,8 +7,8 @@ import Factory from "../../../support/factory";
7
7
  function buildCtx(revision, resourceParams) {
8
8
  return {
9
9
  client: {
10
- eventRevisions: new EventRevisions({}, "token"),
11
- events: new Events({}, "token"),
10
+ eventRevisions: new EventRevisions(() => ({}), "token"),
11
+ events: new Events(() => ({}), "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
- eventRevisions: new EventRevisions({}, "token"),
11
- events: new Events({}, "token"),
10
+ eventRevisions: new EventRevisions(() => ({}), "token"),
11
+ events: new Events(() => ({}), "token"),
12
12
  },
13
13
  params: { parent_id: revision.id },
14
14
  locale: "en",
@@ -4,7 +4,7 @@ import EventRevisions from "../../../../cloud/EventRevisions";
4
4
  function buildCtx(eventID, version) {
5
5
  return {
6
6
  client: {
7
- eventRevisions: new EventRevisions({}, "token"),
7
+ eventRevisions: new EventRevisions(() => ({}), "token"),
8
8
  },
9
9
  params: { parent_id: eventID },
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
- eventRevisions: new EventRevisions({}, "token"),
11
- tags: new Tags({}, "token"),
10
+ eventRevisions: new EventRevisions(() => ({}), "token"),
11
+ tags: new Tags(() => ({}), "token"),
12
12
  },
13
13
  params: { parent_id: revision.id },
14
14
  locale: "en",
@@ -21,7 +21,12 @@ describe("Event revision tags settings", () => {
21
21
  Factory.build("tag", { id: 42 }),
22
22
  Factory.build("tag", { id: 69 }),
23
23
  ];
24
- const revision = Factory.build("event_revision", { tags: [tags[0]] });
24
+ const revision = Factory.build("event_revision", {
25
+ tags: [tags[0]],
26
+ publishAt: "2024-10-10T07:00:00Z",
27
+ startsAt: "2024-10-10T07:05:00Z",
28
+ endsAt: "2024-10-10T07:15:00Z",
29
+ });
25
30
  const ctx = buildCtx(revision);
26
31
 
27
32
  const mockFind = jest
@@ -41,10 +46,12 @@ describe("Event revision tags settings", () => {
41
46
 
42
47
  expect(result).toEqual({
43
48
  assigns: {
44
- tag_settings: {
45
- id: revision.id,
46
- originalId: revision.originalId,
47
- tags: revision.tags.map((t) => t.id),
49
+ resource: {
50
+ ...revision,
51
+ publishAt: "2024-10-10T07:00:00",
52
+ startsAt: "2024-10-10T07:05:00",
53
+ endsAt: "2024-10-10T07:15:00",
54
+ tags: [tags[0].id],
48
55
  },
49
56
  tags: tags,
50
57
  errors: {},