jsonplaceholder-api-client 0.9.0-beta.1
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.
- package/README.md +541 -0
- package/dist/albums/create-new-album.d.ts +15 -0
- package/dist/albums/create-new-album.d.ts.map +1 -0
- package/dist/albums/create-new-album.js +45 -0
- package/dist/albums/create-new-album.js.map +1 -0
- package/dist/albums/delete-album.d.ts +9 -0
- package/dist/albums/delete-album.d.ts.map +1 -0
- package/dist/albums/delete-album.js +36 -0
- package/dist/albums/delete-album.js.map +1 -0
- package/dist/albums/get-album-by-id.d.ts +14 -0
- package/dist/albums/get-album-by-id.d.ts.map +1 -0
- package/dist/albums/get-album-by-id.js +40 -0
- package/dist/albums/get-album-by-id.js.map +1 -0
- package/dist/albums/get-all-albums.d.ts +8 -0
- package/dist/albums/get-all-albums.d.ts.map +1 -0
- package/dist/albums/get-all-albums.js +38 -0
- package/dist/albums/get-all-albums.js.map +1 -0
- package/dist/albums/test/create-new-album.test.d.ts +2 -0
- package/dist/albums/test/create-new-album.test.d.ts.map +1 -0
- package/dist/albums/test/create-new-album.test.js +90 -0
- package/dist/albums/test/create-new-album.test.js.map +1 -0
- package/dist/albums/test/delete-album.test.d.ts +2 -0
- package/dist/albums/test/delete-album.test.d.ts.map +1 -0
- package/dist/albums/test/delete-album.test.js +59 -0
- package/dist/albums/test/delete-album.test.js.map +1 -0
- package/dist/albums/test/get-album-by-id.test.d.ts +2 -0
- package/dist/albums/test/get-album-by-id.test.d.ts.map +1 -0
- package/dist/albums/test/get-album-by-id.test.js +83 -0
- package/dist/albums/test/get-album-by-id.test.js.map +1 -0
- package/dist/albums/test/get-all-albums.test.d.ts +2 -0
- package/dist/albums/test/get-all-albums.test.d.ts.map +1 -0
- package/dist/albums/test/get-all-albums.test.js +73 -0
- package/dist/albums/test/get-all-albums.test.js.map +1 -0
- package/dist/albums/test/update-album-partial.test.d.ts +2 -0
- package/dist/albums/test/update-album-partial.test.d.ts.map +1 -0
- package/dist/albums/test/update-album-partial.test.js +99 -0
- package/dist/albums/test/update-album-partial.test.js.map +1 -0
- package/dist/albums/test/update-album.test.d.ts +2 -0
- package/dist/albums/test/update-album.test.d.ts.map +1 -0
- package/dist/albums/test/update-album.test.js +90 -0
- package/dist/albums/test/update-album.test.js.map +1 -0
- package/dist/albums/update-album-by-id.d.ts +19 -0
- package/dist/albums/update-album-by-id.d.ts.map +1 -0
- package/dist/albums/update-album-by-id.js +46 -0
- package/dist/albums/update-album-by-id.js.map +1 -0
- package/dist/albums/update-album-partial.d.ts +18 -0
- package/dist/albums/update-album-partial.d.ts.map +1 -0
- package/dist/albums/update-album-partial.js +49 -0
- package/dist/albums/update-album-partial.js.map +1 -0
- package/dist/albums/update-album.d.ts +19 -0
- package/dist/albums/update-album.d.ts.map +1 -0
- package/dist/albums/update-album.js +46 -0
- package/dist/albums/update-album.js.map +1 -0
- package/dist/comments/create-new-comment.d.ts +17 -0
- package/dist/comments/create-new-comment.d.ts.map +1 -0
- package/dist/comments/create-new-comment.js +45 -0
- package/dist/comments/create-new-comment.js.map +1 -0
- package/dist/comments/delete-comment.d.ts +9 -0
- package/dist/comments/delete-comment.d.ts.map +1 -0
- package/dist/comments/delete-comment.js +36 -0
- package/dist/comments/delete-comment.js.map +1 -0
- package/dist/comments/get-all-comments.d.ts +8 -0
- package/dist/comments/get-all-comments.d.ts.map +1 -0
- package/dist/comments/get-all-comments.js +38 -0
- package/dist/comments/get-all-comments.js.map +1 -0
- package/dist/comments/get-comment-by-id.d.ts +14 -0
- package/dist/comments/get-comment-by-id.d.ts.map +1 -0
- package/dist/comments/get-comment-by-id.js +40 -0
- package/dist/comments/get-comment-by-id.js.map +1 -0
- package/dist/comments/test/create-new-comment.test.d.ts +2 -0
- package/dist/comments/test/create-new-comment.test.d.ts.map +1 -0
- package/dist/comments/test/create-new-comment.test.js +121 -0
- package/dist/comments/test/create-new-comment.test.js.map +1 -0
- package/dist/comments/test/delete-comment.test.d.ts +2 -0
- package/dist/comments/test/delete-comment.test.d.ts.map +1 -0
- package/dist/comments/test/delete-comment.test.js +59 -0
- package/dist/comments/test/delete-comment.test.js.map +1 -0
- package/dist/comments/test/get-all-comments.test.d.ts +2 -0
- package/dist/comments/test/get-all-comments.test.d.ts.map +1 -0
- package/dist/comments/test/get-all-comments.test.js +85 -0
- package/dist/comments/test/get-all-comments.test.js.map +1 -0
- package/dist/comments/test/get-comment-by-id.test.d.ts +2 -0
- package/dist/comments/test/get-comment-by-id.test.d.ts.map +1 -0
- package/dist/comments/test/get-comment-by-id.test.js +89 -0
- package/dist/comments/test/get-comment-by-id.test.js.map +1 -0
- package/dist/comments/test/update-comment-partial.test.d.ts +2 -0
- package/dist/comments/test/update-comment-partial.test.d.ts.map +1 -0
- package/dist/comments/test/update-comment-partial.test.js +105 -0
- package/dist/comments/test/update-comment-partial.test.js.map +1 -0
- package/dist/comments/test/update-comment.test.d.ts +2 -0
- package/dist/comments/test/update-comment.test.d.ts.map +1 -0
- package/dist/comments/test/update-comment.test.js +138 -0
- package/dist/comments/test/update-comment.test.js.map +1 -0
- package/dist/comments/update-comment-by-id.d.ts +21 -0
- package/dist/comments/update-comment-by-id.d.ts.map +1 -0
- package/dist/comments/update-comment-by-id.js +46 -0
- package/dist/comments/update-comment-by-id.js.map +1 -0
- package/dist/comments/update-comment-partial.d.ts +20 -0
- package/dist/comments/update-comment-partial.d.ts.map +1 -0
- package/dist/comments/update-comment-partial.js +49 -0
- package/dist/comments/update-comment-partial.js.map +1 -0
- package/dist/comments/update-comment.d.ts +21 -0
- package/dist/comments/update-comment.d.ts.map +1 -0
- package/dist/comments/update-comment.js +46 -0
- package/dist/comments/update-comment.js.map +1 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +56 -0
- package/dist/index.js.map +1 -0
- package/dist/photos/create-new-photo.d.ts +17 -0
- package/dist/photos/create-new-photo.d.ts.map +1 -0
- package/dist/photos/create-new-photo.js +45 -0
- package/dist/photos/create-new-photo.js.map +1 -0
- package/dist/photos/delete-photo.d.ts +9 -0
- package/dist/photos/delete-photo.d.ts.map +1 -0
- package/dist/photos/delete-photo.js +36 -0
- package/dist/photos/delete-photo.js.map +1 -0
- package/dist/photos/get-all-photos.d.ts +8 -0
- package/dist/photos/get-all-photos.d.ts.map +1 -0
- package/dist/photos/get-all-photos.js +38 -0
- package/dist/photos/get-all-photos.js.map +1 -0
- package/dist/photos/get-photo-by-id.d.ts +14 -0
- package/dist/photos/get-photo-by-id.d.ts.map +1 -0
- package/dist/photos/get-photo-by-id.js +40 -0
- package/dist/photos/get-photo-by-id.js.map +1 -0
- package/dist/photos/test/create-new-photo.test.d.ts +2 -0
- package/dist/photos/test/create-new-photo.test.d.ts.map +1 -0
- package/dist/photos/test/create-new-photo.test.js +121 -0
- package/dist/photos/test/create-new-photo.test.js.map +1 -0
- package/dist/photos/test/delete-photo.test.d.ts +2 -0
- package/dist/photos/test/delete-photo.test.d.ts.map +1 -0
- package/dist/photos/test/delete-photo.test.js +59 -0
- package/dist/photos/test/delete-photo.test.js.map +1 -0
- package/dist/photos/test/get-all-photos.test.d.ts +2 -0
- package/dist/photos/test/get-all-photos.test.d.ts.map +1 -0
- package/dist/photos/test/get-all-photos.test.js +85 -0
- package/dist/photos/test/get-all-photos.test.js.map +1 -0
- package/dist/photos/test/get-photo-by-id.test.d.ts +2 -0
- package/dist/photos/test/get-photo-by-id.test.d.ts.map +1 -0
- package/dist/photos/test/get-photo-by-id.test.js +89 -0
- package/dist/photos/test/get-photo-by-id.test.js.map +1 -0
- package/dist/photos/test/update-photo-partial.test.d.ts +2 -0
- package/dist/photos/test/update-photo-partial.test.d.ts.map +1 -0
- package/dist/photos/test/update-photo-partial.test.js +105 -0
- package/dist/photos/test/update-photo-partial.test.js.map +1 -0
- package/dist/photos/test/update-photo.test.d.ts +2 -0
- package/dist/photos/test/update-photo.test.d.ts.map +1 -0
- package/dist/photos/test/update-photo.test.js +138 -0
- package/dist/photos/test/update-photo.test.js.map +1 -0
- package/dist/photos/update-photo-by-id.d.ts +21 -0
- package/dist/photos/update-photo-by-id.d.ts.map +1 -0
- package/dist/photos/update-photo-by-id.js +46 -0
- package/dist/photos/update-photo-by-id.js.map +1 -0
- package/dist/photos/update-photo-partial.d.ts +20 -0
- package/dist/photos/update-photo-partial.d.ts.map +1 -0
- package/dist/photos/update-photo-partial.js +49 -0
- package/dist/photos/update-photo-partial.js.map +1 -0
- package/dist/photos/update-photo.d.ts +21 -0
- package/dist/photos/update-photo.d.ts.map +1 -0
- package/dist/photos/update-photo.js +46 -0
- package/dist/photos/update-photo.js.map +1 -0
- package/dist/posts/create-new-post.d.ts +16 -0
- package/dist/posts/create-new-post.d.ts.map +1 -0
- package/dist/posts/create-new-post.js +45 -0
- package/dist/posts/create-new-post.js.map +1 -0
- package/dist/posts/delete-post.d.ts +9 -0
- package/dist/posts/delete-post.d.ts.map +1 -0
- package/dist/posts/delete-post.js +36 -0
- package/dist/posts/delete-post.js.map +1 -0
- package/dist/posts/get-all-posts.d.ts +8 -0
- package/dist/posts/get-all-posts.d.ts.map +1 -0
- package/dist/posts/get-all-posts.js +38 -0
- package/dist/posts/get-all-posts.js.map +1 -0
- package/dist/posts/get-post-by-id.d.ts +14 -0
- package/dist/posts/get-post-by-id.d.ts.map +1 -0
- package/dist/posts/get-post-by-id.js +40 -0
- package/dist/posts/get-post-by-id.js.map +1 -0
- package/dist/posts/test/create-new-post.test.d.ts +2 -0
- package/dist/posts/test/create-new-post.test.d.ts.map +1 -0
- package/dist/posts/test/create-new-post.test.js +106 -0
- package/dist/posts/test/create-new-post.test.js.map +1 -0
- package/dist/posts/test/delete-post.test.d.ts +2 -0
- package/dist/posts/test/delete-post.test.d.ts.map +1 -0
- package/dist/posts/test/delete-post.test.js +59 -0
- package/dist/posts/test/delete-post.test.js.map +1 -0
- package/dist/posts/test/get-all-posts.test.d.ts +2 -0
- package/dist/posts/test/get-all-posts.test.d.ts.map +1 -0
- package/dist/posts/test/get-all-posts.test.js +73 -0
- package/dist/posts/test/get-all-posts.test.js.map +1 -0
- package/dist/posts/test/get-post-by-id.test.d.ts +2 -0
- package/dist/posts/test/get-post-by-id.test.d.ts.map +1 -0
- package/dist/posts/test/get-post-by-id.test.js +88 -0
- package/dist/posts/test/get-post-by-id.test.js.map +1 -0
- package/dist/posts/test/update-post-partial.test.d.ts +2 -0
- package/dist/posts/test/update-post-partial.test.d.ts.map +1 -0
- package/dist/posts/test/update-post-partial.test.js +104 -0
- package/dist/posts/test/update-post-partial.test.js.map +1 -0
- package/dist/posts/test/update-post.test.d.ts +2 -0
- package/dist/posts/test/update-post.test.d.ts.map +1 -0
- package/dist/posts/test/update-post.test.js +132 -0
- package/dist/posts/test/update-post.test.js.map +1 -0
- package/dist/posts/update-post-by-id.d.ts +20 -0
- package/dist/posts/update-post-by-id.d.ts.map +1 -0
- package/dist/posts/update-post-by-id.js +46 -0
- package/dist/posts/update-post-by-id.js.map +1 -0
- package/dist/posts/update-post-partial.d.ts +19 -0
- package/dist/posts/update-post-partial.d.ts.map +1 -0
- package/dist/posts/update-post-partial.js +49 -0
- package/dist/posts/update-post-partial.js.map +1 -0
- package/dist/posts/update-post.d.ts +20 -0
- package/dist/posts/update-post.d.ts.map +1 -0
- package/dist/posts/update-post.js +46 -0
- package/dist/posts/update-post.js.map +1 -0
- package/dist/shared/api-base-url.d.ts +2 -0
- package/dist/shared/api-base-url.d.ts.map +1 -0
- package/dist/shared/api-base-url.js +6 -0
- package/dist/shared/api-base-url.js.map +1 -0
- package/dist/shared/test/index.test.d.ts +2 -0
- package/dist/shared/test/index.test.d.ts.map +1 -0
- package/dist/shared/test/index.test.js +10 -0
- package/dist/shared/test/index.test.js.map +1 -0
- package/dist/todos/create-new-todo.d.ts +16 -0
- package/dist/todos/create-new-todo.d.ts.map +1 -0
- package/dist/todos/create-new-todo.js +45 -0
- package/dist/todos/create-new-todo.js.map +1 -0
- package/dist/todos/delete-todo.d.ts +9 -0
- package/dist/todos/delete-todo.d.ts.map +1 -0
- package/dist/todos/delete-todo.js +36 -0
- package/dist/todos/delete-todo.js.map +1 -0
- package/dist/todos/get-all-todos.d.ts +8 -0
- package/dist/todos/get-all-todos.d.ts.map +1 -0
- package/dist/todos/get-all-todos.js +38 -0
- package/dist/todos/get-all-todos.js.map +1 -0
- package/dist/todos/get-todo-by-id.d.ts +14 -0
- package/dist/todos/get-todo-by-id.d.ts.map +1 -0
- package/dist/todos/get-todo-by-id.js +40 -0
- package/dist/todos/get-todo-by-id.js.map +1 -0
- package/dist/todos/test/create-new-todo.test.d.ts +2 -0
- package/dist/todos/test/create-new-todo.test.d.ts.map +1 -0
- package/dist/todos/test/create-new-todo.test.js +106 -0
- package/dist/todos/test/create-new-todo.test.js.map +1 -0
- package/dist/todos/test/delete-todo.test.d.ts +2 -0
- package/dist/todos/test/delete-todo.test.d.ts.map +1 -0
- package/dist/todos/test/delete-todo.test.js +59 -0
- package/dist/todos/test/delete-todo.test.js.map +1 -0
- package/dist/todos/test/get-all-todos.test.d.ts +2 -0
- package/dist/todos/test/get-all-todos.test.d.ts.map +1 -0
- package/dist/todos/test/get-all-todos.test.js +73 -0
- package/dist/todos/test/get-all-todos.test.js.map +1 -0
- package/dist/todos/test/get-todo-by-id.test.d.ts +2 -0
- package/dist/todos/test/get-todo-by-id.test.d.ts.map +1 -0
- package/dist/todos/test/get-todo-by-id.test.js +88 -0
- package/dist/todos/test/get-todo-by-id.test.js.map +1 -0
- package/dist/todos/test/update-todo-partial.test.d.ts +2 -0
- package/dist/todos/test/update-todo-partial.test.d.ts.map +1 -0
- package/dist/todos/test/update-todo-partial.test.js +104 -0
- package/dist/todos/test/update-todo-partial.test.js.map +1 -0
- package/dist/todos/test/update-todo.test.d.ts +2 -0
- package/dist/todos/test/update-todo.test.d.ts.map +1 -0
- package/dist/todos/test/update-todo.test.js +132 -0
- package/dist/todos/test/update-todo.test.js.map +1 -0
- package/dist/todos/update-todo-by-id.d.ts +20 -0
- package/dist/todos/update-todo-by-id.d.ts.map +1 -0
- package/dist/todos/update-todo-by-id.js +46 -0
- package/dist/todos/update-todo-by-id.js.map +1 -0
- package/dist/todos/update-todo-partial.d.ts +19 -0
- package/dist/todos/update-todo-partial.d.ts.map +1 -0
- package/dist/todos/update-todo-partial.js +49 -0
- package/dist/todos/update-todo-partial.js.map +1 -0
- package/dist/todos/update-todo.d.ts +20 -0
- package/dist/todos/update-todo.d.ts.map +1 -0
- package/dist/todos/update-todo.js +46 -0
- package/dist/todos/update-todo.js.map +1 -0
- package/dist/types/index.d.ts +17 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/users/create-new-user.d.ts +16 -0
- package/dist/users/create-new-user.d.ts.map +1 -0
- package/dist/users/create-new-user.js +45 -0
- package/dist/users/create-new-user.js.map +1 -0
- package/dist/users/delete-user.d.ts +9 -0
- package/dist/users/delete-user.d.ts.map +1 -0
- package/dist/users/delete-user.js +36 -0
- package/dist/users/delete-user.js.map +1 -0
- package/dist/users/get-all-users.d.ts +8 -0
- package/dist/users/get-all-users.d.ts.map +1 -0
- package/dist/users/get-all-users.js +38 -0
- package/dist/users/get-all-users.js.map +1 -0
- package/dist/users/get-user-by-id.d.ts +14 -0
- package/dist/users/get-user-by-id.d.ts.map +1 -0
- package/dist/users/get-user-by-id.js +40 -0
- package/dist/users/get-user-by-id.js.map +1 -0
- package/dist/users/test/create-new-user.test.d.ts +2 -0
- package/dist/users/test/create-new-user.test.d.ts.map +1 -0
- package/dist/users/test/create-new-user.test.js +106 -0
- package/dist/users/test/create-new-user.test.js.map +1 -0
- package/dist/users/test/delete-user.test.d.ts +2 -0
- package/dist/users/test/delete-user.test.d.ts.map +1 -0
- package/dist/users/test/delete-user.test.js +59 -0
- package/dist/users/test/delete-user.test.js.map +1 -0
- package/dist/users/test/get-all-users.test.d.ts +2 -0
- package/dist/users/test/get-all-users.test.d.ts.map +1 -0
- package/dist/users/test/get-all-users.test.js +73 -0
- package/dist/users/test/get-all-users.test.js.map +1 -0
- package/dist/users/test/get-user-by-id.test.d.ts +2 -0
- package/dist/users/test/get-user-by-id.test.d.ts.map +1 -0
- package/dist/users/test/get-user-by-id.test.js +88 -0
- package/dist/users/test/get-user-by-id.test.js.map +1 -0
- package/dist/users/test/update-user-partial.test.d.ts +2 -0
- package/dist/users/test/update-user-partial.test.d.ts.map +1 -0
- package/dist/users/test/update-user-partial.test.js +104 -0
- package/dist/users/test/update-user-partial.test.js.map +1 -0
- package/dist/users/test/update-user.test.d.ts +2 -0
- package/dist/users/test/update-user.test.d.ts.map +1 -0
- package/dist/users/test/update-user.test.js +188 -0
- package/dist/users/test/update-user.test.js.map +1 -0
- package/dist/users/update-user-partial.d.ts +36 -0
- package/dist/users/update-user-partial.d.ts.map +1 -0
- package/dist/users/update-user-partial.js +49 -0
- package/dist/users/update-user-partial.js.map +1 -0
- package/dist/users/update-user.d.ts +37 -0
- package/dist/users/update-user.d.ts.map +1 -0
- package/dist/users/update-user.js +46 -0
- package/dist/users/update-user.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-photo.test.d.ts","sourceRoot":"","sources":["../../../src/photos/test/update-photo.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/// <reference types="jest" />
|
|
4
|
+
const update_photo_js_1 = require("../update-photo.js");
|
|
5
|
+
/* restore mocks after each test */
|
|
6
|
+
afterEach(() => {
|
|
7
|
+
jest.restoreAllMocks();
|
|
8
|
+
});
|
|
9
|
+
describe("updatePhoto", () => {
|
|
10
|
+
const originalFetch = global.fetch;
|
|
11
|
+
const originalConsoleError = console.error;
|
|
12
|
+
afterEach(() => {
|
|
13
|
+
if (originalFetch)
|
|
14
|
+
global.fetch = originalFetch;
|
|
15
|
+
else
|
|
16
|
+
delete global.fetch;
|
|
17
|
+
console.error = originalConsoleError;
|
|
18
|
+
jest.restoreAllMocks();
|
|
19
|
+
});
|
|
20
|
+
/* #1 */
|
|
21
|
+
test("returns api-fail when global fetch is unavailable", async () => {
|
|
22
|
+
delete global.fetch;
|
|
23
|
+
console.error = jest.fn();
|
|
24
|
+
await expect((0, update_photo_js_1.updatePhoto)({
|
|
25
|
+
id: 1,
|
|
26
|
+
data: {
|
|
27
|
+
id: 1,
|
|
28
|
+
albumId: 1,
|
|
29
|
+
title: "Updated title",
|
|
30
|
+
url: "https://via.placeholder.com/600/92c952",
|
|
31
|
+
thumbnailUrl: "https://via.placeholder.com/150/92c952"
|
|
32
|
+
}
|
|
33
|
+
})).resolves.toEqual({
|
|
34
|
+
code: "api-fail",
|
|
35
|
+
message: "[Bad]: Update Photo By Id. Encountered Error.",
|
|
36
|
+
payload: { updated: false, photo: null }
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
/* #2 */
|
|
40
|
+
test("returns api-fail when fetch response is not ok", async () => {
|
|
41
|
+
const mockResponse = {
|
|
42
|
+
ok: false,
|
|
43
|
+
status: 500,
|
|
44
|
+
json: jest.fn().mockResolvedValue({})
|
|
45
|
+
};
|
|
46
|
+
global.fetch = jest.fn().mockResolvedValue(mockResponse);
|
|
47
|
+
console.error = jest.fn();
|
|
48
|
+
await expect((0, update_photo_js_1.updatePhoto)({
|
|
49
|
+
id: 1,
|
|
50
|
+
data: {
|
|
51
|
+
id: 1,
|
|
52
|
+
albumId: 1,
|
|
53
|
+
title: "Updated title",
|
|
54
|
+
url: "https://via.placeholder.com/600/92c952",
|
|
55
|
+
thumbnailUrl: "https://via.placeholder.com/150/92c952"
|
|
56
|
+
}
|
|
57
|
+
})).resolves.toEqual({
|
|
58
|
+
code: "api-fail",
|
|
59
|
+
message: "[Bad]: Update Photo By Id. Encountered Error.",
|
|
60
|
+
payload: { updated: false, photo: null }
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
/* #3 */
|
|
64
|
+
test("returns updated false when response ok but photo is empty", async () => {
|
|
65
|
+
const mockResponse = {
|
|
66
|
+
ok: true,
|
|
67
|
+
json: jest.fn().mockResolvedValue({})
|
|
68
|
+
};
|
|
69
|
+
global.fetch = jest.fn().mockResolvedValue(mockResponse);
|
|
70
|
+
await expect((0, update_photo_js_1.updatePhoto)({
|
|
71
|
+
id: 1,
|
|
72
|
+
data: {
|
|
73
|
+
id: 1,
|
|
74
|
+
albumId: 1,
|
|
75
|
+
title: "Updated title",
|
|
76
|
+
url: "https://via.placeholder.com/600/92c952",
|
|
77
|
+
thumbnailUrl: "https://via.placeholder.com/150/92c952"
|
|
78
|
+
}
|
|
79
|
+
})).resolves.toEqual({
|
|
80
|
+
code: "api-ok",
|
|
81
|
+
message: "No errors encountered. Check payload.",
|
|
82
|
+
payload: { updated: false, photo: null }
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
/* #4 */
|
|
86
|
+
test("returns updated true when response ok and photo has data", async () => {
|
|
87
|
+
const mockPhoto = {
|
|
88
|
+
id: 1,
|
|
89
|
+
albumId: 1,
|
|
90
|
+
title: "Updated title",
|
|
91
|
+
url: "https://via.placeholder.com/600/92c952",
|
|
92
|
+
thumbnailUrl: "https://via.placeholder.com/150/92c952"
|
|
93
|
+
};
|
|
94
|
+
const mockResponse = {
|
|
95
|
+
ok: true,
|
|
96
|
+
json: jest.fn().mockResolvedValue(mockPhoto)
|
|
97
|
+
};
|
|
98
|
+
global.fetch = jest.fn().mockResolvedValue(mockResponse);
|
|
99
|
+
await expect((0, update_photo_js_1.updatePhoto)({
|
|
100
|
+
id: 1,
|
|
101
|
+
data: {
|
|
102
|
+
id: 1,
|
|
103
|
+
albumId: 1,
|
|
104
|
+
title: "Updated title",
|
|
105
|
+
url: "https://via.placeholder.com/600/92c952",
|
|
106
|
+
thumbnailUrl: "https://via.placeholder.com/150/92c952"
|
|
107
|
+
}
|
|
108
|
+
})).resolves.toEqual({
|
|
109
|
+
code: "api-ok",
|
|
110
|
+
message: "No errors encountered. Check payload.",
|
|
111
|
+
payload: { updated: true, photo: mockPhoto }
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
/* #5 */
|
|
115
|
+
test("targets the photo update endpoint with body and headers", async () => {
|
|
116
|
+
const mockResponse = {
|
|
117
|
+
ok: true,
|
|
118
|
+
json: jest.fn().mockResolvedValue({})
|
|
119
|
+
};
|
|
120
|
+
global.fetch = jest.fn().mockResolvedValue(mockResponse);
|
|
121
|
+
const payload = {
|
|
122
|
+
id: 10,
|
|
123
|
+
albumId: 1,
|
|
124
|
+
title: "Updated title",
|
|
125
|
+
url: "https://via.placeholder.com/600/92c952",
|
|
126
|
+
thumbnailUrl: "https://via.placeholder.com/150/92c952"
|
|
127
|
+
};
|
|
128
|
+
await (0, update_photo_js_1.updatePhoto)({ id: 10, data: payload });
|
|
129
|
+
expect(global.fetch).toHaveBeenCalledWith("https://jsonplaceholder.typicode.com/photos/10", {
|
|
130
|
+
method: "PUT",
|
|
131
|
+
body: JSON.stringify(payload),
|
|
132
|
+
headers: {
|
|
133
|
+
"Content-type": "application/json; charset=UTF-8"
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
//# sourceMappingURL=update-photo.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-photo.test.js","sourceRoot":"","sources":["../../../src/photos/test/update-photo.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { TAPIResponse, TPhoto } from "../types/index.js";
|
|
2
|
+
type TInput = {
|
|
3
|
+
id: number;
|
|
4
|
+
data: {
|
|
5
|
+
id: number;
|
|
6
|
+
albumId: number;
|
|
7
|
+
title: string;
|
|
8
|
+
url: string;
|
|
9
|
+
thumbnailUrl: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
type TUpdatedPhotoRes = TAPIResponse & {
|
|
13
|
+
payload: null | {
|
|
14
|
+
updated: boolean;
|
|
15
|
+
photo: TPhoto | null;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
declare function updatePhotoById(props: TInput): Promise<TUpdatedPhotoRes>;
|
|
19
|
+
export type { TUpdatedPhotoRes };
|
|
20
|
+
export { updatePhotoById };
|
|
21
|
+
//# sourceMappingURL=update-photo-by-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-photo-by-id.d.ts","sourceRoot":"","sources":["../../src/photos/update-photo-by-id.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIzD,KAAK,MAAM,GAAG;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;CACxF,CAAC;AACF,KAAK,gBAAgB,GAAG,YAAY,GAAG;IACrC,OAAO,EAAE,IAAI,GAAG;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KACrB,CAAA;CACF,CAAC;AAGF,iBAAe,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqCvE;AAGD,YAAY,EAAE,gBAAgB,EAAE,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updatePhotoById = updatePhotoById;
|
|
4
|
+
const api_base_url_js_1 = require("../shared/api-base-url.js");
|
|
5
|
+
/* module */
|
|
6
|
+
async function updatePhotoById(props) {
|
|
7
|
+
try {
|
|
8
|
+
if (typeof fetch !== "function") {
|
|
9
|
+
throw new Error("[Bad]: Global Fetch Not Available");
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
/* setup and fetch */
|
|
13
|
+
const { id } = props;
|
|
14
|
+
const API_URL = `${api_base_url_js_1.API_BASE_URL}/photos/${id}`;
|
|
15
|
+
const response = await fetch(API_URL, {
|
|
16
|
+
method: "PUT",
|
|
17
|
+
body: JSON.stringify(props.data),
|
|
18
|
+
headers: {
|
|
19
|
+
'Content-type': 'application/json; charset=UTF-8',
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
/* check and return */
|
|
23
|
+
if (!response.ok) {
|
|
24
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
const photo = await response.json();
|
|
28
|
+
const payload = Object.keys(photo).length <= 0 ? { updated: false, photo: null } : { updated: true, photo };
|
|
29
|
+
return {
|
|
30
|
+
code: "api-ok",
|
|
31
|
+
message: "No errors encountered. Check payload.",
|
|
32
|
+
payload
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
console.error(error);
|
|
39
|
+
return {
|
|
40
|
+
code: "api-fail",
|
|
41
|
+
message: "[Bad]: Update Photo By Id. Encountered Error.",
|
|
42
|
+
payload: { updated: false, photo: null }
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=update-photo-by-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-photo-by-id.js","sourceRoot":"","sources":["../../src/photos/update-photo-by-id.ts"],"names":[],"mappings":";;AA0DS,0CAAe;AAxDxB,+DAAyD;AAczD,YAAY;AACZ,KAAK,UAAU,eAAe,CAAC,KAAa;IAC1C,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;YACrB,MAAM,OAAO,GAAG,GAAG,8BAAY,WAAW,EAAE,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;gBACpC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChC,OAAO,EAAE;oBACP,cAAc,EAAE,iCAAiC;iBAClD;aACF,CAAC,CAAC;YAEH,sBAAsB;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;gBACxG,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,uCAAuC;oBAChD,OAAO;iBACR,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,+CAA+C;YACxD,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;SACzC,CAAA;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { TAPIResponse, TPhoto } from "../types/index.js";
|
|
2
|
+
type TInput = {
|
|
3
|
+
id: number;
|
|
4
|
+
data: {
|
|
5
|
+
albumId?: number;
|
|
6
|
+
title?: string;
|
|
7
|
+
url?: string;
|
|
8
|
+
thumbnailUrl?: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
type TUpdatePhotoPartialRes = TAPIResponse & {
|
|
12
|
+
payload: null | {
|
|
13
|
+
patched: boolean;
|
|
14
|
+
photo: TPhoto | null;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
declare function updatePhotoPartial(props: TInput): Promise<TUpdatePhotoPartialRes>;
|
|
18
|
+
export type { TUpdatePhotoPartialRes };
|
|
19
|
+
export { updatePhotoPartial };
|
|
20
|
+
//# sourceMappingURL=update-photo-partial.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-photo-partial.d.ts","sourceRoot":"","sources":["../../src/photos/update-photo-partial.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIzD,KAAK,MAAM,GAAG;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAChF,CAAC;AACF,KAAK,sBAAsB,GAAG,YAAY,GAAG;IAC3C,OAAO,EAAE,IAAI,GAAG;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KACrB,CAAA;CACF,CAAC;AAGF,iBAAe,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAuChF;AAGD,YAAY,EAAE,sBAAsB,EAAE,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updatePhotoPartial = updatePhotoPartial;
|
|
4
|
+
const api_base_url_js_1 = require("../shared/api-base-url.js");
|
|
5
|
+
/* module */
|
|
6
|
+
async function updatePhotoPartial(props) {
|
|
7
|
+
try {
|
|
8
|
+
if (typeof fetch !== "function") {
|
|
9
|
+
throw new Error("[Bad]: Global Fetch Not Available");
|
|
10
|
+
}
|
|
11
|
+
else if (Object.keys(props.data).length <= 0) {
|
|
12
|
+
throw new Error("[Bad]: Need atleast one field for PATCH update.");
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
/* setup and fetch */
|
|
16
|
+
const { id } = props;
|
|
17
|
+
const API_URL = `${api_base_url_js_1.API_BASE_URL}/photos/${id}`;
|
|
18
|
+
const response = await fetch(API_URL, {
|
|
19
|
+
method: "PATCH",
|
|
20
|
+
body: JSON.stringify(props.data),
|
|
21
|
+
headers: {
|
|
22
|
+
'Content-type': 'application/json; charset=UTF-8',
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
/* check and return */
|
|
26
|
+
if (!response.ok) {
|
|
27
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
const photo = await response.json();
|
|
31
|
+
const payload = Object.keys(photo).length <= 0 ? { patched: false, photo: null } : { patched: true, photo };
|
|
32
|
+
return {
|
|
33
|
+
code: "api-ok",
|
|
34
|
+
message: "No errors encountered. Check payload.",
|
|
35
|
+
payload
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
console.error(error);
|
|
42
|
+
return {
|
|
43
|
+
code: "api-fail",
|
|
44
|
+
message: "[Bad]: Partial Update Photo By Id. Encountered Error.",
|
|
45
|
+
payload: { patched: false, photo: null }
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=update-photo-partial.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-photo-partial.js","sourceRoot":"","sources":["../../src/photos/update-photo-partial.ts"],"names":[],"mappings":";;AA4DS,gDAAkB;AA1D3B,+DAAyD;AAczD,YAAY;AACZ,KAAK,UAAU,kBAAkB,CAAC,KAAa;IAC7C,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;YACrB,MAAM,OAAO,GAAG,GAAG,8BAAY,WAAW,EAAE,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;gBACpC,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChC,OAAO,EAAE;oBACP,cAAc,EAAE,iCAAiC;iBAClD;aACF,CAAC,CAAC;YAEH,sBAAsB;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;gBACxG,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,uCAAuC;oBAChD,OAAO;iBACR,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,uDAAuD;YAChE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;SACzC,CAAA;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { TAPIResponse, TPhoto } from "../types/index.js";
|
|
2
|
+
type TInput = {
|
|
3
|
+
id: number;
|
|
4
|
+
data: {
|
|
5
|
+
id: number;
|
|
6
|
+
albumId: number;
|
|
7
|
+
title: string;
|
|
8
|
+
url: string;
|
|
9
|
+
thumbnailUrl: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
type TUpdatePhotoRes = TAPIResponse & {
|
|
13
|
+
payload: null | {
|
|
14
|
+
updated: boolean;
|
|
15
|
+
photo: TPhoto | null;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
declare function updatePhoto(props: TInput): Promise<TUpdatePhotoRes>;
|
|
19
|
+
export type { TUpdatePhotoRes };
|
|
20
|
+
export { updatePhoto };
|
|
21
|
+
//# sourceMappingURL=update-photo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-photo.d.ts","sourceRoot":"","sources":["../../src/photos/update-photo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIzD,KAAK,MAAM,GAAG;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;CACxF,CAAC;AACF,KAAK,eAAe,GAAG,YAAY,GAAG;IACpC,OAAO,EAAE,IAAI,GAAG;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KACrB,CAAA;CACF,CAAC;AAGF,iBAAe,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAqClE;AAGD,YAAY,EAAE,eAAe,EAAE,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updatePhoto = updatePhoto;
|
|
4
|
+
const api_base_url_js_1 = require("../shared/api-base-url.js");
|
|
5
|
+
/* module */
|
|
6
|
+
async function updatePhoto(props) {
|
|
7
|
+
try {
|
|
8
|
+
if (typeof fetch !== "function") {
|
|
9
|
+
throw new Error("[Bad]: Global Fetch Not Available");
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
/* setup and fetch */
|
|
13
|
+
const { id } = props;
|
|
14
|
+
const API_URL = `${api_base_url_js_1.API_BASE_URL}/photos/${id}`;
|
|
15
|
+
const response = await fetch(API_URL, {
|
|
16
|
+
method: "PUT",
|
|
17
|
+
body: JSON.stringify(props.data),
|
|
18
|
+
headers: {
|
|
19
|
+
'Content-type': 'application/json; charset=UTF-8',
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
/* check and return */
|
|
23
|
+
if (!response.ok) {
|
|
24
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
const photo = await response.json();
|
|
28
|
+
const payload = Object.keys(photo).length <= 0 ? { updated: false, photo: null } : { updated: true, photo };
|
|
29
|
+
return {
|
|
30
|
+
code: "api-ok",
|
|
31
|
+
message: "No errors encountered. Check payload.",
|
|
32
|
+
payload
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
console.error(error);
|
|
39
|
+
return {
|
|
40
|
+
code: "api-fail",
|
|
41
|
+
message: "[Bad]: Update Photo By Id. Encountered Error.",
|
|
42
|
+
payload: { updated: false, photo: null }
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=update-photo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-photo.js","sourceRoot":"","sources":["../../src/photos/update-photo.ts"],"names":[],"mappings":";;AA0DS,kCAAW;AAxDpB,+DAAyD;AAczD,YAAY;AACZ,KAAK,UAAU,WAAW,CAAC,KAAa;IACtC,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;YACrB,MAAM,OAAO,GAAG,GAAG,8BAAY,WAAW,EAAE,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;gBACpC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChC,OAAO,EAAE;oBACP,cAAc,EAAE,iCAAiC;iBAClD;aACF,CAAC,CAAC;YAEH,sBAAsB;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;gBACxG,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,uCAAuC;oBAChD,OAAO;iBACR,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,+CAA+C;YACxD,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;SACzC,CAAA;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TAPIResponse, TNewPost } from "../types/index.js";
|
|
2
|
+
type TInput = {
|
|
3
|
+
userId: number;
|
|
4
|
+
title: string;
|
|
5
|
+
body: string;
|
|
6
|
+
};
|
|
7
|
+
type TNewPostRes = TAPIResponse & {
|
|
8
|
+
payload: null | {
|
|
9
|
+
created: boolean;
|
|
10
|
+
post: null | TNewPost;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
declare function createNewPost(props: TInput): Promise<TNewPostRes>;
|
|
14
|
+
export type { TNewPostRes };
|
|
15
|
+
export { createNewPost };
|
|
16
|
+
//# sourceMappingURL=create-new-post.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-new-post.d.ts","sourceRoot":"","sources":["../../src/posts/create-new-post.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI3D,KAAK,MAAM,GAAG;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAC;AAC5D,KAAK,WAAW,GAAG,YAAY,GAAG;IAChC,OAAO,EAAE,IAAI,GAAG;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,IAAI,GAAG,QAAQ,CAAA;KACtB,CAAA;CACF,CAAC;AAGF,iBAAe,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAoChE;AAGD,YAAY,EAAE,WAAW,EAAE,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createNewPost = createNewPost;
|
|
4
|
+
const api_base_url_js_1 = require("../shared/api-base-url.js");
|
|
5
|
+
/* module */
|
|
6
|
+
async function createNewPost(props) {
|
|
7
|
+
try {
|
|
8
|
+
if (typeof fetch !== "function") {
|
|
9
|
+
throw new Error("[Bad]: Global Fetch Not Available");
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
/* setup and fetch */
|
|
13
|
+
const API_URL = `${api_base_url_js_1.API_BASE_URL}/posts`;
|
|
14
|
+
const response = await fetch(API_URL, {
|
|
15
|
+
method: "POST",
|
|
16
|
+
body: JSON.stringify(props),
|
|
17
|
+
headers: {
|
|
18
|
+
'Content-type': 'application/json; charset=UTF-8',
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
/* check and return */
|
|
22
|
+
if (!response.ok) {
|
|
23
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
const post = await response.json();
|
|
27
|
+
const payload = Object.keys(post).length <= 0 ? { created: false, post: null } : { created: true, post };
|
|
28
|
+
return {
|
|
29
|
+
code: "api-ok",
|
|
30
|
+
message: "No errors encountered. Check payload.",
|
|
31
|
+
payload
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
console.error(error);
|
|
38
|
+
return {
|
|
39
|
+
code: "api-fail",
|
|
40
|
+
message: "[Bad]: Create New Post. Encountered Error.",
|
|
41
|
+
payload: { created: false, post: null }
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=create-new-post.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-new-post.js","sourceRoot":"","sources":["../../src/posts/create-new-post.ts"],"names":[],"mappings":";;AAsDS,sCAAa;AApDtB,+DAAyD;AAWzD,YAAY;AACZ,KAAK,UAAU,aAAa,CAAC,KAAa;IACxC,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,MAAM,OAAO,GAAG,GAAG,8BAAY,QAAQ,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;gBACpC,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC3B,OAAO,EAAE;oBACP,cAAc,EAAE,iCAAiC;iBAClD;aACF,CAAC,CAAC;YAEH,sBAAsB;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;gBACrG,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,uCAAuC;oBAChD,OAAO;iBACR,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,4CAA4C;YACrD,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;SACxC,CAAA;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TAPIResponse } from "../types/index.js";
|
|
2
|
+
type TInput = {
|
|
3
|
+
id: number;
|
|
4
|
+
};
|
|
5
|
+
type TPostDeleteRes = TAPIResponse;
|
|
6
|
+
declare function deletePost(props: TInput): Promise<TPostDeleteRes>;
|
|
7
|
+
export type { TPostDeleteRes };
|
|
8
|
+
export { deletePost };
|
|
9
|
+
//# sourceMappingURL=delete-post.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-post.d.ts","sourceRoot":"","sources":["../../src/posts/delete-post.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD,KAAK,MAAM,GAAG;IAAC,EAAE,EAAE,MAAM,CAAA;CAAC,CAAC;AAC3B,KAAK,cAAc,GAAG,YAAY,CAAC;AAGnC,iBAAe,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA2BhE;AAGD,YAAY,EAAE,cAAc,EAAE,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deletePost = deletePost;
|
|
4
|
+
const api_base_url_js_1 = require("../shared/api-base-url.js");
|
|
5
|
+
/* module */
|
|
6
|
+
async function deletePost(props) {
|
|
7
|
+
try {
|
|
8
|
+
if (typeof fetch !== "function") {
|
|
9
|
+
throw new Error("[Bad]: Global Fetch Not Available");
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
/* setup and fetch */
|
|
13
|
+
const { id } = props;
|
|
14
|
+
const API_URL = `${api_base_url_js_1.API_BASE_URL}/posts/${id}`;
|
|
15
|
+
const response = await fetch(API_URL, { method: "DELETE" });
|
|
16
|
+
/* check and return */
|
|
17
|
+
if (!response.ok) {
|
|
18
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return {
|
|
22
|
+
code: "api-ok",
|
|
23
|
+
message: "Post Deleted Successfully. No Errors Encountered",
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
console.error(error);
|
|
30
|
+
return {
|
|
31
|
+
code: "api-fail",
|
|
32
|
+
message: "[Bad]: Delete Post. Encountered Error.",
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=delete-post.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-post.js","sourceRoot":"","sources":["../../src/posts/delete-post.ts"],"names":[],"mappings":";;AAwCS,gCAAU;AAtCnB,+DAAyD;AAMzD,YAAY;AACZ,KAAK,UAAU,UAAU,CAAC,KAAa;IACrC,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;YACrB,MAAM,OAAO,GAAG,GAAG,8BAAY,UAAU,EAAE,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC;YAE1D,sBAAsB;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,kDAAkD;iBAC5D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,wCAAwC;SAClD,CAAA;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TAPIResponse, TPost } from "../types/index.js";
|
|
2
|
+
type TAllPostsRes = TAPIResponse & {
|
|
3
|
+
payload: null | TPost[];
|
|
4
|
+
};
|
|
5
|
+
declare function getAllPosts(): Promise<TAllPostsRes>;
|
|
6
|
+
export type { TAllPostsRes };
|
|
7
|
+
export { getAllPosts };
|
|
8
|
+
//# sourceMappingURL=get-all-posts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-all-posts.d.ts","sourceRoot":"","sources":["../../src/posts/get-all-posts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAIxD,KAAK,YAAY,GAAG,YAAY,GAAG;IAAE,OAAO,EAAE,IAAI,GAAG,KAAK,EAAE,CAAA;CAAE,CAAC;AAG/D,iBAAe,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CA6BlD;AAGD,YAAY,EAAE,YAAY,EAAE,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAllPosts = getAllPosts;
|
|
4
|
+
const api_base_url_js_1 = require("../shared/api-base-url.js");
|
|
5
|
+
/* module */
|
|
6
|
+
async function getAllPosts() {
|
|
7
|
+
try {
|
|
8
|
+
if (typeof fetch !== "function") {
|
|
9
|
+
throw new Error("[Bad]: Global Fetch Not Available");
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
/* setup and fetch */
|
|
13
|
+
const API_URL = `${api_base_url_js_1.API_BASE_URL}/posts`;
|
|
14
|
+
const response = await fetch(API_URL);
|
|
15
|
+
/* check and return */
|
|
16
|
+
if (!response.ok) {
|
|
17
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
const posts = await response.json();
|
|
21
|
+
return {
|
|
22
|
+
code: "api-ok",
|
|
23
|
+
message: "No errors encountered. Check payload.",
|
|
24
|
+
payload: posts
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.error(error);
|
|
31
|
+
return {
|
|
32
|
+
code: "api-fail",
|
|
33
|
+
message: "[Bad]: Get All Posts. Encountered Error.",
|
|
34
|
+
payload: null
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=get-all-posts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-all-posts.js","sourceRoot":"","sources":["../../src/posts/get-all-posts.ts"],"names":[],"mappings":";;AAyCS,kCAAW;AAvCpB,+DAAyD;AAKzD,YAAY;AACZ,KAAK,UAAU,WAAW;IACxB,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,MAAM,OAAO,GAAG,GAAG,8BAAY,QAAQ,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YAEtC,sBAAsB;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACpC,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,uCAAuC;oBAChD,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,0CAA0C;YACnD,OAAO,EAAE,IAAI;SACd,CAAA;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TAPIResponse, TPost } from "../types/index.js";
|
|
2
|
+
type TInput = {
|
|
3
|
+
id: number;
|
|
4
|
+
};
|
|
5
|
+
type TPostRes = TAPIResponse & {
|
|
6
|
+
payload: null | {
|
|
7
|
+
found: boolean;
|
|
8
|
+
post: null | TPost;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
declare function getPostById(props: TInput): Promise<TPostRes>;
|
|
12
|
+
export type { TPostRes };
|
|
13
|
+
export { getPostById };
|
|
14
|
+
//# sourceMappingURL=get-post-by-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-post-by-id.d.ts","sourceRoot":"","sources":["../../src/posts/get-post-by-id.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAIxD,KAAK,MAAM,GAAG;IAAC,EAAE,EAAE,MAAM,CAAA;CAAC,CAAC;AAC3B,KAAK,QAAQ,GAAG,YAAY,GAAG;IAC7B,OAAO,EAAE,IAAI,GAAG;QACd,KAAK,EAAE,OAAO,CAAC;QACf,IAAI,EAAE,IAAI,GAAG,KAAK,CAAA;KACnB,CAAA;CACF,CAAC;AAGF,iBAAe,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+B3D;AAGD,YAAY,EAAE,QAAQ,EAAE,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPostById = getPostById;
|
|
4
|
+
const api_base_url_js_1 = require("../shared/api-base-url.js");
|
|
5
|
+
/* module */
|
|
6
|
+
async function getPostById(props) {
|
|
7
|
+
try {
|
|
8
|
+
if (typeof fetch !== "function") {
|
|
9
|
+
throw new Error("[Bad]: Global Fetch Not Available");
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
/* setup and fetch */
|
|
13
|
+
const { id } = props;
|
|
14
|
+
const API_URL = `${api_base_url_js_1.API_BASE_URL}/posts/${id}`;
|
|
15
|
+
const response = await fetch(API_URL);
|
|
16
|
+
/* check and return */
|
|
17
|
+
if (!response.ok) {
|
|
18
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
const post = await response.json();
|
|
22
|
+
const payload = Object.keys(post).length <= 0 ? { found: false, post: null } : { found: true, post };
|
|
23
|
+
return {
|
|
24
|
+
code: "api-ok",
|
|
25
|
+
message: "No errors encountered. Check payload.",
|
|
26
|
+
payload
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error(error);
|
|
33
|
+
return {
|
|
34
|
+
code: "api-fail",
|
|
35
|
+
message: "[Bad]: Get Post By Id. Encountered Error.",
|
|
36
|
+
payload: { found: false, post: null }
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=get-post-by-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-post-by-id.js","sourceRoot":"","sources":["../../src/posts/get-post-by-id.ts"],"names":[],"mappings":";;AAiDS,kCAAW;AA/CpB,+DAAyD;AAWzD,YAAY;AACZ,KAAK,UAAU,WAAW,CAAC,KAAa;IACtC,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;YACrB,MAAM,OAAO,GAAG,GAAG,8BAAY,UAAU,EAAE,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YAEtC,sBAAsB;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;gBACjG,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,uCAAuC;oBAChD,OAAO;iBACR,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,2CAA2C;YACpD,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;SACtC,CAAA;IACH,CAAC;AACH,CAAC"}
|