diff --git a/src/api/routes/channels/#channel_id/messages/index.ts b/src/api/routes/channels/#channel_id/messages/index.ts
index 0ad522fc7..d8760d969 100644
--- a/src/api/routes/channels/#channel_id/messages/index.ts
+++ b/src/api/routes/channels/#channel_id/messages/index.ts
@@ -197,9 +197,8 @@ router.get(
x.author = User.create({
id: "4",
discriminator: pomeloEnabled ? "0" : "0000",
- username: "Spacebar Ghost",
- global_name: "spacebarghost",
- display_name: "Spacebar Ghost",
+ username: "spacebarghost",
+ global_name: "Spacebar Ghost",
public_flags: 0,
});
x.attachments?.forEach((y: Attachment) => {
diff --git a/src/api/routes/guilds/#guild_id/bans.ts b/src/api/routes/guilds/#guild_id/bans.ts
index 8f1b44441..34eb463e1 100644
--- a/src/api/routes/guilds/#guild_id/bans.ts
+++ b/src/api/routes/guilds/#guild_id/bans.ts
@@ -62,7 +62,6 @@ router.get(
username: user.username,
discriminator: user.discriminator,
global_name: user.global_name,
- display_name: user.display_name,
id: user.id,
avatar: user.avatar ?? null,
public_flags: user.public_flags,
diff --git a/src/api/routes/guilds/#guild_id/messages/search.ts b/src/api/routes/guilds/#guild_id/messages/search.ts
index 700071ef8..be841c1c3 100644
--- a/src/api/routes/guilds/#guild_id/messages/search.ts
+++ b/src/api/routes/guilds/#guild_id/messages/search.ts
@@ -124,7 +124,6 @@ router.get(
avatar_decoration: null,
discriminator: x.author?.discriminator,
global_name: x.author?.global_name,
- display_name: x.author?.display_name,
public_flags: x.author?.public_flags,
},
attachments: x.attachments,
diff --git a/src/api/routes/oauth2/authorize.ts b/src/api/routes/oauth2/authorize.ts
index ee84ccf51..48a2b7e45 100644
--- a/src/api/routes/oauth2/authorize.ts
+++ b/src/api/routes/oauth2/authorize.ts
@@ -75,7 +75,7 @@ router.get(
id: req.user_id,
bot: false,
},
- select: { id: true, username: true, avatar: true, discriminator: true, public_flags: true, global_name: true, display_name: true, public_flags: true },
+ select: { id: true, username: true, avatar: true, discriminator: true, public_flags: true, global_name: true, public_flags: true },
});
const guilds = await Member.find({
@@ -123,7 +123,6 @@ router.get(
avatar_decoration: null, // TODO
discriminator: user.discriminator,
global_name: user.global_name,
- display_name: user.display_name,
public_flags: user.public_flags,
},
application: {
@@ -147,7 +146,6 @@ router.get(
avatar_decoration: null, // TODO
discriminator: bot.discriminator,
global_name: bot.global_name,
- display_name: bot.display_name,
public_flags: bot.public_flags,
bot: true,
approximated_guild_count: 0, // TODO
diff --git a/src/api/routes/users/#user_id/relationships.ts b/src/api/routes/users/#user_id/relationships.ts
index a9b91817c..735823a07 100644
--- a/src/api/routes/users/#user_id/relationships.ts
+++ b/src/api/routes/users/#user_id/relationships.ts
@@ -56,7 +56,6 @@ router.get(
avatar: relation_user.avatar,
discriminator: relation_user.discriminator,
global_name: relation_user.global_name,
- display_name: relation_user.display_name,
public_flags: relation_user.public_flags,
});
}
diff --git a/src/connections/Discord/index.ts b/src/connections/Discord/index.ts
index c3d26119f..95c4ad348 100644
--- a/src/connections/Discord/index.ts
+++ b/src/connections/Discord/index.ts
@@ -16,7 +16,15 @@
along with this program. If not, see .
*/
-import { ConnectedAccount, ConnectedAccountCommonOAuthTokenResponse, Connection, ConnectionLoader, DiscordApiErrors } from "@spacebar/util";
+import {
+ Config,
+ ConnectedAccount,
+ ConnectedAccountCommonOAuthTokenResponse,
+ Connection,
+ ConnectionCallbackSchema,
+ ConnectionLoader,
+ DiscordApiErrors,
+} from "@spacebar/util";
import wretch from "wretch";
import { DiscordSettings } from "./DiscordSettings";
import { ConnectionCallbackSchema } from "@spacebar/schemas";
@@ -25,8 +33,7 @@ interface UserResponse {
id: string;
username: string;
discriminator: string;
- global_name: string;
- display_name?: string;
+ global_name: string | null;
avatar_url: string | null;
}
@@ -115,12 +122,14 @@ export default class DiscordConnection extends Connection {
if (exists) return null;
- // TODO: pomelo
+ const { pomeloEnabled } = Config.get().general;
return await this.createConnection({
user_id: userId,
external_id: userInfo.id,
friend_sync: params.friend_sync,
- name: `${userInfo.username}#${userInfo.discriminator}`,
+ name: pomeloEnabled
+ ? userInfo.username
+ : `${userInfo.username}#${userInfo.discriminator}`,
type: this.id,
});
}
diff --git a/src/schemas/responses/GuildBansResponse.ts b/src/schemas/responses/GuildBansResponse.ts
index 24f99ed8b..ca44fa520 100644
--- a/src/schemas/responses/GuildBansResponse.ts
+++ b/src/schemas/responses/GuildBansResponse.ts
@@ -21,8 +21,7 @@ export interface GuildBansResponse {
user: {
username: string;
discriminator: string;
- global_name: string;
- display_name: string | null;
+ global_name?: string;
id: string;
avatar: string | null;
public_flags: number;
diff --git a/src/schemas/responses/GuildWidgetJsonResponse.ts b/src/schemas/responses/GuildWidgetJsonResponse.ts
index 60e8e7cc7..320f14dde 100644
--- a/src/schemas/responses/GuildWidgetJsonResponse.ts
+++ b/src/schemas/responses/GuildWidgetJsonResponse.ts
@@ -30,8 +30,7 @@ export interface GuildWidgetJsonResponse {
members: {
id: string;
username: string;
- global_name: string;
- display_name: string | null;
+ global_name: string | null;
discriminator: string;
avatar: string | null;
status: ClientStatus;
diff --git a/src/schemas/responses/UserRelationsResponse.ts b/src/schemas/responses/UserRelationsResponse.ts
index 59db277f6..586c8fac9 100644
--- a/src/schemas/responses/UserRelationsResponse.ts
+++ b/src/schemas/responses/UserRelationsResponse.ts
@@ -20,7 +20,6 @@ import { User } from "@spacebar/util";
export type UserRelationsResponse = (Pick &
Pick &
Pick &
- Pick &
Pick &
Pick &
Pick)[];
diff --git a/src/util/dtos/UserDTO.ts b/src/util/dtos/UserDTO.ts
index b34d6d8a3..576bea32a 100644
--- a/src/util/dtos/UserDTO.ts
+++ b/src/util/dtos/UserDTO.ts
@@ -19,21 +19,20 @@
import { User } from "../entities";
export class MinimalPublicUserDTO {
- avatar?: string | null;
- discriminator: string;
- id: string;
- public_flags: number;
- username: string;
- global_name: string;
- display_name?: string;
+ id: string;
+ username: string;
+ global_name: string | null = null;
+ discriminator: string;
+ public_flags: number;
+ avatar?: string | null;
- constructor(user: User) {
- this.avatar = user.avatar;
- this.discriminator = user.discriminator;
- this.id = user.id;
- this.public_flags = user.public_flags;
- this.username = user.username;
- this.global_name = user.global_name;
- this.display_name = user.display_name;
- }
+ constructor(user: User) {
+ this.id = user.id;
+ this.username = user.username;
+ this.discriminator = user.discriminator;
+ this.public_flags = user.public_flags;
+ this.avatar = user.avatar;
+
+ if (user.global_name) this.global_name = user.global_name;
+ }
}
diff --git a/src/util/entities/User.ts b/src/util/entities/User.ts
index ffd241f0e..6b9964a5c 100644
--- a/src/util/entities/User.ts
+++ b/src/util/entities/User.ts
@@ -32,7 +32,6 @@ import { ChannelType, PrivateUserProjection, PublicUser, PublicUserProjection, U
export enum PublicUserEnum {
username,
global_name,
- display_name,
discriminator,
id,
public_flags,
@@ -56,10 +55,7 @@ export class User extends BaseClass {
username: string; // username max length 32, min 2 (should be configurable)
@Column({ nullable: true })
- global_name: string; // puyo: pomelo
-
- @Column({ nullable: true })
- display_name?: string; // puyo: pomelo
+ global_name?: string; // puyo: pomelo
@Column()
discriminator: string; // opaque string: 4 digits on discord.com, 0 for pomelo
@@ -326,8 +322,6 @@ export class User extends BaseClass {
const user = User.create({
username: username,
- global_name: username, // TODO: convert to lowercase, strip special characters,etc???
- // display_name: username, // TODO: how should we do this?
discriminator,
id: id || Snowflake.generate(),
email: email,
diff --git a/src/util/util/email/index.ts b/src/util/util/email/index.ts
index 08fd14786..9e3d5f75e 100644
--- a/src/util/util/email/index.ts
+++ b/src/util/util/email/index.ts
@@ -100,12 +100,10 @@ export const Email: {
) {
const { instanceName } = Config.get().general;
- // TODO: pomelo: display_name should take precedence over username if pomelo is enabled. maybe we should use global_name as the username?
const replacements = [
["{instanceName}", instanceName],
["{userUsername}", user.username],
["{userGlobalName}", user.global_name],
- ["{userDisplayName}", user.display_name],
["{userDiscriminator}", user.discriminator],
["{userId}", user.id],
["{phoneNumber}", user.phone?.slice(-4)],