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",
|
"homepage": "https://github.com/fosscord/fosscord-api#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fosscord/server-util": "^1.3.35",
|
"@fosscord/server-util": "^1.3.36",
|
||||||
"@types/jest": "^26.0.22",
|
"@types/jest": "^26.0.22",
|
||||||
"@types/json-schema": "^7.0.7",
|
"@types/json-schema": "^7.0.7",
|
||||||
"ajv": "^8.4.0",
|
"ajv": "^8.4.0",
|
||||||
@ -41,8 +41,8 @@
|
|||||||
"assert": "^1.5.0",
|
"assert": "^1.5.0",
|
||||||
"atomically": "^1.7.0",
|
"atomically": "^1.7.0",
|
||||||
"bcrypt": "^5.0.1",
|
"bcrypt": "^5.0.1",
|
||||||
"canvas": "^2.8.0",
|
|
||||||
"body-parser": "^1.19.0",
|
"body-parser": "^1.19.0",
|
||||||
|
"canvas": "^2.8.0",
|
||||||
"cheerio": "^1.0.0-rc.9",
|
"cheerio": "^1.0.0-rc.9",
|
||||||
"dot-prop": "^6.0.1",
|
"dot-prop": "^6.0.1",
|
||||||
"dotenv": "^8.2.0",
|
"dotenv": "^8.2.0",
|
||||||
|
|||||||
@ -196,6 +196,7 @@ router.post(
|
|||||||
username: adjusted_username,
|
username: adjusted_username,
|
||||||
discriminator,
|
discriminator,
|
||||||
avatar: null,
|
avatar: null,
|
||||||
|
accent_color: null,
|
||||||
bot: false,
|
bot: false,
|
||||||
system: false,
|
system: false,
|
||||||
desktop: 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 = {
|
export const UserModifySchema = {
|
||||||
$username: new Length(String, 2, 32),
|
$username: new Length(String, 2, 32),
|
||||||
$avatar: String,
|
$avatar: String,
|
||||||
$bio: new Length(String, 0, 190)
|
$bio: new Length(String, 0, 190),
|
||||||
|
$accent_color: Number
|
||||||
};
|
};
|
||||||
|
|
||||||
export interface UserModifySchema {
|
export interface UserModifySchema {
|
||||||
username?: string;
|
username?: string;
|
||||||
avatar?: string | null;
|
avatar?: string | null;
|
||||||
bio?: string;
|
bio?: string;
|
||||||
|
accent_color?: number | null;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user