diff --git a/api/src/routes/users/#id/profile.ts b/api/src/routes/users/#id/profile.ts
index 9481451d..06be66ae 100644
--- a/api/src/routes/users/#id/profile.ts
+++ b/api/src/routes/users/#id/profile.ts
@@ -16,21 +16,29 @@ router.get("/", route({ test: { response: { body: "UserProfileResponse" } } }),
const user = await User.getPublicUser(req.params.id, { relations: ["connected_accounts"] });
var mutual_guilds: object[] = [];
-
+ var premium_guild_since;
const requested_member = await Member.find( { id: req.params.id, })
const self_member = await Member.find( { id: req.user_id, })
for(const rmem of requested_member) {
+ if(rmem.premium_since) {
+ if(premium_guild_since){
+ if(premium_guild_since > rmem.premium_since) {
+ premium_guild_since = rmem.premium_since;
+ }
+ } else {
+ premium_guild_since = rmem.premium_since;
+ }
+ }
for(const smem of self_member) {
if (smem.guild_id === rmem.guild_id) {
mutual_guilds.push({id: rmem.guild_id, nick: rmem.nick})
}
}
}
-
res.json({
connected_accounts: user.connected_accounts,
- premium_guild_since: null, // TODO
+ premium_guild_since: premium_guild_since, // TODO
premium_since: null, // TODO
mutual_guilds: mutual_guilds, // TODO {id: "", nick: null} when ?with_mutual_guilds=true
user: {
diff --git a/util/src/entities/Member.ts b/util/src/entities/Member.ts
index 0f7be2a7..3c5f9db0 100644
--- a/util/src/entities/Member.ts
+++ b/util/src/entities/Member.ts
@@ -86,7 +86,7 @@ export class Member extends BaseClassWithoutId {
joined_at: Date;
@Column({ nullable: true })
- premium_since?: number;
+ premium_since?: Date;
@Column()
deaf: boolean;
@@ -245,7 +245,7 @@ export class Member extends BaseClassWithoutId {
nick: undefined,
roles: [guild_id], // @everyone role
joined_at: new Date(),
- premium_since: undefined,
+ premium_since: new Date(),
deaf: false,
mute: false,
pending: false,
|