Skip to content

Commit fbf6e45

Browse files
committed
EmailCloud and Group classes improved
1 parent 68b9b35 commit fbf6e45

File tree

5 files changed

+205
-43
lines changed

5 files changed

+205
-43
lines changed

src/api/ai-group.ts

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,34 @@ import { AiNameApi } from "./ai-name-api";
3636
*/
3737
export class AiGroup {
3838

39-
public bcr: AiBcrApi;
39+
private readonly _bcr: AiBcrApi;
4040

41-
public name: AiNameApi;
41+
private readonly _name: AiNameApi;
4242

4343

44+
45+
/**
46+
* AI Business card recognition operations.
47+
*/
48+
public get bcr(): AiBcrApi {
49+
return this._bcr;
50+
}
51+
52+
/**
53+
* AI Name operations.
54+
*/
55+
public get name(): AiNameApi {
56+
return this._name;
57+
}
58+
59+
60+
4461
constructor(configuration: Configuration)
4562
{
4663

47-
this.bcr = new AiBcrApi(configuration);
64+
this._bcr = new AiBcrApi(configuration);
4865

49-
this.name = new AiNameApi(configuration);
66+
this._name = new AiNameApi(configuration);
5067

5168
}
5269
}

src/api/client-group.ts

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,25 +40,56 @@ import { ClientThreadApi } from "./client-thread-api";
4040
*/
4141
export class ClientGroup {
4242

43-
public account: ClientAccountApi;
43+
private readonly _account: ClientAccountApi;
4444

45-
public folder: ClientFolderApi;
45+
private readonly _folder: ClientFolderApi;
4646

47-
public message: ClientMessageApi;
47+
private readonly _message: ClientMessageApi;
4848

49-
public thread: ClientThreadApi;
49+
private readonly _thread: ClientThreadApi;
5050

5151

52+
53+
/**
54+
* Email server account for built-in client operations.
55+
*/
56+
public get account(): ClientAccountApi {
57+
return this._account;
58+
}
59+
60+
/**
61+
* Email client folder operations.
62+
*/
63+
public get folder(): ClientFolderApi {
64+
return this._folder;
65+
}
66+
67+
/**
68+
* Email client message operations.
69+
*/
70+
public get message(): ClientMessageApi {
71+
return this._message;
72+
}
73+
74+
/**
75+
* Email client thread operations.
76+
*/
77+
public get thread(): ClientThreadApi {
78+
return this._thread;
79+
}
80+
81+
82+
5283
constructor(configuration: Configuration)
5384
{
5485

55-
this.account = new ClientAccountApi(configuration);
86+
this._account = new ClientAccountApi(configuration);
5687

57-
this.folder = new ClientFolderApi(configuration);
88+
this._folder = new ClientFolderApi(configuration);
5889

59-
this.message = new ClientMessageApi(configuration);
90+
this._message = new ClientMessageApi(configuration);
6091

61-
this.thread = new ClientThreadApi(configuration);
92+
this._thread = new ClientThreadApi(configuration);
6293

6394
}
6495
}

src/api/cloud-storage-group.ts

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,45 @@ import { StorageApi } from "./storage-api";
3838
*/
3939
export class CloudStorageGroup {
4040

41-
public file: FileApi;
41+
private readonly _file: FileApi;
4242

43-
public folder: FolderApi;
43+
private readonly _folder: FolderApi;
4444

45-
public storage: StorageApi;
45+
private readonly _storage: StorageApi;
4646

4747

48+
49+
/**
50+
* File operations controller
51+
*/
52+
public get file(): FileApi {
53+
return this._file;
54+
}
55+
56+
/**
57+
* Folder operations controller
58+
*/
59+
public get folder(): FolderApi {
60+
return this._folder;
61+
}
62+
63+
/**
64+
* Storage operations controller
65+
*/
66+
public get storage(): StorageApi {
67+
return this._storage;
68+
}
69+
70+
71+
4872
constructor(configuration: Configuration)
4973
{
5074

51-
this.file = new FileApi(configuration);
75+
this._file = new FileApi(configuration);
5276

53-
this.folder = new FolderApi(configuration);
77+
this._folder = new FolderApi(configuration);
5478

55-
this.storage = new StorageApi(configuration);
79+
this._storage = new StorageApi(configuration);
5680

5781
}
5882
}

src/api/email-cloud.ts

