Merge pull request #186 from BanTheNons/profile-route
Added the profile routes
This commit is contained in:
commit
02d88fc41e
BIN
package-lock.json
generated
BIN
package-lock.json
generated
Binary file not shown.
@ -33,7 +33,7 @@
|
||||
},
|
||||
"homepage": "https://github.com/fosscord/fosscord-api#readme",
|
||||
"dependencies": {
|
||||
"@fosscord/server-util": "^1.3.35",
|
||||
"@fosscord/server-util": "^1.3.36",
|
||||
"@types/jest": "^26.0.22",
|
||||
"@types/json-schema": "^7.0.7",
|
||||
"ajv": "^8.4.0",
|
||||
@ -41,8 +41,8 @@
|
||||
"assert": "^1.5.0",
|
||||
"atomically": "^1.7.0",
|
||||
"bcrypt": "^5.0.1",
|
||||
"canvas": "^2.8.0",
|
||||
"body-parser": "^1.19.0",
|
||||
"canvas": "^2.8.0",
|
||||
"cheerio": "^1.0.0-rc.9",
|
||||
"dot-prop": "^6.0.1",
|
||||
"dotenv": "^8.2.0",
|
||||
|
||||
@ -196,6 +196,7 @@ router.post(
|
||||
username: adjusted_username,
|
||||
discriminator,
|
||||
avatar: null,
|
||||
accent_color: null,
|
||||
bot: false,
|
||||
system: false,
|
||||
desktop: false,
|
||||
|
||||
26
src/routes/users/#id/profile.ts
Normal file
26
src/routes/users/#id/profile.ts
Normal file
@ -0,0 +1,26 @@
|
||||
import { Router, Request, Response } from "express";
|
||||
import { getPublicUser } from "../../../util/User";
|
||||
|
||||
const router: Router = Router();
|
||||
|
||||
router.get("/", async (req: Request, res: Response) => {
|
||||
const user = await getPublicUser(req.params.id, { user_data: true })
|
||||
|
||||
res.json({
|
||||
connected_accounts: user.user_data.connected_accounts,
|
||||
premium_guild_since: null, // TODO
|
||||
premium_since: null, // TODO
|
||||
user: {
|
||||
username: user.username,
|
||||
discriminator: user.discriminator,
|
||||
id: user.id,
|
||||
public_flags: user.public_flags,
|
||||
avatar: user.avatar,
|
||||
accent_color: user.accent_color,
|
||||
bio: req.user_bot ? null : user.bio,
|
||||
bot: user.bot,
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
export default router;
|
||||
26
src/routes/users/@me/profile.ts
Normal file
26
src/routes/users/@me/profile.ts
Normal file
@ -0,0 +1,26 @@
|
||||
import { Router, Request, Response } from "express";
|
||||
import { getPublicUser } from "../../../util/User";
|
||||
|
||||
const router: Router = Router();
|
||||
|
||||
router.get("/", async (req: Request, res: Response) => {
|
||||
const user = await getPublicUser(req.user_id, { user_data: true })
|
||||
|
||||
res.json({
|
||||
connected_accounts: user.user_data.connected_accounts,
|
||||
premium_guild_since: null, // TODO
|
||||
premium_since: null, // TODO
|
||||
user: {
|
||||
username: user.username,
|
||||
discriminator: user.discriminator,
|
||||
id: user.id,
|
||||
public_flags: user.public_flags,
|
||||
avatar: user.avatar,
|
||||
accent_color: user.accent_color,
|
||||
bio: user.bio,
|
||||
bot: user.bot,
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
export default router;
|
||||
@ -3,11 +3,13 @@ import { Length } from "../util/instanceOf";
|
||||
export const UserModifySchema = {
|
||||
$username: new Length(String, 2, 32),
|
||||
$avatar: String,
|
||||
$bio: new Length(String, 0, 190)
|
||||
$bio: new Length(String, 0, 190),
|
||||
$accent_color: Number
|
||||
};
|
||||
|
||||
export interface UserModifySchema {
|
||||
username?: string;
|
||||
avatar?: string | null;
|
||||
bio?: string;
|
||||
accent_color?: number | null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user