小编yum*_*maa的帖子

更新自制木桶版本

我知道,Homebrew 不会通过自动更新(不强制)来升级木桶。因此最终,实际安装并由 Homebrew 跟踪的软件版本会变得不同。例如:

$ brew cask outdated --greedy
firefox (79.0) != 80.0
google-chrome (84.0.4147.105) != 85.0.4183.83
microsoft-edge (84.0.522.48) != 85.0.564.41
Run Code Online (Sandbox Code Playgroud)

Firefox、Chrome 和 Edge 会自动更新,并且实际上拥有最新版本。但 Homebrew 并不知道这一点。

那么,有没有办法告诉 Homebrew,某些 cask 已经是最新版本,而无需使用 brew 重新安装 cask?只需更新 Homebrew 数据库中的记录(或任何 Brew 存储桶的版本)。

macos homebrew upgrade version homebrew-cask

6
推荐指数
1
解决办法
2657
查看次数

NestJS 控制器中的重载路由?

在 NestJS 应用程序中是否有一种漂亮的方式来创建重载路由?我有一些想法,但也许我正在发明一个轮子。虽然我找不到任何现成的方法......

我正在谈论的是这样的事情(让我们以https://github.com/nestjs/nest/blob/master/sample/01-cats-app/src/cats/cats.controller.ts作为起点) :

@Get()
async findAll(): Promise<Cat[]> {
  return this.catsService.findAll();
}

@Get()
@Roles('admin')
async findAllAdmin(): Promise<Cat[]> {
  return this.catsService.findAllAdmin();
}
Run Code Online (Sandbox Code Playgroud)

换句话说,我希望有两个具有相同 URL 的路由,但通过其他一些值(例如这里的角色)来区分。

我的想法是创建我自己的装饰器,而不是Get,它将填充一些权重图,分配给每个重载方法的唯一路径。然后,添加中间件,它将从请求中获取参数,将它们与 map 进行比较,并进行内部重定向(使用next('route')req.app.handle(req, res))到适当的新路径。

但是在这种方法中,我无法从请求中获取用户,如果他们应该在其中一种方法上使用AuthGuard进行身份验证......

typescript nestjs

5
推荐指数
1
解决办法
2012
查看次数

有没有办法从 NestJS 应用程序中收集所有方法及其路径?

我需要编写中间件来处理请求,但应该排除一些路径。我不想手动硬编码所有这些,所以我有一个想法:

创建特殊的装饰器,它将标记要排除的方法,如下所示:

import { ReflectMetadata } from '@nestjs/common';
export const Exclude = () =>
  ReflectMetadata('exclude', 'true');
Run Code Online (Sandbox Code Playgroud)

在创建 NestJS 应用程序后,有没有办法以某种方式递归获取所有方法,用这个装饰器注释,自动添加它们的路径以排除在我的中间件中?

typescript nestjs

2
推荐指数
1
解决办法
2250
查看次数

标签 统计

nestjs ×2

typescript ×2

homebrew ×1

homebrew-cask ×1

macos ×1

upgrade ×1

version ×1