public static function generateCrudEndpoints(string $permission, string $endpoint)
    {
        return collect(self::ROUTE_CRUD_PERMISSION)
            ->map(function ($suffix, $method) use ($permission, $endpoint) {
                if (Gate::allows("{$permission}_{$suffix}")) {
                    return [$method => $endpoint];
                }
            })->collapse();
    }