summaryrefslogtreecommitdiff
path: root/packages/frontend/src/server-context.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/server-context.ts')
-rw-r--r--packages/frontend/src/server-context.ts12
1 files changed, 5 insertions, 7 deletions
diff --git a/packages/frontend/src/server-context.ts b/packages/frontend/src/server-context.ts
index aa44a10290..e79d3fa314 100644
--- a/packages/frontend/src/server-context.ts
+++ b/packages/frontend/src/server-context.ts
@@ -2,22 +2,20 @@
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
+
import * as Misskey from 'misskey-js';
-import { $i } from '@/account.js';
const providedContextEl = document.getElementById('misskey_clientCtx');
export type ServerContext = {
clip?: Misskey.entities.Clip;
note?: Misskey.entities.Note;
- user?: Misskey.entities.UserLite;
+ user?: Misskey.entities.UserDetailed;
} | null;
export const serverContext: ServerContext = (providedContextEl && providedContextEl.textContent) ? JSON.parse(providedContextEl.textContent) : null;
-export function getServerContext<K extends keyof NonNullable<ServerContext>>(entity: K): Required<Pick<NonNullable<ServerContext>, K>> | null {
- // contextは非ログイン状態の情報しかないためログイン時は利用できない
- if ($i) return null;
-
- return serverContext ? (serverContext[entity] ?? null) : null;
+export function assertServerContext<K extends keyof NonNullable<ServerContext>>(ctx: ServerContext, entity: K): ctx is Required<Pick<NonNullable<ServerContext>, K>> {
+ if (ctx == null) return false;
+ return entity in ctx && ctx[entity] != null;
}