@mattermost/types 11.5.0 → 11.7.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/lib/access_control.d.ts +14 -0
- package/lib/access_control.js +30 -0
- package/lib/admin.d.ts +1 -0
- package/lib/agents.d.ts +1 -0
- package/lib/apps.d.ts +7 -0
- package/lib/apps.js +1 -0
- package/lib/channel_categories.d.ts +2 -1
- package/lib/channels.d.ts +1 -0
- package/lib/config.d.ts +12 -7
- package/lib/content_flagging.d.ts +11 -0
- package/lib/emojis.d.ts +1 -2
- package/lib/emojis.js +7 -0
- package/lib/files.d.ts +18 -0
- package/lib/files.js +14 -0
- package/lib/integrations.d.ts +5 -0
- package/lib/limits.d.ts +2 -0
- package/lib/posts.d.ts +1 -0
- package/lib/properties.d.ts +49 -2
- package/lib/reports.d.ts +8 -1
- package/lib/reports.js +7 -1
- package/lib/shared_channels.d.ts +2 -0
- package/lib/store.d.ts +2 -0
- package/lib/users.d.ts +4 -0
- package/package.json +1 -1
package/lib/access_control.d.ts
CHANGED
|
@@ -8,9 +8,12 @@ export type AccessControlPolicy = {
|
|
|
8
8
|
created_at?: number;
|
|
9
9
|
version?: string;
|
|
10
10
|
active?: boolean;
|
|
11
|
+
roles?: string[];
|
|
11
12
|
imports?: string[];
|
|
12
13
|
props?: Record<string, unknown[]>;
|
|
13
14
|
rules: AccessControlPolicyRule[];
|
|
15
|
+
scope?: string;
|
|
16
|
+
scope_id?: string;
|
|
14
17
|
};
|
|
15
18
|
export type AccessControlPolicyCursor = {
|
|
16
19
|
id: string;
|
|
@@ -33,6 +36,17 @@ export type AccessControlPolicyRule = {
|
|
|
33
36
|
actions?: string[];
|
|
34
37
|
expression: string;
|
|
35
38
|
};
|
|
39
|
+
/**
|
|
40
|
+
* Returns the first rule with a "membership" action, falling back to rules[0]
|
|
41
|
+
* only when it carries a wildcard action (legacy v0.2 policies).
|
|
42
|
+
*/
|
|
43
|
+
export declare function getMembershipRule(rules?: AccessControlPolicyRule[]): AccessControlPolicyRule | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Replaces or inserts the membership rule in an existing rules array while
|
|
46
|
+
* preserving all non-membership rules (e.g. file_upload, file_download).
|
|
47
|
+
* If expression is empty the membership rule is removed.
|
|
48
|
+
*/
|
|
49
|
+
export declare function buildRulesWithMembership(existingRules: AccessControlPolicyRule[], expression: string): AccessControlPolicyRule[];
|
|
36
50
|
export type CELExpressionError = {
|
|
37
51
|
message: string;
|
|
38
52
|
line: number;
|
package/lib/access_control.js
CHANGED
|
@@ -2,3 +2,33 @@
|
|
|
2
2
|
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
3
3
|
// See LICENSE.txt for license information.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.getMembershipRule = getMembershipRule;
|
|
6
|
+
exports.buildRulesWithMembership = buildRulesWithMembership;
|
|
7
|
+
/**
|
|
8
|
+
* Returns the first rule with a "membership" action, falling back to rules[0]
|
|
9
|
+
* only when it carries a wildcard action (legacy v0.2 policies).
|
|
10
|
+
*/
|
|
11
|
+
function getMembershipRule(rules) {
|
|
12
|
+
var _a;
|
|
13
|
+
const membership = rules === null || rules === void 0 ? void 0 : rules.find((r) => { var _a; return (_a = r.actions) === null || _a === void 0 ? void 0 : _a.includes('membership'); });
|
|
14
|
+
if (membership) {
|
|
15
|
+
return membership;
|
|
16
|
+
}
|
|
17
|
+
const first = rules === null || rules === void 0 ? void 0 : rules[0];
|
|
18
|
+
if ((_a = first === null || first === void 0 ? void 0 : first.actions) === null || _a === void 0 ? void 0 : _a.includes('*')) {
|
|
19
|
+
return first;
|
|
20
|
+
}
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Replaces or inserts the membership rule in an existing rules array while
|
|
25
|
+
* preserving all non-membership rules (e.g. file_upload, file_download).
|
|
26
|
+
* If expression is empty the membership rule is removed.
|
|
27
|
+
*/
|
|
28
|
+
function buildRulesWithMembership(existingRules, expression) {
|
|
29
|
+
const otherRules = existingRules.filter((r) => { var _a; return !((_a = r.actions) === null || _a === void 0 ? void 0 : _a.includes('membership')); });
|
|
30
|
+
if (!expression.trim()) {
|
|
31
|
+
return otherRules;
|
|
32
|
+
}
|
|
33
|
+
return [{ actions: ['membership'], expression: expression.trim() }, ...otherRules];
|
|
34
|
+
}
|
package/lib/admin.d.ts
CHANGED
package/lib/agents.d.ts
CHANGED
package/lib/apps.d.ts
CHANGED
|
@@ -141,7 +141,13 @@ export type AppSelectOption = {
|
|
|
141
141
|
value: string;
|
|
142
142
|
icon_data?: string;
|
|
143
143
|
};
|
|
144
|
+
export declare function isAppSelectOption(v: unknown): v is AppSelectOption;
|
|
144
145
|
export type AppFieldType = string;
|
|
146
|
+
export type DateTimeConfig = {
|
|
147
|
+
time_interval?: number;
|
|
148
|
+
location_timezone?: string;
|
|
149
|
+
allow_manual_time_entry?: boolean;
|
|
150
|
+
};
|
|
145
151
|
export type AppField = {
|
|
146
152
|
name: string;
|
|
147
153
|
type: AppFieldType;
|
|
@@ -160,6 +166,7 @@ export type AppField = {
|
|
|
160
166
|
subtype?: string;
|
|
161
167
|
min_length?: number;
|
|
162
168
|
max_length?: number;
|
|
169
|
+
datetime_config?: DateTimeConfig;
|
|
163
170
|
min_date?: string;
|
|
164
171
|
max_date?: string;
|
|
165
172
|
time_interval?: number;
|
package/lib/apps.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.Locations = exports.Permission = void 0;
|
|
6
6
|
exports.isAppBinding = isAppBinding;
|
|
7
|
+
exports.isAppSelectOption = isAppSelectOption;
|
|
7
8
|
const products_1 = require("./products");
|
|
8
9
|
const utilities_1 = require("./utilities");
|
|
9
10
|
var Permission;
|
|
@@ -2,7 +2,7 @@ import type { Channel } from './channels';
|
|
|
2
2
|
import type { Team } from './teams';
|
|
3
3
|
import type { UserProfile } from './users';
|
|
4
4
|
import type { IDMappedObjects, RelationOneToOne } from './utilities';
|
|
5
|
-
export type ChannelCategoryType = 'favorites' | 'channels' | 'direct_messages' | 'custom';
|
|
5
|
+
export type ChannelCategoryType = 'favorites' | 'channels' | 'direct_messages' | 'custom' | 'managed';
|
|
6
6
|
export declare enum CategorySorting {
|
|
7
7
|
Alphabetical = "alpha",
|
|
8
8
|
Default = "",// behaves the same as manual
|
|
@@ -27,4 +27,5 @@ export type OrderedChannelCategories = {
|
|
|
27
27
|
export type ChannelCategoriesState = {
|
|
28
28
|
byId: IDMappedObjects<ChannelCategory>;
|
|
29
29
|
orderByTeam: RelationOneToOne<Team, Array<ChannelCategory['id']>>;
|
|
30
|
+
managedCategoryMappings: RelationOneToOne<Team, Record<Channel['id'], string>>;
|
|
30
31
|
};
|
package/lib/channels.d.ts
CHANGED
package/lib/config.d.ts
CHANGED
|
@@ -60,6 +60,7 @@ export type ClientConfig = {
|
|
|
60
60
|
EnableExperimentalLocales: string;
|
|
61
61
|
EnableUserStatuses: string;
|
|
62
62
|
EnableLastActiveTime: string;
|
|
63
|
+
EnableManagedChannelCategories: string;
|
|
63
64
|
EnableTimedDND: string;
|
|
64
65
|
EnableCrossTeamSearch: 'true' | 'false';
|
|
65
66
|
EnableCustomTermsOfService: string;
|
|
@@ -124,6 +125,7 @@ export type ClientConfig = {
|
|
|
124
125
|
FeatureFlagCallsEnabled: string;
|
|
125
126
|
FeatureFlagCustomProfileAttributes: string;
|
|
126
127
|
FeatureFlagAttributeBasedAccessControl: string;
|
|
128
|
+
FeatureFlagPermissionPolicies: string;
|
|
127
129
|
FeatureFlagWebSocketEventScope: string;
|
|
128
130
|
FeatureFlagInteractiveDialogAppsForm: string;
|
|
129
131
|
FeatureFlagContentFlagging: string;
|
|
@@ -201,6 +203,7 @@ export type ClientConfig = {
|
|
|
201
203
|
WebsocketSecurePort: string;
|
|
202
204
|
WebsocketURL: string;
|
|
203
205
|
ExperimentalSharedChannels: string;
|
|
206
|
+
ExperimentalRemoteClusterService: string;
|
|
204
207
|
DisableAppBar: string;
|
|
205
208
|
EnableComplianceExport: string;
|
|
206
209
|
PostPriority: string;
|
|
@@ -223,11 +226,11 @@ export type ClientConfig = {
|
|
|
223
226
|
ScheduledPosts: string;
|
|
224
227
|
DeleteAccountLink: string;
|
|
225
228
|
ContentFlaggingEnabled: 'true' | 'false';
|
|
229
|
+
UseAnonymousURLs: string;
|
|
226
230
|
EnableBurnOnRead: string;
|
|
227
231
|
BurnOnReadDurationSeconds: string;
|
|
228
232
|
BurnOnReadMaximumTimeToLiveSeconds: string;
|
|
229
233
|
EnableAttributeBasedAccessControl: string;
|
|
230
|
-
EnableChannelScopeAccessControl: string;
|
|
231
234
|
EnableUserManagedAttributes: string;
|
|
232
235
|
AutoTranslationLanguages: string;
|
|
233
236
|
EnableAutoTranslation: string;
|
|
@@ -421,6 +424,7 @@ export type ServiceSettings = {
|
|
|
421
424
|
EnableWebHubChannelIteration: boolean;
|
|
422
425
|
FrameAncestors: string;
|
|
423
426
|
DeleteAccountLink: string;
|
|
427
|
+
MinimumDesktopAppVersion: string;
|
|
424
428
|
};
|
|
425
429
|
export type TeamSettings = {
|
|
426
430
|
SiteName: string;
|
|
@@ -464,6 +468,7 @@ export type SqlSettings = {
|
|
|
464
468
|
Trace: boolean;
|
|
465
469
|
AtRestEncryptKey: string;
|
|
466
470
|
QueryTimeout: number;
|
|
471
|
+
AnalyticsQueryTimeout: number;
|
|
467
472
|
DisableDatabaseSearch: boolean;
|
|
468
473
|
MigrationsStatementTimeoutSeconds: number;
|
|
469
474
|
ReplicaLagSettings: ReplicaLagSetting[];
|
|
@@ -487,11 +492,6 @@ export type LogSettings = {
|
|
|
487
492
|
export type ExperimentalAuditSettings = {
|
|
488
493
|
FileEnabled: boolean;
|
|
489
494
|
FileName: string;
|
|
490
|
-
FileMaxSizeMB: number;
|
|
491
|
-
FileMaxAgeDays: number;
|
|
492
|
-
FileMaxBackups: number;
|
|
493
|
-
FileCompress: boolean;
|
|
494
|
-
FileMaxQueueSize: number;
|
|
495
495
|
AdvancedLoggingJSON: Record<string, any>;
|
|
496
496
|
Certificate: string;
|
|
497
497
|
};
|
|
@@ -612,6 +612,7 @@ export type RateLimitSettings = {
|
|
|
612
612
|
export type PrivacySettings = {
|
|
613
613
|
ShowEmailAddress: boolean;
|
|
614
614
|
ShowFullName: boolean;
|
|
615
|
+
UseAnonymousURLs: boolean;
|
|
615
616
|
};
|
|
616
617
|
export type SupportSettings = {
|
|
617
618
|
TermsOfServiceLink: string;
|
|
@@ -657,6 +658,7 @@ export type SSOSettings = {
|
|
|
657
658
|
DiscoveryEndpoint: string;
|
|
658
659
|
ButtonText: string;
|
|
659
660
|
ButtonColor: string;
|
|
661
|
+
UsePreferredUsername: boolean;
|
|
660
662
|
};
|
|
661
663
|
export type Office365Settings = {
|
|
662
664
|
Enable: boolean;
|
|
@@ -668,6 +670,7 @@ export type Office365Settings = {
|
|
|
668
670
|
UserAPIEndpoint: string;
|
|
669
671
|
DiscoveryEndpoint: string;
|
|
670
672
|
DirectoryId: string;
|
|
673
|
+
UsePreferredUsername: boolean;
|
|
671
674
|
};
|
|
672
675
|
export type LdapSettings = {
|
|
673
676
|
Enable: boolean;
|
|
@@ -823,6 +826,7 @@ export type ExperimentalSettings = {
|
|
|
823
826
|
UsersStatusAndProfileFetchingPollIntervalMilliseconds: number;
|
|
824
827
|
YoutubeReferrerPolicy: boolean;
|
|
825
828
|
ExperimentalChannelCategorySorting: boolean;
|
|
829
|
+
EnableWatermark: boolean;
|
|
826
830
|
};
|
|
827
831
|
export type AnalyticsSettings = {
|
|
828
832
|
MaxUsersForStatistics: number;
|
|
@@ -842,6 +846,7 @@ export type ElasticsearchSettings = {
|
|
|
842
846
|
Password: string;
|
|
843
847
|
EnableIndexing: boolean;
|
|
844
848
|
EnableSearching: boolean;
|
|
849
|
+
EnableCJKAnalyzers: boolean;
|
|
845
850
|
EnableAutocomplete: boolean;
|
|
846
851
|
Sniff: boolean;
|
|
847
852
|
PostIndexReplicas: number;
|
|
@@ -863,6 +868,7 @@ export type ElasticsearchSettings = {
|
|
|
863
868
|
ClientKey: string;
|
|
864
869
|
Trace: string;
|
|
865
870
|
IgnoredPurgeIndexes: string;
|
|
871
|
+
EnableSearchPublicChannelsWithoutMembership: boolean;
|
|
866
872
|
};
|
|
867
873
|
export type DataRetentionSettings = {
|
|
868
874
|
EnableMessageDeletion: boolean;
|
|
@@ -959,7 +965,6 @@ export type ExportSettings = {
|
|
|
959
965
|
};
|
|
960
966
|
export type AccessControlSettings = {
|
|
961
967
|
EnableAttributeBasedAccessControl: boolean;
|
|
962
|
-
EnableChannelScopeAccessControl: boolean;
|
|
963
968
|
EnableUserManagedAttributes: boolean;
|
|
964
969
|
};
|
|
965
970
|
export type ContentFlaggingNotificationSettings = {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { Channel } from './channels';
|
|
1
2
|
import type { Post } from './posts';
|
|
2
3
|
import type { NameMappedPropertyFields, PropertyValue } from './properties';
|
|
4
|
+
import type { Team } from './teams';
|
|
3
5
|
export type ContentFlaggingEvent = 'flagged' | 'assigned' | 'removed' | 'dismissed';
|
|
4
6
|
export type NotificationTarget = 'reviewers' | 'author' | 'reporter';
|
|
5
7
|
export type ContentFlaggingConfig = {
|
|
@@ -15,6 +17,15 @@ export type ContentFlaggingState = {
|
|
|
15
17
|
postValues?: {
|
|
16
18
|
[key: Post['id']]: Array<PropertyValue<unknown>>;
|
|
17
19
|
};
|
|
20
|
+
flaggedPosts?: {
|
|
21
|
+
[key: Post['id']]: Post;
|
|
22
|
+
};
|
|
23
|
+
channels?: {
|
|
24
|
+
[key: Channel['id']]: Channel;
|
|
25
|
+
};
|
|
26
|
+
teams?: {
|
|
27
|
+
[key: Team['id']]: Team;
|
|
28
|
+
};
|
|
18
29
|
};
|
|
19
30
|
export declare enum ContentFlaggingStatus {
|
|
20
31
|
Pending = "Pending",
|
package/lib/emojis.d.ts
CHANGED
|
@@ -11,10 +11,8 @@ export type CustomEmoji = {
|
|
|
11
11
|
export type SystemEmoji = {
|
|
12
12
|
name: string;
|
|
13
13
|
category: EmojiCategory;
|
|
14
|
-
image: string;
|
|
15
14
|
short_name: string;
|
|
16
15
|
short_names: string[];
|
|
17
|
-
batch: number;
|
|
18
16
|
skins?: string[];
|
|
19
17
|
skin_variations?: Record<string, SystemEmojiVariation>;
|
|
20
18
|
unified: string;
|
|
@@ -42,3 +40,4 @@ export type RecentEmojiData = {
|
|
|
42
40
|
name: string;
|
|
43
41
|
usageCount: number;
|
|
44
42
|
};
|
|
43
|
+
export declare function isSystemEmoji(emoji: Emoji): emoji is SystemEmoji;
|
package/lib/emojis.js
CHANGED
|
@@ -2,3 +2,10 @@
|
|
|
2
2
|
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
3
3
|
// See LICENSE.txt for license information.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.isSystemEmoji = isSystemEmoji;
|
|
6
|
+
function isSystemEmoji(emoji) {
|
|
7
|
+
if ('category' in emoji) {
|
|
8
|
+
return emoji.category !== 'custom';
|
|
9
|
+
}
|
|
10
|
+
return !('id' in emoji);
|
|
11
|
+
}
|
package/lib/files.d.ts
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FileDownloadType represents the type of file download or access being performed.
|
|
3
|
+
*/
|
|
4
|
+
export type FileDownloadType = 'file' | 'thumbnail' | 'preview' | 'public';
|
|
5
|
+
/**
|
|
6
|
+
* FileDownloadTypes contains constants for the different types of file downloads.
|
|
7
|
+
*/
|
|
8
|
+
export declare const FileDownloadTypes: {
|
|
9
|
+
/** Full file download request */
|
|
10
|
+
readonly FILE: FileDownloadType;
|
|
11
|
+
/** Thumbnail image request */
|
|
12
|
+
readonly THUMBNAIL: FileDownloadType;
|
|
13
|
+
/** Preview image request */
|
|
14
|
+
readonly PREVIEW: FileDownloadType;
|
|
15
|
+
/** Public link access (unauthenticated) */
|
|
16
|
+
readonly PUBLIC: FileDownloadType;
|
|
17
|
+
};
|
|
1
18
|
export type FileInfo = {
|
|
2
19
|
id: string;
|
|
3
20
|
user_id: string;
|
|
@@ -25,6 +42,7 @@ export type FilesState = {
|
|
|
25
42
|
filePublicLink?: {
|
|
26
43
|
link: string;
|
|
27
44
|
};
|
|
45
|
+
rejectedFiles: Set<string>;
|
|
28
46
|
};
|
|
29
47
|
export type FileUploadResponse = {
|
|
30
48
|
file_infos: FileInfo[];
|
package/lib/files.js
CHANGED
|
@@ -2,3 +2,17 @@
|
|
|
2
2
|
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
3
3
|
// See LICENSE.txt for license information.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.FileDownloadTypes = void 0;
|
|
6
|
+
/**
|
|
7
|
+
* FileDownloadTypes contains constants for the different types of file downloads.
|
|
8
|
+
*/
|
|
9
|
+
exports.FileDownloadTypes = {
|
|
10
|
+
/** Full file download request */
|
|
11
|
+
FILE: 'file',
|
|
12
|
+
/** Thumbnail image request */
|
|
13
|
+
THUMBNAIL: 'thumbnail',
|
|
14
|
+
/** Preview image request */
|
|
15
|
+
PREVIEW: 'preview',
|
|
16
|
+
/** Public link access (unauthenticated) */
|
|
17
|
+
PUBLIC: 'public',
|
|
18
|
+
};
|
package/lib/integrations.d.ts
CHANGED
|
@@ -177,6 +177,11 @@ export type DialogElement = {
|
|
|
177
177
|
value: any;
|
|
178
178
|
}>;
|
|
179
179
|
refresh?: boolean;
|
|
180
|
+
datetime_config?: {
|
|
181
|
+
time_interval?: number;
|
|
182
|
+
location_timezone?: string;
|
|
183
|
+
allow_manual_time_entry?: boolean;
|
|
184
|
+
};
|
|
180
185
|
min_date?: string;
|
|
181
186
|
max_date?: string;
|
|
182
187
|
time_interval?: number;
|
package/lib/limits.d.ts
CHANGED
package/lib/posts.d.ts
CHANGED
package/lib/properties.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { IDMappedObjects } from './utilities';
|
|
1
2
|
export type FieldType = ('text' | 'select' | 'multiselect' | 'date' | 'user' | 'multiuser');
|
|
2
3
|
export type PropertyField = {
|
|
3
4
|
id: string;
|
|
@@ -8,11 +9,18 @@ export type PropertyField = {
|
|
|
8
9
|
subType?: string;
|
|
9
10
|
[key: string]: unknown;
|
|
10
11
|
};
|
|
11
|
-
target_id
|
|
12
|
-
target_type
|
|
12
|
+
target_id: string;
|
|
13
|
+
target_type: string;
|
|
14
|
+
object_type: string;
|
|
13
15
|
create_at: number;
|
|
14
16
|
update_at: number;
|
|
15
17
|
delete_at: number;
|
|
18
|
+
created_by: string;
|
|
19
|
+
updated_by: string;
|
|
20
|
+
};
|
|
21
|
+
export type PropertyGroup = {
|
|
22
|
+
id: string;
|
|
23
|
+
name: string;
|
|
16
24
|
};
|
|
17
25
|
export type NameMappedPropertyFields = {
|
|
18
26
|
[key: PropertyField['name']]: PropertyField;
|
|
@@ -27,6 +35,8 @@ export type PropertyValue<T> = {
|
|
|
27
35
|
create_at: number;
|
|
28
36
|
update_at: number;
|
|
29
37
|
delete_at: number;
|
|
38
|
+
created_by: string;
|
|
39
|
+
updated_by: string;
|
|
30
40
|
};
|
|
31
41
|
export type UserPropertyFieldType = 'text' | 'select' | 'multiselect';
|
|
32
42
|
export type UserPropertyFieldGroupID = 'custom_profile_attributes';
|
|
@@ -61,3 +71,40 @@ export type SelectPropertyField = PropertyField & {
|
|
|
61
71
|
};
|
|
62
72
|
export declare const supportsOptions: (field: UserPropertyField) => boolean;
|
|
63
73
|
export type UserPropertyFieldPatch = Partial<Pick<UserPropertyField, 'name' | 'attrs' | 'type'>>;
|
|
74
|
+
export type PropertiesState = {
|
|
75
|
+
fields: PropertyFieldsState;
|
|
76
|
+
values: PropertyValuesState;
|
|
77
|
+
groups: PropertyGroupsState;
|
|
78
|
+
};
|
|
79
|
+
export type PropertyFieldsState = {
|
|
80
|
+
byObjectType: {
|
|
81
|
+
[objectType: string]: {
|
|
82
|
+
[groupId: string]: IDMappedObjects<PropertyField>;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
byId: IDMappedObjects<PropertyField>;
|
|
86
|
+
};
|
|
87
|
+
export type PropertyValuesState = {
|
|
88
|
+
byTargetId: {
|
|
89
|
+
[targetId: string]: {
|
|
90
|
+
[fieldId: string]: PropertyValue<unknown>;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
byFieldId: {
|
|
94
|
+
[fieldId: string]: {
|
|
95
|
+
[targetId: string]: PropertyValue<unknown>;
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
export type PropertyGroupsState = {
|
|
100
|
+
byId: IDMappedObjects<PropertyGroup>;
|
|
101
|
+
byName: {
|
|
102
|
+
[name: string]: PropertyGroup;
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
export type PropertyValuesUpdated<T> = {
|
|
106
|
+
object_type?: string;
|
|
107
|
+
target_id?: string;
|
|
108
|
+
field_id?: string;
|
|
109
|
+
values: Array<PropertyValue<T>>;
|
|
110
|
+
};
|
package/lib/reports.d.ts
CHANGED
|
@@ -17,6 +17,11 @@ export declare enum ReportDuration {
|
|
|
17
17
|
PreviousMonth = "previous_month",
|
|
18
18
|
Last6Months = "last_6_months"
|
|
19
19
|
}
|
|
20
|
+
export declare enum GuestFilter {
|
|
21
|
+
All = "all",
|
|
22
|
+
SingleChannel = "single_channel",
|
|
23
|
+
MultipleChannel = "multi_channel"
|
|
24
|
+
}
|
|
20
25
|
export declare enum CursorPaginationDirection {
|
|
21
26
|
'prev' = "prev",
|
|
22
27
|
'next' = "next"
|
|
@@ -28,6 +33,7 @@ export type UserReportFilter = {
|
|
|
28
33
|
hide_active?: boolean;
|
|
29
34
|
hide_inactive?: boolean;
|
|
30
35
|
search_term?: string;
|
|
36
|
+
guest_filter?: string;
|
|
31
37
|
};
|
|
32
38
|
export type UserReportOptions = UserReportFilter & {
|
|
33
39
|
page_size?: number;
|
|
@@ -57,9 +63,10 @@ export type UserReportOptions = UserReportFilter & {
|
|
|
57
63
|
date_range?: ReportDuration;
|
|
58
64
|
};
|
|
59
65
|
export type UserReport = UserProfile & {
|
|
60
|
-
|
|
66
|
+
last_login: number;
|
|
61
67
|
last_status_at?: number;
|
|
62
68
|
last_post_date?: number;
|
|
63
69
|
days_active?: number;
|
|
64
70
|
total_posts?: number;
|
|
71
|
+
channel_count?: number;
|
|
65
72
|
};
|
package/lib/reports.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
3
3
|
// See LICENSE.txt for license information.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.CursorPaginationDirection = exports.ReportDuration = exports.ReportSortDirection = exports.UserReportSortColumns = void 0;
|
|
5
|
+
exports.CursorPaginationDirection = exports.GuestFilter = exports.ReportDuration = exports.ReportSortDirection = exports.UserReportSortColumns = void 0;
|
|
6
6
|
var UserReportSortColumns;
|
|
7
7
|
(function (UserReportSortColumns) {
|
|
8
8
|
UserReportSortColumns["username"] = "Username";
|
|
@@ -24,6 +24,12 @@ var ReportDuration;
|
|
|
24
24
|
ReportDuration["PreviousMonth"] = "previous_month";
|
|
25
25
|
ReportDuration["Last6Months"] = "last_6_months";
|
|
26
26
|
})(ReportDuration || (exports.ReportDuration = ReportDuration = {}));
|
|
27
|
+
var GuestFilter;
|
|
28
|
+
(function (GuestFilter) {
|
|
29
|
+
GuestFilter["All"] = "all";
|
|
30
|
+
GuestFilter["SingleChannel"] = "single_channel";
|
|
31
|
+
GuestFilter["MultipleChannel"] = "multi_channel";
|
|
32
|
+
})(GuestFilter || (exports.GuestFilter = GuestFilter = {}));
|
|
27
33
|
var CursorPaginationDirection;
|
|
28
34
|
(function (CursorPaginationDirection) {
|
|
29
35
|
CursorPaginationDirection["prev"] = "prev";
|
package/lib/shared_channels.d.ts
CHANGED
|
@@ -14,11 +14,13 @@ export type SharedChannelRemote = {
|
|
|
14
14
|
last_post_create_id: string;
|
|
15
15
|
};
|
|
16
16
|
export type RemoteClusterInfo = {
|
|
17
|
+
remote_id: string;
|
|
17
18
|
name: string;
|
|
18
19
|
display_name: string;
|
|
19
20
|
create_at: number;
|
|
20
21
|
delete_at: number;
|
|
21
22
|
last_ping_at: number;
|
|
23
|
+
site_url?: string;
|
|
22
24
|
};
|
|
23
25
|
export type SharedChannelsState = {
|
|
24
26
|
remotes: Record<string, RemoteClusterInfo[]>;
|
package/lib/store.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ import type { JobsState } from './jobs';
|
|
|
17
17
|
import type { LimitsState } from './limits';
|
|
18
18
|
import type { PostsState } from './posts';
|
|
19
19
|
import type { PreferenceType } from './preferences';
|
|
20
|
+
import type { PropertiesState } from './properties';
|
|
20
21
|
import type { Recap } from './recaps';
|
|
21
22
|
import type { AdminRequestsStatuses, ChannelsRequestsStatuses, FilesRequestsStatuses, GeneralRequestsStatuses, PostsRequestsStatuses, RolesRequestsStatuses, TeamsRequestsStatuses, UsersRequestsStatuses } from './requests';
|
|
22
23
|
import type { Role } from './roles';
|
|
@@ -95,6 +96,7 @@ export type GlobalState = {
|
|
|
95
96
|
remotesByRemoteId?: Record<string, RemoteClusterInfo>;
|
|
96
97
|
};
|
|
97
98
|
contentFlagging: ContentFlaggingState;
|
|
99
|
+
properties: PropertiesState;
|
|
98
100
|
};
|
|
99
101
|
errors: any[];
|
|
100
102
|
requests: {
|
package/lib/users.d.ts
CHANGED