aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils/Fetcher.jsx
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/utils/Fetcher.jsx250
1 files changed, 250 insertions, 0 deletions
diff --git a/src/utils/Fetcher.jsx b/src/utils/Fetcher.jsx
new file mode 100644
index 0000000..6444b34
--- /dev/null
+++ b/src/utils/Fetcher.jsx
@@ -0,0 +1,250 @@
+import { API_URL } from '../Config'
+import { Fetch, HEADERS } from './TokenManager'
+
+const createChore = userID => {
+ return Fetch(`${API_URL}/chores/`, {
+ method: 'POST',
+ headers: HEADERS(),
+ body: JSON.stringify({
+ createdBy: Number(userID),
+ }),
+ }).then(response => response.json())
+}
+
+const signUp = (username, password, displayName, email) => {
+ return fetch(`${API_URL}/auth/`, {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({ username, password, displayName, email }),
+ })
+}
+
+const login = (username, password) => {
+ return fetch(`${API_URL}/auth/login`, {
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ method: 'POST',
+ body: JSON.stringify({ username, password }),
+ })
+}
+
+const GetAllUsers = () => {
+ return fetch(`${API_URL}/users/`, {
+ method: 'GET',
+ headers: HEADERS(),
+ })
+}
+
+const GetChores = () => {
+ return Fetch(`${API_URL}/chores/`, {
+ method: 'GET',
+ headers: HEADERS(),
+ })
+}
+
+const GetChoreByID = id => {
+ return Fetch(`${API_URL}/chores/${id}`, {
+ method: 'GET',
+ headers: HEADERS(),
+ })
+}
+const CreateChore = chore => {
+ return Fetch(`${API_URL}/chores/`, {
+ method: 'POST',
+ headers: HEADERS(),
+ body: JSON.stringify(chore),
+ })
+}
+
+const DeleteChore = id => {
+ return Fetch(`${API_URL}/chores/${id}`, {
+ method: 'DELETE',
+ headers: HEADERS(),
+ })
+}
+
+const SaveChore = chore => {
+ console.log('chore', chore)
+ return Fetch(`${API_URL}/chores/`, {
+ method: 'PUT',
+ headers: HEADERS(),
+ body: JSON.stringify(chore),
+ })
+}
+const GetChoreHistory = choreId => {
+ return Fetch(`${API_URL}/chores/${choreId}/history`, {
+ method: 'GET',
+ headers: HEADERS(),
+ })
+}
+
+const GetAllCircleMembers = () => {
+ return Fetch(`${API_URL}/circles/members`, {
+ method: 'GET',
+ headers: HEADERS(),
+ })
+}
+
+const GetUserProfile = () => {
+ return Fetch(`${API_URL}/users/profile`, {
+ method: 'GET',
+ headers: HEADERS(),
+ })
+}
+
+const GetUserCircle = () => {
+ return Fetch(`${API_URL}/circles/`, {
+ method: 'GET',
+ headers: HEADERS(),
+ })
+}
+
+const JoinCircle = inviteCode => {
+ return Fetch(`${API_URL}/circles/join?invite_code=${inviteCode}`, {
+ method: 'POST',
+ headers: HEADERS(),
+ })
+}
+
+const GetCircleMemberRequests = () => {
+ return Fetch(`${API_URL}/circles/members/requests`, {
+ method: 'GET',
+ headers: HEADERS(),
+ })
+}
+
+const AcceptCircleMemberRequest = id => {
+ return Fetch(`${API_URL}/circles/members/requests/accept?requestId=${id}`, {
+ method: 'PUT',
+ headers: HEADERS(),
+ })
+}
+
+const LeaveCircle = id => {
+ return Fetch(`${API_URL}/circles/leave?circle_id=${id}`, {
+ method: 'DELETE',
+ headers: HEADERS(),
+ })
+}
+
+const DeleteCircleMember = (circleID, memberID) => {
+ return Fetch(
+ `${API_URL}/circles/${circleID}/members/delete?member_id=${memberID}`,
+ {
+ method: 'DELETE',
+ headers: HEADERS(),
+ },
+ )
+}
+
+const UpdateUserDetails = userDetails => {
+ return Fetch(`${API_URL}/users`, {
+ method: 'PUT',
+ headers: HEADERS(),
+ body: JSON.stringify(userDetails),
+ })
+}
+
+const GetSubscriptionSession = () => {
+ return Fetch(API_URL + `/payments/create-subscription`, {
+ method: 'GET',
+ headers: HEADERS(),
+ })
+}
+
+const CancelSubscription = () => {
+ return Fetch(API_URL + `/payments/cancel-subscription`, {
+ method: 'POST',
+ headers: HEADERS(),
+ })
+}
+
+const GetThings = () => {
+ return Fetch(`${API_URL}/things`, {
+ method: 'GET',
+ headers: HEADERS(),
+ })
+}
+const CreateThing = thing => {
+ return Fetch(`${API_URL}/things`, {
+ method: 'POST',
+ headers: HEADERS(),
+ body: JSON.stringify(thing),
+ })
+}
+
+const SaveThing = thing => {
+ return Fetch(`${API_URL}/things`, {
+ method: 'PUT',
+ headers: HEADERS(),
+ body: JSON.stringify(thing),
+ })
+}
+
+const UpdateThingState = thing => {
+ return Fetch(`${API_URL}/things/${thing.id}/state?value=${thing.state}`, {
+ method: 'PUT',
+ headers: HEADERS(),
+ })
+}
+const DeleteThing = id => {
+ return Fetch(`${API_URL}/things/${id}`, {
+ method: 'DELETE',
+ headers: HEADERS(),
+ })
+}
+
+const CreateLongLiveToken = name => {
+ return Fetch(`${API_URL}/users/tokens`, {
+ method: 'POST',
+ headers: HEADERS(),
+ body: JSON.stringify({ name }),
+ })
+}
+const DeleteLongLiveToken = id => {
+ return Fetch(`${API_URL}/users/tokens/${id}`, {
+ method: 'DELETE',
+ headers: HEADERS(),
+ })
+}
+
+const GetLongLiveTokens = () => {
+ return Fetch(`${API_URL}/users/tokens`, {
+ method: 'GET',
+ headers: HEADERS(),
+ })
+}
+export {
+ AcceptCircleMemberRequest,
+ CancelSubscription,
+ createChore,
+ CreateChore,
+ CreateLongLiveToken,
+ CreateThing,
+ DeleteChore,
+ DeleteCircleMember,
+ DeleteLongLiveToken,
+ DeleteThing,
+ GetAllCircleMembers,
+ GetAllUsers,
+ GetChoreByID,
+ GetChoreHistory,
+ GetChores,
+ GetCircleMemberRequests,
+ GetLongLiveTokens,
+ GetSubscriptionSession,
+ GetThings,
+ GetUserCircle,
+ GetUserProfile,
+ JoinCircle,
+ LeaveCircle,
+ login,
+ SaveChore,
+ SaveThing,
+ signUp,
+ UpdateThingState,
+ UpdateUserDetails,
+}