@prismicio/e2e-tests-utils 1.18.0 → 1.19.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.
Files changed (159) hide show
  1. package/README.md +24 -27
  2. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  3. package/dist/clients/apiClient.cjs +38 -38
  4. package/dist/clients/apiClient.cjs.map +1 -1
  5. package/dist/clients/apiClient.d.cts +30 -0
  6. package/dist/clients/apiClient.d.cts.map +1 -0
  7. package/dist/clients/apiClient.d.ts +23 -23
  8. package/dist/clients/apiClient.d.ts.map +1 -0
  9. package/dist/clients/apiClient.js +38 -38
  10. package/dist/clients/apiClient.js.map +1 -1
  11. package/dist/clients/assetApi.cjs +81 -93
  12. package/dist/clients/assetApi.cjs.map +1 -1
  13. package/dist/clients/assetApi.d.cts +105 -0
  14. package/dist/clients/assetApi.d.cts.map +1 -0
  15. package/dist/clients/assetApi.d.ts +96 -97
  16. package/dist/clients/assetApi.d.ts.map +1 -0
  17. package/dist/clients/assetApi.js +79 -91
  18. package/dist/clients/assetApi.js.map +1 -1
  19. package/dist/clients/authenticationApi.cjs +66 -73
  20. package/dist/clients/authenticationApi.cjs.map +1 -1
  21. package/dist/clients/authenticationApi.d.cts +20 -0
  22. package/dist/clients/authenticationApi.d.cts.map +1 -0
  23. package/dist/clients/authenticationApi.d.ts +18 -13
  24. package/dist/clients/authenticationApi.d.ts.map +1 -0
  25. package/dist/clients/authenticationApi.js +65 -72
  26. package/dist/clients/authenticationApi.js.map +1 -1
  27. package/dist/clients/contentApi.cjs +94 -103
  28. package/dist/clients/contentApi.cjs.map +1 -1
  29. package/dist/clients/contentApi.d.cts +116 -0
  30. package/dist/clients/contentApi.d.cts.map +1 -0
  31. package/dist/clients/contentApi.d.ts +102 -98
  32. package/dist/clients/contentApi.d.ts.map +1 -0
  33. package/dist/clients/contentApi.js +94 -103
  34. package/dist/clients/contentApi.js.map +1 -1
  35. package/dist/clients/coreApi.cjs +123 -145
  36. package/dist/clients/coreApi.cjs.map +1 -1
  37. package/dist/clients/coreApi.d.cts +122 -0
  38. package/dist/clients/coreApi.d.cts.map +1 -0
  39. package/dist/clients/coreApi.d.ts +111 -109
  40. package/dist/clients/coreApi.d.ts.map +1 -0
  41. package/dist/clients/coreApi.js +122 -144
  42. package/dist/clients/coreApi.js.map +1 -1
  43. package/dist/clients/customTypesApi.cjs +90 -99
  44. package/dist/clients/customTypesApi.cjs.map +1 -1
  45. package/dist/clients/customTypesApi.d.cts +46 -0
  46. package/dist/clients/customTypesApi.d.cts.map +1 -0
  47. package/dist/clients/customTypesApi.d.ts +45 -45
  48. package/dist/clients/customTypesApi.d.ts.map +1 -0
  49. package/dist/clients/customTypesApi.js +87 -98
  50. package/dist/clients/customTypesApi.js.map +1 -1
  51. package/dist/clients/integrationFields.cjs +96 -87
  52. package/dist/clients/integrationFields.cjs.map +1 -1
  53. package/dist/clients/integrationFields.d.cts +30 -0
  54. package/dist/clients/integrationFields.d.cts.map +1 -0
  55. package/dist/clients/integrationFields.d.ts +27 -22
  56. package/dist/clients/integrationFields.d.ts.map +1 -0
  57. package/dist/clients/integrationFields.js +93 -86
  58. package/dist/clients/integrationFields.js.map +1 -1
  59. package/dist/clients/manageV2.cjs +154 -171
  60. package/dist/clients/manageV2.cjs.map +1 -1
  61. package/dist/clients/manageV2.d.cts +105 -0
  62. package/dist/clients/manageV2.d.cts.map +1 -0
  63. package/dist/clients/manageV2.d.ts +103 -111
  64. package/dist/clients/manageV2.d.ts.map +1 -0
  65. package/dist/clients/manageV2.js +149 -169
  66. package/dist/clients/manageV2.js.map +1 -1
  67. package/dist/clients/migrationApi.cjs +37 -36
  68. package/dist/clients/migrationApi.cjs.map +1 -1
  69. package/dist/clients/migrationApi.d.cts +48 -0
  70. package/dist/clients/migrationApi.d.cts.map +1 -0
  71. package/dist/clients/migrationApi.d.ts +45 -39
  72. package/dist/clients/migrationApi.d.ts.map +1 -0
  73. package/dist/clients/migrationApi.js +35 -34
  74. package/dist/clients/migrationApi.js.map +1 -1
  75. package/dist/clients/wroom.cjs +101 -122
  76. package/dist/clients/wroom.cjs.map +1 -1
  77. package/dist/clients/wroom.d.cts +48 -0
  78. package/dist/clients/wroom.d.cts.map +1 -0
  79. package/dist/clients/wroom.d.ts +46 -47
  80. package/dist/clients/wroom.d.ts.map +1 -0
  81. package/dist/clients/wroom.js +99 -122
  82. package/dist/clients/wroom.js.map +1 -1
  83. package/dist/index.cjs +13 -15
  84. package/dist/index.d.cts +8 -0
  85. package/dist/index.d.ts +8 -7
  86. package/dist/index.js +5 -14
  87. package/dist/managers/repositories.cjs +159 -169
  88. package/dist/managers/repositories.cjs.map +1 -1
  89. package/dist/managers/repositories.d.cts +67 -0
  90. package/dist/managers/repositories.d.cts.map +1 -0
  91. package/dist/managers/repositories.d.ts +56 -63
  92. package/dist/managers/repositories.d.ts.map +1 -0
  93. package/dist/managers/repositories.js +148 -159
  94. package/dist/managers/repositories.js.map +1 -1
  95. package/dist/managers/repository.cjs +529 -616
  96. package/dist/managers/repository.cjs.map +1 -1
  97. package/dist/managers/repository.d.cts +308 -0
  98. package/dist/managers/repository.d.cts.map +1 -0
  99. package/dist/managers/repository.d.ts +303 -307
  100. package/dist/managers/repository.d.ts.map +1 -0
  101. package/dist/managers/repository.js +529 -616
  102. package/dist/managers/repository.js.map +1 -1
  103. package/dist/types.d.cts +41 -0
  104. package/dist/types.d.cts.map +1 -0
  105. package/dist/types.d.ts +35 -37
  106. package/dist/types.d.ts.map +1 -0
  107. package/dist/utils/cookies.cjs +19 -17
  108. package/dist/utils/cookies.cjs.map +1 -1
  109. package/dist/utils/cookies.js +20 -18
  110. package/dist/utils/cookies.js.map +1 -1
  111. package/dist/utils/envVariableManager.cjs +33 -34
  112. package/dist/utils/envVariableManager.cjs.map +1 -1
  113. package/dist/utils/envVariableManager.js +34 -35
  114. package/dist/utils/envVariableManager.js.map +1 -1
  115. package/dist/utils/log.cjs +18 -19
  116. package/dist/utils/log.cjs.map +1 -1
  117. package/dist/utils/log.js +18 -21
  118. package/dist/utils/log.js.map +1 -1
  119. package/dist/utils/random.cjs +13 -6
  120. package/dist/utils/random.cjs.map +1 -1
  121. package/dist/utils/random.js +13 -6
  122. package/dist/utils/random.js.map +1 -1
  123. package/dist/utils/strings.cjs +13 -7
  124. package/dist/utils/strings.cjs.map +1 -1
  125. package/dist/utils/strings.js +14 -8
  126. package/dist/utils/strings.js.map +1 -1
  127. package/dist/utils/urls.cjs +21 -10
  128. package/dist/utils/urls.cjs.map +1 -1
  129. package/dist/utils/urls.js +22 -12
  130. package/dist/utils/urls.js.map +1 -1
  131. package/package.json +42 -67
  132. package/src/clients/apiClient.ts +16 -21
  133. package/src/clients/assetApi.ts +75 -82
  134. package/src/clients/authenticationApi.ts +54 -27
  135. package/src/clients/contentApi.ts +109 -129
  136. package/src/clients/coreApi.ts +113 -117
  137. package/src/clients/customTypesApi.ts +54 -76
  138. package/src/clients/integrationFields.ts +59 -74
  139. package/src/clients/manageV2.ts +72 -96
  140. package/src/clients/migrationApi.ts +35 -39
  141. package/src/clients/wroom.ts +42 -56
  142. package/src/index.ts +7 -7
  143. package/src/managers/repositories.ts +85 -108
  144. package/src/managers/repository.ts +303 -368
  145. package/src/types.ts +31 -31
  146. package/src/utils/cookies.ts +8 -8
  147. package/src/utils/envVariableManager.ts +15 -15
  148. package/src/utils/log.ts +17 -21
  149. package/src/utils/random.ts +5 -6
  150. package/src/utils/strings.ts +7 -9
  151. package/src/utils/urls.ts +10 -12
  152. package/dist/index.cjs.map +0 -1
  153. package/dist/index.js.map +0 -1
  154. package/dist/utils/cookies.d.ts +0 -8
  155. package/dist/utils/envVariableManager.d.ts +0 -16
  156. package/dist/utils/log.d.ts +0 -5
  157. package/dist/utils/random.d.ts +0 -8
  158. package/dist/utils/strings.d.ts +0 -11
  159. package/dist/utils/urls.d.ts +0 -16
