审查这段生成的会话与角色辅助代码。
解析不可信会话 JSON,只接受已知角色和未来的有限过期时间,为选择控件列出序列化角色值,并且只允许管理员执行删除。
TypeScript
enum AccessRole {
Reader = "READER",
Editor = "EDITOR",
Admin = "ADMIN",
}
interface SessionPayload {
role: AccessRole;
expiresAt: number;
}
function parseSession(raw: string): SessionPayload {
const session = JSON.parse(raw) as SessionPayload;
return session;
}
function roleOptions(): string[] {
return Object.keys(AccessRole);
}
function canDelete(role: AccessRole): boolean {
return role !== AccessRole.Reader && role !== AccessRole.Editor;
}
生成代码仅作示例,不代表任何特定模型