File size: 937 Bytes
b62a170
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import { ApiProperty } from '@nestjs/swagger';

export class RetriesConfiguration {
  @ApiProperty({
    example: 2,
  })
  delaySeconds: number;

  @ApiProperty({
    example: 15,
  })
  attempts: number;
}
export class CustomHeader {
  @ApiProperty({
    example: 'X-My-Custom-Header',
  })
  name: string;

  @ApiProperty({
    example: 'Value',
  })
  value: string;
}

export class HmacConfiguration {
  @ApiProperty({
    example: 'your-secret-key',
  })
  key: string;
}

export class WebhookConfig {
  @ApiProperty({
    example: 'https://httpbin.org/post',
    required: true,
  })
  url: string;

  @ApiProperty({
    example: ['message', 'session.status'],
    required: true,
  })
  events: string[];

  @ApiProperty({
    example: null,
  })
  hmac?: HmacConfiguration;

  @ApiProperty({
    example: null,
  })
  retries?: RetriesConfiguration;

  @ApiProperty({
    example: null,
  })
  customHeaders?: CustomHeader[];
}