mirror of
https://github.com/balzack/databag.git
synced 2025-04-23 10:05:19 +00:00
adding block interface methods
This commit is contained in:
parent
29ddcbe88f
commit
47a0aa9756
@ -1,6 +1,6 @@
|
||||
import { EventEmitter } from 'events';
|
||||
import { type Account } from './api';
|
||||
import type { Seal, SealKey, AccountStatus } from './types';
|
||||
import type { AccountStatus } from './types';
|
||||
|
||||
export class AccountModule implements Account {
|
||||
|
||||
@ -36,19 +36,23 @@ export class AccountModule implements Account {
|
||||
public async setSearchable(flag: boolean): Promise<void> {
|
||||
}
|
||||
|
||||
public async enableMFA(): Promise<void> {
|
||||
public async enableMFA(): Promise<{ secretImage: string, secretText: string }> {
|
||||
return { secretImage: '', secretText: '' };
|
||||
}
|
||||
|
||||
public async disableMFA(): Promise<void> {
|
||||
}
|
||||
|
||||
public async confirmMFA(): Promise<void> {
|
||||
public async confirmMFA(code: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setAccountSeal(seal: Seal, key: SealKey): Promise<void> {
|
||||
public async setAccountSeal(password: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async unlockAccountSeal(key: SealKey): Promise<void> {
|
||||
public async clearAccountSeal(): Promise<void> {
|
||||
}
|
||||
|
||||
public async unlockAccountSeal(password: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setLogin(username: string, password: string): Promise<void> {
|
||||
|
@ -5,7 +5,6 @@
|
||||
// articles share by cards now
|
||||
|
||||
import type { Channel, Topic, Asset, Tag, Article, Group, Card, Profile, AccountStatus, NodeConfig, NodeAccount, Repeater } from './types';
|
||||
import type { Seal, SealKey, SignedMessage, ContactStatus } from './types';
|
||||
|
||||
export interface SqlStore {
|
||||
set(stmt: string, params: (string | number)[]): Promise<void>;
|
||||
@ -28,29 +27,21 @@ export interface Session {
|
||||
getContent(): Content;
|
||||
|
||||
resync(): void;
|
||||
|
||||
addStatusListener(ev: (status: string) => void): void;
|
||||
removeStatusListener(ev: (status: string) => void): void;
|
||||
}
|
||||
|
||||
export interface Node {
|
||||
getAccounts(): Promise<NodeAccount[]>;
|
||||
createAccountAccess(): Promise<string>;
|
||||
resetAccountAccess(): Promise<string>;
|
||||
blockAccount(flag: boolean): Promise<void>;
|
||||
removeAccount(accountId: number): Promise<void>;
|
||||
getConfig(): Promise<NodeConfig>;
|
||||
setConfig(config: NodeConfig): Promise<void>;
|
||||
}
|
||||
|
||||
export interface Account {
|
||||
setLogin(username: string, password: string): Promise<void>;
|
||||
setNotifications(flag: boolean): Promise<void>;
|
||||
setSearchable(flag: boolean): Promise<void>;
|
||||
enableMFA(): Promise<void>;
|
||||
enableMFA(): Promise<{ secretImage: string, secretText: string }>;
|
||||
disableMFA(): Promise<void>;
|
||||
confirmMFA(): Promise<void>;
|
||||
setAccountSeal(seal: Seal, key: SealKey): Promise<void>
|
||||
unlockAccountSeal(key: SealKey): Promise<void>
|
||||
setLogin(username: string, password: string): Promise<void>
|
||||
confirmMFA(code: string): Promise<void>;
|
||||
setAccountSeal(password: string): Promise<void>;
|
||||
clearAccountSeal(): Promise<void>;
|
||||
unlockAccountSeal(password: string): Promise<void>;
|
||||
|
||||
addStatusListener(ev: (status: AccountStatus) => void): void;
|
||||
removeStatusListener(ev: (status: AccountStatus) => void): void;
|
||||
@ -66,24 +57,46 @@ export interface Identity {
|
||||
}
|
||||
|
||||
export interface Contact {
|
||||
addCard(message: SignedMessage): Promise<string>;
|
||||
addCard(server: string, guid: string): Promise<string>;
|
||||
removeCard(cardId: string): Promise<void>;
|
||||
setCardConnecting(cardId: string): Promise<void>;
|
||||
setCardConnected(cardId: string, token: string, rev: number): Promise<void>;
|
||||
setCardConfirmed(cardId: string): Promise<void>;
|
||||
getCardOpenMessage(cardId: string): Promise<SignedMessage>;
|
||||
setCardOpenMessage(server: string, message: SignedMessage): Promise<ContactStatus>;
|
||||
getCardCloseMessage(cardId: string): Promise<SignedMessage>;
|
||||
setCardCloseMessage(server: string, message: SignedMessage): Promise<void>;
|
||||
confirmCard(cardId: string): Promise<void>;
|
||||
connectCard(cardId: string): Promise<void>;
|
||||
disconnectCard(cardId: string): Promise<void>;
|
||||
rejectCard(cardId: string): Promise<void>;
|
||||
ignoreCard(cardId: string): Promise<void>;
|
||||
|
||||
resyncCard(cardId: string): Promise<void>;
|
||||
flagCard(cardId: string): Promise<void>;
|
||||
flagArticle(cardId: string, articleId: string): Promise<void>;
|
||||
flagChannel(cardId: string, channelId: string): Promise<void>;
|
||||
flagTopic(cardId: string, channelId: string, topicId: string): Promise<void>;
|
||||
flagTag(cardId: string, channelId: string, topicId: string, tagId: string): Promise<void>;
|
||||
setBlockCard(cardId: string): Promise<void>;
|
||||
setBlockArticle(cardId: string, articleId: string): Promise<void>;
|
||||
setBlockChannel(cardId: string, channelId: string): Promise<void>;
|
||||
setBlockTopic(cardId: string, channelId: string, topicId: string): Promise<void>;
|
||||
setBlockTag(cardId: string, channelId: string, topicId: string, tagId: string): Promise<void>;
|
||||
clearBlockCard(cardId: string): Promise<void>;
|
||||
clearBlockArticle(cardId: string, articleId: string): Promise<void>;
|
||||
clearBlockChannel(cardId: string, channelId: string): Promise<void>;
|
||||
clearBlockTopic(cardId: string, channelId: string, topicId: string): Promise<void>;
|
||||
clearBlockTag(cardId: string, channelId: string, topicId: string, tagId: string): Promise<void>;
|
||||
getBlockedCards(): Promise<{ cardId: string }[]>;
|
||||
getBlockedChannels(): Promise<{ cardId: string, channelId: string }[]>;
|
||||
getBlockedTopics(): Promise<{ cardId: string, channelId: string, topicId: string }[]>;
|
||||
getBlockedTags(): Promise<{ cardId: string, channelId: string, topicId: string, tagId: string }[]>;
|
||||
getBlockedArticles(): Promise<{ cardId: string, articleId: string }[]>;
|
||||
|
||||
removeArticle(cardId: string, articleId: string): Promise<void>;
|
||||
removeChannel(cardId: string, channelId: string): Promise<void>;
|
||||
addTopic(cardId: string, channelId: string, type: string, message: string, assets: Asset[]): Promise<string>;
|
||||
removeTopic(cardId: string, channelId: string, topicId: string): Promise<void>;
|
||||
setTopicSubject(cardId: string, channelId: string, topicId: string, type: string, value: string): Promise<void>;
|
||||
addTag(cardId: string, channelId: string, topicId: string, type: string, value: string): Promise<string>;
|
||||
removeTag(cardId: string, tagId: string): Promise<void>;
|
||||
setTopicSubject(cardId: string, channelId: string, topicId: string, type: string, subject: string): Promise<void>;
|
||||
resyncCard(cardId: string): Promise<void>;
|
||||
getTopicAssetUrl(cardId: string, channelId: string, topicId: string, assetId: string): string;
|
||||
|
||||
getCardImageUrl(cardId: string): string;
|
||||
getTopicAssetUrl(cardId: string, channelId: string, topicId: string, assetId: string): string;
|
||||
|
||||
addRepeaterAccess(cardId: string, channelId: string, name: string): Promise<Repeater>;
|
||||
removeRepeaterAccess(cardId: string, channelId: string, repeaterId: string): Promise<void>;
|
||||
@ -132,6 +145,15 @@ export interface Content {
|
||||
removeTag(channelId: string, topicId: string, tagId: string): Promise<void>;
|
||||
getTopicAssetUrl(channelId: string, topicId: string, assetId: string): string;
|
||||
|
||||
flagTopic(channelId: string, topicId: string): Promise<void>;
|
||||
flagTag(channelId: string, topicId: string, tagId: string): Promise<void>;
|
||||
setBlockTopic(channelId: string, topicId: string): Promise<void>;
|
||||
setBlockTag(channelId: string, topicId: string, tagId: string): Promise<void>;
|
||||
clearBlockTopic(channelId: string, topicId: string): Promise<void>;
|
||||
clearBlockTag(channelId: string, topicId: string, tagId: string): Promise<void>;
|
||||
getBlockedTopics(): Promise<{ channelId: string, topicId: string }[]>;
|
||||
getBlockedTags(): Promise<{ channelId: string, topicId: string, tagId: string }[]>;
|
||||
|
||||
addRepeaterAccess(channelId: string, name: string): Promise<Repeater>;
|
||||
removeRepeaterAccess(channelId: string, repeaterId: string): Promise<void>;
|
||||
|
||||
@ -139,6 +161,16 @@ export interface Content {
|
||||
removeChannelListener(ev: (channels: Channel[]) => void): void;
|
||||
}
|
||||
|
||||
export interface Node {
|
||||
getAccounts(): Promise<NodeAccount[]>;
|
||||
createAccountAccess(): Promise<string>;
|
||||
resetAccountAccess(): Promise<string>;
|
||||
blockAccount(flag: boolean): Promise<void>;
|
||||
removeAccount(accountId: number): Promise<void>;
|
||||
getConfig(): Promise<NodeConfig>;
|
||||
setConfig(config: NodeConfig): Promise<void>;
|
||||
}
|
||||
|
||||
export interface Bot {
|
||||
addTopic(server: string, token: string, type: string, message: string, assets: Asset[]): Promise<string>;
|
||||
removeTopic(server: string, token: string, topicId: string): Promise<void>;
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { EventEmitter } from 'events';
|
||||
import { type Contact } from './api';
|
||||
import { type Card, type Topic, type SignedMessage, type ContactStatus, type Asset, type Repeater} from './types';
|
||||
import { type Card, type Topic, type Asset, type Repeater} from './types';
|
||||
|
||||
export class ContactModule implements Contact {
|
||||
|
||||
@ -30,35 +30,97 @@ export class ContactModule implements Contact {
|
||||
public async resync(): Promise<void> {
|
||||
}
|
||||
|
||||
public async addCard(message: SignedMessage): Promise<string> {
|
||||
public async addCard(server: string, guid: string): Promise<string> {
|
||||
return '';
|
||||
}
|
||||
|
||||
public async removeCard(cardId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setCardConnecting(cardId: string): Promise<void> {
|
||||
public async confirmCard(cardId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setCardConnected(cardId: string, token: string, rev: number): Promise<void> {
|
||||
public async connectCard(cardId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setCardConfirmed(cardId: string): Promise<void> {
|
||||
public async disconnectCard(cardId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async getCardOpenMessage(cardId: string): Promise<SignedMessage> {
|
||||
return { message: '', keyType: '', publicKey: '', signature: '', signatureType: '' };
|
||||
public async rejectCard(cardId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setCardOpenMessage(server: string, message: SignedMessage): Promise<ContactStatus> {
|
||||
return { token: '', profileRevision: 0, articleRevision: 0, channelRevision: 0, viewRevision: 0, status: '' };
|
||||
}
|
||||
|
||||
public async getCardCloseMessage(cardId: string): Promise<SignedMessage> {
|
||||
return { message: '', keyType: '', publicKey: '', signature: '', signatureType: '' };
|
||||
public async ignoreCard(cardId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setCardCloseMessage(server: string, message: SignedMessage): Promise<void> {
|
||||
public async resyncCard(cardId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async flagCard(cardId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async flagArticle(cardId: string, articleId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async flagChannel(cardId: string, channelId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async flagTopic(cardId: string, channelId: string, topicId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async flagTag(cardId: string, channelId: string, topicId: string, tagId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setBlockCard(cardId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setBlockArticle(cardId: string, articleId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setBlockChannel(cardId: string, channelId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setBlockTopic(cardId: string, channelId: string, topicId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setBlockTag(cardId: string, channelId: string, topicId: string, tagId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async clearBlockCard(cardId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async clearBlockArticle(cardId: string, articleId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async clearBlockChannel(cardId: string, channelId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async clearBlockTopic(cardId: string, channelId: string, topicId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async clearBlockTag(cardId: string, channelId: string, topicId: string, tagId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async getBlockedCards(): Promise<{ cardId: string }[]> {
|
||||
return [];
|
||||
}
|
||||
|
||||
public async getBlockedChannels(): Promise<{ cardId: string, channelId: string }[]> {
|
||||
return [];
|
||||
}
|
||||
|
||||
public async getBlockedTopics(): Promise<{ cardId: string, channelId: string, topicId: string }[]> {
|
||||
return [];
|
||||
}
|
||||
|
||||
public async getBlockedTags(): Promise<{ cardId: string, channelId: string, topicId: string, tagId: string }[]> {
|
||||
return [];
|
||||
}
|
||||
|
||||
public async getBlockedArticles(): Promise<{ cardId: string, articleId: string }[]> {
|
||||
return [];
|
||||
}
|
||||
|
||||
public async removeArticle(cardId: string, articleId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async removeChannel(cardId: string, channelId: string): Promise<void> {
|
||||
@ -82,9 +144,6 @@ export class ContactModule implements Contact {
|
||||
return;
|
||||
}
|
||||
|
||||
public async resyncCard(cardId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public getTopicAssetUrl(cardId: string, channelId: string, topicId: string, assetId: string): string {
|
||||
return '';
|
||||
}
|
||||
|
@ -59,9 +59,11 @@ export class ContentModule implements Content {
|
||||
public async removeTopic(channelId: string, topicId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setTopicSubject(channelId: string, topicId: string, type: string, subject: string): Promise<void> {
|
||||
public async flagTopic(channelId: string, topicId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setTopicSubject(channelId: string, topicId: string, type: string, subject: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async addTag(channelId: string, topicId: string, type: string, value: string): Promise<string> {
|
||||
return '';
|
||||
@ -70,6 +72,29 @@ export class ContentModule implements Content {
|
||||
public async removeTag(channelId: string, topicId: string, tagId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async flagTag(channelId: string, topicId: string, tagId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setBlockTopic(channelId: string, topicId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async setBlockTag(channelId: string, topicId: string, tagId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async clearBlockTopic(channelId: string, topicId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async clearBlockTag(channelId: string, topicId: string, tagId: string): Promise<void> {
|
||||
}
|
||||
|
||||
public async getBlockedTopics(): Promise<{ channelId: string, topicId: string }[]> {
|
||||
return [];
|
||||
}
|
||||
|
||||
public async getBlockedTags(): Promise<{ channelId: string, topicId: string, tagId: string }[]> {
|
||||
return [];
|
||||
}
|
||||
|
||||
public getTopicAssetUrl(channelId: string, topicId: string, assetId: string): string {
|
||||
return '';
|
||||
}
|
||||
|
@ -158,32 +158,4 @@ export type NodeConfig = {
|
||||
openAccessLimit: number,
|
||||
}
|
||||
|
||||
export type SealKey = {
|
||||
publicKey: string,
|
||||
privateKey: string,
|
||||
}
|
||||
|
||||
export type Seal = {
|
||||
passwordSalt: string,
|
||||
privateKeyIv: string,
|
||||
privateKeyEncrypted: string,
|
||||
publicKey: string,
|
||||
}
|
||||
|
||||
export type SignedMessage = {
|
||||
message: string,
|
||||
keyType: string,
|
||||
publicKey: string,
|
||||
signature: string,
|
||||
signatureType: string,
|
||||
}
|
||||
|
||||
export type ContactStatus = {
|
||||
token: string,
|
||||
profileRevision: number,
|
||||
articleRevision: number,
|
||||
channelRevision: number,
|
||||
viewRevision: number,
|
||||
status: string,
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user