@@ -23,6 +23,7 @@ public function __construct(
2323
2424 /**
2525 * List existing ZIP imports visible to the user.
26+ * Requires permission to import content.
2627 */
2728 public function list (): JsonResponse
2829 {
@@ -34,12 +35,18 @@ public function list(): JsonResponse
3435 }
3536
3637 /**
37- * Upload, validate and store a ZIP import file.
38- * This does not run the import. That is performed via a separate endpoint.
38+ * Start a new import from a ZIP file.
39+ * This does not actually run the import since that is performed via the "run" endpoint.
40+ * This uploads, validates and stores the ZIP file so it's ready to be imported.
41+ *
42+ * This "file" parameter must be a BookStack-compatible ZIP file, and this must be
43+ * sent via a 'multipart/form-data' type request.
44+ *
45+ * Requires permission to import content.
3946 */
40- public function upload (Request $ request ): JsonResponse
47+ public function create (Request $ request ): JsonResponse
4148 {
42- $ this ->validate ($ request , $ this ->rules ()['upload ' ]);
49+ $ this ->validate ($ request , $ this ->rules ()['create ' ]);
4350
4451 $ file = $ request ->file ('file ' );
4552
@@ -57,6 +64,7 @@ public function upload(Request $request): JsonResponse
5764 * Read details of a pending ZIP import.
5865 * The "details" property contains high-level metadata regarding the ZIP import content,
5966 * and the structure of this will change depending on import "type".
67+ * Requires permission to import content.
6068 */
6169 public function read (int $ id ): JsonResponse
6270 {
@@ -69,8 +77,9 @@ public function read(int $id): JsonResponse
6977
7078 /**
7179 * Run the import process for an uploaded ZIP import.
72- * The parent_id and parent_type parameters are required when the import type is 'chapter' or 'page'.
73- * On success, returns the imported item.
80+ * The "parent_id" and "parent_type" parameters are required when the import type is "chapter" or "page".
81+ * On success, this endpoint returns the imported item.
82+ * Requires permission to import content.
7483 */
7584 public function run (int $ id , Request $ request ): JsonResponse
7685 {
@@ -92,11 +101,12 @@ public function run(int $id, Request $request): JsonResponse
92101 return $ this ->jsonError ($ message );
93102 }
94103
95- return response ()->json ($ entity );
104+ return response ()->json ($ entity-> withoutRelations () );
96105 }
97106
98107 /**
99- * Delete a pending ZIP import.
108+ * Delete a pending ZIP import from the system.
109+ * Requires permission to import content.
100110 */
101111 public function delete (int $ id ): Response
102112 {
@@ -109,7 +119,7 @@ public function delete(int $id): Response
109119 protected function rules (): array
110120 {
111121 return [
112- 'upload ' => [
122+ 'create ' => [
113123 'file ' => ['required ' , ...AttachmentService::getFileValidationRules ()],
114124 ],
115125 'run ' => [
0 commit comments