From 0af55853f6d8996d71ee4dfa7560198f8e41a042 Mon Sep 17 00:00:00 2001 From: Will Baumbach Date: Wed, 6 Aug 2025 23:24:43 -0500 Subject: [PATCH] changing posts to reference clerkUserID rather than id in mongodb --- api/controllers/postsController.js | 2 +- api/models/postModel.js | 2 +- api/routes/posts.js | 2 +- app/(tabs)/home.tsx | 4 +++- app/(tabs)/profile.tsx | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/api/controllers/postsController.js b/api/controllers/postsController.js index b00a8ae..87d41e9 100644 --- a/api/controllers/postsController.js +++ b/api/controllers/postsController.js @@ -37,7 +37,7 @@ export const getPost = async (req, res, next) => { export const getAllPostsByUser = async (req, res, next) => { console.log(req.params) - const posts = await Post.find({ userID: req.params.user }).exec() + const posts = await Post.find({ clerkUserID: req.params.id }).exec() posts.map((el) => { el.photo = process.env.CLOUDFRONT_URL + el.photo }) diff --git a/api/models/postModel.js b/api/models/postModel.js index 6b77959..a73642d 100644 --- a/api/models/postModel.js +++ b/api/models/postModel.js @@ -1,7 +1,7 @@ import mongoose from 'mongoose' const postSchema = new mongoose.Schema({ - userID: { + clerkUserID: { type: String, required: true }, diff --git a/api/routes/posts.js b/api/routes/posts.js index 7ad308a..7be4a0d 100644 --- a/api/routes/posts.js +++ b/api/routes/posts.js @@ -14,7 +14,7 @@ router.route('/').get(getAllPosts).post(createPost) router.route('/:id').get(getPost).patch(updatePost).delete(deletePost) -router.route('/user/:user').get(getAllPostsByUser) +router.route('/user/:id').get(getAllPostsByUser) router.route('/status/:status').get(getAllPostsByStatus) diff --git a/app/(tabs)/home.tsx b/app/(tabs)/home.tsx index a7a1b5e..aece044 100644 --- a/app/(tabs)/home.tsx +++ b/app/(tabs)/home.tsx @@ -1,8 +1,10 @@ +import { useUser } from '@clerk/clerk-react' import { CameraView, useCameraPermissions } from 'expo-camera' import React, { useRef, useState } from 'react' import { Button, Image, Modal, StyleSheet, Text, TextInput, TouchableOpacity, View } from 'react-native' export default function App() { + const { user } = useUser() const [permission, requestPermission] = useCameraPermissions() const [photo, setPhoto] = useState('') const [address, setAddress] = useState('') @@ -35,7 +37,7 @@ export default function App() { 'Content-Type': 'application/json' }, body: JSON.stringify({ - userID: '6883ddb2640ebaa1a12e3791', + clerkUserID: user?.id, date: new Date(), photo, address, diff --git a/app/(tabs)/profile.tsx b/app/(tabs)/profile.tsx index 0cab983..0afde3c 100644 --- a/app/(tabs)/profile.tsx +++ b/app/(tabs)/profile.tsx @@ -23,7 +23,7 @@ export default function PostsScreen() { ) async function fetchData() { - fetch(`http://localhost:3000/api/v1/posts/user/6883ddb2640ebaa1a12e3791`) + fetch(`http://localhost:3000/api/v1/posts/user/${user?.id}`) .then((res) => res.json()) .then((json) => { console.log(json)