juice-shop

Форк
0
/
registerAdminChallenge_1.ts 
37 строк · 1.6 Кб
1
/* Generated API endpoints */
2
  finale.initialize({ app, sequelize })
3

4
  const autoModels = [
5
    { name: 'User', exclude: ['password', 'totpSecret'], model: UserModel },
6
    { name: 'Product', exclude: [], model: ProductModel },
7
    { name: 'Feedback', exclude: [], model: FeedbackModel },
8
    { name: 'BasketItem', exclude: [], model: BasketItemModel },
9
    { name: 'Challenge', exclude: [], model: ChallengeModel },
10
    { name: 'Complaint', exclude: [], model: ComplaintModel },
11
    { name: 'Recycle', exclude: [], model: RecycleModel },
12
    { name: 'SecurityQuestion', exclude: [], model: SecurityQuestionModel },
13
    { name: 'SecurityAnswer', exclude: [], model: SecurityAnswerModel },
14
    { name: 'Address', exclude: [], model: AddressModel },
15
    { name: 'PrivacyRequest', exclude: [], model: PrivacyRequestModel },
16
    { name: 'Card', exclude: [], model: CardModel },
17
    { name: 'Quantity', exclude: [], model: QuantityModel }
18
  ]
19

20
  for (const { name, exclude, model } of autoModels) {
21
    const resource = finale.resource({
22
      model,
23
      endpoints: [`/api/${name}s`, `/api/${name}s/:id`],
24
      excludeAttributes: exclude,
25
      pagination: false
26
    })
27

28
    // create a wallet when a new user is registered using API
29
    if (name === 'User') {
30
      resource.create.send.before((req: Request, res: Response, context: { instance: { id: any }, continue: any }) => {
31
        WalletModel.create({ UserId: context.instance.id }).catch((err: unknown) => {
32
          console.log(err)
33
        })
34
        context.instance.role = context.instance.role ? context.instance.role : 'customer'
35
        return context.continue
36
      })
37
    }

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.