Lines changed: 85 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -53,25 +53,91 @@ export class EmailCloud {
5353
public configuration: Configuration;
5454

5555

56-
public calendar: CalendarApi;
56+
private readonly _calendar: CalendarApi;
5757

58-
public contact: ContactApi;
58+
private readonly _contact: ContactApi;
5959

60-
public email: EmailApi;
60+
private readonly _email: EmailApi;
6161

62-
public disposableEmail: DisposableEmailApi;
62+
private readonly _disposableEmail: DisposableEmailApi;
6363

64-
public emailConfig: EmailConfigApi;
64+
private readonly _emailConfig: EmailConfigApi;
6565

6666

67-
public mapi: MapiGroup;
67+
private readonly _mapi: MapiGroup;
6868

69-
public client: ClientGroup;
69+
private readonly _client: ClientGroup;
7070

71-
public ai: AiGroup;
71+
private readonly _ai: AiGroup;
72+
73+
private readonly _cloudStorage: CloudStorageGroup;
74+
75+
76+
77+
/**
78+
* iCalendar document operations.
79+
*/
80+
public get calendar(): CalendarApi {
81+
return this._calendar;
82+
}
83+
84+
/**
85+
* Contact document operations. Supported formats: VCard, MSG, WebDav
86+
*/
87+
public get contact(): ContactApi {
88+
return this._contact;
89+
}
90+
91+
/**
92+
* Email document (*.eml) operations.
93+
*/
94+
public get email(): EmailApi {
95+
return this._email;
96+
}
97+
98+
/**
99+
* Check email address is disposable operations
100+
*/
101+
public get disposableEmail(): DisposableEmailApi {
102+
return this._disposableEmail;
103+
}
104+
105+
/**
106+
* Email server configuration discovery.
107+
*/
108+
public get emailConfig(): EmailConfigApi {
109+
return this._emailConfig;
110+
}
111+
112+
113+
/**
114+
* MAPI operations.
115+
*/
116+
public get mapi(): MapiGroup {
117+
return this._mapi;
118+
}
119+
120+
/**
121+
* Builtin Email client operations.
122+
*/
123+
public get client(): ClientGroup {
124+
return this._client;
125+
}
126+
127+
/**
128+
* AI powered operations.
129+
*/
130+
public get ai(): AiGroup {
131+
return this._ai;
132+
}
133+
134+
/**
135+
* Cloud file storage operations.
136+
*/
137+
public get cloudStorage(): CloudStorageGroup {
138+
return this._cloudStorage;
139+
}
72140

73-
public cloudStorage: CloudStorageGroup;
74-
75141

76142
/**
77143
* @param appSID App SID.
@@ -82,24 +148,24 @@ export class EmailCloud {
82148
constructor(appSID: string, appKey: string, baseUrl?: string, debugMode?: boolean) {
83149
this.configuration = new Configuration(appKey, appSID, baseUrl, debugMode);
84150

85-
this.calendar = new CalendarApi(this.configuration);
151+
this._calendar = new CalendarApi(this.configuration);
86152

87-
this.contact = new ContactApi(this.configuration);
153+
this._contact = new ContactApi(this.configuration);
88154

89-
this.email = new EmailApi(this.configuration);
155+
this._email = new EmailApi(this.configuration);
90156

91-
this.disposableEmail = new DisposableEmailApi(this.configuration);
157+
this._disposableEmail = new DisposableEmailApi(this.configuration);
92158

93-
this.emailConfig = new EmailConfigApi(this.configuration);
159+
this._emailConfig = new EmailConfigApi(this.configuration);
94160

95161

96-
this.mapi = new MapiGroup(this.configuration);
162+
this._mapi = new MapiGroup(this.configuration);
97163

98-
this.client = new ClientGroup(this.configuration);
164+
this._client = new ClientGroup(this.configuration);
99165

100-
this.ai = new AiGroup(this.configuration);
166+
this._ai = new AiGroup(this.configuration);
101167

102-
this.cloudStorage = new CloudStorageGroup(this.configuration);
168+
this._cloudStorage = new CloudStorageGroup(this.configuration);
103169

104170
}
105171
}

src/api/mapi-group.ts

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,45 @@ import { MapiMessageApi } from "./mapi-message-api";
3838
*/
3939
export class MapiGroup {
4040

41-
public calendar: MapiCalendarApi;
41+
private readonly _calendar: MapiCalendarApi;
4242

43-
public contact: MapiContactApi;
43+
private readonly _contact: MapiContactApi;
4444

45-
public message: MapiMessageApi;
45+
private readonly _message: MapiMessageApi;
4646

4747

48+
49+
/**
50+
* MAPI calendar operations.
51+
*/
52+
public get calendar(): MapiCalendarApi {
53+
return this._calendar;
54+
}
55+
56+
/**
57+
* MAPI contact operations
58+
*/
59+
public get contact(): MapiContactApi {
60+
return this._contact;
61+
}
62+
63+
/**
64+
* MAPI message operations
65+
*/
66+
public get message(): MapiMessageApi {
67+
return this._message;
68+
}
69+
70+
71+
4872
constructor(configuration: Configuration)
4973
{
5074

51-
this.calendar = new MapiCalendarApi(configuration);
75+
this._calendar = new MapiCalendarApi(configuration);
5276

53-
this.contact = new MapiContactApi(configuration);
77+
this._contact = new MapiContactApi(configuration);
5478

55-
this.message = new MapiMessageApi(configuration);
79+
this._message = new MapiMessageApi(configuration);
5680

5781
}
5882
}

0 commit comments

Comments
 (0)