bullet_train-outgoing_webhooks-api 1.0.0 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 42a50b611f7a9e0eab87254a3535f934c1295760abf6c74b24be7a5753b385a3
4
- data.tar.gz: 212c8c1df83bcbc394570ee5fb8e1cf86641f8106c3d708ee72f486b50d0a17c
3
+ metadata.gz: 1f12f4c774f39633187ee43d2d8ed5d437b7428c9892bca71615c0389486bba2
4
+ data.tar.gz: d3b6d4d3d396b3f178dd5063604bf2b59caab9a79049e8abf42b7c28b8ae5974
5
5
  SHA512:
6
- metadata.gz: c6e2aecb15bbe86d486f3ad312cb55abd26caaa144c31e9ba0792dd8bae7ea69b976a7c672529474655856778e0ff67c0f3e8af690a17527bd266a6ddcf64063
7
- data.tar.gz: 0e4ac88ab742f1b87ece1f97f98c0979b6d63ad9afc4b7b447bd848fcc06010587678e8b34883405e98532a5ccd57eddf1e61dbfd4a45ce14acdcf06d245f8e4
6
+ metadata.gz: cffb2a0de6be090ef2e1647540b141b0b762ed45dafce8d58df124e1e420d130eac7928bf2457ff3e5e60ae4896461af86589d8db19c5e2d70dabed1c7631643
7
+ data.tar.gz: 1f901519176b74355ac5a84f07b1ae170872df8a3b9c9f2772e549a0d0acd3b470d64a50ad739e910878588e7b51b9717ef051977f273bb376f5318d7e9b95a3
@@ -0,0 +1,63 @@
1
+ class Api::V1::Webhooks::Outgoing::DeliveriesEndpoint < Api::V1::Root
2
+ helpers do
3
+ params :endpoint_id do
4
+ requires :endpoint_id, type: Integer, allow_blank: false, desc: "Endpoint ID"
5
+ end
6
+
7
+ params :id do
8
+ requires :id, type: Integer, allow_blank: false, desc: "Delivery ID"
9
+ end
10
+
11
+ params :delivery do
12
+ optional :event_id, type: String, desc: Api.heading(:event_id)
13
+ optional :endpoint_url, type: String, desc: Api.heading(:endpoint_url)
14
+ optional :delivered_at, type: DateTime, desc: Api.heading(:delivered_at)
15
+ # 🚅 super scaffolding will insert new fields above this line.
16
+ # 🚅 super scaffolding will insert new arrays above this line.
17
+
18
+ # 🚅 super scaffolding will insert processing for new fields above this line.
19
+ end
20
+ end
21
+
22
+ resource "webhooks/outgoing/endpoints", desc: Api.title(:collection_actions) do
23
+ after_validation do
24
+ load_and_authorize_api_resource Webhooks::Outgoing::Delivery
25
+ end
26
+
27
+ #
28
+ # INDEX
29
+ #
30
+
31
+ desc Api.title(:index), &Api.index_desc
32
+ params do
33
+ use :endpoint_id
34
+ end
35
+ oauth2
36
+ paginate per_page: 100
37
+ get "/:endpoint_id/deliveries" do
38
+ @paginated_deliveries = paginate @deliveries
39
+ render @paginated_deliveries, serializer: Api.serializer
40
+ end
41
+ end
42
+
43
+ resource "webhooks/outgoing/deliveries", desc: Api.title(:member_actions) do
44
+ after_validation do
45
+ load_and_authorize_api_resource Webhooks::Outgoing::Delivery
46
+ end
47
+
48
+ #
49
+ # SHOW
50
+ #
51
+
52
+ desc Api.title(:show), &Api.show_desc
53
+ params do
54
+ use :id
55
+ end
56
+ oauth2
57
+ route_param :id do
58
+ get do
59
+ render @delivery, serializer: Api.serializer
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,65 @@
1
+ class Api::V1::Webhooks::Outgoing::DeliveryAttemptsEndpoint < Api::V1::Root
2
+ helpers do
3
+ params :delivery_id do
4
+ requires :delivery_id, type: Integer, allow_blank: false, desc: "Delivery ID"
5
+ end
6
+
7
+ params :id do
8
+ requires :id, type: Integer, allow_blank: false, desc: "Delivery Attempt ID"
9
+ end
10
+
11
+ params :delivery_attempt do
12
+ optional :response_code, type: String, desc: Api.heading(:response_code)
13
+ optional :response_body, type: String, desc: Api.heading(:response_body)
14
+ optional :response_message, type: String, desc: Api.heading(:response_message)
15
+ optional :error_message, type: String, desc: Api.heading(:error_message)
16
+ optional :attempt_number, type: String, desc: Api.heading(:attempt_number)
17
+ # 🚅 super scaffolding will insert new fields above this line.
18
+ # 🚅 super scaffolding will insert new arrays above this line.
19
+
20
+ # 🚅 super scaffolding will insert processing for new fields above this line.
21
+ end
22
+ end
23
+
24
+ resource "webhooks/outgoing/deliveries", desc: Api.title(:collection_actions) do
25
+ after_validation do
26
+ load_and_authorize_api_resource Webhooks::Outgoing::DeliveryAttempt
27
+ end
28
+
29
+ #
30
+ # INDEX
31
+ #
32
+
33
+ desc Api.title(:index), &Api.index_desc
34
+ params do
35
+ use :delivery_id
36
+ end
37
+ oauth2
38
+ paginate per_page: 100
39
+ get "/:delivery_id/delivery_attempts" do
40
+ @paginated_delivery_attempts = paginate @delivery_attempts
41
+ render @paginated_delivery_attempts, serializer: Api.serializer
42
+ end
43
+ end
44
+
45
+ resource "webhooks/outgoing/delivery_attempts", desc: Api.title(:member_actions) do
46
+ after_validation do
47
+ load_and_authorize_api_resource Webhooks::Outgoing::DeliveryAttempt
48
+ end
49
+
50
+ #
51
+ # SHOW
52
+ #
53
+
54
+ desc Api.title(:show), &Api.show_desc
55
+ params do
56
+ use :id
57
+ end
58
+ oauth2
59
+ route_param :id do
60
+ get do
61
+ render @delivery_attempt, serializer: Api.serializer
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,119 @@
1
+ class Api::V1::Webhooks::Outgoing::EndpointsEndpoint < Api::V1::Root
2
+ helpers do
3
+ params :team_id do
4
+ requires :team_id, type: Integer, allow_blank: false, desc: "Team ID"
5
+ end
6
+
7
+ params :id do
8
+ requires :id, type: Integer, allow_blank: false, desc: "Endpoint ID"
9
+ end
10
+
11
+ params :endpoint do
12
+ optional :name, type: String, desc: Api.heading(:name)
13
+ optional :url, type: String, desc: Api.heading(:url)
14
+ # 🚅 super scaffolding will insert new fields above this line.
15
+ optional :event_type_ids, type: Array, desc: Api.heading(:event_type_ids)
16
+ # 🚅 super scaffolding will insert new arrays above this line.
17
+
18
+ # 🚅 super scaffolding will insert processing for new fields above this line.
19
+ end
20
+ end
21
+
22
+ resource "teams", desc: Api.title(:collection_actions) do
23
+ after_validation do
24
+ load_and_authorize_api_resource Webhooks::Outgoing::Endpoint
25
+ end
26
+
27
+ #
28
+ # INDEX
29
+ #
30
+
31
+ desc Api.title(:index), &Api.index_desc
32
+ params do
33
+ use :team_id
34
+ end
35
+ oauth2
36
+ paginate per_page: 100
37
+ get "/:team_id/webhooks/outgoing/endpoints" do
38
+ @paginated_endpoints = paginate @endpoints
39
+ render @paginated_endpoints, serializer: Api.serializer
40
+ end
41
+
42
+ #
43
+ # CREATE
44
+ #
45
+
46
+ desc Api.title(:create), &Api.create_desc
47
+ params do
48
+ use :team_id
49
+ use :endpoint
50
+ end
51
+ route_setting :api_resource_options, permission: :create
52
+ oauth2 "write"
53
+ post "/:team_id/webhooks/outgoing/endpoints" do
54
+ if @endpoint.save
55
+ render @endpoint, serializer: Api.serializer
56
+ else
57
+ record_not_saved @endpoint
58
+ end
59
+ end
60
+ end
61
+
62
+ resource "webhooks/outgoing/endpoints", desc: Api.title(:member_actions) do
63
+ after_validation do
64
+ load_and_authorize_api_resource Webhooks::Outgoing::Endpoint
65
+ end
66
+
67
+ #
68
+ # SHOW
69
+ #
70
+
71
+ desc Api.title(:show), &Api.show_desc
72
+ params do
73
+ use :id
74
+ end
75
+ oauth2
76
+ route_param :id do
77
+ get do
78
+ render @endpoint, serializer: Api.serializer
79
+ end
80
+ end
81
+
82
+ #
83
+ # UPDATE
84
+ #
85
+
86
+ desc Api.title(:update), &Api.update_desc
87
+ params do
88
+ use :id
89
+ use :endpoint
90
+ end
91
+ route_setting :api_resource_options, permission: :update
92
+ oauth2 "write"
93
+ route_param :id do
94
+ put do
95
+ if @endpoint.update(declared(params, include_missing: false))
96
+ render @endpoint, serializer: Api.serializer
97
+ else
98
+ record_not_saved @endpoint
99
+ end
100
+ end
101
+ end
102
+
103
+ #
104
+ # DESTROY
105
+ #
106
+
107
+ desc Api.title(:destroy), &Api.destroy_desc
108
+ params do
109
+ use :id
110
+ end
111
+ route_setting :api_resource_options, permission: :destroy
112
+ oauth2 "delete"
113
+ route_param :id do
114
+ delete do
115
+ render @endpoint.destroy, serializer: Api.serializer
116
+ end
117
+ end
118
+ end
119
+ end
@@ -1,7 +1,7 @@
1
1
  module BulletTrain
