bullet_train-api 1.3.8 → 1.3.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/concerns/api/v1/memberships/controller_base.rb +62 -0
- data/app/views/api/v1/memberships/index.json.jbuilder +1 -0
- data/app/views/api/v1/memberships/show.json.jbuilder +1 -0
- data/lib/bullet_train/api/attributes.rb +18 -0
- data/lib/bullet_train/api/version.rb +1 -1
- data/lib/bullet_train/api.rb +1 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c1ef346d5a74b376a4577a6eb5eaf5cdaabafa3893326fbf5c8c363b4ce5f263
|
4
|
+
data.tar.gz: 00eb662b4bfe227e8ab8f0e3221823dd0dbd91a2275381ba9e112b1c76047ddd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c70d762f574740b3324ac7052bd743c2369b9258389a31523a79a5b875ad32f987502ec3857594bd7661a038426c96df6c5ac91e93c42d23e67a8a154a041452
|
7
|
+
data.tar.gz: 1f6ad6b6d969726aec2254cbe2c3857e41a8e9d465a047d34196936a1c6be1a0005ffb5e4efccd4dc58aa1ccd45796d19db8f72380dbde4496e3cb2486354b44
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module Api::V1::Memberships::ControllerBase
|
2
|
+
extend ActiveSupport::Concern
|
3
|
+
|
4
|
+
module StrongParameters
|
5
|
+
# Only allow a list of trusted parameters through.
|
6
|
+
def membership_params
|
7
|
+
strong_params = params.require(:membership).permit(
|
8
|
+
*permitted_fields,
|
9
|
+
:user_first_name,
|
10
|
+
:user_last_name,
|
11
|
+
# 🚅 super scaffolding will insert new fields above this line.
|
12
|
+
*permitted_arrays,
|
13
|
+
# 🚅 super scaffolding will insert new arrays above this line
|
14
|
+
)
|
15
|
+
|
16
|
+
process_params(strong_params)
|
17
|
+
|
18
|
+
strong_params
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
included do
|
23
|
+
load_and_authorize_resource :membership, class: "Membership", prepend: true,
|
24
|
+
member_actions: (defined?(MEMBER_ACTIONS) ? MEMBER_ACTIONS : []),
|
25
|
+
collection_actions: (defined?(COLLECTION_ACTIONS) ? COLLECTION_ACTIONS : [])
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
include StrongParameters
|
30
|
+
end
|
31
|
+
|
32
|
+
# GET /api/v1/teams/:team_id/memberships
|
33
|
+
def index
|
34
|
+
end
|
35
|
+
|
36
|
+
# GET /api/v1/memberships/:id
|
37
|
+
def show
|
38
|
+
end
|
39
|
+
|
40
|
+
# POST /api/v1/teams/:team_id/memberships
|
41
|
+
def create
|
42
|
+
if @membership.save
|
43
|
+
render :show, status: :created, location: [:api, :v1, @membership]
|
44
|
+
else
|
45
|
+
render json: @membership.errors, status: :unprocessable_entity
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# PUT /api/v1/memberships/:id
|
50
|
+
def update
|
51
|
+
if @membership.update(membership_params)
|
52
|
+
render :show
|
53
|
+
else
|
54
|
+
render json: @membership.errors, status: :unprocessable_entity
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
# DELETE /api/v1/memberships/:id
|
59
|
+
def destroy
|
60
|
+
@membership.destroy
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
json.array! @memberships, partial: "api/v1/memberships/membership", as: :membership
|
@@ -0,0 +1 @@
|
|
1
|
+
json.partial! "api/v1/memberships/membership", membership: @membership
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module BulletTrain
|
2
|
+
module Api
|
3
|
+
module Attributes
|
4
|
+
# We default this to the current version of the API, but developers can request a specific version.
|
5
|
+
def api_attributes(api_version = BulletTrain::Api.current_version_numeric)
|
6
|
+
controller = "Api::V#{api_version}::ApplicationController".constantize.new
|
7
|
+
# TODO We need to fix host names here.
|
8
|
+
controller.request = ActionDispatch::Request.new({})
|
9
|
+
local_class_key = self.class.name.underscore.split("/").last.to_sym
|
10
|
+
|
11
|
+
# Returns a hash, not string.
|
12
|
+
JbuilderTemplate.new(controller.view_context) do |json|
|
13
|
+
json.partial! "api/#{BulletTrain::Api.current_version}/#{self.class.name.underscore.pluralize}/#{local_class_key}", local_class_key => self
|
14
|
+
end.attributes!
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/bullet_train/api.rb
CHANGED
@@ -2,6 +2,7 @@ require "bullet_train/api/version"
|
|
2
2
|
require "bullet_train/api/engine"
|
3
3
|
require "bullet_train/api/strong_parameters_reporter"
|
4
4
|
require "bullet_train/api/example_bot"
|
5
|
+
require "bullet_train/api/attributes"
|
5
6
|
require "bullet_train/platform/connection_workflow"
|
6
7
|
|
7
8
|
# require "wine_bouncer"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bullet_train-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Culver
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-08-
|
11
|
+
date: 2023-08-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: standard
|
@@ -153,6 +153,7 @@ files:
|
|
153
153
|
- app/controllers/api/open_api_controller.rb
|
154
154
|
- app/controllers/api/v1/platform/access_tokens_controller.rb
|
155
155
|
- app/controllers/concerns/api/controllers/base.rb
|
156
|
+
- app/controllers/concerns/api/v1/memberships/controller_base.rb
|
156
157
|
- app/controllers/concerns/api/v1/teams/controller_base.rb
|
157
158
|
- app/controllers/concerns/api/v1/users/controller_base.rb
|
158
159
|
- app/helpers/api/open_api_helper.rb
|
@@ -175,6 +176,8 @@ files:
|
|
175
176
|
- app/views/account/platform/applications/new.html.erb
|
176
177
|
- app/views/account/platform/applications/show.html.erb
|
177
178
|
- app/views/account/platform/connections/new.html.erb
|
179
|
+
- app/views/api/v1/memberships/index.json.jbuilder
|
180
|
+
- app/views/api/v1/memberships/show.json.jbuilder
|
178
181
|
- app/views/api/v1/open_api/shared/_paths.yaml.erb
|
179
182
|
- app/views/api/v1/open_api/teams/_paths.yaml.erb
|
180
183
|
- app/views/api/v1/open_api/users/_paths.yaml.erb
|
@@ -202,6 +205,7 @@ files:
|
|
202
205
|
- config/locales/en/platform/connections.en.yml
|
203
206
|
- config/routes.rb
|
204
207
|
- lib/bullet_train/api.rb
|
208
|
+
- lib/bullet_train/api/attributes.rb
|
205
209
|
- lib/bullet_train/api/engine.rb
|
206
210
|
- lib/bullet_train/api/example_bot.rb
|
207
211
|
- lib/bullet_train/api/strong_parameters_reporter.rb
|