PluralKit/src/api/group.ts

38 lines
1.1 KiB
TypeScript
Raw Normal View History

2021-12-09 12:53:54 +01:00
interface GroupPrivacy {
description_privacy?: string | boolean | null;
icon_privacy?: string | boolean | null;
list_privacy?: string | boolean | null;
visibility?: string | boolean | null;
}
export default class Group {
id?: string;
uuid?: string;
name?: string;
display_name?: string;
description?: string;
icon?: string;
banner?: string;
color?: string;
privacy?: GroupPrivacy;
2021-12-18 20:09:07 +01:00
created?: string;
2021-12-09 12:53:54 +01:00
constructor(data: any) {
this.id = data.id;
this.uuid = data.uuid;
this.name = data.name;
this.display_name = data.display_name;
this.description = data.description;
this.icon = data.icon;
this.banner = data.banner;
this.color = data.color;
2021-12-18 20:09:07 +01:00
this.created = data.created;
2021-12-09 12:53:54 +01:00
if (data.privacy) {
this.privacy = {}
this.privacy.description_privacy = data.privacy.description_privacy;
this.privacy.icon_privacy = data.privacy.icon_privacy;
this.privacy.list_privacy = data.privacy.list_privacy;
this.privacy.visibility = data.privacy.visibility;
}
}
}