bullet_train-api 1.3.9 → 1.3.11
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 +5 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51746c1a3b84cf591581ecb49d4ae9894066ffbe242c9542e812dfbc8942ea6a
|
4
|
+
data.tar.gz: 3f1d5dafff1340d8c688d65d3f50322b9e9737b251b6171dd1ff9529a7b968f1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 30c8f67f96ce8375e889e3ad9826d5bbc86869b9fb2d64ac50cced67b6c80a8aa404bc9738bbab22a461c09229b0a5e08fce105a77d0fc8a2eca7d067bdefba3
|
7
|
+
data.tar.gz: 3ee4761dd3c33bde4747e1eb6fd55983a61acffbb74db7ddf656df578c1a5c79d0f783b5e4b4e9872e00eba4f70ae05c7bc5eaf6fc5723aa476c255c60c5d789
|
@@ -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,7 +1,7 @@
|
|
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.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Culver
|
@@ -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
|