2.2.0
This commit is contained in:
parent
28769e798e
commit
f5ee1bd943
17 changed files with 159 additions and 21 deletions
|
@ -1 +1,50 @@
|
|||
export const defaultTemplate = '昨日のMisskeyの活動は\n\nノート: {notesCount}({notesDelta})\nフォロー : {followingCount}({followingDelta})\nフォロワー :{followersCount}({followersDelta})\n\nでした。\n{url}';
|
||||
|
||||
/**
|
||||
* 現在のMisskeyアプリトークンバージョン。
|
||||
* ver 2:
|
||||
* * 全権限を許可するように(将来的に使うため)
|
||||
* * アプリ名をMisskey Toolsに
|
||||
* ver 1:
|
||||
* * 初回バージョン
|
||||
*/
|
||||
export const currentTokenVersion = 2;
|
||||
|
||||
export const misskeyAppInfo = {
|
||||
name: 'Misskey Tools',
|
||||
description: 'A Professional Toolkit Designed for Misskey.',
|
||||
permission: [
|
||||
'read:account',
|
||||
'write:account',
|
||||
'read:blocks',
|
||||
'write:blocks',
|
||||
'read:drive',
|
||||
'write:drive',
|
||||
'read:favorites',
|
||||
'write:favorites',
|
||||
'read:following',
|
||||
'write:following',
|
||||
'read:messaging',
|
||||
'write:messaging',
|
||||
'read:mutes',
|
||||
'write:mutes',
|
||||
'write:notes',
|
||||
'read:notifications',
|
||||
'write:notifications',
|
||||
'read:reactions',
|
||||
'write:reactions',
|
||||
'write:votes',
|
||||
'read:pages',
|
||||
'write:pages',
|
||||
'write:page-likes',
|
||||
'read:page-likes',
|
||||
'read:user-groups',
|
||||
'write:user-groups',
|
||||
'read:channels',
|
||||
'write:channels',
|
||||
'read:gallery',
|
||||
'write:gallery',
|
||||
'read:gallery-likes',
|
||||
'write:gallery-likes',
|
||||
],
|
||||
} as const;
|
||||
|
|
|
@ -3,13 +3,19 @@
|
|||
* @author Xeltica
|
||||
*/
|
||||
|
||||
import { readFile } from 'fs';
|
||||
import { Get, JsonController } from 'routing-controllers';
|
||||
import { promisify } from 'util';
|
||||
import { Meta } from '../../common/types/meta';
|
||||
import { currentTokenVersion } from '../const';
|
||||
|
||||
@JsonController('/meta')
|
||||
export class MetaController {
|
||||
@Get() get() {
|
||||
@Get() async get(): Promise<Meta> {
|
||||
const {version} = JSON.parse(await promisify(readFile)(__dirname + '/../../meta.json', { encoding: 'utf-8'}));
|
||||
return {
|
||||
honi: 'ほに',
|
||||
version,
|
||||
currentTokenVersion,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import { DeepPartial } from 'typeorm';
|
|||
import { genToken } from './gen-token';
|
||||
import { IUser } from '../../common/types/user';
|
||||
import { config } from '../../config';
|
||||
import { currentTokenVersion } from '../const';
|
||||
|
||||
/**
|
||||
* IUser インターフェイスに変換します。
|
||||
|
@ -61,9 +62,9 @@ export const getUserByToolsToken = (token: string): Promise<IUser | undefined> =
|
|||
export const upsertUser = async (username: string, host: string, token: string): Promise<void> => {
|
||||
const u = await getUser(username, host);
|
||||
if (u) {
|
||||
await Users.update(u.id, { token });
|
||||
await Users.update(u.id, { token, tokenVersion: currentTokenVersion });
|
||||
} else {
|
||||
await Users.insert({ username, host, token });
|
||||
await Users.insert({ username, host, token, tokenVersion: currentTokenVersion });
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -98,4 +98,11 @@ export class User implements IUser {
|
|||
default: false,
|
||||
})
|
||||
public bannedFromRanking: boolean;
|
||||
|
||||
@Column({
|
||||
type: 'integer',
|
||||
default: 1,
|
||||
comment: 'Misskey API トークンのバージョン。現行と違う場合はアップデートを要求する',
|
||||
})
|
||||
public tokenVersion: number;
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ import { config } from '../config';
|
|||
import { upsertUser, getUser, updateUser, updateUsersToolsToken } from './functions/users';
|
||||
import { api } from './services/misskey';
|
||||
import { die } from './die';
|
||||
import { misskeyAppInfo } from './const';
|
||||
|
||||
export const router = new Router<DefaultState, Context>();
|
||||
|
||||
|
@ -36,9 +37,8 @@ router.get('/login', async ctx => {
|
|||
|
||||
// ホスト名の正規化
|
||||
host = meta.uri.replace(/^https?:\/\//, '');
|
||||
const name = 'みす廃あらーと';
|
||||
const description = 'ついついノートしすぎていませんか?';
|
||||
const permission = ['write:notes', 'write:notifications', 'write:drive', 'read:account', 'write:account'];
|
||||
|
||||
const { name, permission, description } = misskeyAppInfo;
|
||||
|
||||
if (meta.features.miauth) {
|
||||
// MiAuthを使用する
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue