hephaestus 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a6ea72738e1e92fb2cde19166a290573e1a4f3d51f4889c13fcfb0530998ff28
4
- data.tar.gz: 6a5980d8b598044f144feda0aae7a74cafd156349fcd7871ff1b431c21fad32c
3
+ metadata.gz: 5a51ee122f0ef70262525ad38d2c72f2ef5d88b522d83dcecb0a5f0387ff022b
4
+ data.tar.gz: 5a14c44ec5775bbceebb5d7742612168a9f294dc1d47540c6bc058a8daf818f9
5
5
  SHA512:
6
- metadata.gz: 5b901a9802f9b40d387ee9f476583e79c3e04fd8f0f324497dd27dfe67464d408cc694ce0875aefe36ab1dabed4f1e7ceff25ce5f2a672868590da1893b2099a
7
- data.tar.gz: 48c94b50e1cf0420e91c69d1c2c17e8d5d96e4aead81f43a284d6f6999f31910cf29b9b9b349998c89403839eb559705a93337288637764292e3fc5ae1f7b9c6
6
+ metadata.gz: 0a5e7f11040e4365121b47b285e8f059c1887565eaea052b00d8c041509703dc52e748dfe9d3dd6fc366a72d5c5e506744cc370805b1324103d4996c8c26bc9c
7
+ data.tar.gz: '0931cbcbffc5b40ada651d49093181906024a856d78d65ac2118ca3a6cfaf066699f6b1251db116d99cae6a3b16fa51054403a39494463338486e3a2dfa37f07'
data/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## [v0.5.2] - 13-11-2023
2
+ ## What's Changed
3
+ * Fix RAILS_ENV in fly-staging.toml by @balevine in https://github.com/yettoapp/hephaestus/pull/13
4
+ * Change dependabot checking to by @gjtorikian in https://github.com/yettoapp/hephaestus/pull/14
5
+
6
+
7
+ **Full Changelog**: https://github.com/yettoapp/hephaestus/compare/v0.5.1...v0.5.2
8
+ ## [v0.5.1] - 31-10-2023
9
+ ## What's Changed
10
+ * Remove excess :// characters from PROTOCOL by @balevine in https://github.com/yettoapp/hephaestus/pull/12
11
+
12
+ ## New Contributors
13
+ * @balevine made their first contribution in https://github.com/yettoapp/hephaestus/pull/12
14
+
15
+ **Full Changelog**: https://github.com/yettoapp/hephaestus/compare/v0.5.0...v0.5.1
1
16
  ## [v0.5.0] - 13-10-2023
2
17
  ## What's Changed
3
18
  * More edits by @gjtorikian in https://github.com/yettoapp/hephaestus/pull/11
@@ -2,7 +2,7 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Hephaestus
5
- VERSION = "0.5.1"
5
+ VERSION = "0.6.0"
6
6
  RAILS_VERSION = "~> 7.0"
7
7
  RUBY_VERSION = File
8
8
  .read("#{File.dirname(__FILE__)}/../../.ruby-version")
@@ -16,7 +16,7 @@ updates:
16
16
  - package-ecosystem: bundler
17
17
  directory: "/"
18
18
  schedule:
19
- interval: weekly
19
+ interval: monthly
20
20
  day: monday
21
21
  time: "09:00"
22
22
  timezone: "Etc/UTC"
@@ -31,7 +31,7 @@ class SettingsController < ApplicationController
31
31
  return not_acceptable
32
32
  end
33
33
 
34
- plug_installation = response.parse_json_body
34
+ plug_installation = response.parsed_json_body
35
35
  access_token = plug_installation.fetch("credentials", {}).fetch("access_token", "")
36
36
 
37
37
  if access_token.blank?
@@ -11,22 +11,11 @@ class YettoController < ApplicationController
11
11
 
12
12
  before_action :from_yetto?
13
13
 
14
- AFTER_CREATE_MESSAGE_SWITCH = JSON.parse(Rails.root.join("app/lib/plug_app/switches/message_created.jsonc").read)
15
-
16
14
  def event
17
15
  case pparam_yetto_event
18
16
  when Headers::Yetto::EVENT_AFTER_CREATE
19
17
  case pparam_yetto_record_type
20
18
  when Headers::Yetto::RECORD_TYPE_PLUG_INSTALLATION
21
- create_inbox_switch_data = {
22
- type: "create_inbox_switch",
23
- inbox: { id: bparam_inbox_id },
24
- plug_installation: { id: bparam_plug_installation_id },
25
- payload: AFTER_CREATE_MESSAGE_SWITCH,
26
- }
27
-
28
- UpdateYettoJob.perform_later(create_inbox_switch_data)
29
-
30
19
  no_content
31
20
  when Headers::Yetto::RECORD_TYPE_MESSAGE
32
21
 
@@ -10,15 +10,13 @@ class UpdateYettoJob < ApplicationJob
10
10
  def perform(params)
11
11
  type = params.delete(:type)
12
12
 
13
- inbox_id = params.fetch(:inbox, {}).fetch(:id, nil)
13
+ params.fetch(:inbox, {}).fetch(:id, nil)
14
14
  plug_installation_id = params.fetch(:plug_installation, {}).fetch(:id, nil)
15
15
  message_id = params.fetch(:message, {}).fetch(:id, nil)
16
16
 
17
17
  case type
18
18
  when "update_plug_installation"
19
19
  YettoService.update_installation(plug_installation_id, params)
20
- when "create_inbox_switch"
21
- YettoService.create_inbox_switch(inbox_id, plug_installation_id, params)
22
20
  when "create_message_reply"
23
21
  YettoService.create_message_reply(message_id, plug_installation_id, params)
24
22
  when "add_message_metadata"
@@ -101,7 +101,7 @@ module BodyParameter
101
101
  title = conversation.fetch(:title, "")
102
102
  created_by_user = message.fetch(:created_by_user, {})
103
103
  created_by_plug = message.fetch(:created_by_plug, {})
104
- author = (created_by_user.presence || created_by_plug)
104
+ author = created_by_user.presence || created_by_plug
105
105
  name = author.fetch(:name, "")
106
106
  metadata = message.fetch(:metadata, {}).to_unsafe_hash
107
107
 
@@ -34,13 +34,6 @@ class YettoService
34
34
  yetto_client.with_headers("Authorization" => "Bearer #{token}").patch("#{YETTO_API_VERSION_TLD}/installations/#{plug_installation_id}", json: plug_installation)
35
35
  end
36
36
 
37
- def create_inbox_switch(inbox_id, plug_installation_id, params)
38
- payload = params[:payload]
39
- token = perform_token_exchange(plug_installation_id)
40
-
41
- yetto_client.with_headers("Authorization" => "Bearer #{token}").post("#{YETTO_API_VERSION_TLD}/inboxes/#{inbox_id}/switches", json: payload)
42
- end
43
-
44
37
  def update_message(message_id, plug_installation_id, params)
45
38
  payload = params[:payload]
46
39
  token = perform_token_exchange(plug_installation_id)
@@ -115,24 +115,5 @@ module Webmocks
115
115
  body: {}.to_json,
116
116
  )
117
117
  end
118
-
119
- def assert_requested_create_inbox_switch(inbox_id, plug_installation_id)
120
- assert_requested_post_access_token(plug_installation_id)
121
- assert_requested(:post, "#{::YettoService::YETTO_API_VERSION_TLD}/inboxes/#{inbox_id}/switches")
122
- end
123
-
124
- def stub_create_inbox_switch(inbox_id, plug_installation_id, payload)
125
- stub_post_access_token(plug_installation_id)
126
-
127
- stub_request(:post, "#{::YettoService::YETTO_API_VERSION_TLD}/inboxes/#{inbox_id}/switches")
128
- .with(
129
- body: payload,
130
- )
131
- .to_return(
132
- status: 200,
133
- headers: { content_type: "application/json; charset=utf-8" },
134
- body: {}.to_json,
135
- )
136
- end
137
118
  end
138
119
  end
@@ -2,7 +2,7 @@ app = "plug-app-staging"
2
2
  primary_region = "iad"
3
3
 
4
4
  [env]
5
- RAILS_ENV = "plug-app-staging"
5
+ RAILS_ENV = "staging"
6
6
  LD_PRELOAD_PATH = "/usr/lib/x86_64-linux-gnu/libjemalloc.so.2"
7
7
 
8
8
  [processes]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hephaestus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garen Torikian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-31 00:00:00.000000000 Z
11
+ date: 2023-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -171,7 +171,6 @@ files:
171
171
  - templates/app/lib/plug_app/middleware/not_found.rb
172
172
  - templates/app/lib/plug_app/middleware/openapi_validation.rb
173
173
  - templates/app/lib/plug_app/middleware/tracing_attributes.rb
174
- - templates/app/lib/plug_app/switches/message_created.jsonc
175
174
  - templates/app/lib/query_parameter.rb
176
175
  - templates/app/serializers/error_serializer.rb
177
176
  - templates/app/services/http_service.rb
@@ -251,7 +250,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
251
250
  - !ruby/object:Gem::Version
252
251
  version: 3.4.7
253
252
  requirements: []
254
- rubygems_version: 3.4.21
253
+ rubygems_version: 3.5.1
255
254
  signing_key:
256
255
  specification_version: 4
257
256
  summary: Generate a Rails app that can be used to create plugs for Yetto.
@@ -1,25 +0,0 @@
1
- {
2
- "name": "Send internal comments to App",
3
- "configuration": {
4
- "version": "2023-03-06",
5
- "events": {
6
- "message.created": {
7
- "conditions": {
8
- "if": "{% data.message.visibility == 'internal' and data.message.text_content contains '@App' %}"
9
- },
10
- "actions": [
11
- {
12
- "name": "Send to App",
13
- "uses": "send_to_plug",
14
- "with": {
15
- "plug_id": "{{ data.switch.created_by_plug.id }}",
16
- "message": "{{ data.message }}",
17
- "plug_installation": "{{ data.plug_installation }}",
18
- "inbox": "{{ data.inbox }}"
19
- }
20
- }
21
- ]
22
- }
23
- }
24
- }
25
- }