├── .gitignore ├── LICENSE ├── README.md ├── package.json ├── prisma ├── migrations │ ├── 20240210104554_init │ │ └── migration.sql │ ├── 20240210113855_init │ │ └── migration.sql │ ├── 20240210192455_dev │ │ └── migration.sql │ ├── 20240212211522_dev │ │ └── migration.sql │ ├── 20240212223648_dev │ │ └── migration.sql │ ├── 20240214160815_dev │ │ └── migration.sql │ ├── 20240214161702_dev │ │ └── migration.sql │ └── migration_lock.toml └── schema.prisma └── src ├── app.js ├── controllers ├── Auth │ ├── Auth.index.js │ ├── changePassword.js │ ├── forgotPassword.js │ ├── login.js │ ├── logout.js │ ├── refeshToken.js │ ├── register.js │ ├── resetPassword.js │ ├── verfiyResetPassword.js │ └── verifyEmail.js ├── Comment │ ├── comment.index.js │ ├── createComment.js │ ├── deleteComment.js │ ├── getASingleComment.js │ ├── getAllCommentsOnAPost.js │ └── updateComment.js ├── Follow │ ├── follow.index.js │ ├── followOrUnfollow.js │ ├── getAllFollowers.js │ └── getAllFollowings.js ├── Like │ ├── getAllLikesOnAPost.js │ ├── like.index.js │ └── likeOrUnlike.js ├── Post │ ├── adminDeletePost.js │ ├── createPost.js │ ├── currentUserDeletePost.js │ ├── getAllPosts.js │ ├── getSinglePost.js │ ├── post.index.js │ ├── searchAboutPost.js │ ├── updatePost.js │ └── userGetAllPosts.js ├── Story │ ├── createStory.js │ ├── currentUserGetStories.js │ ├── deleteStory.js │ ├── getMyStories.js │ ├── getSingleStory.js │ ├── story.index.js │ └── updateStoryPriv.js └── User │ ├── deactiveAccount.js │ ├── deleteUser.js │ ├── getAllUsers.js │ ├── getSingleUser.js │ ├── searchForUsers.js │ ├── updateCurrentUser.js │ ├── updateSingleUserData.js │ └── user.index.js ├── functions ├── Cloudinary │ └── cloudinary.js ├── Mail │ └── email.config.js └── multer │ └── multer.js ├── hooks └── index.hooks.js ├── middlewares ├── auth.middleware.js ├── errorHandler.js └── validation.middleware.js ├── routes ├── auth.routes.js ├── comment.routes.js ├── follow.routes.js ├── like.routes.js ├── post.routes.js ├── story.routes.js └── user.routes.js └── utils ├── APIError.js ├── ValidForActions.js ├── app.setup.js ├── createToken.js ├── hashingPassword.js └── validation ├── auth.validator.js ├── comment.validator.js ├── follow.validator.js ├── like.validator.js ├── post.validator.js ├── story.validator.js └── user.validator.js /.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | node_modules 3 | prisma/migrations -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/README.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/package.json -------------------------------------------------------------------------------- /prisma/migrations/20240210104554_init/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/prisma/migrations/20240210104554_init/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20240210113855_init/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/prisma/migrations/20240210113855_init/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20240210192455_dev/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/prisma/migrations/20240210192455_dev/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20240212211522_dev/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/prisma/migrations/20240212211522_dev/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20240212223648_dev/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/prisma/migrations/20240212223648_dev/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20240214160815_dev/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/prisma/migrations/20240214160815_dev/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20240214161702_dev/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/prisma/migrations/20240214161702_dev/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/prisma/migrations/migration_lock.toml -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/prisma/schema.prisma -------------------------------------------------------------------------------- /src/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/app.js -------------------------------------------------------------------------------- /src/controllers/Auth/Auth.index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Auth/Auth.index.js -------------------------------------------------------------------------------- /src/controllers/Auth/changePassword.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Auth/changePassword.js -------------------------------------------------------------------------------- /src/controllers/Auth/forgotPassword.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Auth/forgotPassword.js -------------------------------------------------------------------------------- /src/controllers/Auth/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Auth/login.js -------------------------------------------------------------------------------- /src/controllers/Auth/logout.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Auth/logout.js -------------------------------------------------------------------------------- /src/controllers/Auth/refeshToken.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Auth/refeshToken.js -------------------------------------------------------------------------------- /src/controllers/Auth/register.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Auth/register.js -------------------------------------------------------------------------------- /src/controllers/Auth/resetPassword.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Auth/resetPassword.js -------------------------------------------------------------------------------- /src/controllers/Auth/verfiyResetPassword.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Auth/verfiyResetPassword.js -------------------------------------------------------------------------------- /src/controllers/Auth/verifyEmail.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Auth/verifyEmail.js -------------------------------------------------------------------------------- /src/controllers/Comment/comment.index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Comment/comment.index.js -------------------------------------------------------------------------------- /src/controllers/Comment/createComment.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Comment/createComment.js -------------------------------------------------------------------------------- /src/controllers/Comment/deleteComment.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Comment/deleteComment.js -------------------------------------------------------------------------------- /src/controllers/Comment/getASingleComment.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Comment/getASingleComment.js -------------------------------------------------------------------------------- /src/controllers/Comment/getAllCommentsOnAPost.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Comment/getAllCommentsOnAPost.js -------------------------------------------------------------------------------- /src/controllers/Comment/updateComment.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Comment/updateComment.js -------------------------------------------------------------------------------- /src/controllers/Follow/follow.index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Follow/follow.index.js -------------------------------------------------------------------------------- /src/controllers/Follow/followOrUnfollow.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Follow/followOrUnfollow.js -------------------------------------------------------------------------------- /src/controllers/Follow/getAllFollowers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Follow/getAllFollowers.js -------------------------------------------------------------------------------- /src/controllers/Follow/getAllFollowings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Follow/getAllFollowings.js -------------------------------------------------------------------------------- /src/controllers/Like/getAllLikesOnAPost.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Like/getAllLikesOnAPost.js -------------------------------------------------------------------------------- /src/controllers/Like/like.index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Like/like.index.js -------------------------------------------------------------------------------- /src/controllers/Like/likeOrUnlike.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Like/likeOrUnlike.js -------------------------------------------------------------------------------- /src/controllers/Post/adminDeletePost.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Post/adminDeletePost.js -------------------------------------------------------------------------------- /src/controllers/Post/createPost.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Post/createPost.js -------------------------------------------------------------------------------- /src/controllers/Post/currentUserDeletePost.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Post/currentUserDeletePost.js -------------------------------------------------------------------------------- /src/controllers/Post/getAllPosts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Post/getAllPosts.js -------------------------------------------------------------------------------- /src/controllers/Post/getSinglePost.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Post/getSinglePost.js -------------------------------------------------------------------------------- /src/controllers/Post/post.index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Post/post.index.js -------------------------------------------------------------------------------- /src/controllers/Post/searchAboutPost.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Post/searchAboutPost.js -------------------------------------------------------------------------------- /src/controllers/Post/updatePost.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Post/updatePost.js -------------------------------------------------------------------------------- /src/controllers/Post/userGetAllPosts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Post/userGetAllPosts.js -------------------------------------------------------------------------------- /src/controllers/Story/createStory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Story/createStory.js -------------------------------------------------------------------------------- /src/controllers/Story/currentUserGetStories.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Story/currentUserGetStories.js -------------------------------------------------------------------------------- /src/controllers/Story/deleteStory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Story/deleteStory.js -------------------------------------------------------------------------------- /src/controllers/Story/getMyStories.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Story/getMyStories.js -------------------------------------------------------------------------------- /src/controllers/Story/getSingleStory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Story/getSingleStory.js -------------------------------------------------------------------------------- /src/controllers/Story/story.index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Story/story.index.js -------------------------------------------------------------------------------- /src/controllers/Story/updateStoryPriv.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/Story/updateStoryPriv.js -------------------------------------------------------------------------------- /src/controllers/User/deactiveAccount.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/User/deactiveAccount.js -------------------------------------------------------------------------------- /src/controllers/User/deleteUser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/User/deleteUser.js -------------------------------------------------------------------------------- /src/controllers/User/getAllUsers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/User/getAllUsers.js -------------------------------------------------------------------------------- /src/controllers/User/getSingleUser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/User/getSingleUser.js -------------------------------------------------------------------------------- /src/controllers/User/searchForUsers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/User/searchForUsers.js -------------------------------------------------------------------------------- /src/controllers/User/updateCurrentUser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/User/updateCurrentUser.js -------------------------------------------------------------------------------- /src/controllers/User/updateSingleUserData.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/User/updateSingleUserData.js -------------------------------------------------------------------------------- /src/controllers/User/user.index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/controllers/User/user.index.js -------------------------------------------------------------------------------- /src/functions/Cloudinary/cloudinary.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/functions/Cloudinary/cloudinary.js -------------------------------------------------------------------------------- /src/functions/Mail/email.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/functions/Mail/email.config.js -------------------------------------------------------------------------------- /src/functions/multer/multer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/functions/multer/multer.js -------------------------------------------------------------------------------- /src/hooks/index.hooks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/hooks/index.hooks.js -------------------------------------------------------------------------------- /src/middlewares/auth.middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/middlewares/auth.middleware.js -------------------------------------------------------------------------------- /src/middlewares/errorHandler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/middlewares/errorHandler.js -------------------------------------------------------------------------------- /src/middlewares/validation.middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/middlewares/validation.middleware.js -------------------------------------------------------------------------------- /src/routes/auth.routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/routes/auth.routes.js -------------------------------------------------------------------------------- /src/routes/comment.routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/routes/comment.routes.js -------------------------------------------------------------------------------- /src/routes/follow.routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/routes/follow.routes.js -------------------------------------------------------------------------------- /src/routes/like.routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/routes/like.routes.js -------------------------------------------------------------------------------- /src/routes/post.routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/routes/post.routes.js -------------------------------------------------------------------------------- /src/routes/story.routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/routes/story.routes.js -------------------------------------------------------------------------------- /src/routes/user.routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/routes/user.routes.js -------------------------------------------------------------------------------- /src/utils/APIError.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/utils/APIError.js -------------------------------------------------------------------------------- /src/utils/ValidForActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/utils/ValidForActions.js -------------------------------------------------------------------------------- /src/utils/app.setup.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/utils/app.setup.js -------------------------------------------------------------------------------- /src/utils/createToken.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/utils/createToken.js -------------------------------------------------------------------------------- /src/utils/hashingPassword.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/utils/hashingPassword.js -------------------------------------------------------------------------------- /src/utils/validation/auth.validator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/utils/validation/auth.validator.js -------------------------------------------------------------------------------- /src/utils/validation/comment.validator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/utils/validation/comment.validator.js -------------------------------------------------------------------------------- /src/utils/validation/follow.validator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/utils/validation/follow.validator.js -------------------------------------------------------------------------------- /src/utils/validation/like.validator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/utils/validation/like.validator.js -------------------------------------------------------------------------------- /src/utils/validation/post.validator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/utils/validation/post.validator.js -------------------------------------------------------------------------------- /src/utils/validation/story.validator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/utils/validation/story.validator.js -------------------------------------------------------------------------------- /src/utils/validation/user.validator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xEbrahim/Social_Media_API/HEAD/src/utils/validation/user.validator.js --------------------------------------------------------------------------------