bullet_train-api 1.3.9 → 1.3.10

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: 57bdc1dcce4550114b6449532a99da6a12ea97ccb03973316234ce373480466c
4
- data.tar.gz: 203cae345a6b6c69e15724a365bc71dfa0a3e4958ae8c773cd3d3e64d20b4707
3
+ metadata.gz: c1ef346d5a74b376a4577a6eb5eaf5cdaabafa3893326fbf5c8c363b4ce5f263
4
+ data.tar.gz: 00eb662b4bfe227e8ab8f0e3221823dd0dbd91a2275381ba9e112b1c76047ddd
5
5
  SHA512:
6
- metadata.gz: 12745e7a1475287db86b1bd3440ef6a9918161a3644d924b1add7c7b6188f6375817923db97128aa1f2e2fe8d16321f0b6c9f99a945d23331dcd8c01b5682a0d
7
- data.tar.gz: 8cfa646bb3c7440328a09ae59819317168b96767f876dad8705b28f7f1486b70d33d5160770947a81877add14d2d7ee459a5f1e2bf8d53e229b4110654a61e3e
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
@@ -1,5 +1,5 @@
1
1
  module BulletTrain
2
2
  module Api
3
- VERSION = "1.3.9"
3
+ VERSION = "1.3.10"
4
4
  end
5
5
  end
@@ -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.9
4
+ version: 1.3.10
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