@mattermost/types 10.3.0 → 10.5.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/client4.d.ts +1 -0
- package/lib/client4.js +3 -1
- package/lib/config.d.ts +6 -0
- package/lib/files.d.ts +1 -0
- package/lib/general.d.ts +3 -0
- package/lib/plugins.d.ts +1 -0
- package/lib/properties.d.ts +31 -0
- package/lib/properties.js +4 -0
- package/lib/store.d.ts +1 -0
- package/lib/utilities.d.ts +52 -0
- package/lib/utilities.js +28 -0
- package/package.json +1 -1
package/lib/client4.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export type OptsSignalExt = {
|
|
|
27
27
|
export type StatusOK = {
|
|
28
28
|
status: 'OK';
|
|
29
29
|
};
|
|
30
|
+
export declare const isStatusOK: (x: StatusOK | Record<string, unknown>) => x is StatusOK;
|
|
30
31
|
export type FetchPaginatedThreadOptions = {
|
|
31
32
|
fetchThreads?: boolean;
|
|
32
33
|
collapsedThreads?: boolean;
|
package/lib/client4.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.LogLevel = void 0;
|
|
5
|
+
exports.isStatusOK = exports.LogLevel = void 0;
|
|
6
6
|
var LogLevel;
|
|
7
7
|
(function (LogLevel) {
|
|
8
8
|
LogLevel["Error"] = "ERROR";
|
|
@@ -10,3 +10,5 @@ var LogLevel;
|
|
|
10
10
|
LogLevel["Info"] = "INFO";
|
|
11
11
|
LogLevel["Debug"] = "DEBUG";
|
|
12
12
|
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
|
13
|
+
const isStatusOK = (x) => (x === null || x === void 0 ? void 0 : x.status) === 'OK';
|
|
14
|
+
exports.isStatusOK = isStatusOK;
|
package/lib/config.d.ts
CHANGED
|
@@ -55,6 +55,7 @@ export type ClientConfig = {
|
|
|
55
55
|
EnableCustomEmoji: string;
|
|
56
56
|
EnableCustomGroups: string;
|
|
57
57
|
EnableCustomUserStatuses: string;
|
|
58
|
+
EnableExperimentalLocales: string;
|
|
58
59
|
EnableUserStatuses: string;
|
|
59
60
|
EnableLastActiveTime: string;
|
|
60
61
|
EnableTimedDND: string;
|
|
@@ -119,6 +120,7 @@ export type ClientConfig = {
|
|
|
119
120
|
FileLevel: string;
|
|
120
121
|
FeatureFlagAppsEnabled: string;
|
|
121
122
|
FeatureFlagCallsEnabled: string;
|
|
123
|
+
FeatureFlagCustomProfileAttributes: string;
|
|
122
124
|
FeatureFlagWebSocketEventScope: string;
|
|
123
125
|
ForgotPasswordLink: string;
|
|
124
126
|
GiphySdkKey: string;
|
|
@@ -389,6 +391,7 @@ export type ServiceSettings = {
|
|
|
389
391
|
EnableAPIPostDeletion: boolean;
|
|
390
392
|
EnableDesktopLandingPage: boolean;
|
|
391
393
|
MaximumURLLength: number;
|
|
394
|
+
ScheduledPosts: boolean;
|
|
392
395
|
};
|
|
393
396
|
export type TeamSettings = {
|
|
394
397
|
SiteName: string;
|
|
@@ -524,6 +527,7 @@ export type FileSettings = {
|
|
|
524
527
|
AmazonS3Trace: boolean;
|
|
525
528
|
AmazonS3RequestTimeoutMilliseconds: number;
|
|
526
529
|
AmazonS3UploadPartSizeBytes: number;
|
|
530
|
+
AmazonS3StorageClass: string;
|
|
527
531
|
DedicatedExportStore: boolean;
|
|
528
532
|
ExportDriverName: string;
|
|
529
533
|
ExportDirectory: string;
|
|
@@ -540,6 +544,7 @@ export type FileSettings = {
|
|
|
540
544
|
ExportAmazonS3RequestTimeoutMilliseconds: number;
|
|
541
545
|
ExportAmazonS3PresignExpiresSeconds: number;
|
|
542
546
|
ExportAmazonS3UploadPartSizeBytes: number;
|
|
547
|
+
ExportAmazonS3StorageClass: string;
|
|
543
548
|
};
|
|
544
549
|
export type EmailSettings = {
|
|
545
550
|
EnableSignUpWithEmail: boolean;
|
|
@@ -687,6 +692,7 @@ export type LocalizationSettings = {
|
|
|
687
692
|
DefaultServerLocale: string;
|
|
688
693
|
DefaultClientLocale: string;
|
|
689
694
|
AvailableLocales: string;
|
|
695
|
+
EnableExperimentalLocales: boolean;
|
|
690
696
|
};
|
|
691
697
|
export type SamlSettings = {
|
|
692
698
|
Enable: boolean;
|
package/lib/files.d.ts
CHANGED
package/lib/general.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import type { ClientConfig, ClientLicense } from './config';
|
|
2
|
+
import type { UserPropertyField } from './properties';
|
|
3
|
+
import type { IDMappedObjects } from './utilities';
|
|
2
4
|
export type GeneralState = {
|
|
3
5
|
config: Partial<ClientConfig>;
|
|
4
6
|
firstAdminVisitMarketplaceStatus: boolean;
|
|
5
7
|
firstAdminCompleteSetup: boolean;
|
|
6
8
|
license: ClientLicense;
|
|
7
9
|
serverVersion: string;
|
|
10
|
+
customProfileAttributes: IDMappedObjects<UserPropertyField>;
|
|
8
11
|
};
|
|
9
12
|
export type SystemSetting = {
|
|
10
13
|
name: string;
|
package/lib/plugins.d.ts
CHANGED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export type PropertyField = {
|
|
2
|
+
id: string;
|
|
3
|
+
group_id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
type: string;
|
|
6
|
+
attrs?: {
|
|
7
|
+
[key: string]: unknown;
|
|
8
|
+
};
|
|
9
|
+
target_id?: string;
|
|
10
|
+
target_type?: string;
|
|
11
|
+
create_at: number;
|
|
12
|
+
update_at: number;
|
|
13
|
+
delete_at: number;
|
|
14
|
+
};
|
|
15
|
+
export type PropertyValue<T> = {
|
|
16
|
+
id: string;
|
|
17
|
+
target_id: string;
|
|
18
|
+
target_type: string;
|
|
19
|
+
group_id: string;
|
|
20
|
+
value: T;
|
|
21
|
+
create_at: number;
|
|
22
|
+
update_at: number;
|
|
23
|
+
delete_at: number;
|
|
24
|
+
};
|
|
25
|
+
export type UserPropertyFieldType = 'text';
|
|
26
|
+
export type UserPropertyFieldGroupID = 'custom_profile_attributes';
|
|
27
|
+
export type UserPropertyField = PropertyField & {
|
|
28
|
+
type: UserPropertyFieldType;
|
|
29
|
+
group_id: UserPropertyFieldGroupID;
|
|
30
|
+
};
|
|
31
|
+
export type UserPropertyFieldPatch = Partial<Pick<UserPropertyField, 'name' | 'attrs' | 'type'>>;
|
package/lib/store.d.ts
CHANGED
package/lib/utilities.d.ts
CHANGED
|
@@ -20,6 +20,16 @@ export type RelationOneToManyUnique<E1 extends {
|
|
|
20
20
|
export type IDMappedObjects<E extends {
|
|
21
21
|
id: string;
|
|
22
22
|
}> = RelationOneToOne<E, E>;
|
|
23
|
+
export type IDMappedCollection<T extends {
|
|
24
|
+
id: string;
|
|
25
|
+
}> = {
|
|
26
|
+
data: IDMappedObjects<T>;
|
|
27
|
+
order: Array<T['id']>;
|
|
28
|
+
errors?: RelationOneToOne<T, Error>;
|
|
29
|
+
warnings?: RelationOneToOne<T, {
|
|
30
|
+
[Key in keyof T]?: string;
|
|
31
|
+
}>;
|
|
32
|
+
};
|
|
23
33
|
export type DeepPartial<T> = {
|
|
24
34
|
[K in keyof T]?: (T[K] extends Set<any> ? T[K] : T[K] extends Map<any, any> ? T[K] : T[K] extends object ? DeepPartial<T[K]> : T[K] extends object | undefined ? DeepPartial<T[K]> : T[K]);
|
|
25
35
|
};
|
|
@@ -31,7 +41,49 @@ export type RequireOnlyOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<
|
|
|
31
41
|
[K in Keys]-?: Required<Pick<T, K>> & Partial<Record<Exclude<Keys, K>, undefined>>;
|
|
32
42
|
}[Keys];
|
|
33
43
|
export type Intersection<T1, T2> = Omit<Omit<T1 & T2, keyof (Omit<T1, keyof (T2)>)>, keyof (Omit<T2, keyof (T1)>)>;
|
|
44
|
+
/** https://stackoverflow.com/a/66605669 */
|
|
45
|
+
type Only<T, U> = {
|
|
46
|
+
[P in keyof T]: T[P];
|
|
47
|
+
} & {
|
|
48
|
+
[P in keyof U]?: never;
|
|
49
|
+
};
|
|
50
|
+
export type Either<T, U> = Only<T, U> | Only<U, T>;
|
|
34
51
|
export type PartialExcept<T extends Record<string, unknown>, TKeysNotPartial extends keyof T> = Partial<T> & Pick<T, TKeysNotPartial>;
|
|
35
52
|
export declare function isArrayOf<T>(v: unknown, check: (e: unknown) => boolean): v is T[];
|
|
36
53
|
export declare function isStringArray(v: unknown): v is string[];
|
|
37
54
|
export declare function isRecordOf<T>(v: unknown, check: (e: unknown) => boolean): v is Record<string, T>;
|
|
55
|
+
export declare const collectionFromArray: <T extends {
|
|
56
|
+
id: string;
|
|
57
|
+
}>(arr?: T[]) => IDMappedCollection<T>;
|
|
58
|
+
export declare const collectionToArray: <T extends {
|
|
59
|
+
id: string;
|
|
60
|
+
}>({ data, order }: IDMappedCollection<T>) => T[];
|
|
61
|
+
export declare const collectionReplaceItem: <T extends {
|
|
62
|
+
id: string;
|
|
63
|
+
}>(collection: IDMappedCollection<T>, item: T) => {
|
|
64
|
+
data: IDMappedObjects<T> & {
|
|
65
|
+
[x: string]: T;
|
|
66
|
+
};
|
|
67
|
+
order: T["id"][];
|
|
68
|
+
errors?: RelationOneToOne<T, Error> | undefined;
|
|
69
|
+
warnings?: RelationOneToOne<T, { [Key in keyof T]?: string | undefined; }> | undefined;
|
|
70
|
+
};
|
|
71
|
+
export declare const collectionAddItem: <T extends {
|
|
72
|
+
id: string;
|
|
73
|
+
}>(collection: IDMappedCollection<T>, item: T) => {
|
|
74
|
+
data: IDMappedObjects<T> & {
|
|
75
|
+
[x: string]: T;
|
|
76
|
+
};
|
|
77
|
+
order: string[];
|
|
78
|
+
errors?: RelationOneToOne<T, Error> | undefined;
|
|
79
|
+
warnings?: RelationOneToOne<T, { [Key in keyof T]?: string | undefined; }> | undefined;
|
|
80
|
+
};
|
|
81
|
+
export declare const collectionRemoveItem: <T extends {
|
|
82
|
+
id: string;
|
|
83
|
+
}>(collection: IDMappedCollection<T>, item: T) => {
|
|
84
|
+
data: IDMappedObjects<T>;
|
|
85
|
+
order: T["id"][];
|
|
86
|
+
errors?: RelationOneToOne<T, Error> | undefined;
|
|
87
|
+
warnings?: RelationOneToOne<T, { [Key in keyof T]?: string | undefined; }> | undefined;
|
|
88
|
+
};
|
|
89
|
+
export {};
|
package/lib/utilities.js
CHANGED
|
@@ -2,6 +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.collectionRemoveItem = exports.collectionAddItem = exports.collectionReplaceItem = exports.collectionToArray = exports.collectionFromArray = void 0;
|
|
5
6
|
exports.isArrayOf = isArrayOf;
|
|
6
7
|
exports.isStringArray = isStringArray;
|
|
7
8
|
exports.isRecordOf = isRecordOf;
|
|
@@ -26,3 +27,30 @@ function isRecordOf(v, check) {
|
|
|
26
27
|
}
|
|
27
28
|
return true;
|
|
28
29
|
}
|
|
30
|
+
const collectionFromArray = (arr = []) => {
|
|
31
|
+
return arr.reduce((current, item) => {
|
|
32
|
+
current.data = Object.assign(Object.assign({}, current.data), { [item.id]: item });
|
|
33
|
+
current.order.push(item.id);
|
|
34
|
+
return current;
|
|
35
|
+
}, { data: {}, order: [] });
|
|
36
|
+
};
|
|
37
|
+
exports.collectionFromArray = collectionFromArray;
|
|
38
|
+
const collectionToArray = ({ data, order }) => {
|
|
39
|
+
return order.map((id) => data[id]);
|
|
40
|
+
};
|
|
41
|
+
exports.collectionToArray = collectionToArray;
|
|
42
|
+
const collectionReplaceItem = (collection, item) => {
|
|
43
|
+
return Object.assign(Object.assign({}, collection), { data: Object.assign(Object.assign({}, collection.data), { [item.id]: item }) });
|
|
44
|
+
};
|
|
45
|
+
exports.collectionReplaceItem = collectionReplaceItem;
|
|
46
|
+
const collectionAddItem = (collection, item) => {
|
|
47
|
+
return Object.assign(Object.assign({}, collection), { data: Object.assign(Object.assign({}, collection.data), { [item.id]: item }), order: [...collection.order, item.id] });
|
|
48
|
+
};
|
|
49
|
+
exports.collectionAddItem = collectionAddItem;
|
|
50
|
+
const collectionRemoveItem = (collection, item) => {
|
|
51
|
+
const data = Object.assign({}, collection.data);
|
|
52
|
+
Reflect.deleteProperty(data, item.id);
|
|
53
|
+
const order = collection.order.filter((id) => id !== item.id);
|
|
54
|
+
return Object.assign(Object.assign({}, collection), { data, order });
|
|
55
|
+
};
|
|
56
|
+
exports.collectionRemoveItem = collectionRemoveItem;
|