@pushwoosh/session-store 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/dist/entities/account.d.ts +253 -0
- package/dist/entities/permissions.d.ts +91 -0
- package/dist/entities/platforms.d.ts +70 -0
- package/dist/entities/restrictions.d.ts +482 -0
- package/dist/entities/user.d.ts +77 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/rpc.types.d.ts +207 -0
- package/dist/session-store.d.ts +43 -0
- package/dist/session-store.types.d.ts +12 -0
- package/package.json +70 -0
package/README.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Pushwoosh / Micro Frontends / Session Store
|
|
2
|
+
Этот пакет является частью микрофронтендовой архитектуры.
|
|
3
|
+
Является хранилищем данных о текущем сеансе.
|
|
4
|
+
|
|
5
|
+
## Термины
|
|
6
|
+
|
|
7
|
+
## Установка
|
|
8
|
+
0. Установить переменную окружения "NPM_TOKEN" в терминале (токен можно получить у администраторов)
|
|
9
|
+
1. Выполнить `npm ci` для установки зависимостей
|
|
10
|
+
|
|
11
|
+
## Запуск разработки
|
|
12
|
+
0. Скопировать файл `.env.example` в `.env`. Удалить из него комментарии к переменным
|
|
13
|
+
1. Выполнить `npm start`
|
|
14
|
+
|
|
15
|
+
## Работа с библиотекой
|
|
16
|
+
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import { AccountData } from '../rpc.types';
|
|
2
|
+
export declare enum ProductType {
|
|
3
|
+
FREE = "Free",
|
|
4
|
+
DEVELOPER = "Developer",
|
|
5
|
+
MARKETING = "Marketing",
|
|
6
|
+
ENTERPRISE = "Enterprise"
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Информация об аккаунте.
|
|
10
|
+
*/
|
|
11
|
+
export declare class Account {
|
|
12
|
+
/**
|
|
13
|
+
* Название аккаунта.
|
|
14
|
+
* (account.name)
|
|
15
|
+
*/
|
|
16
|
+
readonly name: string;
|
|
17
|
+
/**
|
|
18
|
+
* Дата регистрации аккаунта.
|
|
19
|
+
* (account.registrationDate)
|
|
20
|
+
*/
|
|
21
|
+
readonly registrationDate: string;
|
|
22
|
+
/**
|
|
23
|
+
* Данные для выставления счетов.
|
|
24
|
+
*/
|
|
25
|
+
readonly billing: {
|
|
26
|
+
/**
|
|
27
|
+
* Название компании.
|
|
28
|
+
* (account.billingAddress.company_name)
|
|
29
|
+
*/
|
|
30
|
+
readonly companyName: string | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Страна.
|
|
33
|
+
* (account.billingAddress.country)
|
|
34
|
+
*/
|
|
35
|
+
readonly companyCountry: string | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Код страны.
|
|
38
|
+
* (account.billingAddress.country_code)
|
|
39
|
+
*/
|
|
40
|
+
readonly companyCountryCode: string | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Штат (только для USA).
|
|
43
|
+
* (account.billingAddress.state)
|
|
44
|
+
*/
|
|
45
|
+
readonly companyState: string | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Код штата (только для USA).
|
|
48
|
+
* (account.billingAddress.state_code)
|
|
49
|
+
*/
|
|
50
|
+
readonly companyStateCode: string | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Город.
|
|
53
|
+
* (account.billingAddress.city)
|
|
54
|
+
*/
|
|
55
|
+
readonly companyCity: string | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* Улица.
|
|
58
|
+
* (account.billingAddress.street)
|
|
59
|
+
*/
|
|
60
|
+
readonly companyStreet: string | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Почтовый индекс.
|
|
63
|
+
* (account.billingAddress.zip)
|
|
64
|
+
*/
|
|
65
|
+
readonly companyZip: string | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Телефонный номер.
|
|
68
|
+
* (account.billingAddress.phone)
|
|
69
|
+
*/
|
|
70
|
+
readonly companyPhone: string | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* ИНН предприятия.
|
|
73
|
+
* (account.billingAddress.vat_number)
|
|
74
|
+
*/
|
|
75
|
+
readonly companyVAT: string | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* Используется как номер закупки.
|
|
78
|
+
* (account.billingAddress.company_number)
|
|
79
|
+
*/
|
|
80
|
+
readonly companyNumber: string | undefined;
|
|
81
|
+
/**
|
|
82
|
+
* Имя контакта для связи.
|
|
83
|
+
* (account.billingAddress.first_name)
|
|
84
|
+
*/
|
|
85
|
+
readonly primaryPersonFirstName: string | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Фамилия контакта для связи.
|
|
88
|
+
* (account.billingAddress.last_name)
|
|
89
|
+
*/
|
|
90
|
+
readonly primaryPersonLastName: string | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* Эл. почта контакта для связи.
|
|
93
|
+
* (account.billingAddress.paymentEmail)
|
|
94
|
+
*/
|
|
95
|
+
readonly primaryPersonEmail: string | undefined;
|
|
96
|
+
/**
|
|
97
|
+
* Имя дополнительного контакта для связи.
|
|
98
|
+
* (account.billingAddress.secondary_person_first_name)
|
|
99
|
+
*/
|
|
100
|
+
readonly secondaryPersonFirstName: string | undefined;
|
|
101
|
+
/**
|
|
102
|
+
* Фамилия дополнительного контакта для связи.
|
|
103
|
+
* (account.billingAddress.secondary_person_last_name)
|
|
104
|
+
*/
|
|
105
|
+
readonly secondaryPersonLastName: string | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* Эл. почта дополнительного контакта для связи.
|
|
108
|
+
* (account.billingAddress.secondary_person_email)
|
|
109
|
+
*/
|
|
110
|
+
readonly secondaryPersonEmail: string | undefined;
|
|
111
|
+
/**
|
|
112
|
+
* Сфера промышленности.
|
|
113
|
+
* (account.billingAddress.industry)
|
|
114
|
+
*/
|
|
115
|
+
readonly industry: string | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* Департамент.
|
|
118
|
+
* (account.billingAddress.department)
|
|
119
|
+
*/
|
|
120
|
+
readonly department: string | undefined;
|
|
121
|
+
/**
|
|
122
|
+
* Дополнительные эл. адреса для связи.
|
|
123
|
+
* (account.billingAddress.additionalEmails)
|
|
124
|
+
*/
|
|
125
|
+
readonly additionalEmails: string | undefined;
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* Какой тип подписки куплен.
|
|
129
|
+
* (account.productType)
|
|
130
|
+
*/
|
|
131
|
+
readonly productType: ProductType;
|
|
132
|
+
/**
|
|
133
|
+
* Название плана подписки. Просто строка, чтобы отобразить в настройках.
|
|
134
|
+
* (account.restriction)
|
|
135
|
+
*/
|
|
136
|
+
readonly productName: string;
|
|
137
|
+
/**
|
|
138
|
+
* Является ли аккаунт энтерпрайзом.
|
|
139
|
+
* (account.isEnterprise)
|
|
140
|
+
*/
|
|
141
|
+
readonly isEnterprise: boolean;
|
|
142
|
+
/**
|
|
143
|
+
* Дата окончания подписки.
|
|
144
|
+
* (account.expireDate)
|
|
145
|
+
*/
|
|
146
|
+
readonly expiryDate: string;
|
|
147
|
+
/**
|
|
148
|
+
* Заморожен ли аккаунт.
|
|
149
|
+
* (account.frozen)
|
|
150
|
+
*/
|
|
151
|
+
readonly isFrozen: boolean;
|
|
152
|
+
/**
|
|
153
|
+
* Превышено ли количество доступных девайсов.
|
|
154
|
+
* (account.isDeviceLimitReached)
|
|
155
|
+
*/
|
|
156
|
+
readonly isDeviceLimitReached: boolean;
|
|
157
|
+
/**
|
|
158
|
+
* Включено ли создание резервных копий.
|
|
159
|
+
* (account.allowBackup)
|
|
160
|
+
*/
|
|
161
|
+
readonly isEnabledBackup: boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Статистика по аккаунту.
|
|
164
|
+
*/
|
|
165
|
+
readonly statistics: {
|
|
166
|
+
/**
|
|
167
|
+
* Количество активных пользователей с начала текущего месяца.
|
|
168
|
+
* (account.MAU)
|
|
169
|
+
*/
|
|
170
|
+
readonly currentMonthActiveUsers: number;
|
|
171
|
+
/**
|
|
172
|
+
* Количество активных пользователей за предыдущий месяц.
|
|
173
|
+
* (account.lastMAU)
|
|
174
|
+
*/
|
|
175
|
+
readonly lastMonthActiveUsers: number;
|
|
176
|
+
/**
|
|
177
|
+
* Количество активных пользователей за 30/31 календарный день.
|
|
178
|
+
* (account.calendarMAU)
|
|
179
|
+
*/
|
|
180
|
+
readonly calendarMonthActiveUsers: number;
|
|
181
|
+
/**
|
|
182
|
+
* Количество активных девайсов с начала текущего месяца.
|
|
183
|
+
* (account.MAD)
|
|
184
|
+
*/
|
|
185
|
+
readonly currentMonthActiveDevicesCount: number;
|
|
186
|
+
/**
|
|
187
|
+
* Количество активных девайсов за предыдущий месяц.
|
|
188
|
+
* (account.lastMAD)
|
|
189
|
+
*/
|
|
190
|
+
readonly lastMonthActiveDevicesCount: number;
|
|
191
|
+
/**
|
|
192
|
+
* Количество активных девайсов за 30/31 календарный день.
|
|
193
|
+
* (account.calendarMAD)
|
|
194
|
+
*/
|
|
195
|
+
readonly calendarMonthActiveDevicesCount: number;
|
|
196
|
+
/**
|
|
197
|
+
* Количество подписчиков.
|
|
198
|
+
* (account.totalSubscribers)
|
|
199
|
+
*/
|
|
200
|
+
readonly totalSubscribers: number;
|
|
201
|
+
/**
|
|
202
|
+
* Количество устройств, которым есть возможность показывать пуш-уведомления.
|
|
203
|
+
* (account.pushAvailableSubscribers)
|
|
204
|
+
*/
|
|
205
|
+
readonly pushAvailableSubscribers: number;
|
|
206
|
+
/**
|
|
207
|
+
* Количество устройств, которым нельзя показывать пуш-уведомления.
|
|
208
|
+
* (account.pushNotAvailableSubscribers)
|
|
209
|
+
*/
|
|
210
|
+
readonly pushNotAvailableSubscribers: number;
|
|
211
|
+
/**
|
|
212
|
+
* Количество отправленных писем за сегодняшний день.
|
|
213
|
+
* (account.dailyEmailStat)
|
|
214
|
+
*/
|
|
215
|
+
readonly currentDaySentEmailsCount: number | undefined;
|
|
216
|
+
/**
|
|
217
|
+
* Количество отправленных писем с начала текущего месяца.
|
|
218
|
+
* (account.monthlyEmailStat)
|
|
219
|
+
*/
|
|
220
|
+
readonly currentMontSentEmailsCount: number | undefined;
|
|
221
|
+
/**
|
|
222
|
+
* Количество отправленных писем за 30/31 день.
|
|
223
|
+
* (account.lastEmailStat)
|
|
224
|
+
*/
|
|
225
|
+
readonly calendarMonthSentEmailsCount: number | undefined;
|
|
226
|
+
/**
|
|
227
|
+
* Предоставленный лимит бесплатных писем.
|
|
228
|
+
* (account.freeEmailLimit)
|
|
229
|
+
*/
|
|
230
|
+
readonly freeEmailsLimit: number | undefined;
|
|
231
|
+
/**
|
|
232
|
+
* Оставшееся количество бесплатных писем.
|
|
233
|
+
* (account.freeEmailQuota)
|
|
234
|
+
*/
|
|
235
|
+
readonly freeEmailsQuota: number | undefined;
|
|
236
|
+
/**
|
|
237
|
+
* Дата обновления квоты бесплатных писем.
|
|
238
|
+
* (account.freeEmailLimitUpdateDate)
|
|
239
|
+
*/
|
|
240
|
+
readonly freeEmailsQuotaUpdateDate: string | undefined;
|
|
241
|
+
/**
|
|
242
|
+
* Оставшееся количество купленных писем.
|
|
243
|
+
* (account.paidEmailQuota)
|
|
244
|
+
*/
|
|
245
|
+
readonly paidEmailsQuota: number | undefined;
|
|
246
|
+
/**
|
|
247
|
+
* Дата окончания действия квоты купленных писем.
|
|
248
|
+
* (account.paidEmailExpireDate)
|
|
249
|
+
*/
|
|
250
|
+
readonly paidEmailsQuotaExpiryDate: string | undefined;
|
|
251
|
+
};
|
|
252
|
+
constructor(accountData: AccountData);
|
|
253
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { AccountData } from '../rpc.types';
|
|
2
|
+
/**
|
|
3
|
+
* Разрешения на использование функционала со стороны владельца аккаунта.
|
|
4
|
+
*/
|
|
5
|
+
export declare class Permissions {
|
|
6
|
+
/**
|
|
7
|
+
* Есть ли у пользователя супер-права.
|
|
8
|
+
*/
|
|
9
|
+
readonly hasSuperRights: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Может ли пользователь управлять подпиской.
|
|
12
|
+
*/
|
|
13
|
+
readonly canManageSubscription: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Может ли пользователь управлять ключами доступа.
|
|
16
|
+
*/
|
|
17
|
+
readonly canManageAccessTokens: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Может ли пользователь управлять доменами и электронными адресами.
|
|
20
|
+
*/
|
|
21
|
+
readonly canManageDomainsAndEmails: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Может ли пользователь управлять правами других пользователей.
|
|
24
|
+
*/
|
|
25
|
+
readonly canManageSubUsers: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Может ли пользователь просматривать приложения.
|
|
28
|
+
*/
|
|
29
|
+
readonly canSeeApplications: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Может ли пользователь редактировать приложения.
|
|
32
|
+
*/
|
|
33
|
+
readonly canModifyApplications: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Может ли пользователь просматривать группы приложений.
|
|
36
|
+
*/
|
|
37
|
+
readonly canSeeApplicationGroups: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Может ли пользователь редактировать группы приложений.
|
|
40
|
+
*/
|
|
41
|
+
readonly canModifyApplicationGroups: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Может ли пользователь просматривать отправленные сообщения.
|
|
44
|
+
*/
|
|
45
|
+
readonly canSeeMessages: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Может ли пользователь редактировать (отменять) отправленные сообщения.
|
|
48
|
+
*/
|
|
49
|
+
readonly canModifyMessages: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Может ли пользователь отправлять сообщения.
|
|
52
|
+
*/
|
|
53
|
+
readonly canSendMessages: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Может ли пользователь просматривать теги.
|
|
56
|
+
*/
|
|
57
|
+
readonly canSeeTags: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Может ли пользователь редактировать теги.
|
|
60
|
+
*/
|
|
61
|
+
readonly canModifyTags: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Может ли пользователь просматривать сегменты.
|
|
64
|
+
*/
|
|
65
|
+
readonly canSeeSegments: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Может ли пользователь редактировать сегменты.
|
|
68
|
+
*/
|
|
69
|
+
readonly canModifySegments: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Может ли пользователь просматривать рич-медиа.
|
|
72
|
+
*/
|
|
73
|
+
readonly canSeeRichMedia: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Может ли пользователь редактировать рич-медиа.
|
|
76
|
+
*/
|
|
77
|
+
readonly canModifyRichMedia: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Может ли пользователь просматривать рич-медиа.
|
|
80
|
+
*/
|
|
81
|
+
readonly canSeeInApps: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Может ли пользователь просматривать шаблоны писем.
|
|
84
|
+
*/
|
|
85
|
+
readonly canSeeEmailTemplates: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Может ли пользователь редактировать шаблоны писем.
|
|
88
|
+
*/
|
|
89
|
+
readonly canModifyEmailTemplates: boolean;
|
|
90
|
+
constructor(account: AccountData);
|
|
91
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { AccountData } from '../rpc.types';
|
|
2
|
+
/**
|
|
3
|
+
* Идентификатор платформы.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum Platform {
|
|
6
|
+
IOS = 1,
|
|
7
|
+
BLACKBERRY = 2,
|
|
8
|
+
ANDROID = 3,
|
|
9
|
+
WINDOWS_PHONE = 5,
|
|
10
|
+
MAC_OS = 7,
|
|
11
|
+
WINDOWS = 8,
|
|
12
|
+
AMAZON = 9,
|
|
13
|
+
SAFARI = 10,
|
|
14
|
+
CHROME = 11,
|
|
15
|
+
FIREFOX = 12,
|
|
16
|
+
IE = 13,
|
|
17
|
+
EMAIL = 14,
|
|
18
|
+
BAIDU = 16,
|
|
19
|
+
HUAWEI = 17
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Название платформы.
|
|
23
|
+
*/
|
|
24
|
+
export declare enum PlatformName {
|
|
25
|
+
IOS = "iOS",
|
|
26
|
+
BLACKBERRY = "Blackberry",
|
|
27
|
+
ANDROID = "Android",
|
|
28
|
+
WINDOWS_PHONE = "Windows Phone",
|
|
29
|
+
MAC_OS = "Mac OS",
|
|
30
|
+
WINDOWS = "Windows",
|
|
31
|
+
AMAZON = "Amazon",
|
|
32
|
+
SAFARI = "Safari",
|
|
33
|
+
CHROME = "Chrome",
|
|
34
|
+
FIREFOX = "Firefox",
|
|
35
|
+
IE = "Internet Explorer",
|
|
36
|
+
EMAIL = "Email",
|
|
37
|
+
BAIDU = "Baidu",
|
|
38
|
+
HUAWEI = "Huawei"
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Вспомогательный класс для работы с платформами.
|
|
42
|
+
*/
|
|
43
|
+
export declare class Platforms {
|
|
44
|
+
/**
|
|
45
|
+
* Отсеять неизвестные значения.
|
|
46
|
+
*
|
|
47
|
+
* @param { Array<number> } platforms - массив доступных платформ.
|
|
48
|
+
* @return { Array<Platform> } platforms - безопасный массив доступных платформ.
|
|
49
|
+
*/
|
|
50
|
+
private static filterAllowPlatforms;
|
|
51
|
+
/**
|
|
52
|
+
* Получить название платформы по ее идентификатору.
|
|
53
|
+
*
|
|
54
|
+
* @param { Platform } platform - идентификатор платформы.
|
|
55
|
+
* @return { string } идентификатор платформы.
|
|
56
|
+
*/
|
|
57
|
+
static getPlatformName: (platform: Platform) => string;
|
|
58
|
+
/**
|
|
59
|
+
* Массив доступных платформ.
|
|
60
|
+
*/
|
|
61
|
+
readonly available: Array<Platform>;
|
|
62
|
+
constructor(accountData: AccountData);
|
|
63
|
+
/**
|
|
64
|
+
* Проверить, доступна ли платформа для использования.
|
|
65
|
+
*
|
|
66
|
+
* @param { Platform } platform - идентификатор платформы.
|
|
67
|
+
* @return { boolean } - доступна ли платформа для использования.
|
|
68
|
+
*/
|
|
69
|
+
checkIsAvailablePlatform: (platform: Platform) => boolean;
|
|
70
|
+
}
|