alula-ruby 0.50.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +14 -0
  3. data/.env.example +8 -0
  4. data/.github/workflows/gem-push.yml +45 -0
  5. data/.gitignore +23 -0
  6. data/.rspec +3 -0
  7. data/.travis.yml +7 -0
  8. data/Dockerfile +6 -0
  9. data/Gemfile +12 -0
  10. data/Guardfile +42 -0
  11. data/README.md +423 -0
  12. data/Rakefile +6 -0
  13. data/VERSION.md +84 -0
  14. data/alula-docker-compose.yml +80 -0
  15. data/alula.gemspec +38 -0
  16. data/bin/console +15 -0
  17. data/bin/docparse +36 -0
  18. data/bin/genresource +79 -0
  19. data/bin/setup +8 -0
  20. data/bin/testauth +24 -0
  21. data/bin/testprep +9 -0
  22. data/data/docs/Alula_API_Documentation_2021-04-06.html +16240 -0
  23. data/docker-compose.yml +11 -0
  24. data/lib/alula/alula_response.rb +20 -0
  25. data/lib/alula/api_operations/delete.rb +52 -0
  26. data/lib/alula/api_operations/list.rb +45 -0
  27. data/lib/alula/api_operations/request.rb +44 -0
  28. data/lib/alula/api_operations/save.rb +81 -0
  29. data/lib/alula/api_resource.rb +196 -0
  30. data/lib/alula/client.rb +142 -0
  31. data/lib/alula/errors.rb +169 -0
  32. data/lib/alula/filter_builder.rb +271 -0
  33. data/lib/alula/helpers/device_attribute_translations.rb +68 -0
  34. data/lib/alula/list_object.rb +64 -0
  35. data/lib/alula/meta.rb +16 -0
  36. data/lib/alula/monkey_patches.rb +24 -0
  37. data/lib/alula/oauth.rb +118 -0
  38. data/lib/alula/pagination.rb +25 -0
  39. data/lib/alula/procedures/dealer_device_stats_proc.rb +16 -0
  40. data/lib/alula/procedures/dealer_restore_proc.rb +25 -0
  41. data/lib/alula/procedures/dealer_suspend_proc.rb +25 -0
  42. data/lib/alula/procedures/device_assign_proc.rb +23 -0
  43. data/lib/alula/procedures/device_cellular_history_proc.rb +33 -0
  44. data/lib/alula/procedures/device_rateplan_get_proc.rb +21 -0
  45. data/lib/alula/procedures/device_register_proc.rb +31 -0
  46. data/lib/alula/procedures/device_signal_add_proc.rb +42 -0
  47. data/lib/alula/procedures/device_signal_delivered_proc.rb +31 -0
  48. data/lib/alula/procedures/device_signal_update_proc.rb +32 -0
  49. data/lib/alula/procedures/device_unassign_proc.rb +16 -0
  50. data/lib/alula/procedures/device_unregister_proc.rb +21 -0
  51. data/lib/alula/procedures/upload_touchpad_branding_proc.rb +24 -0
  52. data/lib/alula/procedures/user_plansvideo_price_get.rb +21 -0
  53. data/lib/alula/procedures/user_transfer_accept.rb +19 -0
  54. data/lib/alula/procedures/user_transfer_authorize.rb +18 -0
  55. data/lib/alula/procedures/user_transfer_cancel.rb +18 -0
  56. data/lib/alula/procedures/user_transfer_deny.rb +19 -0
  57. data/lib/alula/procedures/user_transfer_reject.rb +19 -0
  58. data/lib/alula/procedures/user_transfer_request.rb +19 -0
  59. data/lib/alula/query_interface.rb +142 -0
  60. data/lib/alula/rate_limit.rb +11 -0
  61. data/lib/alula/relationship_attributes.rb +107 -0
  62. data/lib/alula/resource_attributes.rb +206 -0
  63. data/lib/alula/resources/admin_user.rb +207 -0
  64. data/lib/alula/resources/billing_program.rb +41 -0
  65. data/lib/alula/resources/dealer.rb +218 -0
  66. data/lib/alula/resources/dealer_account_transfer.rb +172 -0
  67. data/lib/alula/resources/dealer_address.rb +89 -0
  68. data/lib/alula/resources/dealer_branding.rb +226 -0
  69. data/lib/alula/resources/dealer_program.rb +75 -0
  70. data/lib/alula/resources/dealer_suspension_log.rb +49 -0
  71. data/lib/alula/resources/device.rb +716 -0
  72. data/lib/alula/resources/device_cellular_status.rb +134 -0
  73. data/lib/alula/resources/device_charge.rb +70 -0
  74. data/lib/alula/resources/device_event_log.rb +167 -0
  75. data/lib/alula/resources/device_program.rb +54 -0
  76. data/lib/alula/resources/event_trigger.rb +75 -0
  77. data/lib/alula/resources/event_webhook.rb +47 -0
  78. data/lib/alula/resources/feature_bysubject.rb +74 -0
  79. data/lib/alula/resources/feature_plan.rb +57 -0
  80. data/lib/alula/resources/feature_planvideo.rb +54 -0
  81. data/lib/alula/resources/feature_price.rb +46 -0
  82. data/lib/alula/resources/receiver_connection.rb +95 -0
  83. data/lib/alula/resources/receiver_group.rb +74 -0
  84. data/lib/alula/resources/revision.rb +91 -0
  85. data/lib/alula/resources/self.rb +61 -0
  86. data/lib/alula/resources/station.rb +130 -0
  87. data/lib/alula/resources/token_exchange.rb +34 -0
  88. data/lib/alula/resources/user.rb +229 -0
  89. data/lib/alula/resources/user_address.rb +121 -0
  90. data/lib/alula/resources/user_phone.rb +116 -0
  91. data/lib/alula/resources/user_preferences.rb +57 -0
  92. data/lib/alula/resources/user_pushtoken.rb +75 -0
  93. data/lib/alula/resources/user_videoprofile.rb +38 -0
  94. data/lib/alula/rest_resource.rb +17 -0
  95. data/lib/alula/rpc_resource.rb +40 -0
  96. data/lib/alula/rpc_response.rb +14 -0
  97. data/lib/alula/singleton_rest_resource.rb +26 -0
  98. data/lib/alula/util.rb +107 -0
  99. data/lib/alula/version.rb +5 -0
  100. data/lib/alula.rb +135 -0
  101. data/lib/parser.rb +199 -0
  102. metadata +282 -0