2
2
  module OutgoingWebhooks
3
3
  module Api
4
- VERSION = "1.0.0"
4
+ VERSION = "1.0.1"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bullet_train-outgoing_webhooks-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Culver
@@ -35,9 +35,9 @@ files:
35
35
  - README.md
36
36
  - Rakefile
37
37
  - app/assets/config/bullet_train_outgoing_webhooks_api_manifest.js
38
- - app/serializers/api/v1/webhooks/outgoing/delivery_attempt_serializer.rb
39
- - app/serializers/api/v1/webhooks/outgoing/delivery_serializer.rb
40
- - app/serializers/api/v1/webhooks/outgoing/endpoint_serializer.rb
38
+ - app/controllers/api/v1/webhooks/outgoing/deliveries_endpoint.rb
39
+ - app/controllers/api/v1/webhooks/outgoing/delivery_attempts_endpoint.rb
40
+ - app/controllers/api/v1/webhooks/outgoing/endpoints_endpoint.rb
41
41
  - config/routes.rb
42
42
  - lib/bullet_train/outgoing_webhooks/api.rb
43
43
  - lib/bullet_train/outgoing_webhooks/api/engine.rb
@@ -1,16 +0,0 @@
1
- class Api::V1::Webhooks::Outgoing::DeliveryAttemptSerializer < Api::V1::ApplicationSerializer
2
- set_type "webhooks/outgoing/delivery_attempt"
3
-
4
- attributes :id,
5
- :delivery_id,
6
- :response_code,
7
- :response_body,
8
- :response_message,
9
- :error_message,
10
- :attempt_number,
11
- # 🚅 super scaffolding will insert new fields above this line.
12
- :created_at,
13
- :updated_at
14
-
15
- belongs_to :delivery, serializer: Api::V1::Webhooks::Outgoing::DeliverySerializer
16
- end
@@ -1,14 +0,0 @@
1
- class Api::V1::Webhooks::Outgoing::DeliverySerializer < Api::V1::ApplicationSerializer
2
- set_type "webhooks/outgoing/delivery"
3
-
4
- attributes :id,
5
- :endpoint_id,
6
- :event_id,
7
- :endpoint_url,
8
- :delivered_at,
9
- # 🚅 super scaffolding will insert new fields above this line.
10
- :created_at,
11
- :updated_at
12
-
13
- belongs_to :endpoint, serializer: Api::V1::Webhooks::Outgoing::EndpointSerializer
14
- end
@@ -1,14 +0,0 @@
1
- class Api::V1::Webhooks::Outgoing::EndpointSerializer < Api::V1::ApplicationSerializer
2
- set_type "webhooks/outgoing/endpoint"
3
-
4
- attributes :id,
5
- :team_id,
6
- :name,
7
- :url,
8
- :event_type_ids,
9
- # 🚅 super scaffolding will insert new fields above this line.
10
- :created_at,
11
- :updated_at
12
-
13
- belongs_to :team, serializer: Api::V1::TeamSerializer
14
- end