-
Notifications
You must be signed in to change notification settings - Fork 725
/
20180809000001_cti_generic_api.rb
79 lines (74 loc) · 2.1 KB
/
20180809000001_cti_generic_api.rb
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
class CtiGenericApi < ActiveRecord::Migration[5.1]
def up
# return if it's a new setup
return if !Setting.find_by(name: 'system_init_done')
Setting.create_if_not_exists(
title: 'cti integration',
name: 'cti_integration',
area: 'Integration::Switch',
description: 'Defines if generic CTI is enabled or not.',
options: {
form: [
{
display: '',
null: true,
name: 'cti_integration',
tag: 'boolean',
options: {
true => 'yes',
false => 'no',
},
},
],
},
state: false,
preferences: {
prio: 1,
trigger: ['menu:render', 'cti:reload'],
authentication: true,
permission: ['admin.integration'],
},
frontend: true
)
Setting.create_if_not_exists(
title: 'cti config',
name: 'cti_config',
area: 'Integration::Cti',
description: 'Defines the cti config.',
options: {},
state: { 'outbound' => { 'routing_table' => [], 'default_caller_id' => '' }, 'inbound' => { 'block_caller_ids' => [] } },
preferences: {
prio: 2,
permission: ['admin.integration'],
},
frontend: false,
)
Setting.create_if_not_exists(
title: 'CTI Token',
name: 'cti_token',
area: 'Integration::Cti',
description: 'Token for cti.',
options: {
form: [
{
display: '',
null: false,
name: 'cti_token',
tag: 'input',
},
],
},
state: SecureRandom.urlsafe_base64(20),
preferences: {
permission: ['admin.integration'],
},
frontend: false
)
add_column :cti_logs, :queue, :string, limit: 250, null: true
add_column :cti_logs, :initialized_at, :string, limit: 250, null: true
add_column :cti_logs, :duration_waiting_time, :integer, null: true
add_column :cti_logs, :duration_talking_time, :integer, null: true
rename_column :cti_logs, :start, :start_at
rename_column :cti_logs, :end, :end_at
end
end