@@ -0,0 +1,134 @@
1
+ module Alula
2
+ class DeviceCellularStatus < Alula::RestResource
3
+ extend Alula::ResourceAttributes
4
+ extend Alula::RelationshipAttributes
5
+ extend Alula::ApiOperations::Request
6
+ extend Alula::ApiOperations::List
7
+
8
+ resource_path 'devices/cellular/status'
9
+ type 'devices-cellular-status'
10
+
11
+ # Relationships
12
+ # None
13
+
14
+ # Resource Fields
15
+ field :id,
16
+ type: :string,
17
+ sortable: false,
18
+ filterable: false,
19
+ creatable_by: [],
20
+ patchable_by: []
21
+
22
+ field :meid,
23
+ type: :string,
24
+ sortable: false,
25
+ filterable: false,
26
+ creatable_by: [],
27
+ patchable_by: []
28
+
29
+ field :imei,
30
+ type: :string,
31
+ sortable: false,
32
+ filterable: false,
33
+ creatable_by: [],
34
+ patchable_by: []
35
+
36
+ field :esn,
37
+ type: :string,
38
+ sortable: false,
39
+ filterable: false,
40
+ creatable_by: [],
41
+ patchable_by: []
42
+
43
+ field :mdn,
44
+ type: :string,
45
+ sortable: false,
46
+ filterable: false,
47
+ creatable_by: [],
48
+ patchable_by: []
49
+
50
+ field :iccid,
51
+ type: :string,
52
+ sortable: false,
53
+ filterable: false,
54
+ creatable_by: [],
55
+ patchable_by: []
56
+
57
+ field :imsi,
58
+ type: :string,
59
+ sortable: false,
60
+ filterable: false,
61
+ creatable_by: [],
62
+ patchable_by: []
63
+
64
+ field :account_name,
65
+ type: :string,
66
+ sortable: false,
67
+ filterable: false,
68
+ creatable_by: [],
69
+ patchable_by: []
70
+
71
+ field :carrier_name,
72
+ type: :string,
73
+ sortable: false,
74
+ filterable: false,
75
+ creatable_by: [],
76
+ patchable_by: []
77
+
78
+ field :device_group,
79
+ type: :string,
80
+ sortable: false,
81
+ filterable: false,
82
+ creatable_by: [],
83
+ patchable_by: []
84
+
85
+ field :rate_plan,
86
+ type: :string,
87
+ sortable: false,
88
+ filterable: false,
89
+ creatable_by: [],
90
+ patchable_by: []
91
+
92
+ field :state,
93
+ type: :string,
94
+ sortable: false,
95
+ filterable: false,
96
+ creatable_by: [],
97
+ patchable_by: []
98
+
99
+ field :ip_address,
100
+ type: :string,
101
+ sortable: false,
102
+ filterable: false,
103
+ creatable_by: [],
104
+ patchable_by: []
105
+
106
+ field :created_at,
107
+ type: :string,
108
+ sortable: false,
109
+ filterable: false,
110
+ creatable_by: [],
111
+ patchable_by: []
112
+
113
+ field :updated_at,
114
+ type: :date,
115
+ sortable: false,
116
+ filterable: false,
117
+ creatable_by: [],
118
+ patchable_by: []
119
+
120
+ field :connected,
121
+ type: :string,
122
+ sortable: false,
123
+ filterable: false,
124
+ creatable_by: [],
125
+ patchable_by: []
126
+
127
+ field :signal_strength,
128
+ type: :string,
129
+ sortable: false,
130
+ filterable: false,
131
+ creatable_by: [],
132
+ patchable_by: []
133
+ end
134
+ end
@@ -0,0 +1,70 @@
1
+ module Alula
2
+ class DeviceCharge < Alula::RestResource
3
+ extend Alula::ResourceAttributes
4
+ extend Alula::ApiOperations::Request
5
+ extend Alula::ApiOperations::List
6
+ extend Alula::ApiOperations::Save
7
+
8
+ resource_path 'devices/charges'
9
+ type 'devices-charge'
10
+
11
+ # Resource Fields
12
+ # Not all params are used at the moment. See Alula::ResourceAttributes for details
13
+ # on how params are parsed,
14
+ field :id,
15
+ type: :string,
16
+ sortable: false,
17
+ filterable: false,
18
+ creatable_by: [],
19
+ patchable_by: []
20
+
21
+ field :device_id,
22
+ type: :string,
23
+ sortable: false,
24
+ filterable: true,
25
+ creatable_by: [:system],
26
+ patchable_by: []
27
+
28
+ field :name,
29
+ type: :string,
30
+ sortable: true,
31
+ filterable: true,
32
+ creatable_by: [:system],
33
+ patchable_by: []
34
+
35
+ field :description,
36
+ type: :string,
37
+ sortable: false,
38
+ filterable: false,
39
+ creatable_by: [:system],
40
+ patchable_by: []
41
+
42
+ field :price,
43
+ type: :string,
44
+ sortable: true,
45
+ filterable: false,
46
+ creatable_by: [:system],
47
+ patchable_by: [:system]
48
+
49
+ field :date_modified,
50
+ type: :date,
51
+ sortable: true,
52
+ filterable: true,
53
+ creatable_by: [],
54
+ patchable_by: []
55
+
56
+ field :date_created,
57
+ type: :date,
58
+ sortable: true,
59
+ filterable: true,
60
+ creatable_by: [:system],
61
+ patchable_by: []
62
+
63
+ field :date_charged,
64
+ type: :date,
65
+ sortable: true,
66
+ filterable: true,
67
+ creatable_by: [:system],
68
+ patchable_by: []
69
+ end
70
+ end
@@ -0,0 +1,167 @@
1
+ module Alula
2
+ class DeviceEventLog < Alula::RestResource
3
+ extend Alula::ResourceAttributes
4
+ extend Alula::RelationshipAttributes
5
+ extend Alula::ApiOperations::Request
6
+ extend Alula::ApiOperations::List
7
+
8
+ resource_path 'devices/eventlog'
9
+ type 'devices-eventlog'
10
+
11
+ # Relationships
12
+ relationship :device, type: 'devices', cardinality: 'To-one'
13
+ relationship :customer, type: 'users', cardinality: 'To-one'
14
+ relationship :dealer, type: 'dealers', cardinality: 'To-one'
15
+
16
+ # Resource Fields
17
+ # Not all params are used at the moment. See Alula::ResourceAttributes for details
18
+ # on how params are parsed,
19
+ field :id,
20
+ type: :string,
21
+ sortable: false,
22
+ filterable: false,
23
+ creatable_by: [],
24
+ patchable_by: []
25
+
26
+ field :device_id,
27
+ type: :string,
28
+ sortable: false,
29
+ filterable: true,
30
+ creatable_by: [],
31
+ patchable_by: []
32
+
33
+ field :dealer_id,
34
+ type: :string,
35
+ sortable: false,
36
+ filterable: true,
37
+ creatable_by: [],
38
+ patchable_by: []
39
+
40
+ field :customer_id,
41
+ type: :string,
42
+ sortable: false,
43
+ filterable: true,
44
+ creatable_by: [],
45
+ patchable_by: []
46
+
47
+ field :group_id,
48
+ type: :string,
49
+ sortable: false,
50
+ filterable: false,
51
+ creatable_by: [],
52
+ patchable_by: []
53
+
54
+ field :date_entered,
55
+ type: :date,
56
+ sortable: true,
57
+ filterable: true,
58
+ creatable_by: [],
59
+ patchable_by: []
60
+
61
+ field :relay,
62
+ type: :string,
63
+ sortable: false,
64
+ filterable: true,
65
+ creatable_by: [],
66
+ patchable_by: []
67
+
68
+ field :action,
69
+ type: :string,
70
+ sortable: false,
71
+ filterable: true,
72
+ creatable_by: [],
73
+ patchable_by: []
74
+
75
+ field :npv,
76
+ type: :string,
77
+ sortable: false,
78
+ filterable: true,
79
+ creatable_by: [],
80
+ patchable_by: []
81
+
82
+ field :relay_status,
83
+ type: :string,
84
+ sortable: false,
85
+ filterable: true,
86
+ creatable_by: [],
87
+ patchable_by: []
88
+
89
+ field :signal_account_number,
90
+ type: :string,
91
+ sortable: false,
92
+ filterable: false,
93
+ creatable_by: [],
94
+ patchable_by: []
95
+
96
+ field :signal_event_qualifier,
97
+ type: :string,
98
+ sortable: false,
99
+ filterable: false,
100
+ creatable_by: [],
101
+ patchable_by: []
102
+
103
+ field :signal_event_code,
104
+ type: :string,
105
+ sortable: false,
106
+ filterable: true,
107
+ creatable_by: [],
108
+ patchable_by: []
109
+
110
+ field :signal_event_description,
111
+ type: :string,
112
+ sortable: false,
113
+ filterable: false,
114
+ creatable_by: [],
115
+ patchable_by: []
116
+
117
+ field :signal_partition,
118
+ type: :string,
119
+ sortable: false,
120
+ filterable: true,
121
+ creatable_by: [],
122
+ patchable_by: []
123
+
124
+ field :signal_user_zone,
125
+ type: :string,
126
+ sortable: false,
127
+ filterable: true,
128
+ creatable_by: [],
129
+ patchable_by: []
130
+
131
+ field :signal_user_zone_type,
132
+ type: :string,
133
+ sortable: false,
134
+ filterable: false,
135
+ creatable_by: [],
136
+ patchable_by: []
137
+
138
+ field :signal_user_zone_alias,
139
+ type: :string,
140
+ sortable: false,
141
+ filterable: false,
142
+ creatable_by: [],
143
+ patchable_by: []
144
+
145
+ field :signal_protocol,
146
+ type: :string,
147
+ sortable: false,
148
+ filterable: true,
149
+ creatable_by: [],
150
+ patchable_by: []
151
+
152
+ def relay_status_name
153
+ relay_status_names = {
154
+ 0 => 'eventLog.relayStatus.notRelayed',
155
+ 1 => 'eventLog.relayStatus.attemptingToRelay',
156
+ 2 => 'eventLog.relayStatus.suppressed',
157
+ 3 => 'eventLog.relayStatus.timedOutCannotRelay',
158
+ 4 => 'eventLog.relayStatus.noReceiversConfigured',
159
+ 8 => 'eventLog.relayStatus.noStartTone',
160
+ 9 => 'eventLog.relayStatus.negativeAcknowledgement',
161
+ 10 => 'eventLog.relayStatus.relayCompleted'
162
+ }
163
+
164
+ relay_status_names[relay_status]
165
+ end
166
+ end
167
+ end
@@ -0,0 +1,54 @@
1
+ module Alula
2
+ class DeviceProgram < Alula::RestResource
3
+ extend Alula::ResourceAttributes
4
+ extend Alula::RelationshipAttributes
5
+ extend Alula::ApiOperations::Request
6
+ extend Alula::ApiOperations::List
7
+ extend Alula::ApiOperations::Save
8
+
9
+ resource_path 'devices/programs'
10
+ type 'devices-program'
11
+
12
+ # Relationships
13
+ relationship :device, type: 'devices', cardinality: 'To-one'
14
+ relationship :dealer_billing_program, type: 'dealers-programs', cardinality: 'To-one'
15
+
16
+ # Resource Fields
17
+ # Not all params are used at the moment. See Alula::ResourceAttributes for details
18
+ # on how params are parsed,
19
+ field :id,
20
+ type: :string,
21
+ sortable: false,
22
+ filterable: false,
23
+ creatable_by: [],
24
+ patchable_by: []
25
+
26
+ field :device_id,
27
+ type: :string,
28
+ sortable: false,
29
+ filterable: true,
30
+ creatable_by: [:system],
31
+ patchable_by: []
32
+
33
+ field :dealer_program_id,
34
+ type: :string,
35
+ sortable: false,
36
+ filterable: true,
37
+ creatable_by: [:system],
38
+ patchable_by: []
39
+
40
+ field :date_modified,
41
+ type: :date,
42
+ sortable: true,
43
+ filterable: true,
44
+ creatable_by: [],
45
+ patchable_by: []
46
+
47
+ field :date_created,
48
+ type: :date,
49
+ sortable: true,
50
+ filterable: true,
51
+ creatable_by: [:system],
52
+ patchable_by: []
53
+ end
54
+ end
@@ -0,0 +1,75 @@
1
+ module Alula
2
+ class EventTrigger < Alula::RestResource
3
+ extend Alula::ResourceAttributes
4
+ extend Alula::ApiOperations::Request
5
+ extend Alula::ApiOperations::List
6
+ extend Alula::ApiOperations::Save
7
+
8
+ # You should update this to be a slash-separated, literal path to the resource
9
+ # without the prefix /api/v1 or the suffix of an ID
10
+ resource_path 'events/triggers'
11
+
12
+ # Relationships
13
+ # None
14
+
15
+ # Resource Fields
16
+ # Not all params are used at the moment. See Alula::ResourceAttributes for details
17
+ # on how params are parsed,
18
+ field :id,
19
+ type: :string,
20
+ sortable: false,
21
+ filterable: false,
22
+ creatable_by: [:all],
23
+ patchable_by: [:all]
24
+
25
+ field :user_id,
26
+ type: :string,
27
+ sortable: false,
28
+ filterable: true,
29
+ creatable_by: [],
30
+ patchable_by: []
31
+
32
+ field :reference,
33
+ type: :string,
34
+ sortable: false,
35
+ filterable: true,
36
+ creatable_by: [:all],
37
+ patchable_by: [:all]
38
+
39
+ field :event,
40
+ type: :string,
41
+ sortable: false,
42
+ filterable: false,
43
+ creatable_by: [:all],
44
+ patchable_by: []
45
+
46
+ field :conditions,
47
+ type: :string,
48
+ sortable: false,
49
+ filterable: false,
50
+ creatable_by: [:all],
51
+ patchable_by: [:all]
52
+
53
+ field :action,
54
+ type: :string,
55
+ sortable: false,
56
+ filterable: false,
57
+ creatable_by: [:all],
58
+ patchable_by: [:all]
59
+
60
+ field :ttl,
61
+ type: :string,
62
+ sortable: false,
63
+ filterable: false,
64
+ creatable_by: [:all],
65
+ patchable_by: [:all]
66
+
67
+ field :expires,
68
+ type: :string,
69
+ sortable: true,
70
+ filterable: false,
71
+ creatable_by: [],
72
+ patchable_by: []
73
+
74
+ end
75
+ end
@@ -0,0 +1,47 @@
1
+ module Alula
2
+ class EventWebhook < Alula::RestResource
3
+ extend Alula::ResourceAttributes
4
+ extend Alula::ApiOperations::Request
5
+ extend Alula::ApiOperations::List
6
+ extend Alula::ApiOperations::Save
7
+
8
+ # You should update this to be a slash-separated, literal path to the resource
9
+ # without the prefix /api/v1 or the suffix of an ID
10
+ resource_path 'events/webhooks'
11
+
12
+ # Relationships
13
+ # None
14
+
15
+ # Resource Fields
16
+ # Not all params are used at the moment. See Alula::ResourceAttributes for details
17
+ # on how params are parsed,
18
+ field :id,
19
+ type: :string,
20
+ sortable: false,
21
+ filterable: false,
22
+ creatable_by: [:system, :dealer],
23
+ patchable_by: [:system, :dealer]
24
+
25
+ field :reference,
26
+ type: :string,
27
+ sortable: false,
28
+ filterable: true,
29
+ creatable_by: [:system, :dealer],
30
+ patchable_by: [:system, :dealer]
31
+
32
+ field :url,
33
+ type: :string,
34
+ sortable: false,
35
+ filterable: false,
36
+ creatable_by: [:system, :dealer],
37
+ patchable_by: [:system, :dealer]
38
+
39
+ field :secret,
40
+ type: :string,
41
+ sortable: false,
42
+ filterable: false,
43
+ creatable_by: [:system, :dealer],
44
+ patchable_by: [:system, :dealer]
45
+
46
+ end
47
+ end
@@ -0,0 +1,74 @@
1
+ module Alula
2
+ class FeatureBySubject < Alula::RestResource
3
+ extend Alula::ResourceAttributes
4
+ extend Alula::ApiOperations::Request
5
+ extend Alula::ApiOperations::List
6
+ extend Alula::ApiOperations::Save
7
+
8
+ resource_path 'features/bysubject'
9
+ type 'feature-bysubject'
10
+
11
+ field :id,
12
+ type: :string,
13
+ sortable: false,
14
+ filterable: false,
15
+ creatable_by: [:system],
16
+ patchable_by: []
17
+
18
+ field :gp_id,
19
+ type: :string,
20
+ sortable: false,
21
+ filterable: true,
22
+ creatable_by: [:system],
23
+ patchable_by: []
24
+
25
+ field :subject_id,
26
+ type: :string,
27
+ sortable: false,
28
+ filterable: true,
29
+ creatable_by: [:system],
30
+ patchable_by: []
31
+
32
+ field :subject_type,
33
+ type: :string,
34
+ sortable: true,
35
+ filterable: false,
36
+ creatable_by: [:system],
37
+ patchable_by: []
38
+
39
+ field :date_start,
40
+ type: :date,
41
+ sortable: true,
42
+ filterable: false,
43
+ creatable_by: [:system],
44
+ patchable_by: [:system]
45
+
46
+ field :date_end,
47
+ type: :date,
48
+ sortable: true,
49
+ filterable: false,
50
+ creatable_by: [:system],
51
+ patchable_by: [:system]
52
+
53
+ field :date_assigned,
54
+ type: :date,
55
+ sortable: true,
56
+ filterable: false,
57
+ creatable_by: [:system],
58
+ patchable_by: []
59
+
60
+ field :assigned_by,
61
+ type: :string,
62
+ sortable: false,
63
+ filterable: false,
64
+ creatable_by: [:system],
65
+ patchable_by: []
66
+
67
+ field :assignment_type,
68
+ type: :string,
69
+ sortable: true,
70
+ filterable: true,
71
+ creatable_by: [:system],
72
+ patchable_by: []
73
+ end
74
+ end
@@ -0,0 +1,57 @@
1
+ module Alula
2
+ class FeaturePlan < Alula::RestResource
3
+ extend Alula::ResourceAttributes
4
+ extend Alula::ApiOperations::Request
5
+ extend Alula::ApiOperations::List
6
+ extend Alula::ApiOperations::Save
7
+ extend Alula::ApiOperations::Delete
8
+
9
+ resource_path 'features/plans'
10
+ type 'feature-plan'
11
+
12
+ # Resource Fields
13
+ # Not all params are used at the moment. See Alula::ResourceAttributes for details
14
+ # on how params are parsed,
15
+ field :id,
16
+ type: :string,
17
+ sortable: false,
18
+ filterable: false,
19
+ creatable_by: [:system],
20
+ patchable_by: []
21
+
22
+ field :gp_id,
23
+ type: :string,
24
+ sortable: true,
25
+ filterable: true,
26
+ creatable_by: [:system],
27
+ patchable_by: []
28
+
29
+ field :name,
30
+ type: :string,
31
+ sortable: true,
32
+ filterable: false,
33
+ creatable_by: [:system],
34
+ patchable_by: [:system]
35
+
36
+ field :description,
37
+ type: :object,
38
+ sortable: false,
39
+ filterable: false,
40
+ creatable_by: [:system],
41
+ patchable_by: [:system]
42
+
43
+ field :date_created,
44
+ type: :date,
45
+ sortable: true,
46
+ filterable: true,
47
+ creatable_by: [:system],
48
+ patchable_by: []
49
+
50
+ field :date_modified,
51
+ type: :date,
52
+ sortable: true,
53
+ filterable: true,
54
+ creatable_by: [:system],
55
+ patchable_by: [:system]
56
+ end
57
+ end