This commit is contained in:
Max Peintner
2023-05-24 16:27:35 +02:00
parent 34ec74badf
commit 6f4a233db9
4 changed files with 42 additions and 46 deletions

View File

@@ -1,3 +1,4 @@
import { Session } from "#/../../packages/zitadel-server/dist";
import { listSessions, server } from "#/lib/zitadel"; import { listSessions, server } from "#/lib/zitadel";
import Alert from "#/ui/Alert"; import Alert from "#/ui/Alert";
import { Avatar } from "#/ui/Avatar"; import { Avatar } from "#/ui/Avatar";
@@ -6,21 +7,22 @@ import { UserPlusIcon, XCircleIcon } from "@heroicons/react/24/outline";
import moment from "moment"; import moment from "moment";
import Link from "next/link"; import Link from "next/link";
async function loadSessions() { async function loadSessions(): Promise<Session[]> {
const ids = await getAllSessionIds(); const ids = await getAllSessionIds();
if (ids && ids.length) { if (ids && ids.length) {
return listSessions( const response = await listSessions(
server, server,
ids.filter((id: string | undefined) => !!id) ids.filter((id: string | undefined) => !!id)
); );
return response?.sessions ?? [];
} else { } else {
return []; return [];
} }
} }
export default async function Page() { export default async function Page() {
const { sessions } = await loadSessions(); const sessions = await loadSessions();
return ( return (
<div className="flex flex-col items-center space-y-4"> <div className="flex flex-col items-center space-y-4">

View File

@@ -2,7 +2,6 @@ import "#/styles/globals.scss";
import { AddressBar } from "#/ui/AddressBar"; import { AddressBar } from "#/ui/AddressBar";
import { GlobalNav } from "#/ui/GlobalNav"; import { GlobalNav } from "#/ui/GlobalNav";
import { Lato } from "next/font/google"; import { Lato } from "next/font/google";
import Byline from "#/ui/Byline";
import { LayoutProviders } from "#/ui/LayoutProviders"; import { LayoutProviders } from "#/ui/LayoutProviders";
import { Analytics } from "@vercel/analytics/react"; import { Analytics } from "@vercel/analytics/react";
import ThemeWrapper from "#/ui/ThemeWrapper"; import ThemeWrapper from "#/ui/ThemeWrapper";
@@ -25,8 +24,7 @@ export default async function RootLayout({
// later only shown with dev mode enabled // later only shown with dev mode enabled
const showNav = true; const showNav = true;
// const general = await getGeneralSettings(server); const branding = await getBrandingSettings(server);
const branding: BrandingSettings = await getBrandingSettings(server);
let partial: Partial<BrandingSettings> | undefined; let partial: Partial<BrandingSettings> | undefined;
if (branding) { if (branding) {
partial = { partial = {

View File

@@ -7,10 +7,18 @@ import {
initializeServer, initializeServer,
session, session,
GetGeneralSettingsResponse, GetGeneralSettingsResponse,
CreateSessionResponse,
GetBrandingSettingsResponse, GetBrandingSettingsResponse,
GetPasswordComplexitySettingsResponse, GetPasswordComplexitySettingsResponse,
GetLegalAndSupportSettingsResponse, GetLegalAndSupportSettingsResponse,
AddHumanUserResponse, AddHumanUserResponse,
BrandingSettings,
ListSessionsResponse,
LegalAndSupportSettings,
PasswordComplexitySettings,
GetSessionResponse,
VerifyEmailResponse,
SetSessionResponse,
} from "@zitadel/server"; } from "@zitadel/server";
export const zitadelConfig: ZitadelServerOptions = { export const zitadelConfig: ZitadelServerOptions = {
@@ -28,67 +36,47 @@ if (!getServers().length) {
export function getBrandingSettings( export function getBrandingSettings(
server: ZitadelServer server: ZitadelServer
): Promise<any | undefined> { ): Promise<BrandingSettings | undefined> {
// settings.branding_settings.BrandingSettings
const settingsService = settings.getSettings(server); const settingsService = settings.getSettings(server);
return settingsService return settingsService
.getBrandingSettings( .getBrandingSettings({}, {})
{},
{
// metadata: orgMetadata(process.env.ZITADEL_ORG_ID ?? "")
}
)
.then((resp: GetBrandingSettingsResponse) => resp.settings); .then((resp: GetBrandingSettingsResponse) => resp.settings);
} }
export function getGeneralSettings( export function getGeneralSettings(
server: ZitadelServer server: ZitadelServer
): Promise<any | undefined> { ): Promise<string[] | undefined> {
// settings.branding_settings.BrandingSettings
const settingsService = settings.getSettings(server); const settingsService = settings.getSettings(server);
return settingsService return settingsService
.getGeneralSettings( .getGeneralSettings({}, {})
{},
{
// metadata: orgMetadata(process.env.ZITADEL_ORG_ID ?? "")
}
)
.then((resp: GetGeneralSettingsResponse) => resp.supportedLanguages); .then((resp: GetGeneralSettingsResponse) => resp.supportedLanguages);
} }
export function getLegalAndSupportSettings( export function getLegalAndSupportSettings(
server: ZitadelServer server: ZitadelServer
): Promise<any | undefined> { ): Promise<LegalAndSupportSettings | undefined> {
const settingsService = settings.getSettings(server); const settingsService = settings.getSettings(server);
return settingsService return settingsService
.getLegalAndSupportSettings( .getLegalAndSupportSettings({}, {})
{}, .then((resp: GetLegalAndSupportSettingsResponse) => {
{ return resp.settings;
// metadata: orgMetadata(process.env.ZITADEL_ORG_ID ?? "") });
}
)
.then((resp: GetLegalAndSupportSettingsResponse) => resp.settings);
} }
export function getPasswordComplexitySettings( export function getPasswordComplexitySettings(
server: ZitadelServer server: ZitadelServer
): Promise<any | undefined> { ): Promise<PasswordComplexitySettings | undefined> {
const settingsService = settings.getSettings(server); const settingsService = settings.getSettings(server);
return settingsService return settingsService
.getPasswordComplexitySettings( .getPasswordComplexitySettings({}, {})
{},
{
// metadata: orgMetadata(process.env.ZITADEL_ORG_ID ?? "")
}
)
.then((resp: GetPasswordComplexitySettingsResponse) => resp.settings); .then((resp: GetPasswordComplexitySettingsResponse) => resp.settings);
} }
export function createSession( export function createSession(
server: ZitadelServer, server: ZitadelServer,
loginName: string loginName: string
): Promise<any | undefined> { ): Promise<CreateSessionResponse | undefined> {
const sessionService = session.getSession(server); const sessionService = session.getSession(server);
return sessionService.createSession({ checks: { user: { loginName } } }, {}); return sessionService.createSession({ checks: { user: { loginName } } }, {});
} }
@@ -98,7 +86,7 @@ export function setSession(
sessionId: string, sessionId: string,
sessionToken: string, sessionToken: string,
password: string password: string
): Promise<any | undefined> { ): Promise<SetSessionResponse | undefined> {
const sessionService = session.getSession(server); const sessionService = session.getSession(server);
return sessionService.setSession( return sessionService.setSession(
{ sessionId, sessionToken, checks: { password: { password } } }, { sessionId, sessionToken, checks: { password: { password } } },
@@ -110,7 +98,7 @@ export function getSession(
server: ZitadelServer, server: ZitadelServer,
sessionId: string, sessionId: string,
sessionToken: string sessionToken: string
): Promise<any | undefined> { ): Promise<GetSessionResponse | undefined> {
const sessionService = session.getSession(server); const sessionService = session.getSession(server);
return sessionService.getSession({ sessionId, sessionToken }, {}); return sessionService.getSession({ sessionId, sessionToken }, {});
} }
@@ -118,7 +106,7 @@ export function getSession(
export function listSessions( export function listSessions(
server: ZitadelServer, server: ZitadelServer,
ids: string[] ids: string[]
): Promise<any | undefined> { ): Promise<ListSessionsResponse | undefined> {
const sessionService = session.getSession(server); const sessionService = session.getSession(server);
const query = { offset: 0, limit: 100, asc: true }; const query = { offset: 0, limit: 100, asc: true };
const queries = [{ idsQuery: { ids } }]; const queries = [{ idsQuery: { ids } }];
@@ -145,9 +133,7 @@ export function addHumanUser(
profile: { firstName, lastName }, profile: { firstName, lastName },
password: { password }, password: { password },
}, },
{ {}
// metadata: orgMetadata(process.env.ZITADEL_ORG_ID ?? "")
}
) )
.then((resp: AddHumanUserResponse) => { .then((resp: AddHumanUserResponse) => {
return resp.userId; return resp.userId;
@@ -158,7 +144,7 @@ export function verifyEmail(
server: ZitadelServer, server: ZitadelServer,
userId: string, userId: string,
verificationCode: string verificationCode: string
): Promise<any> { ): Promise<VerifyEmailResponse> {
const userservice = user.getUser(server); const userservice = user.getUser(server);
return userservice.verifyEmail( return userservice.verifyEmail(
{ {

View File

@@ -11,13 +11,23 @@ export {
Theme, Theme,
} from "./proto/server/zitadel/settings/v2alpha/branding_settings"; } from "./proto/server/zitadel/settings/v2alpha/branding_settings";
export { Session } from "./proto/server/zitadel/session/v2alpha/session";
export {
ListSessionsResponse,
GetSessionResponse,
CreateSessionResponse,
SetSessionResponse,
} from "./proto/server/zitadel/session/v2alpha/session_service";
export { export {
GetPasswordComplexitySettingsResponse, GetPasswordComplexitySettingsResponse,
GetBrandingSettingsResponse, GetBrandingSettingsResponse,
GetLegalAndSupportSettingsResponse, GetLegalAndSupportSettingsResponse,
GetGeneralSettingsResponse, GetGeneralSettingsResponse,
} from "./proto/server/zitadel/settings/v2alpha/settings_service"; } from "./proto/server/zitadel/settings/v2alpha/settings_service";
export { AddHumanUserResponse } from "./proto/server/zitadel/user/v2alpha/user_service"; export {
AddHumanUserResponse,
VerifyEmailResponse,
} from "./proto/server/zitadel/user/v2alpha/user_service";
export { type LegalAndSupportSettings } from "./proto/server/zitadel/settings/v2alpha/legal_settings"; export { type LegalAndSupportSettings } from "./proto/server/zitadel/settings/v2alpha/legal_settings";
export { type PasswordComplexitySettings } from "./proto/server/zitadel/settings/v2alpha/password_settings"; export { type PasswordComplexitySettings } from "./proto/server/zitadel/settings/v2alpha/password_settings";