Page MenuHomePhabricator

D9809.diff
No OneTemporary

D9809.diff

diff --git a/lib/types/minimally-encoded-thread-permissions-types.js b/lib/types/minimally-encoded-thread-permissions-types.js
--- a/lib/types/minimally-encoded-thread-permissions-types.js
+++ b/lib/types/minimally-encoded-thread-permissions-types.js
@@ -4,18 +4,15 @@
import type { TInterface } from 'tcomb';
import t from 'tcomb';
+import { clientAvatarValidator } from './avatar-types.js';
+import { threadSubscriptionValidator } from './subscription-types.js';
+import { threadTypeValidator } from './thread-types-enum.js';
import type {
MemberInfo,
RawThreadInfo,
RoleInfo,
ThreadCurrentUserInfo,
} from './thread-types.js';
-import {
- memberInfoValidator,
- rawThreadInfoValidator,
- roleInfoValidator,
- threadCurrentUserInfoValidator,
-} from './thread-types.js';
import {
decodeThreadRolePermissionsBitmaskArray,
permissionsToBitmaskHex,
@@ -34,8 +31,10 @@
const tHexEncodedRolePermission: TRegex = tRegex(/^[0-9a-fA-F]{3,}$/);
const minimallyEncodedRoleInfoValidator: TInterface<MinimallyEncodedRoleInfo> =
tShape<MinimallyEncodedRoleInfo>({
- ...roleInfoValidator.meta.props,
minimallyEncoded: tBool(true),
+ id: tID,
+ name: t.String,
+ isDefault: t.Boolean,
permissions: t.list(tHexEncodedRolePermission),
});
@@ -68,9 +67,11 @@
const tHexEncodedPermissionsBitmask: TRegex = tRegex(/^[0-9a-fA-F]+$/);
const minimallyEncodedThreadCurrentUserInfoValidator: TInterface<MinimallyEncodedThreadCurrentUserInfo> =
tShape<MinimallyEncodedThreadCurrentUserInfo>({
- ...threadCurrentUserInfoValidator.meta.props,
minimallyEncoded: tBool(true),
+ role: t.maybe(tID),
+ subscription: threadSubscriptionValidator,
permissions: tHexEncodedPermissionsBitmask,
+ unread: t.maybe(t.Boolean),
});
const minimallyEncodeThreadCurrentUserInfo = (
@@ -101,9 +102,11 @@
const minimallyEncodedMemberInfoValidator: TInterface<MinimallyEncodedMemberInfo> =
tShape<MinimallyEncodedMemberInfo>({
- ...memberInfoValidator.meta.props,
minimallyEncoded: tBool(true),
+ id: t.String,
+ role: t.maybe(tID),
permissions: tHexEncodedPermissionsBitmask,
+ isSender: t.Boolean,
});
const minimallyEncodeMemberInfo = (
@@ -136,11 +139,23 @@
const minimallyEncodedRawThreadInfoValidator: TInterface<MinimallyEncodedRawThreadInfo> =
tShape<MinimallyEncodedRawThreadInfo>({
- ...rawThreadInfoValidator.meta.props,
minimallyEncoded: tBool(true),
+ id: tID,
+ type: threadTypeValidator,
+ name: t.maybe(t.String),
+ avatar: t.maybe(clientAvatarValidator),
+ description: t.maybe(t.String),
+ color: t.String,
+ creationTime: t.Number,
+ parentThreadID: t.maybe(tID),
+ containingThreadID: t.maybe(tID),
+ community: t.maybe(tID),
members: t.list(minimallyEncodedMemberInfoValidator),
roles: t.dict(tID, minimallyEncodedRoleInfoValidator),
currentUser: minimallyEncodedThreadCurrentUserInfoValidator,
+ sourceMessageID: t.maybe(tID),
+ repliesCount: t.Number,
+ pinnedCount: t.maybe(t.Number),
});
const minimallyEncodeRawThreadInfo = (

File Metadata

Mime Type
text/plain
Expires
Mon, Oct 7, 1:29 AM (21 h, 59 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2251972
Default Alt Text
D9809.diff (3 KB)

Event Timeline