summary refs log tree commit diff
path: root/src/util/dtos/ConnectedAccountDTO.ts
blob: debc55351e739fedd765be704a70004db855cb9d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import { ConnectedAccount } from "../entities";

export class ConnectedAccountDTO {
	id: string;
	user_id: string;
	access_token?: string;
	friend_sync?: boolean;
	name: string;
	revoked?: boolean;
	show_activity?: boolean;
	type: string;
	verified?: boolean;
	visibility?: number;
	integrations?: string[];
	metadata_?: any;
	metadata_visibility?: number;
	two_way_link?: boolean;

	constructor(
		connectedAccount: ConnectedAccount,
		with_token: boolean = false,
	) {
		this.id = connectedAccount.external_id;
		this.user_id = connectedAccount.user_id;
		this.access_token =
			connectedAccount.access_token && with_token
				? connectedAccount.access_token
				: undefined;
		this.friend_sync = connectedAccount.friend_sync;
		this.name = connectedAccount.name;
		this.revoked = connectedAccount.revoked;
		this.show_activity = connectedAccount.show_activity;
		this.type = connectedAccount.type;
		this.verified = connectedAccount.verified;
		this.visibility = +(connectedAccount.visibility || false);
		this.integrations = connectedAccount.integrations;
		this.metadata_ = connectedAccount.metadata_;
		this.metadata_visibility = +(
			connectedAccount.metadata_visibility || false
		);
		this.two_way_link = connectedAccount.two_way_link;
	}
}