mirror of
https://github.com/kunkunsh/kunkun.git
synced 2025-04-20 05:29:17 +00:00

* chore: add vendor submodules * feat: add packages for db,ci,schema,api,jarvis cmds * feat: add tauri-jarvis-plugin * feat: implement extension commands list * fix(desktop): import path errors after packages refactor * chore: add self signed cert * fix: prevent prerender for desktop * fix(desktop): desktop sveltekit static build, use csr for dynamic route * feat: add error handling page and components * refactor: component lib * refactor: move more types, functions and components out of desktop * refactor(ui): more refactor * refactor(ui): move store components to @kksh/ui * ci: add CI for build & test * refactor: rename @kksh/extensions to @kksh/extension * ci: add 2 more ci * ci: fix * fix: CI env var * chore: add changeset * feat: implement extension store item detail view * feat: implement extension store install, uninstall, upgrade * format * revert: upgradable logic, the new one doesn't work yet * refactor: make @kksh/ui dependent only on @kksh/api Reason: @kksh/ui may be published later for building website, all its dependency packages must be also published. To avoid trouble it should be standalone, depend only on packages already published * refactor: cleanup * fixed: some typescript error * chore: got typedoc working on @kksh/api * ci: disable manifest schema upload CI on push
15 lines
590 B
TypeScript
15 lines
590 B
TypeScript
/**
|
|
* The simplest permission check function, will throw error if the user does not have the required permission instead of returning false.
|
|
* Both parameters are expected to be string arrays. We use generic to make sure the type is correct.
|
|
* @param userPermissions
|
|
* @param requiredPermissions
|
|
*/
|
|
export function checkPermission<Permission extends string>(
|
|
userPermissions: Permission[],
|
|
requiredPermissions: Permission[]
|
|
) {
|
|
if (!requiredPermissions.some((p) => userPermissions.includes(p))) {
|
|
throw new Error(`${requiredPermissions.join(" or ")} permission is required`)
|
|
}
|
|
}
|