|
@@ -1901,6 +1901,59 @@ class ApiV1Controller extends Controller
|
|
return response()->json($res, 200, [], JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES);
|
|
return response()->json($res, 200, [], JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * POST /api/v1/statuses/{id}/bookmark
|
|
|
|
+ *
|
|
|
|
+ *
|
|
|
|
+ *
|
|
|
|
+ * @return StatusTransformer
|
|
|
|
+ */
|
|
|
|
+ public function bookmarkStatus(Request $request, $id)
|
|
|
|
+ {
|
|
|
|
+ abort_if(!$request->user(), 403);
|
|
|
|
+
|
|
|
|
+ $status = Status::whereNull('uri')
|
|
|
|
+ ->whereScope('public')
|
|
|
|
+ ->findOrFail($id);
|
|
|
|
+
|
|
|
|
+ Bookmark::firstOrCreate([
|
|
|
|
+ 'status_id' => $status->id,
|
|
|
|
+ 'profile_id' => $request->user()->profile_id
|
|
|
|
+ ]);
|
|
|
|
+ $resource = new Fractal\Resource\Item($status, new StatusTransformer());
|
|
|
|
+ $res = $this->fractal->createData($resource)->toArray();
|
|
|
|
+ return response()->json($res);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * POST /api/v1/statuses/{id}/unbookmark
|
|
|
|
+ *
|
|
|
|
+ *
|
|
|
|
+ *
|
|
|
|
+ * @return StatusTransformer
|
|
|
|
+ */
|
|
|
|
+ public function unbookmarkStatus(Request $request, $id)
|
|
|
|
+ {
|
|
|
|
+ abort_if(!$request->user(), 403);
|
|
|
|
+
|
|
|
|
+ $status = Status::whereNull('uri')
|
|
|
|
+ ->whereScope('public')
|
|
|
|
+ ->findOrFail($id);
|
|
|
|
+
|
|
|
|
+ Bookmark::firstOrCreate([
|
|
|
|
+ 'status_id' => $status->id,
|
|
|
|
+ 'profile_id' => $request->user()->profile_id
|
|
|
|
+ ]);
|
|
|
|
+ $bookmark = Bookmark::whereStatusId($status->id)
|
|
|
|
+ ->whereProfileId($request->user()->profile_id)
|
|
|
|
+ ->firstOrFail();
|
|
|
|
+ $bookmark->delete();
|
|
|
|
+
|
|
|
|
+ $resource = new Fractal\Resource\Item($status, new StatusTransformer());
|
|
|
|
+ $res = $this->fractal->createData($resource)->toArray();
|
|
|
|
+ return response()->json($res);
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* GET /api/v2/search
|
|
* GET /api/v2/search
|
|
*
|
|
*
|