UNPKG

@replyke/express

Version:

Replyke: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.

33 lines (32 loc) 2.02 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const express_1 = require("express"); const users_1 = require("../controllers/users"); const requireUserAuth_1 = __importDefault(require("../../middleware/requireUserAuth")); const rateLimit_1 = require("../../utils/rateLimit"); const router = (0, express_1.Router)(); // Route to get user mentions suggestions router.get("/suggestions", (0, rateLimit_1.rateLimiter)("5m", 50), users_1.fetchUserSuggestions); // Route to check if a username is available router.get("/check-username", (0, rateLimit_1.rateLimiter)("5m", 100), users_1.checkUsernameAvailability); // Route to fetch a user by their foreignId router.get("/by-foreign-id", (0, rateLimit_1.rateLimiter)("5m", 100), users_1.fetchUserByForeignId); // Route to fetch a user by id router.get("/:userId", (0, rateLimit_1.rateLimiter)("5m", 100), users_1.fetchUser); // Route to get count of all followers of a user router.get("/:userId/followers-count", (0, rateLimit_1.rateLimiter)("5m", 100), users_1.fetchFollowersCount); // Route to get count of all accounts a user follows router.get("/:userId/following-count", (0, rateLimit_1.rateLimiter)("5m", 100), users_1.fetchFollowingCount); // Route for updating a user router.patch("/:userId", (0, rateLimit_1.rateLimiter)("5m", 50), requireUserAuth_1.default, users_1.updateUser); //////// ** Follow routes ** //////// // Route to follow a user router.post("/:userId/follow", (0, rateLimit_1.rateLimiter)("5m", 100), requireUserAuth_1.default, users_1.createFollow); // Route to get a follow relationship router.get("/:userId/follow", (0, rateLimit_1.rateLimiter)("5m", 100), requireUserAuth_1.default, users_1.fetchFollow); // Route to unfollow a user router.delete("/:userId/follow", (0, rateLimit_1.rateLimiter)("5m", 100), requireUserAuth_1.default, users_1.deleteFollow); exports.default = router;