mirror of
https://github.com/stack-auth/stack.git
synced 2026-06-13 21:01:21 +08:00
fix typeerr
This commit is contained in:
parent
02ec0edf9c
commit
bdc0c4f72c
@ -12,7 +12,7 @@ import { AdminSentEmail } from "../..";
|
||||
import { ApiKey, ApiKeyBase, ApiKeyBaseCrudRead, ApiKeyCreateOptions, ApiKeyFirstView, apiKeyCreateOptionsToCrud } from "../../api-keys";
|
||||
import { EmailConfig, stackAppInternalsSymbol } from "../../common";
|
||||
import { AdminEmailTemplate, AdminEmailTemplateUpdateOptions, adminEmailTemplateUpdateOptionsToCrud } from "../../email-templates";
|
||||
import { AdminTeamPermission, AdminTeamPermissionDefinition, AdminTeamPermissionDefinitionCreateOptions, AdminTeamPermissionDefinitionUpdateOptions, AdminUserPermission, AdminUserPermissionDefinition, AdminUserPermissionDefinitionCreateOptions, AdminUserPermissionDefinitionUpdateOptions, adminTeamPermissionDefinitionCreateOptionsToCrud, adminTeamPermissionDefinitionUpdateOptionsToCrud, adminUserPermissionDefinitionCreateOptionsToCrud, adminUserPermissionDefinitionUpdateOptionsToCrud } from "../../permissions";
|
||||
import { AdminTeamPermission, AdminTeamPermissionDefinition, AdminTeamPermissionDefinitionCreateOptions, AdminTeamPermissionDefinitionUpdateOptions, AdminProjectPermission, AdminProjectPermissionDefinition, AdminProjectPermissionDefinitionCreateOptions, AdminProjectPermissionDefinitionUpdateOptions, adminTeamPermissionDefinitionCreateOptionsToCrud, adminTeamPermissionDefinitionUpdateOptionsToCrud, adminProjectPermissionDefinitionCreateOptionsToCrud, adminProjectPermissionDefinitionUpdateOptionsToCrud } from "../../permissions";
|
||||
import { AdminOwnedProject, AdminProject, AdminProjectUpdateOptions, adminProjectUpdateOptionsToCrud } from "../../projects";
|
||||
import { StackAdminApp, StackAdminAppConstructorOptions } from "../interfaces/admin-app";
|
||||
import { clientVersion, createCache, getBaseUrl, getDefaultProjectId, getDefaultPublishableClientKey, getDefaultSecretServerKey, getDefaultSuperSecretAdminKey } from "./common";
|
||||
@ -37,8 +37,8 @@ export class _StackAdminAppImplIncomplete<HasTokenStore extends boolean, Project
|
||||
private readonly _adminTeamPermissionDefinitionsCache = createCache(async () => {
|
||||
return await this._interface.listTeamPermissionDefinitions();
|
||||
});
|
||||
private readonly _adminUserPermissionDefinitionsCache = createCache(async () => {
|
||||
return await this._interface.listUserPermissionDefinitions();
|
||||
private readonly _adminProjectPermissionDefinitionsCache = createCache(async () => {
|
||||
return await this._interface.listProjectPermissionDefinitions();
|
||||
});
|
||||
private readonly _svixTokenCache = createCache(async () => {
|
||||
return await this._interface.getSvixToken();
|
||||
@ -296,32 +296,32 @@ export class _StackAdminAppImplIncomplete<HasTokenStore extends boolean, Project
|
||||
}
|
||||
// END_PLATFORM
|
||||
|
||||
async createUserPermissionDefinition(data: AdminUserPermissionDefinitionCreateOptions): Promise<AdminUserPermission> {
|
||||
const crud = await this._interface.createUserPermissionDefinition(adminUserPermissionDefinitionCreateOptionsToCrud(data));
|
||||
await this._adminUserPermissionDefinitionsCache.refresh([]);
|
||||
return this._serverUserPermissionDefinitionFromCrud(crud);
|
||||
async createProjectPermissionDefinition(data: AdminProjectPermissionDefinitionCreateOptions): Promise<AdminProjectPermission> {
|
||||
const crud = await this._interface.createProjectPermissionDefinition(adminProjectPermissionDefinitionCreateOptionsToCrud(data));
|
||||
await this._adminProjectPermissionDefinitionsCache.refresh([]);
|
||||
return this._serverProjectPermissionDefinitionFromCrud(crud);
|
||||
}
|
||||
|
||||
async updateUserPermissionDefinition(permissionId: string, data: AdminUserPermissionDefinitionUpdateOptions) {
|
||||
await this._interface.updateUserPermissionDefinition(permissionId, adminUserPermissionDefinitionUpdateOptionsToCrud(data));
|
||||
await this._adminUserPermissionDefinitionsCache.refresh([]);
|
||||
async updateProjectPermissionDefinition(permissionId: string, data: AdminProjectPermissionDefinitionUpdateOptions) {
|
||||
await this._interface.updateProjectPermissionDefinition(permissionId, adminProjectPermissionDefinitionUpdateOptionsToCrud(data));
|
||||
await this._adminProjectPermissionDefinitionsCache.refresh([]);
|
||||
}
|
||||
|
||||
async deleteUserPermissionDefinition(permissionId: string): Promise<void> {
|
||||
await this._interface.deleteUserPermissionDefinition(permissionId);
|
||||
await this._adminUserPermissionDefinitionsCache.refresh([]);
|
||||
async deleteProjectPermissionDefinition(permissionId: string): Promise<void> {
|
||||
await this._interface.deleteProjectPermissionDefinition(permissionId);
|
||||
await this._adminProjectPermissionDefinitionsCache.refresh([]);
|
||||
}
|
||||
|
||||
async listUserPermissionDefinitions(): Promise<AdminUserPermissionDefinition[]> {
|
||||
const crud = Result.orThrow(await this._adminUserPermissionDefinitionsCache.getOrWait([], "write-only"));
|
||||
return crud.map((p) => this._serverUserPermissionDefinitionFromCrud(p));
|
||||
async listProjectPermissionDefinitions(): Promise<AdminProjectPermissionDefinition[]> {
|
||||
const crud = Result.orThrow(await this._adminProjectPermissionDefinitionsCache.getOrWait([], "write-only"));
|
||||
return crud.map((p) => this._serverProjectPermissionDefinitionFromCrud(p));
|
||||
}
|
||||
|
||||
// IF_PLATFORM react-like
|
||||
useUserPermissionDefinitions(): AdminUserPermissionDefinition[] {
|
||||
const crud = useAsyncCache(this._adminUserPermissionDefinitionsCache, [], "useUserPermissions()");
|
||||
useProjectPermissionDefinitions(): AdminProjectPermissionDefinition[] {
|
||||
const crud = useAsyncCache(this._adminProjectPermissionDefinitionsCache, [], "useProjectPermissions()");
|
||||
return useMemo(() => {
|
||||
return crud.map((p) => this._serverUserPermissionDefinitionFromCrud(p));
|
||||
return crud.map((p) => this._serverProjectPermissionDefinitionFromCrud(p));
|
||||
}, [crud]);
|
||||
}
|
||||
// END_PLATFORM
|
||||
|
||||
@ -3,7 +3,7 @@ import { ContactChannelsCrud } from "@stackframe/stack-shared/dist/interface/cru
|
||||
import { TeamInvitationCrud } from "@stackframe/stack-shared/dist/interface/crud/team-invitation";
|
||||
import { TeamMemberProfilesCrud } from "@stackframe/stack-shared/dist/interface/crud/team-member-profiles";
|
||||
import { TeamPermissionDefinitionsCrud, TeamPermissionsCrud } from "@stackframe/stack-shared/dist/interface/crud/team-permissions";
|
||||
import { UserPermissionDefinitionsCrud } from "@stackframe/stack-shared/dist/interface/crud/user-permissions";
|
||||
import { ProjectPermissionDefinitionsCrud } from "@stackframe/stack-shared/dist/interface/crud/project-permissions";
|
||||
import { TeamsCrud } from "@stackframe/stack-shared/dist/interface/crud/teams";
|
||||
import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
|
||||
import { InternalSession } from "@stackframe/stack-shared/dist/sessions";
|
||||
@ -17,7 +17,7 @@ import { constructRedirectUrl } from "../../../../utils/url";
|
||||
import { GetUserOptions, HandlerUrls, OAuthScopesOnSignIn, TokenStoreInit } from "../../common";
|
||||
import { OAuthConnection } from "../../connected-accounts";
|
||||
import { ServerContactChannel, ServerContactChannelCreateOptions, ServerContactChannelUpdateOptions, serverContactChannelCreateOptionsToCrud, serverContactChannelUpdateOptionsToCrud } from "../../contact-channels";
|
||||
import { AdminTeamPermission, AdminTeamPermissionDefinition, AdminUserPermissionDefinition } from "../../permissions";
|
||||
import { AdminTeamPermission, AdminTeamPermissionDefinition, AdminProjectPermissionDefinition } from "../../permissions";
|
||||
import { EditableTeamMemberProfile, ServerListUsersOptions, ServerTeam, ServerTeamCreateOptions, ServerTeamUpdateOptions, ServerTeamUser, Team, TeamInvitation, serverTeamCreateOptionsToCrud, serverTeamUpdateOptionsToCrud } from "../../teams";
|
||||
import { ProjectCurrentServerUser, ServerUser, ServerUserCreateOptions, ServerUserUpdateOptions, serverUserCreateOptionsToCrud, serverUserUpdateOptionsToCrud } from "../../users";
|
||||
import { StackServerAppConstructorOptions } from "../interfaces/server-app";
|
||||
@ -640,7 +640,7 @@ export class _StackServerAppImplIncomplete<HasTokenStore extends boolean, Projec
|
||||
};
|
||||
}
|
||||
|
||||
_serverUserPermissionDefinitionFromCrud(crud: UserPermissionDefinitionsCrud['Admin']['Read']): AdminUserPermissionDefinition {
|
||||
_serverProjectPermissionDefinitionFromCrud(crud: ProjectPermissionDefinitionsCrud['Admin']['Read']): AdminProjectPermissionDefinition {
|
||||
return {
|
||||
id: crud.id,
|
||||
description: crud.description,
|
||||
|
||||
@ -5,7 +5,7 @@ import { ApiKey, ApiKeyCreateOptions, ApiKeyFirstView } from "../../api-keys";
|
||||
import { AsyncStoreProperty, EmailConfig } from "../../common";
|
||||
import { AdminSentEmail } from "../../email";
|
||||
import { AdminEmailTemplate, AdminEmailTemplateUpdateOptions } from "../../email-templates";
|
||||
import { AdminTeamPermission, AdminTeamPermissionDefinition, AdminTeamPermissionDefinitionCreateOptions, AdminTeamPermissionDefinitionUpdateOptions, AdminUserPermission, AdminUserPermissionDefinition, AdminUserPermissionDefinitionCreateOptions, AdminUserPermissionDefinitionUpdateOptions } from "../../permissions";
|
||||
import { AdminTeamPermission, AdminTeamPermissionDefinition, AdminTeamPermissionDefinitionCreateOptions, AdminTeamPermissionDefinitionUpdateOptions, AdminProjectPermission, AdminProjectPermissionDefinition, AdminProjectPermissionDefinitionCreateOptions, AdminProjectPermissionDefinitionUpdateOptions } from "../../permissions";
|
||||
import { AdminProject } from "../../projects";
|
||||
import { _StackAdminAppImpl } from "../implementations";
|
||||
import { StackServerApp, StackServerAppConstructorOptions } from "./server-app";
|
||||
@ -31,7 +31,7 @@ export type StackAdminApp<HasTokenStore extends boolean = boolean, ProjectId ext
|
||||
& AsyncStoreProperty<"project", [], AdminProject, false>
|
||||
& AsyncStoreProperty<"apiKeys", [], ApiKey[], true>
|
||||
& AsyncStoreProperty<"teamPermissionDefinitions", [], AdminTeamPermissionDefinition[], true>
|
||||
& AsyncStoreProperty<"userPermissionDefinitions", [], AdminUserPermissionDefinition[], true>
|
||||
& AsyncStoreProperty<"projectPermissionDefinitions", [], AdminProjectPermissionDefinition[], true>
|
||||
& {
|
||||
useEmailTemplates(): AdminEmailTemplate[], // THIS_LINE_PLATFORM react-like
|
||||
listEmailTemplates(): Promise<AdminEmailTemplate[]>,
|
||||
@ -44,9 +44,9 @@ export type StackAdminApp<HasTokenStore extends boolean = boolean, ProjectId ext
|
||||
updateTeamPermissionDefinition(permissionId: string, data: AdminTeamPermissionDefinitionUpdateOptions): Promise<void>,
|
||||
deleteTeamPermissionDefinition(permissionId: string): Promise<void>,
|
||||
|
||||
createUserPermissionDefinition(data: AdminUserPermissionDefinitionCreateOptions): Promise<AdminUserPermission>,
|
||||
updateUserPermissionDefinition(permissionId: string, data: AdminUserPermissionDefinitionUpdateOptions): Promise<void>,
|
||||
deleteUserPermissionDefinition(permissionId: string): Promise<void>,
|
||||
createProjectPermissionDefinition(data: AdminProjectPermissionDefinitionCreateOptions): Promise<AdminProjectPermission>,
|
||||
updateProjectPermissionDefinition(permissionId: string, data: AdminProjectPermissionDefinitionUpdateOptions): Promise<void>,
|
||||
deleteProjectPermissionDefinition(permissionId: string): Promise<void>,
|
||||
|
||||
useSvixToken(): string, // THIS_LINE_PLATFORM react-like
|
||||
|
||||
|
||||
@ -52,10 +52,10 @@ export type {
|
||||
AdminTeamPermissionDefinition,
|
||||
AdminTeamPermissionDefinitionCreateOptions,
|
||||
AdminTeamPermissionDefinitionUpdateOptions,
|
||||
AdminUserPermission,
|
||||
AdminUserPermissionDefinition,
|
||||
AdminUserPermissionDefinitionCreateOptions,
|
||||
AdminUserPermissionDefinitionUpdateOptions,
|
||||
AdminProjectPermission,
|
||||
AdminProjectPermissionDefinition,
|
||||
AdminProjectPermissionDefinitionCreateOptions,
|
||||
AdminProjectPermissionDefinitionUpdateOptions,
|
||||
} from "./permissions";
|
||||
|
||||
export type {
|
||||
|
||||
@ -38,24 +38,24 @@ export function adminTeamPermissionDefinitionUpdateOptionsToCrud(options: AdminT
|
||||
};
|
||||
}
|
||||
|
||||
export type UserPermission = {
|
||||
export type ProjectPermission = {
|
||||
id: string,
|
||||
};
|
||||
|
||||
export type AdminUserPermission = UserPermission;
|
||||
export type AdminProjectPermission = ProjectPermission;
|
||||
|
||||
export type AdminUserPermissionDefinition = {
|
||||
export type AdminProjectPermissionDefinition = {
|
||||
id: string,
|
||||
description?: string,
|
||||
containedPermissionIds: string[],
|
||||
};
|
||||
|
||||
export type AdminUserPermissionDefinitionCreateOptions = {
|
||||
export type AdminProjectPermissionDefinitionCreateOptions = {
|
||||
id: string,
|
||||
description?: string,
|
||||
containedPermissionIds: string[],
|
||||
};
|
||||
export function adminUserPermissionDefinitionCreateOptionsToCrud(options: AdminUserPermissionDefinitionCreateOptions): ProjectPermissionDefinitionsCrud["Admin"]["Create"] {
|
||||
export function adminProjectPermissionDefinitionCreateOptionsToCrud(options: AdminProjectPermissionDefinitionCreateOptions): ProjectPermissionDefinitionsCrud["Admin"]["Create"] {
|
||||
return {
|
||||
id: options.id,
|
||||
description: options.description,
|
||||
@ -63,8 +63,8 @@ export function adminUserPermissionDefinitionCreateOptionsToCrud(options: AdminU
|
||||
};
|
||||
}
|
||||
|
||||
export type AdminUserPermissionDefinitionUpdateOptions = Partial<AdminUserPermissionDefinitionCreateOptions>;
|
||||
export function adminUserPermissionDefinitionUpdateOptionsToCrud(options: AdminUserPermissionDefinitionUpdateOptions): ProjectPermissionDefinitionsCrud["Admin"]["Update"] {
|
||||
export type AdminProjectPermissionDefinitionUpdateOptions = Partial<AdminProjectPermissionDefinitionCreateOptions>;
|
||||
export function adminProjectPermissionDefinitionUpdateOptionsToCrud(options: AdminProjectPermissionDefinitionUpdateOptions): ProjectPermissionDefinitionsCrud["Admin"]["Update"] {
|
||||
return {
|
||||
id: options.id,
|
||||
description: options.description,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user