mirror of
https://github.com/balzack/databag.git
synced 2025-04-30 13:35:17 +00:00
279 lines
10 KiB
TypeScript
279 lines
10 KiB
TypeScript
import type { Profile } from './types';
|
|
|
|
export type ContactStatus = {
|
|
token: string;
|
|
status: string;
|
|
viewRevision: number;
|
|
channelRevision: number;
|
|
profileRevision: number;
|
|
articleRevision: number;
|
|
};
|
|
|
|
export type DataMessage = {
|
|
message: string;
|
|
keyType: string;
|
|
publicKey: string;
|
|
signature: string;
|
|
signatureType: string;
|
|
};
|
|
|
|
export type CardDetailEntity = {
|
|
status: string;
|
|
statusUpdated: number;
|
|
token: string;
|
|
notes: string;
|
|
groups: [string];
|
|
};
|
|
|
|
export type CardProfileEntity = {
|
|
guid: string;
|
|
handle: string;
|
|
name: string;
|
|
description: string;
|
|
location: string;
|
|
imageSet: boolean;
|
|
version: string;
|
|
node: string;
|
|
seal: string;
|
|
revision: number;
|
|
};
|
|
|
|
export type CardEntity = {
|
|
id: string;
|
|
revision: number;
|
|
data?: {
|
|
detailRevision: number;
|
|
profileRevision: number;
|
|
notifiedProfile: number;
|
|
notifiedArticle: number;
|
|
notifiedChannel: number;
|
|
cardDetail?: CardDetailEntity;
|
|
cardProfile?: CardProfileEntity;
|
|
};
|
|
};
|
|
|
|
export type ChannelSummaryEntity = {
|
|
lastTopic: {
|
|
guid: string;
|
|
dataType: string;
|
|
data: string;
|
|
created: number;
|
|
updated: number;
|
|
status: string;
|
|
transform: string;
|
|
};
|
|
};
|
|
|
|
export type ChannelDetailEntity = {
|
|
dataType: string;
|
|
data: string;
|
|
created: number;
|
|
updated: number;
|
|
enableImage: boolean;
|
|
enableAudio: boolean;
|
|
enableVideo: boolean;
|
|
enableBinary: boolean;
|
|
contacts: {
|
|
groups: string[];
|
|
cards: string[];
|
|
};
|
|
members: {
|
|
member: string;
|
|
pushEnabled: boolean;
|
|
}[];
|
|
};
|
|
|
|
export type ChannelEntity = {
|
|
id: string;
|
|
revision: number;
|
|
data: {
|
|
detailRevision: number;
|
|
topicRevision: number;
|
|
channelSummary?: ChannelSummaryEntity;
|
|
channelDetail?: ChannelDetailEntity;
|
|
};
|
|
};
|
|
|
|
export type TopicDetailEntity = {
|
|
guid: string;
|
|
dataType: string;
|
|
data: string;
|
|
created: number;
|
|
updated: number;
|
|
status: string;
|
|
transform: string;
|
|
}
|
|
|
|
export type TopicEntity = {
|
|
id: string;
|
|
revision: number;
|
|
data?: {
|
|
detailRevision: number;
|
|
tagRevision: number;
|
|
topicDetail: TopicDetailEntity;
|
|
};
|
|
};
|
|
|
|
export type TagEntity = {
|
|
id: string;
|
|
revision: number;
|
|
data?: {
|
|
guid: string;
|
|
dataType: string;
|
|
data: string;
|
|
created: number;
|
|
updated: number;
|
|
};
|
|
};
|
|
|
|
export type AssetEntity = {
|
|
assetId: string;
|
|
transform: string;
|
|
status: string;
|
|
};
|
|
|
|
export type RepeaterEntity = {
|
|
id: string;
|
|
revision: number;
|
|
data?: {
|
|
name: string;
|
|
token: string;
|
|
};
|
|
};
|
|
|
|
export type GroupEntity = {
|
|
id: string;
|
|
revision: number;
|
|
data?: {
|
|
dataType: string;
|
|
data: string;
|
|
created: number;
|
|
updated: number;
|
|
cards: [string];
|
|
};
|
|
};
|
|
|
|
export type ArticleEntity = {
|
|
id: string;
|
|
revision: number;
|
|
data?: {
|
|
dataType: string;
|
|
data: string;
|
|
created: number;
|
|
updated: number;
|
|
status: string;
|
|
contacts?: {
|
|
cards: [string];
|
|
groups: [string];
|
|
};
|
|
};
|
|
};
|
|
|
|
export type SealEntity = {
|
|
passwordSalt: string;
|
|
privateKeyIv: string;
|
|
privateKeyEncrypted: string;
|
|
publicKey: string;
|
|
};
|
|
|
|
export type ConfigEntity = {
|
|
disabled: boolean;
|
|
storageUsed: number;
|
|
storageAvailable: number;
|
|
forwardingAddress: string;
|
|
searchable: boolean;
|
|
allowUnsealed: boolean;
|
|
pushEnabled: boolean;
|
|
sealable: boolean;
|
|
seal: SealEntity;
|
|
enableIce: boolean;
|
|
mfaEnabled: boolean;
|
|
webPushKey: string;
|
|
};
|
|
|
|
export const defaultConfigEntity = {
|
|
disabled: false,
|
|
storageUsed: 0,
|
|
storageAvailable: 0,
|
|
forwardingAddress: '',
|
|
searchable: false,
|
|
allowUnsealed: false,
|
|
pushEnabled: false,
|
|
seal: {
|
|
passwordSalt: '',
|
|
privateKeyIv: '',
|
|
privateKeyEncrypted: '',
|
|
publicKey: '',
|
|
},
|
|
sealable: false,
|
|
enableIce: false,
|
|
mfaEnabled: false,
|
|
webPushKey: '',
|
|
};
|
|
|
|
export type ProfileEntity = {
|
|
guid: string;
|
|
handle: string;
|
|
name: string;
|
|
description: string;
|
|
location: string;
|
|
image: string;
|
|
revision: number;
|
|
seal?: string;
|
|
version: string;
|
|
node: string;
|
|
};
|
|
|
|
export type AccountEntity = {
|
|
guid: string;
|
|
handle: string;
|
|
name: string;
|
|
description: string;
|
|
location: string;
|
|
imageSet: boolean;
|
|
revision: number;
|
|
seal?: string;
|
|
version: string;
|
|
node: string;
|
|
};
|
|
|
|
export const defaultProfileEntity = {
|
|
guid: '',
|
|
handle: '',
|
|
name: '',
|
|
description: '',
|
|
location: '',
|
|
image: '',
|
|
revision: 0,
|
|
version: '',
|
|
node: '',
|
|
};
|
|
|
|
export type Ringing = {
|
|
cardId: string;
|
|
callId: string;
|
|
calleeToken: string;
|
|
ice: { urls: string; username: string; credential: string }[];
|
|
};
|
|
|
|
export type Revision = {
|
|
account: number;
|
|
profile: number;
|
|
article: number;
|
|
group: number;
|
|
channel: number;
|
|
card: number;
|
|
};
|
|
|
|
export type Login = {
|
|
guid: string;
|
|
node: string;
|
|
secure: boolean;
|
|
token: string;
|
|
timestamp: number;
|
|
pushSupported: boolean;
|
|
};
|
|
|
|
export const avatar =
|
|
'data:image/png;base64,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';
|