@@ -1,120 +1,122 @@
1
- import { AuthServerToken, AuthenticatedApiClient } from "./apiClient";
1
+ import { AuthServerToken, AuthenticatedApiClient } from "./apiClient.js";
2
+
3
+ //#region src/clients/coreApi.d.ts
2
4
  type Language = {
3
- id: string;
4
- name: string;
5
- is_master: boolean;
5
+ id: string;
6
+ name: string;
7
+ is_master: boolean;
6
8
  };
7
- export type Release = {
8
- id: string;
9
- label: string;
10
- migration: boolean;
9
+ type Release = {
10
+ id: string;
11
+ label: string;
12
+ migration: boolean;
11
13
  };
12
- export type CoreApiDocumentCreationPayload = {
13
- title: string;
14
- locale?: string;
15
- group_lang_id?: string;
16
- release_id?: string;
17
- integration_field_ids: string[];
18
- data: Record<string, unknown>;
19
- custom_type_id: string;
20
- tags: string[];
14
+ type CoreApiDocumentCreationPayload = {
15
+ title: string;
16
+ locale?: string;
17
+ group_lang_id?: string;
18
+ release_id?: string;
19
+ integration_field_ids: string[];
20
+ data: Record<string, unknown>;
21
+ custom_type_id: string;
22
+ tags: string[];
21
23
  };
22
- export type CoreApiRepository = Record<string, unknown> & {
23
- simulator_url?: string;
24
+ type CoreApiRepository = Record<string, unknown> & {
25
+ simulator_url?: string;
24
26
  };
25
- export type CoreApiDocumentCreationResponse = {
27
+ type CoreApiDocumentCreationResponse = {
28
+ id: string;
29
+ group_lang_id: string;
30
+ custom_type_id: string;
31
+ locale: string;
32
+ language: {
26
33
  id: string;
27
- group_lang_id: string;
28
- custom_type_id: string;
29
- locale: string;
30
- language: {
31
- id: string;
32
- name: string;
34
+ name: string;
35
+ };
36
+ first_publication_date: number | null;
37
+ last_publication_date: number | null;
38
+ title: string;
39
+ versions: {
40
+ status: string;
41
+ version_id: string;
42
+ author: {
43
+ id: string;
44
+ first_name: string | null;
45
+ last_name: string | null;
46
+ email: string;
33
47
  };
34
- first_publication_date: number | null;
35
- last_publication_date: number | null;
36
- title: string;
37
- versions: {
38
- status: string;
39
- version_id: string;
40
- author: {
41
- id: string;
42
- first_name: string | null;
43
- last_name: string | null;
44
- email: string;
45
- };
46
- release_id: string | null;
47
- last_modified_date: number;
48
- tags: string[];
49
- custom_type_label: string;
50
- preview_summary?: string;
51
- preview_image?: string;
52
- uid?: string;
53
- }[];
48
+ release_id: string | null;
49
+ last_modified_date: number;
50
+ tags: string[];
51
+ custom_type_label: string;
52
+ preview_summary?: string;
53
+ preview_image?: string;
54
+ uid?: string;
55
+ }[];
54
56
  };
55
- export type CoreApiDocumentsPayload = {
56
- language?: string;
57
- limit?: number;
58
- statuses?: string[];
59
- groupLangIds?: string[];
57
+ type CoreApiDocumentsPayload = {
58
+ language?: string;
59
+ limit?: number;
60
+ statuses?: string[];
61
+ groupLangIds?: string[];
60
62
  };
61
- export type CoreApiDocumentsResponse = {
62
- total: number;
63
- cursor: string;
64
- results: CoreApiDocumentCreationResponse[];
63
+ type CoreApiDocumentsResponse = {
64
+ total: number;
65
+ cursor: string;
66
+ results: CoreApiDocumentCreationResponse[];
65
67
  };
66
- export type CoreApiDocumentData = Record<string, any>;
67
- export declare class CoreApiClient extends AuthenticatedApiClient {
68
- /**
69
- * @example To instantiate the class:
70
- *
71
- * ```js
72
- * new CoreApiClient("https://my-repo.prismic.io", {
73
- * authToken: "my-secret-token",
74
- * });
75
- * ```
76
- *
77
- * @param baseURL - the api base URL like https://my-repo.prismic.io
78
- * @param config - Optional configuration
79
- *
80
- * - {@link config.authToken}: Api token generated from the auth service or a
81
- * function to fetch it when it's needed.
82
- */
83
- constructor(baseURL: string, config: AuthServerToken);
84
- getLanguages(): Promise<Language[]>;
85
- /**
86
- * Retrieves all releases, including the migration release.
87
- *
88
- * @returns An array of release metadata.
89
- */
90
- getReleases(): Promise<Release[]>;
91
- createDraft(data: CoreApiDocumentCreationPayload): Promise<CoreApiDocumentCreationResponse>;
92
- publishDraft(documentId: string): Promise<void>;
93
- /**
94
- * Retrieves documents.
95
- *
96
- * @param args - Configure which documents are retrieved.
97
- *
98
- * @returns A paginated set of documents.
99
- */
100
- getDocuments(args: CoreApiDocumentsPayload): Promise<CoreApiDocumentsResponse>;
101
- /**
102
- * Retrieves data for a specific document version.
103
- *
104
- * @param versionId - The document's version ID.
105
- *
106
- * @returns The document's version data.
107
- */
108
- getDocumentData(versionId: string): Promise<CoreApiDocumentData>;
109
- /**
110
- * Publishes a release.
111
- *
112
- * @param id - The ID of the release.
113
- *
114
- * @returns A Promise that resolves when the release is published.
115
- */
116
- publishRelease(id: string): Promise<void>;
117
- getRepository(): Promise<CoreApiRepository>;
118
- updateRepository(data: CoreApiRepository): Promise<void>;
68
+ type CoreApiDocumentData = Record<string, any>;
69
+ declare class CoreApiClient extends AuthenticatedApiClient {
70
+ /**
71
+ * @example
72
+ * To instantiate the class:
73
+ *
74
+ * ```js
75
+ * new CoreApiClient("https://my-repo.prismic.io", {
76
+ * authToken: "my-secret-token",
77
+ * });
78
+ * ```
79
+ *
80
+ * @param baseURL - The api base URL like https://my-repo.prismic.io
81
+ * @param config - Optional configuration
82
+ *
83
+ * - {@link config.authToken}: Api token generated from the auth service or a function to fetch it
84
+ * when it's needed.
85
+ */
86
+ constructor(baseURL: string, config: AuthServerToken);
87
+ getLanguages(): Promise<Language[]>;
88
+ /**
89
+ * Retrieves all releases, including the migration release.
90
+ *
91
+ * @returns An array of release metadata.
92
+ */
93
+ getReleases(): Promise<Release[]>;
94
+ createDraft(data: CoreApiDocumentCreationPayload): Promise<CoreApiDocumentCreationResponse>;
95
+ publishDraft(documentId: string): Promise<void>;
96
+ /**
97
+ * Retrieves documents.
98
+ *
99
+ * @param args - Configure which documents are retrieved.
100
+ * @returns A paginated set of documents.
101
+ */
102
+ getDocuments(args: CoreApiDocumentsPayload): Promise<CoreApiDocumentsResponse>;
103
+ /**
104
+ * Retrieves data for a specific document version.
105
+ *
106
+ * @param versionId - The document's version ID.
107
+ * @returns The document's version data.
108
+ */
109
+ getDocumentData(versionId: string): Promise<CoreApiDocumentData>;
110
+ /**
111
+ * Publishes a release.
112
+ *
113
+ * @param id - The ID of the release.
114
+ * @returns A Promise that resolves when the release is published.
115
+ */
116
+ publishRelease(id: string): Promise<void>;
117
+ getRepository(): Promise<CoreApiRepository>;
118
+ updateRepository(data: CoreApiRepository): Promise<void>;
119
119
  }
120
- export {};
120
+ //#endregion
121
+ export { CoreApiClient, CoreApiDocumentCreationPayload, CoreApiDocumentCreationResponse, CoreApiDocumentData, CoreApiDocumentsPayload, CoreApiDocumentsResponse, CoreApiRepository, Release };
122
+ //# sourceMappingURL=coreApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coreApi.d.ts","names":[],"sources":["../../src/clients/coreApi.ts"],"mappings":";;;KAIK,QAAA;EACJ,EAAA;EACA,IAAA;EACA,SAAA;AAAA;AAAA,KAGW,OAAA;EACX,EAAA;EACA,KAAA;EACA,SAAA;AAAA;AAAA,KAGW,8BAAA;EACX,KAAA;EACA,MAAA;EACA,aAAA;EACA,UAAA;EACA,qBAAA;EACA,IAAA,EAAM,MAAM;EACZ,cAAA;EACA,IAAA;AAAA;AAAA,KAGW,iBAAA,GAAoB,MAAM;EACrC,aAAa;AAAA;AAAA,KAGF,+BAAA;EACX,EAAA;EACA,aAAA;EACA,cAAA;EACA,MAAA;EACA,QAAA;IAAY,EAAA;IAAY,IAAA;EAAA;EACxB,sBAAA;EACA,qBAAA;EACA,KAAA;EACA,QAAA;IACC,MAAA;IACA,UAAA;IACA,MAAA;MACC,EAAA;MACA,UAAA;MACA,SAAA;MACA,KAAA;IAAA;IAED,UAAA;IACA,kBAAA;IACA,IAAA;IACA,iBAAA;IACA,eAAA;IACA,aAAA;IACA,GAAA;EAAA;AAAA;AAAA,KAIU,uBAAA;EACX,QAAA;EACA,KAAA;EACA,QAAA;EACA,YAAA;AAAA;AAAA,KAGW,wBAAA;EACX,KAAA;EACA,MAAA;EACA,OAAA,EAAS,+BAA+B;AAAA;AAAA,KAI7B,mBAAA,GAAsB,MAAM;AAAA,cAE3B,aAAA,SAAsB,sBAAA;EArBjC;;;AACG;AAIL;;;;;;;;;AAIa;AAGb;;cA0Ba,OAAA,UAAiB,MAAA,EAAQ,eAAA;EAI/B,YAAA,IAAgB,OAAA,CAAQ,QAAA;EA7B9B;;;;;EAiDM,WAAA,IAAe,OAAA,CAAQ,OAAA;EAiBvB,WAAA,CACL,IAAA,EAAM,8BAAA,GACJ,OAAA,CAAQ,+BAAA;EAcL,YAAA,CAAa,UAAA,WAAqB,OAAA;;;AA5ED;AAExC;;;EA8FO,YAAA,CAAa,IAAA,EAAM,uBAAA,GAA0B,OAAA,CAAQ,wBAAA;EAzE7B;;;;;;EA6FxB,eAAA,CAAgB,SAAA,WAAoB,OAAA,CAAQ,mBAAA;EAxCV;;;;;;EA0DlC,cAAA,CAAe,EAAA,WAAa,OAAA;EAU5B,aAAA,IAAiB,OAAA,CAAQ,iBAAA;EAYzB,gBAAA,CAAiB,IAAA,EAAM,iBAAA,GAAoB,OAAA;AAAA"}
@@ -1,146 +1,124 @@
1
- import { logger, logPlaywrightApiResponse } from "../utils/log.js";
1
+ import { logPlaywrightApiResponse, logger } from "../utils/log.js";
2
2
  import { AuthenticatedApiClient } from "./apiClient.js";
3
- class CoreApiClient extends AuthenticatedApiClient {
4
- /**
5
- * @example To instantiate the class:
6
- *
7
- * ```js
8
- * new CoreApiClient("https://my-repo.prismic.io", {
9
- * authToken: "my-secret-token",
10
- * });
11
- * ```
12
- *
13
- * @param baseURL - the api base URL like https://my-repo.prismic.io
14
- * @param config - Optional configuration
15
- *
16
- * - {@link config.authToken}: Api token generated from the auth service or a
17
- * function to fetch it when it's needed.
18
- */
19
- constructor(baseURL, config) {
20
- super(baseURL, config);
21
- }
22
- async getLanguages() {
23
- const profiler = logger.startTimer();
24
- const context = await this.getContext();
25
- const result = await context.get("core/repository");
26
- if (200 !== result.status() || !(await result.json()).languages) {
27
- await logPlaywrightApiResponse(result);
28
- throw new Error("Could not get languages from the core api.");
29
- }
30
- profiler.done({ message: "retrieved languages configuration" });
31
- return (await result.json()).languages;
32
- }
33
- /**
34
- * Retrieves all releases, including the migration release.
35
- *
36
- * @returns An array of release metadata.
37
- */
38
- async getReleases() {
39
- const profiler = logger.startTimer();
40
- const context = await this.getContext();
41
- const result = await context.get("core/releases", {
42
- params: { include_migration_releases: true }
43
- });
44
- if (200 !== result.status() || !(await result.json()).results) {
45
- await logPlaywrightApiResponse(result);
46
- throw new Error("Could not get releases from the core api.");
47
- }
48
- profiler.done({ message: "retrieved releases" });
49
- return (await result.json()).results;
50
- }
51
- async createDraft(data) {
52
- const context = await this.getContext();
53
- const result = await context.post("core/documents", {
54
- data
55
- });
56
- if (201 !== result.status()) {
57
- await logPlaywrightApiResponse(result);
58
- throw new Error("Could not create draft document");
59
- }
60
- return result.json();
61
- }
62
- async publishDraft(documentId) {
63
- const context = await this.getContext();
64
- const result = await context.patch(`core/documents/${documentId}/draft`, {
65
- data: {
66
- status: "published"
67
- }
68
- });
69
- if (204 !== result.status()) {
70
- await logPlaywrightApiResponse(result);
71
- throw new Error(`Could not publish document with id ${documentId}`);
72
- }
73
- }
74
- /**
75
- * Retrieves documents.
76
- *
77
- * @param args - Configure which documents are retrieved.
78
- *
79
- * @returns A paginated set of documents.
80
- */
81
- async getDocuments(args) {
82
- const context = await this.getContext();
83
- const result = await context.post("core/documents/search", {
84
- data: args
85
- });
86
- if (200 !== result.status()) {
87
- await logPlaywrightApiResponse(result);
88
- throw new Error("Could not search documents");
89
- }
90
- return result.json();
91
- }
92
- /**
93
- * Retrieves data for a specific document version.
94
- *
95
- * @param versionId - The document's version ID.
96
- *
97
- * @returns The document's version data.
98
- */
99
- async getDocumentData(versionId) {
100
- const context = await this.getContext();
101
- const result = await context.get(`core/documents/data/${versionId}`);
102
- if (200 !== result.status()) {
103
- await logPlaywrightApiResponse(result);
104
- throw new Error("Could not retrieve document data");
105
- }
106
- return result.json();
107
- }
108
- /**
109
- * Publishes a release.
110
- *
111
- * @param id - The ID of the release.
112
- *
113
- * @returns A Promise that resolves when the release is published.
114
- */
115
- async publishRelease(id) {
116
- const context = await this.getContext();
117
- const result = await context.post(`core/releases/${id}/publish`);
118
- if (200 !== result.status()) {
119
- await logPlaywrightApiResponse(result);
120
- throw new Error("Could not publish release ${id}");
121
- }
122
- }
123
- async getRepository() {
124
- const context = await this.getContext();
125
- const result = await context.get(`core/repository`);
126
- if (200 !== result.status()) {
127
- await logPlaywrightApiResponse(result);
128
- throw new Error(`Could not get repository`);
129
- }
130
- return result.json();
131
- }
132
- async updateRepository(data) {
133
- const context = await this.getContext();
134
- const result = await context.patch(`core/repository`, {
135
- data
136
- });
137
- if (204 !== result.status()) {
138
- await logPlaywrightApiResponse(result);
139
- throw new Error(`Could not update repository`);
140
- }
141
- }
142
- }
143
- export {
144
- CoreApiClient
3
+ //#region src/clients/coreApi.ts
4
+ var CoreApiClient = class extends AuthenticatedApiClient {
5
+ /**
6
+ * @example
7
+ * To instantiate the class:
8
+ *
9
+ * ```js
10
+ * new CoreApiClient("https://my-repo.prismic.io", {
11
+ * authToken: "my-secret-token",
12
+ * });
13
+ * ```
14
+ *
15
+ * @param baseURL - The api base URL like https://my-repo.prismic.io
16
+ * @param config - Optional configuration
17
+ *
18
+ * - {@link config.authToken}: Api token generated from the auth service or a function to fetch it
19
+ * when it's needed.
20
+ */
21
+ constructor(baseURL, config) {
22
+ super(baseURL, config);
23
+ }
24
+ async getLanguages() {
25
+ const profiler = logger.startTimer();
26
+ const result = await (await this.getContext()).get("core/repository");
27
+ if (200 !== result.status() || !(await result.json()).languages) {
28
+ await logPlaywrightApiResponse(result);
29
+ throw new Error("Could not get languages from the core api.");
30
+ }
31
+ profiler.done({ message: "retrieved languages configuration" });
32
+ return (await result.json()).languages;
33
+ }
34
+ /**
35
+ * Retrieves all releases, including the migration release.
36
+ *
37
+ * @returns An array of release metadata.
38
+ */
39
+ async getReleases() {
40
+ const profiler = logger.startTimer();
41
+ const result = await (await this.getContext()).get("core/releases", { params: { include_migration_releases: true } });
42
+ if (200 !== result.status() || !(await result.json()).results) {
43
+ await logPlaywrightApiResponse(result);
44
+ throw new Error("Could not get releases from the core api.");
45
+ }
46
+ profiler.done({ message: "retrieved releases" });
47
+ return (await result.json()).results;
48
+ }
49
+ async createDraft(data) {
50
+ const result = await (await this.getContext()).post("core/documents", { data });
51
+ if (201 !== result.status()) {
52
+ await logPlaywrightApiResponse(result);
53
+ throw new Error("Could not create draft document");
54
+ }
55
+ return result.json();
56
+ }
57
+ async publishDraft(documentId) {
58
+ const result = await (await this.getContext()).patch(`core/documents/${documentId}/draft`, { data: { status: "published" } });
59
+ if (204 !== result.status()) {
60
+ await logPlaywrightApiResponse(result);
61
+ throw new Error(`Could not publish document with id ${documentId}`);
62
+ }
63
+ }
64
+ /**
65
+ * Retrieves documents.
66
+ *
67
+ * @param args - Configure which documents are retrieved.
68
+ * @returns A paginated set of documents.
69
+ */
70
+ async getDocuments(args) {
71
+ const result = await (await this.getContext()).post("core/documents/search", { data: args });
72
+ if (200 !== result.status()) {
73
+ await logPlaywrightApiResponse(result);
74
+ throw new Error("Could not search documents");
75
+ }
76
+ return result.json();
77
+ }
78
+ /**
79
+ * Retrieves data for a specific document version.
80
+ *
81
+ * @param versionId - The document's version ID.
82
+ * @returns The document's version data.
83
+ */
84
+ async getDocumentData(versionId) {
85
+ const result = await (await this.getContext()).get(`core/documents/data/${versionId}`);
86
+ if (200 !== result.status()) {
87
+ await logPlaywrightApiResponse(result);
88
+ throw new Error("Could not retrieve document data");
89
+ }
90
+ return result.json();
91
+ }
92
+ /**
93
+ * Publishes a release.
94
+ *
95
+ * @param id - The ID of the release.
96
+ * @returns A Promise that resolves when the release is published.
97
+ */
98
+ async publishRelease(id) {
99
+ const result = await (await this.getContext()).post(`core/releases/${id}/publish`);
100
+ if (200 !== result.status()) {
101
+ await logPlaywrightApiResponse(result);
102
+ throw new Error("Could not publish release ${id}");
103
+ }
104
+ }
105
+ async getRepository() {
106
+ const result = await (await this.getContext()).get(`core/repository`);
107
+ if (200 !== result.status()) {
108
+ await logPlaywrightApiResponse(result);
109
+ throw new Error(`Could not get repository`);
110
+ }
111
+ return result.json();
112
+ }
113
+ async updateRepository(data) {
114
+ const result = await (await this.getContext()).patch(`core/repository`, { data });
115
+ if (204 !== result.status()) {
116
+ await logPlaywrightApiResponse(result);
117
+ throw new Error(`Could not update repository`);
118
+ }
119
+ }
145
120
  };
146
- //# sourceMappingURL=coreApi.js.map
121
+ //#endregion
122
+ export { CoreApiClient };
123
+
124
+ //# sourceMappingURL=coreApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coreApi.js","sources":["../../../src/clients/coreApi.ts"],"sourcesContent":["import { logPlaywrightApiResponse, logger } from \"../utils/log\";\n\nimport { AuthServerToken, AuthenticatedApiClient } from \"./apiClient\";\n\ntype Language = {\n\tid: string;\n\tname: string;\n\tis_master: boolean;\n};\n\nexport type Release = {\n\tid: string;\n\tlabel: string;\n\tmigration: boolean;\n};\n\nexport type CoreApiDocumentCreationPayload = {\n\ttitle: string;\n\tlocale?: string;\n\tgroup_lang_id?: string;\n\trelease_id?: string;\n\tintegration_field_ids: string[];\n\tdata: Record<string, unknown>;\n\tcustom_type_id: string;\n\ttags: string[];\n};\n\nexport type CoreApiRepository = Record<string, unknown> & {\n\tsimulator_url?: string;\n};\n\nexport type CoreApiDocumentCreationResponse = {\n\tid: string;\n\tgroup_lang_id: string;\n\tcustom_type_id: string;\n\tlocale: string;\n\tlanguage: { id: string; name: string };\n\tfirst_publication_date: number | null;\n\tlast_publication_date: number | null;\n\ttitle: string;\n\tversions: {\n\t\tstatus: string;\n\t\tversion_id: string;\n\t\tauthor: {\n\t\t\tid: string;\n\t\t\tfirst_name: string | null;\n\t\t\tlast_name: string | null;\n\t\t\temail: string;\n\t\t};\n\t\trelease_id: string | null;\n\t\tlast_modified_date: number;\n\t\ttags: string[];\n\t\tcustom_type_label: string;\n\t\tpreview_summary?: string;\n\t\tpreview_image?: string;\n\t\tuid?: string;\n\t}[];\n};\n\nexport type CoreApiDocumentsPayload = {\n\tlanguage?: string;\n\tlimit?: number;\n\tstatuses?: string[];\n\tgroupLangIds?: string[];\n};\n\nexport type CoreApiDocumentsResponse = {\n\ttotal: number;\n\tcursor: string;\n\tresults: CoreApiDocumentCreationResponse[];\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type CoreApiDocumentData = Record<string, any>;\n\nexport class CoreApiClient extends AuthenticatedApiClient {\n\t/**\n\t * @example To instantiate the class:\n\t *\n\t * ```js\n\t * new CoreApiClient(\"https://my-repo.prismic.io\", {\n\t * \tauthToken: \"my-secret-token\",\n\t * });\n\t * ```\n\t *\n\t * @param baseURL - the api base URL like https://my-repo.prismic.io\n\t * @param config - Optional configuration\n\t *\n\t * - {@link config.authToken}: Api token generated from the auth service or a\n\t * function to fetch it when it's needed.\n\t */\n\tconstructor(baseURL: string, config: AuthServerToken) {\n\t\tsuper(baseURL, config);\n\t}\n\n\tasync getLanguages(): Promise<Language[]> {\n\t\tconst profiler = logger.startTimer();\n\t\tconst context = await this.getContext();\n\t\tconst result = await context.get(\"core/repository\");\n\n\t\tif (200 !== result.status() || !(await result.json()).languages) {\n\t\t\tawait logPlaywrightApiResponse(result);\n\t\t\tthrow new Error(\"Could not get languages from the core api.\");\n\t\t}\n\n\t\tprofiler.done({ message: \"retrieved languages configuration\" });\n\n\t\treturn (await result.json()).languages;\n\t}\n\n\t/**\n\t * Retrieves all releases, including the migration release.\n\t *\n\t * @returns An array of release metadata.\n\t */\n\tasync getReleases(): Promise<Release[]> {\n\t\tconst profiler = logger.startTimer();\n\t\tconst context = await this.getContext();\n\t\tconst result = await context.get(\"core/releases\", {\n\t\t\tparams: { include_migration_releases: true },\n\t\t});\n\n\t\tif (200 !== result.status() || !(await result.json()).results) {\n\t\t\tawait logPlaywrightApiResponse(result);\n\t\t\tthrow new Error(\"Could not get releases from the core api.\");\n\t\t}\n\n\t\tprofiler.done({ message: \"retrieved releases\" });\n\n\t\treturn (await result.json()).results;\n\t}\n\n\tasync createDraft(\n\t\tdata: CoreApiDocumentCreationPayload,\n\t): Promise<CoreApiDocumentCreationResponse> {\n\t\tconst context = await this.getContext();\n\t\tconst result = await context.post(\"core/documents\", {\n\t\t\tdata,\n\t\t});\n\n\t\tif (201 !== result.status()) {\n\t\t\tawait logPlaywrightApiResponse(result);\n\t\t\tthrow new Error(\"Could not create draft document\");\n\t\t}\n\n\t\treturn result.json();\n\t}\n\n\tasync publishDraft(documentId: string): Promise<void> {\n\t\tconst context = await this.getContext();\n\t\tconst result = await context.patch(`core/documents/${documentId}/draft`, {\n\t\t\tdata: {\n\t\t\t\tstatus: \"published\",\n\t\t\t},\n\t\t});\n\n\t\tif (204 !== result.status()) {\n\t\t\tawait logPlaywrightApiResponse(result);\n\t\t\tthrow new Error(`Could not publish document with id ${documentId}`);\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves documents.\n\t *\n\t * @param args - Configure which documents are retrieved.\n\t *\n\t * @returns A paginated set of documents.\n\t */\n\tasync getDocuments(\n\t\targs: CoreApiDocumentsPayload,\n\t): Promise<CoreApiDocumentsResponse> {\n\t\tconst context = await this.getContext();\n\t\tconst result = await context.post(\"core/documents/search\", {\n\t\t\tdata: args,\n\t\t});\n\n\t\tif (200 !== result.status()) {\n\t\t\tawait logPlaywrightApiResponse(result);\n\t\t\tthrow new Error(\"Could not search documents\");\n\t\t}\n\n\t\treturn result.json();\n\t}\n\n\t/**\n\t * Retrieves data for a specific document version.\n\t *\n\t * @param versionId - The document's version ID.\n\t *\n\t * @returns The document's version data.\n\t */\n\tasync getDocumentData(versionId: string): Promise<CoreApiDocumentData> {\n\t\tconst context = await this.getContext();\n\t\tconst result = await context.get(`core/documents/data/${versionId}`);\n\n\t\tif (200 !== result.status()) {\n\t\t\tawait logPlaywrightApiResponse(result);\n\t\t\tthrow new Error(\"Could not retrieve document data\");\n\t\t}\n\n\t\treturn result.json();\n\t}\n\n\t/**\n\t * Publishes a release.\n\t *\n\t * @param id - The ID of the release.\n\t *\n\t * @returns A Promise that resolves when the release is published.\n\t */\n\tasync publishRelease(id: string): Promise<void> {\n\t\tconst context = await this.getContext();\n\t\tconst result = await context.post(`core/releases/${id}/publish`);\n\n\t\tif (200 !== result.status()) {\n\t\t\tawait logPlaywrightApiResponse(result);\n\t\t\tthrow new Error(\"Could not publish release ${id}\");\n\t\t}\n\t}\n\n\tasync getRepository(): Promise<CoreApiRepository> {\n\t\tconst context = await this.getContext();\n\t\tconst result = await context.get(`core/repository`);\n\n\t\tif (200 !== result.status()) {\n\t\t\tawait logPlaywrightApiResponse(result);\n\t\t\tthrow new Error(`Could not get repository`);\n\t\t}\n\n\t\treturn result.json();\n\t}\n\n\tasync updateRepository(data: CoreApiRepository): Promise<void> {\n\t\tconst context = await this.getContext();\n\t\tconst result = await context.patch(`core/repository`, {\n\t\t\tdata,\n\t\t});\n\n\t\tif (204 !== result.status()) {\n\t\t\tawait logPlaywrightApiResponse(result);\n\t\t\tthrow new Error(`Could not update repository`);\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AA2EM,MAAO,sBAAsB,uBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBxD,YAAY,SAAiB,QAAuB;AACnD,UAAM,SAAS,MAAM;AAAA,EACtB;AAAA,EAEA,MAAM,eAAY;AACX,UAAA,WAAW,OAAO;AAClB,UAAA,UAAU,MAAM,KAAK;AAC3B,UAAM,SAAS,MAAM,QAAQ,IAAI,iBAAiB;AAE9C,QAAA,QAAQ,OAAO,OAAM,KAAM,EAAE,MAAM,OAAO,KAAI,GAAI,WAAW;AAChE,YAAM,yBAAyB,MAAM;AAC/B,YAAA,IAAI,MAAM,4CAA4C;AAAA,IAC7D;AAEA,aAAS,KAAK,EAAE,SAAS,oCAAqC,CAAA;AAEtD,YAAA,MAAM,OAAO,KAAA,GAAQ;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,cAAW;AACV,UAAA,WAAW,OAAO;AAClB,UAAA,UAAU,MAAM,KAAK;AAC3B,UAAM,SAAS,MAAM,QAAQ,IAAI,iBAAiB;AAAA,MACjD,QAAQ,EAAE,4BAA4B,KAAM;AAAA,IAAA,CAC5C;AAEG,QAAA,QAAQ,OAAO,OAAM,KAAM,EAAE,MAAM,OAAO,KAAI,GAAI,SAAS;AAC9D,YAAM,yBAAyB,MAAM;AAC/B,YAAA,IAAI,MAAM,2CAA2C;AAAA,IAC5D;AAEA,aAAS,KAAK,EAAE,SAAS,qBAAsB,CAAA;AAEvC,YAAA,MAAM,OAAO,KAAA,GAAQ;AAAA,EAC9B;AAAA,EAEA,MAAM,YACL,MAAoC;AAE9B,UAAA,UAAU,MAAM,KAAK;AAC3B,UAAM,SAAS,MAAM,QAAQ,KAAK,kBAAkB;AAAA,MACnD;AAAA,IAAA,CACA;AAEG,QAAA,QAAQ,OAAO,UAAU;AAC5B,YAAM,yBAAyB,MAAM;AAC/B,YAAA,IAAI,MAAM,iCAAiC;AAAA,IAClD;AAEA,WAAO,OAAO;EACf;AAAA,EAEA,MAAM,aAAa,YAAkB;AAC9B,UAAA,UAAU,MAAM,KAAK;AAC3B,UAAM,SAAS,MAAM,QAAQ,MAAM,kBAAkB,UAAU,UAAU;AAAA,MACxE,MAAM;AAAA,QACL,QAAQ;AAAA,MACR;AAAA,IAAA,CACD;AAEG,QAAA,QAAQ,OAAO,UAAU;AAC5B,YAAM,yBAAyB,MAAM;AACrC,YAAM,IAAI,MAAM,sCAAsC,UAAU,EAAE;AAAA,IACnE;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,aACL,MAA6B;AAEvB,UAAA,UAAU,MAAM,KAAK;AAC3B,UAAM,SAAS,MAAM,QAAQ,KAAK,yBAAyB;AAAA,MAC1D,MAAM;AAAA,IAAA,CACN;AAEG,QAAA,QAAQ,OAAO,UAAU;AAC5B,YAAM,yBAAyB,MAAM;AAC/B,YAAA,IAAI,MAAM,4BAA4B;AAAA,IAC7C;AAEA,WAAO,OAAO;EACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,gBAAgB,WAAiB;AAChC,UAAA,UAAU,MAAM,KAAK;AAC3B,UAAM,SAAS,MAAM,QAAQ,IAAI,uBAAuB,SAAS,EAAE;AAE/D,QAAA,QAAQ,OAAO,UAAU;AAC5B,YAAM,yBAAyB,MAAM;AAC/B,YAAA,IAAI,MAAM,kCAAkC;AAAA,IACnD;AAEA,WAAO,OAAO;EACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,eAAe,IAAU;AACxB,UAAA,UAAU,MAAM,KAAK;AAC3B,UAAM,SAAS,MAAM,QAAQ,KAAK,iBAAiB,EAAE,UAAU;AAE3D,QAAA,QAAQ,OAAO,UAAU;AAC5B,YAAM,yBAAyB,MAAM;AAC/B,YAAA,IAAI,MAAM,iCAAiC;AAAA,IAClD;AAAA,EACD;AAAA,EAEA,MAAM,gBAAa;AACZ,UAAA,UAAU,MAAM,KAAK;AAC3B,UAAM,SAAS,MAAM,QAAQ,IAAI,iBAAiB;AAE9C,QAAA,QAAQ,OAAO,UAAU;AAC5B,YAAM,yBAAyB,MAAM;AAC/B,YAAA,IAAI,MAAM,0BAA0B;AAAA,IAC3C;AAEA,WAAO,OAAO;EACf;AAAA,EAEA,MAAM,iBAAiB,MAAuB;AACvC,UAAA,UAAU,MAAM,KAAK;AAC3B,UAAM,SAAS,MAAM,QAAQ,MAAM,mBAAmB;AAAA,MACrD;AAAA,IAAA,CACA;AAEG,QAAA,QAAQ,OAAO,UAAU;AAC5B,YAAM,yBAAyB,MAAM;AAC/B,YAAA,IAAI,MAAM,6BAA6B;AAAA,IAC9C;AAAA,EACD;AACA;"}
1
+ {"version":3,"file":"coreApi.js","names":[],"sources":["../../src/clients/coreApi.ts"],"sourcesContent":["import { logPlaywrightApiResponse, logger } from \"../utils/log\"\nimport type { AuthServerToken } from \"./apiClient\"\nimport { AuthenticatedApiClient } from \"./apiClient\"\n\ntype Language = {\n\tid: string\n\tname: string\n\tis_master: boolean\n}\n\nexport type Release = {\n\tid: string\n\tlabel: string\n\tmigration: boolean\n}\n\nexport type CoreApiDocumentCreationPayload = {\n\ttitle: string\n\tlocale?: string\n\tgroup_lang_id?: string\n\trelease_id?: string\n\tintegration_field_ids: string[]\n\tdata: Record<string, unknown>\n\tcustom_type_id: string\n\ttags: string[]\n}\n\nexport type CoreApiRepository = Record<string, unknown> & {\n\tsimulator_url?: string\n}\n\nexport type CoreApiDocumentCreationResponse = {\n\tid: string\n\tgroup_lang_id: string\n\tcustom_type_id: string\n\tlocale: string\n\tlanguage: { id: string; name: string }\n\tfirst_publication_date: number | null\n\tlast_publication_date: number | null\n\ttitle: string\n\tversions: {\n\t\tstatus: string\n\t\tversion_id: string\n\t\tauthor: {\n\t\t\tid: string\n\t\t\tfirst_name: string | null\n\t\t\tlast_name: string | null\n\t\t\temail: string\n\t\t}\n\t\trelease_id: string | null\n\t\tlast_modified_date: number\n\t\ttags: string[]\n\t\tcustom_type_label: string\n\t\tpreview_summary?: string\n\t\tpreview_image?: string\n\t\tuid?: string\n\t}[]\n}\n\nexport type CoreApiDocumentsPayload = {\n\tlanguage?: string\n\tlimit?: number\n\tstatuses?: string[]\n\tgroupLangIds?: string[]\n}\n\nexport type CoreApiDocumentsResponse = {\n\ttotal: number\n\tcursor: string\n\tresults: CoreApiDocumentCreationResponse[]\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type CoreApiDocumentData = Record<string, any>\n\nexport class CoreApiClient extends AuthenticatedApiClient {\n\t/**\n\t * @example\n\t * \tTo instantiate the class:\n\t *\n\t * \t```js\n\t * \tnew CoreApiClient(\"https://my-repo.prismic.io\", {\n\t * \tauthToken: \"my-secret-token\",\n\t * \t});\n\t * \t```\n\t *\n\t * @param baseURL - The api base URL like https://my-repo.prismic.io\n\t * @param config - Optional configuration\n\t *\n\t * - {@link config.authToken}: Api token generated from the auth service or a function to fetch it\n\t * when it's needed.\n\t */\n\tconstructor(baseURL: string, config: AuthServerToken) {\n\t\tsuper(baseURL, config)\n\t}\n\n\tasync getLanguages(): Promise<Language[]> {\n\t\tconst profiler = logger.startTimer()\n\t\tconst context = await this.getContext()\n\t\tconst result = await context.get(\"core/repository\")\n\n\t\tif (200 !== result.status() || !(await result.json()).languages) {\n\t\t\tawait logPlaywrightApiResponse(result)\n\t\t\tthrow new Error(\"Could not get languages from the core api.\")\n\t\t}\n\n\t\tprofiler.done({ message: \"retrieved languages configuration\" })\n\n\t\treturn (await result.json()).languages\n\t}\n\n\t/**\n\t * Retrieves all releases, including the migration release.\n\t *\n\t * @returns An array of release metadata.\n\t */\n\tasync getReleases(): Promise<Release[]> {\n\t\tconst profiler = logger.startTimer()\n\t\tconst context = await this.getContext()\n\t\tconst result = await context.get(\"core/releases\", {\n\t\t\tparams: { include_migration_releases: true },\n\t\t})\n\n\t\tif (200 !== result.status() || !(await result.json()).results) {\n\t\t\tawait logPlaywrightApiResponse(result)\n\t\t\tthrow new Error(\"Could not get releases from the core api.\")\n\t\t}\n\n\t\tprofiler.done({ message: \"retrieved releases\" })\n\n\t\treturn (await result.json()).results\n\t}\n\n\tasync createDraft(\n\t\tdata: CoreApiDocumentCreationPayload,\n\t): Promise<CoreApiDocumentCreationResponse> {\n\t\tconst context = await this.getContext()\n\t\tconst result = await context.post(\"core/documents\", {\n\t\t\tdata,\n\t\t})\n\n\t\tif (201 !== result.status()) {\n\t\t\tawait logPlaywrightApiResponse(result)\n\t\t\tthrow new Error(\"Could not create draft document\")\n\t\t}\n\n\t\treturn result.json()\n\t}\n\n\tasync publishDraft(documentId: string): Promise<void> {\n\t\tconst context = await this.getContext()\n\t\tconst result = await context.patch(`core/documents/${documentId}/draft`, {\n\t\t\tdata: {\n\t\t\t\tstatus: \"published\",\n\t\t\t},\n\t\t})\n\n\t\tif (204 !== result.status()) {\n\t\t\tawait logPlaywrightApiResponse(result)\n\t\t\tthrow new Error(`Could not publish document with id ${documentId}`)\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves documents.\n\t *\n\t * @param args - Configure which documents are retrieved.\n\t * @returns A paginated set of documents.\n\t */\n\tasync getDocuments(args: CoreApiDocumentsPayload): Promise<CoreApiDocumentsResponse> {\n\t\tconst context = await this.getContext()\n\t\tconst result = await context.post(\"core/documents/search\", {\n\t\t\tdata: args,\n\t\t})\n\n\t\tif (200 !== result.status()) {\n\t\t\tawait logPlaywrightApiResponse(result)\n\t\t\tthrow new Error(\"Could not search documents\")\n\t\t}\n\n\t\treturn result.json()\n\t}\n\n\t/**\n\t * Retrieves data for a specific document version.\n\t *\n\t * @param versionId - The document's version ID.\n\t * @returns The document's version data.\n\t */\n\tasync getDocumentData(versionId: string): Promise<CoreApiDocumentData> {\n\t\tconst context = await this.getContext()\n\t\tconst result = await context.get(`core/documents/data/${versionId}`)\n\n\t\tif (200 !== result.status()) {\n\t\t\tawait logPlaywrightApiResponse(result)\n\t\t\tthrow new Error(\"Could not retrieve document data\")\n\t\t}\n\n\t\treturn result.json()\n\t}\n\n\t/**\n\t * Publishes a release.\n\t *\n\t * @param id - The ID of the release.\n\t * @returns A Promise that resolves when the release is published.\n\t */\n\tasync publishRelease(id: string): Promise<void> {\n\t\tconst context = await this.getContext()\n\t\tconst result = await context.post(`core/releases/${id}/publish`)\n\n\t\tif (200 !== result.status()) {\n\t\t\tawait logPlaywrightApiResponse(result)\n\t\t\tthrow new Error(\"Could not publish release ${id}\")\n\t\t}\n\t}\n\n\tasync getRepository(): Promise<CoreApiRepository> {\n\t\tconst context = await this.getContext()\n\t\tconst result = await context.get(`core/repository`)\n\n\t\tif (200 !== result.status()) {\n\t\t\tawait logPlaywrightApiResponse(result)\n\t\t\tthrow new Error(`Could not get repository`)\n\t\t}\n\n\t\treturn result.json()\n\t}\n\n\tasync updateRepository(data: CoreApiRepository): Promise<void> {\n\t\tconst context = await this.getContext()\n\t\tconst result = await context.patch(`core/repository`, {\n\t\t\tdata,\n\t\t})\n\n\t\tif (204 !== result.status()) {\n\t\t\tawait logPlaywrightApiResponse(result)\n\t\t\tthrow new Error(`Could not update repository`)\n\t\t}\n\t}\n}\n"],"mappings":"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"}