houston-core 0.9.1 → 0.9.2
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 +4 -4
- data/app/controllers/api_tokens_controller.rb +63 -0
- data/app/controllers/application_controller.rb +18 -0
- data/app/models/api_token.rb +18 -0
- data/app/models/persistent_trigger.rb +8 -4
- data/app/models/user.rb +1 -0
- data/app/views/actions/_actions.html.erb +2 -0
- data/app/views/actions/index.html.erb +1 -1
- data/app/views/actions/show.html.erb +2 -0
- data/app/views/api_tokens/_form.html.erb +51 -0
- data/app/views/api_tokens/edit.html.erb +7 -0
- data/app/views/api_tokens/index.html.erb +44 -0
- data/app/views/api_tokens/new.html.erb +7 -0
- data/app/views/errors/index.html.erb +2 -0
- data/app/views/layouts/_navigation.html.erb +2 -0
- data/config/routes.rb +12 -0
- data/db/migrate/20181102202848_create_api_tokens.rb +11 -0
- data/db/structure.sql +169 -100
- data/lib/houston/boot/triggers.rb +4 -0
- data/lib/houston/version.rb +1 -1
- metadata +9 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b40de6cc11ff71d0ad16e3711163e58834ae5abd
|
4
|
+
data.tar.gz: 5063b0c6c7f5b5d5acc6a2e55d4d64a4127c5f67
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 896255148b8824ed70c17dfd7fa9a43422667b53f8a909cc023f4afbca1f75c5871bc3e2494e0f32ee9078962719c73438f6839b209b077b86eefa65dbd23435
|
7
|
+
data.tar.gz: f618a5f488697b353a8c410079b4a6d974620b5d2da75d73d4f3d2f73a18320d75ec93161852186ed1c3a066aaaff87e7b516a2081dd3cc9c6b898736ed56c04
|
@@ -0,0 +1,63 @@
|
|
1
|
+
class ApiTokensController < ApplicationController
|
2
|
+
before_action :authenticate_user!
|
3
|
+
before_action :find_api_token, only: [:edit, :update, :destroy]
|
4
|
+
|
5
|
+
def index
|
6
|
+
@title = "API Tokens"
|
7
|
+
authorize! :read, :all_api_tokens
|
8
|
+
@api_tokens = ApiToken.all.preload(:user)
|
9
|
+
end
|
10
|
+
|
11
|
+
def mine
|
12
|
+
@title = "My API Tokens"
|
13
|
+
authorize! :create, ApiToken
|
14
|
+
@api_tokens = current_user.api_tokens
|
15
|
+
render action: :index
|
16
|
+
end
|
17
|
+
|
18
|
+
def new
|
19
|
+
@title = "New API Token"
|
20
|
+
authorize! :create, ApiToken
|
21
|
+
@api_token = ApiToken.new
|
22
|
+
end
|
23
|
+
|
24
|
+
def create
|
25
|
+
@api_token = current_user.api_tokens.build(params.require(:api_token).permit(:name))
|
26
|
+
authorize! :create, @api_token
|
27
|
+
|
28
|
+
if @api_token.save
|
29
|
+
redirect_to edit_api_token_path(@api_token)
|
30
|
+
else
|
31
|
+
render action: :new, error: @api_token.errors.full_messages.to_sentence
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def edit
|
36
|
+
@title = "Edit API Token"
|
37
|
+
authorize! :update, @api_token
|
38
|
+
end
|
39
|
+
|
40
|
+
def update
|
41
|
+
authorize! :update, @api_token
|
42
|
+
|
43
|
+
if @api_token.update_attributes(params.require(:api_token).permit(:name))
|
44
|
+
redirect_to my_api_tokens_path
|
45
|
+
else
|
46
|
+
render action: :new
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def destroy
|
51
|
+
authorize! :destroy, @api_token
|
52
|
+
|
53
|
+
@api_token.destroy
|
54
|
+
redirect_to my_api_tokens_path, notice: "Deleted API Token \"#{@api_token.name}\""
|
55
|
+
end
|
56
|
+
|
57
|
+
private
|
58
|
+
|
59
|
+
def find_api_token
|
60
|
+
@api_token = ApiToken.find(params[:id])
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
@@ -5,6 +5,7 @@ class ApplicationController < ActionController::Base
|
|
5
5
|
# For APIs, you may want to use :null_session instead.
|
6
6
|
protect_from_forgery with: :exception
|
7
7
|
|
8
|
+
before_action :token_authenticate!
|
8
9
|
around_action :with_current_project
|
9
10
|
|
10
11
|
|
@@ -84,6 +85,23 @@ class ApplicationController < ActionController::Base
|
|
84
85
|
|
85
86
|
|
86
87
|
|
88
|
+
def token_authenticate!
|
89
|
+
return if current_user
|
90
|
+
|
91
|
+
token = request.authorization[/\ABearer (.*)\z/, 1] if request.authorization
|
92
|
+
user = User.joins(:api_tokens).find_by(api_tokens: { value: token }) if token
|
93
|
+
return unless user
|
94
|
+
|
95
|
+
@current_user = user
|
96
|
+
@authenticated_via_token = true
|
97
|
+
end
|
98
|
+
|
99
|
+
def authenticated_via_token?
|
100
|
+
@authenticated_via_token == true
|
101
|
+
end
|
102
|
+
|
103
|
+
|
104
|
+
|
87
105
|
def api_authenticate!
|
88
106
|
return if current_user
|
89
107
|
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class ApiToken < ActiveRecord::Base
|
2
|
+
has_secure_token :value
|
3
|
+
|
4
|
+
belongs_to :user
|
5
|
+
|
6
|
+
validates :user_id, :name, :value, presence: true
|
7
|
+
|
8
|
+
before_validation :generate_value, on: :create
|
9
|
+
|
10
|
+
attr_readonly :user_id
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def generate_value
|
15
|
+
self.value = ApiToken.generate_unique_secure_token
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -36,13 +36,13 @@ class PersistentTrigger < ActiveRecord::Base
|
|
36
36
|
|
37
37
|
|
38
38
|
def register!
|
39
|
-
|
40
|
-
Houston.config.triggers.
|
39
|
+
return if registered_trigger
|
40
|
+
@registered_trigger = Houston.config.triggers.create(type, value, action, params.merge(trigger: self), persistent_trigger_id: id)
|
41
41
|
end
|
42
42
|
|
43
43
|
def unregister!
|
44
|
-
|
45
|
-
Houston.config.triggers.delete(
|
44
|
+
return unless registered_trigger
|
45
|
+
Houston.config.triggers.delete(registered_trigger)
|
46
46
|
end
|
47
47
|
|
48
48
|
|
@@ -53,4 +53,8 @@ private
|
|
53
53
|
errors.add :action, "#{action.inspect} is not defined"
|
54
54
|
end
|
55
55
|
|
56
|
+
def registered_trigger
|
57
|
+
@registered_trigger ||= Houston.config.triggers.detect { |trigger| trigger.persistent_trigger_id == id }
|
58
|
+
end
|
59
|
+
|
56
60
|
end
|
data/app/models/user.rb
CHANGED
@@ -6,6 +6,7 @@ class User < ActiveRecord::Base
|
|
6
6
|
|
7
7
|
has_many :roles, class_name: "TeamUser", dependent: :destroy
|
8
8
|
has_and_belongs_to_many :teams
|
9
|
+
has_many :api_tokens, dependent: :destroy
|
9
10
|
has_many :authorizations, dependent: :destroy
|
10
11
|
has_many :triggers, class_name: "PersistentTrigger", dependent: :destroy
|
11
12
|
has_and_belongs_to_many :followed_projects, -> { unretired }, join_table: "follows", class_name: "Project"
|
@@ -17,7 +17,9 @@
|
|
17
17
|
<%= action.error.message %>
|
18
18
|
<% end %>
|
19
19
|
</td>
|
20
|
+
<% if can?(:run, Action) %>
|
20
21
|
<td class="action-retry"><%= button_to "Retry", retry_action_path(action), class: "btn-retry btn btn-mini btn-default" %></td>
|
22
|
+
<% end %>
|
21
23
|
<td class="table-margin"></td>
|
22
24
|
</tr>
|
23
25
|
<% end %>
|
@@ -48,7 +48,7 @@
|
|
48
48
|
<td class="action-duration" data-position="0">—</td>
|
49
49
|
<% end %>
|
50
50
|
<td class="action-run-now">
|
51
|
-
<% if action[:required_params].empty? %>
|
51
|
+
<% if action[:required_params].empty? && can?(:run, Action) %>
|
52
52
|
<%= button_to "Run now", run_action_path(slug: action[:name]), :class => "btn btn-default" %>
|
53
53
|
<% end %>
|
54
54
|
</td>
|
@@ -19,7 +19,9 @@
|
|
19
19
|
<th class="action-params">Params</th>
|
20
20
|
<th class="action-succeeded">Succeeded</th>
|
21
21
|
<th class="action-exception">Exception</th>
|
22
|
+
<% if can?(:run, Action) %>
|
22
23
|
<th class="action-retry">Retry</th>
|
24
|
+
<% end %>
|
23
25
|
<td class="table-margin"></td>
|
24
26
|
</tr>
|
25
27
|
</thead>
|
@@ -0,0 +1,51 @@
|
|
1
|
+
<%= form_for @api_token, html: {class: "form-horizontal"} do |f| %>
|
2
|
+
<fieldset>
|
3
|
+
<div class="control-group">
|
4
|
+
<%= f.label :name, class: "control-label" %>
|
5
|
+
<div class="controls">
|
6
|
+
<%= f.text_field :name, class: "text_field" %>
|
7
|
+
</div>
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<% if @api_token.persisted? %>
|
11
|
+
<div class="control-group">
|
12
|
+
<%= f.label :value, class: "control-label" %>
|
13
|
+
<div class="controls">
|
14
|
+
<%= f.text_field :value, class: "text_field", readonly: true %>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
<% end %>
|
18
|
+
</fieldset>
|
19
|
+
|
20
|
+
<div class="form-actions">
|
21
|
+
<%= f.submit nil, class: "btn btn-primary" %>
|
22
|
+
<%= link_to "Cancel", my_api_tokens_path, class: "btn" %>
|
23
|
+
|
24
|
+
<% if @api_token.persisted? && can?(:destroy, @api_token) %>
|
25
|
+
<button class="btn btn-delete btn-danger" id="delete_api_token_button">Delete</button>
|
26
|
+
<% end %>
|
27
|
+
</div>
|
28
|
+
<% end %>
|
29
|
+
|
30
|
+
<% content_for :javascripts do %>
|
31
|
+
<script type="text/javascript">
|
32
|
+
$(function() {
|
33
|
+
<% if @api_token.persisted? && can?(:destroy, @api_token) %>
|
34
|
+
$('#delete_api_token_button').click(function(e) {
|
35
|
+
e.preventDefault();
|
36
|
+
App.confirmDelete({
|
37
|
+
resource: 'API Token',
|
38
|
+
message: 'This will delete the API Token "<%= @api_token.name %>".',
|
39
|
+
url: <%=raw api_token_path(@api_token).to_json %>
|
40
|
+
});
|
41
|
+
});
|
42
|
+
<% end %>
|
43
|
+
|
44
|
+
<% if @api_token.persisted? %>
|
45
|
+
$('#api_token_value').select();
|
46
|
+
<% else %>
|
47
|
+
$('#api_token_name').select();
|
48
|
+
<% end %>
|
49
|
+
});
|
50
|
+
</script>
|
51
|
+
<% end %>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
<% content_for :title do %>
|
2
|
+
<h1 class="project-banner space-below">
|
3
|
+
<%= @title %>
|
4
|
+
|
5
|
+
<%= link_to "New API Token", new_api_token_path, class: "btn btn-primary" if can?(:create, ApiToken) %>
|
6
|
+
</h1>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<div class="nomargin">
|
10
|
+
<table id="api_tokens" class="table table-sortable table-striped">
|
11
|
+
<thead>
|
12
|
+
<tr>
|
13
|
+
<td class="table-margin"></td>
|
14
|
+
<td class="user-avatar"></td>
|
15
|
+
<th class="user-name sort-desc">User</th>
|
16
|
+
<th class="api-token-name">Name</th>
|
17
|
+
<td class="table-margin"></td>
|
18
|
+
</tr>
|
19
|
+
</thead>
|
20
|
+
<tbody>
|
21
|
+
<% @api_tokens.each do |api_token| %>
|
22
|
+
<tr class="api_token">
|
23
|
+
<td class="table-margin"></td>
|
24
|
+
<td class="user-avatar"><%= avatar_for(api_token.user, size: 32) %></td>
|
25
|
+
<td class="user-name">
|
26
|
+
<span class="first-name"><%= api_token.user.first_name %></span>
|
27
|
+
<span class="last-name"><%= api_token.user.last_name %></span>
|
28
|
+
</td>
|
29
|
+
<td class="api-token-name"><%= link_to api_token.name, edit_api_token_path(api_token) %></td>
|
30
|
+
<td class="table-margin"></td>
|
31
|
+
</tr>
|
32
|
+
<% end %>
|
33
|
+
</tbody>
|
34
|
+
</table>
|
35
|
+
</div>
|
36
|
+
|
37
|
+
|
38
|
+
<% content_for :javascripts do %>
|
39
|
+
<script type="text/javascript">
|
40
|
+
$(function() {
|
41
|
+
$('#api_tokens').tablesorter();
|
42
|
+
});
|
43
|
+
</script>
|
44
|
+
<% end %>
|
@@ -18,7 +18,9 @@
|
|
18
18
|
<th class="action-params">Params</th>
|
19
19
|
<td class="action-succeeded"></td>
|
20
20
|
<th class="action-exception">Exception</th>
|
21
|
+
<% if can?(:run, Action) %>
|
21
22
|
<th class="action-retry">Retry</th>
|
23
|
+
<% end %>
|
22
24
|
<td class="table-margin"></td>
|
23
25
|
</tr>
|
24
26
|
</thead>
|
@@ -29,6 +29,7 @@
|
|
29
29
|
<% if can?(:read, :all_authorizations) %>
|
30
30
|
<li class="divider"></li>
|
31
31
|
<li><%= link_to "Authorizations", main_app.authorizations_path %></li>
|
32
|
+
<li><%= link_to "API Tokens", main_app.api_tokens_path %></li>
|
32
33
|
<% end %>
|
33
34
|
<% end %>
|
34
35
|
</ul>
|
@@ -43,6 +44,7 @@
|
|
43
44
|
<% if can?(:create, Authorization) %>
|
44
45
|
<li class="divider"></li>
|
45
46
|
<li><%= link_to "My Authorizations", main_app.my_authorizations_path %></li>
|
47
|
+
<li><%= link_to "My API Tokens", main_app.my_api_tokens_path %></li>
|
46
48
|
<% end %>
|
47
49
|
<li class="divider"></li>
|
48
50
|
<li><%= link_to "Sign out", main_app.destroy_user_session_path %></li>
|
data/config/routes.rb
CHANGED
@@ -76,6 +76,18 @@ Rails.application.routes.draw do
|
|
76
76
|
|
77
77
|
|
78
78
|
|
79
|
+
# API Tokens
|
80
|
+
|
81
|
+
get "api_tokens" => "api_tokens#index", as: :api_tokens
|
82
|
+
get "my/api_tokens" => "api_tokens#mine", as: :my_api_tokens
|
83
|
+
get "api_tokens/new" => "api_tokens#new", as: :new_api_token
|
84
|
+
post "api_tokens" => "api_tokens#create"
|
85
|
+
get "api_tokens/:id/edit" => "api_tokens#edit", as: :edit_api_token
|
86
|
+
patch "api_tokens/:id" => "api_tokens#update", as: :api_token
|
87
|
+
delete "api_tokens/:id" => "api_tokens#destroy"
|
88
|
+
|
89
|
+
|
90
|
+
|
79
91
|
# Actions
|
80
92
|
|
81
93
|
get "actions", to: "actions#index", as: :actions
|
data/db/structure.sql
CHANGED
@@ -2,14 +2,15 @@
|
|
2
2
|
-- PostgreSQL database dump
|
3
3
|
--
|
4
4
|
|
5
|
-
-- Dumped from database version
|
6
|
-
-- Dumped by pg_dump version
|
5
|
+
-- Dumped from database version 10.5
|
6
|
+
-- Dumped by pg_dump version 10.5
|
7
7
|
|
8
8
|
SET statement_timeout = 0;
|
9
9
|
SET lock_timeout = 0;
|
10
10
|
SET idle_in_transaction_session_timeout = 0;
|
11
11
|
SET client_encoding = 'UTF8';
|
12
12
|
SET standard_conforming_strings = on;
|
13
|
+
SELECT pg_catalog.set_config('search_path', '', false);
|
13
14
|
SET check_function_bodies = false;
|
14
15
|
SET client_min_messages = warning;
|
15
16
|
SET row_security = off;
|
@@ -28,8 +29,6 @@ CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
|
|
28
29
|
COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
|
29
30
|
|
30
31
|
|
31
|
-
SET search_path = public, pg_catalog;
|
32
|
-
|
33
32
|
SET default_tablespace = '';
|
34
33
|
|
35
34
|
SET default_with_oids = false;
|
@@ -38,7 +37,7 @@ SET default_with_oids = false;
|
|
38
37
|
-- Name: actions; Type: TABLE; Schema: public; Owner: -
|
39
38
|
--
|
40
39
|
|
41
|
-
CREATE TABLE actions (
|
40
|
+
CREATE TABLE public.actions (
|
42
41
|
id integer NOT NULL,
|
43
42
|
name character varying NOT NULL,
|
44
43
|
started_at timestamp without time zone,
|
@@ -55,7 +54,7 @@ CREATE TABLE actions (
|
|
55
54
|
-- Name: actions_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
56
55
|
--
|
57
56
|
|
58
|
-
CREATE SEQUENCE actions_id_seq
|
57
|
+
CREATE SEQUENCE public.actions_id_seq
|
59
58
|
START WITH 1
|
60
59
|
INCREMENT BY 1
|
61
60
|
NO MINVALUE
|
@@ -67,14 +66,46 @@ CREATE SEQUENCE actions_id_seq
|
|
67
66
|
-- Name: actions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
68
67
|
--
|
69
68
|
|
70
|
-
ALTER SEQUENCE actions_id_seq OWNED BY actions.id;
|
69
|
+
ALTER SEQUENCE public.actions_id_seq OWNED BY public.actions.id;
|
70
|
+
|
71
|
+
|
72
|
+
--
|
73
|
+
-- Name: api_tokens; Type: TABLE; Schema: public; Owner: -
|
74
|
+
--
|
75
|
+
|
76
|
+
CREATE TABLE public.api_tokens (
|
77
|
+
id integer NOT NULL,
|
78
|
+
name character varying NOT NULL,
|
79
|
+
user_id integer NOT NULL,
|
80
|
+
value character varying NOT NULL
|
81
|
+
);
|
82
|
+
|
83
|
+
|
84
|
+
--
|
85
|
+
-- Name: api_tokens_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
86
|
+
--
|
87
|
+
|
88
|
+
CREATE SEQUENCE public.api_tokens_id_seq
|
89
|
+
AS integer
|
90
|
+
START WITH 1
|
91
|
+
INCREMENT BY 1
|
92
|
+
NO MINVALUE
|
93
|
+
NO MAXVALUE
|
94
|
+
CACHE 1;
|
95
|
+
|
96
|
+
|
97
|
+
--
|
98
|
+
-- Name: api_tokens_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
99
|
+
--
|
100
|
+
|
101
|
+
ALTER SEQUENCE public.api_tokens_id_seq OWNED BY public.api_tokens.id;
|
71
102
|
|
72
103
|
|
73
104
|
--
|
74
105
|
-- Name: ar_internal_metadata; Type: TABLE; Schema: public; Owner: -
|
75
106
|
--
|
76
107
|
|
77
|
-
CREATE TABLE ar_internal_metadata (
|
108
|
+
CREATE TABLE public.ar_internal_metadata (
|
78
109
|
key character varying NOT NULL,
|
79
110
|
value character varying,
|
80
111
|
created_at timestamp without time zone NOT NULL,
|
@@ -86,7 +117,7 @@ CREATE TABLE ar_internal_metadata (
|
|
86
117
|
-- Name: authorizations; Type: TABLE; Schema: public; Owner: -
|
87
118
|
--
|
88
119
|
|
89
|
-
CREATE TABLE authorizations (
|
120
|
+
CREATE TABLE public.authorizations (
|
90
121
|
id integer NOT NULL,
|
91
122
|
scope character varying,
|
92
123
|
access_token character varying,
|
@@ -106,7 +137,7 @@ CREATE TABLE authorizations (
|
|
106
137
|
-- Name: authorizations_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
107
138
|
--
|
108
139
|
|
109
|
-
CREATE SEQUENCE authorizations_id_seq
|
140
|
+
CREATE SEQUENCE public.authorizations_id_seq
|
110
141
|
START WITH 1
|
111
142
|
INCREMENT BY 1
|
112
143
|
NO MINVALUE
|
@@ -118,14 +149,14 @@ CREATE SEQUENCE authorizations_id_seq
|
|
118
149
|
-- Name: authorizations_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
119
150
|
--
|
120
151
|
|
121
|
-
ALTER SEQUENCE authorizations_id_seq OWNED BY authorizations.id;
|
152
|
+
ALTER SEQUENCE public.authorizations_id_seq OWNED BY public.authorizations.id;
|
122
153
|
|
123
154
|
|
124
155
|
--
|
125
156
|
-- Name: errors; Type: TABLE; Schema: public; Owner: -
|
126
157
|
--
|
127
158
|
|
128
|
-
CREATE TABLE errors (
|
159
|
+
CREATE TABLE public.errors (
|
129
160
|
id integer NOT NULL,
|
130
161
|
sha character varying NOT NULL,
|
131
162
|
message text NOT NULL,
|
@@ -140,7 +171,7 @@ CREATE TABLE errors (
|
|
140
171
|
-- Name: errors_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
141
172
|
--
|
142
173
|
|
143
|
-
CREATE SEQUENCE errors_id_seq
|
174
|
+
CREATE SEQUENCE public.errors_id_seq
|
144
175
|
START WITH 1
|
145
176
|
INCREMENT BY 1
|
146
177
|
NO MINVALUE
|
@@ -152,14 +183,14 @@ CREATE SEQUENCE errors_id_seq
|
|
152
183
|
-- Name: errors_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
153
184
|
--
|
154
185
|
|
155
|
-
ALTER SEQUENCE errors_id_seq OWNED BY errors.id;
|
186
|
+
ALTER SEQUENCE public.errors_id_seq OWNED BY public.errors.id;
|
156
187
|
|
157
188
|
|
158
189
|
--
|
159
190
|
-- Name: follows; Type: TABLE; Schema: public; Owner: -
|
160
191
|
--
|
161
192
|
|
162
|
-
CREATE TABLE follows (
|
193
|
+
CREATE TABLE public.follows (
|
163
194
|
id integer NOT NULL,
|
164
195
|
user_id integer,
|
165
196
|
project_id integer
|
@@ -170,7 +201,7 @@ CREATE TABLE follows (
|
|
170
201
|
-- Name: follows_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
171
202
|
--
|
172
203
|
|
173
|
-
CREATE SEQUENCE follows_id_seq
|
204
|
+
CREATE SEQUENCE public.follows_id_seq
|
174
205
|
START WITH 1
|
175
206
|
INCREMENT BY 1
|
176
207
|
NO MINVALUE
|
@@ -182,14 +213,14 @@ CREATE SEQUENCE follows_id_seq
|
|
182
213
|
-- Name: follows_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
183
214
|
--
|
184
215
|
|
185
|
-
ALTER SEQUENCE follows_id_seq OWNED BY follows.id;
|
216
|
+
ALTER SEQUENCE public.follows_id_seq OWNED BY public.follows.id;
|
186
217
|
|
187
218
|
|
188
219
|
--
|
189
220
|
-- Name: measurements; Type: TABLE; Schema: public; Owner: -
|
190
221
|
--
|
191
222
|
|
192
|
-
CREATE TABLE measurements (
|
223
|
+
CREATE TABLE public.measurements (
|
193
224
|
id integer NOT NULL,
|
194
225
|
subject_type character varying,
|
195
226
|
subject_id integer,
|
@@ -206,7 +237,7 @@ CREATE TABLE measurements (
|
|
206
237
|
-- Name: measurements_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
207
238
|
--
|
208
239
|
|
209
|
-
CREATE SEQUENCE measurements_id_seq
|
240
|
+
CREATE SEQUENCE public.measurements_id_seq
|
210
241
|
START WITH 1
|
211
242
|
INCREMENT BY 1
|
212
243
|
NO MINVALUE
|
@@ -218,14 +249,14 @@ CREATE SEQUENCE measurements_id_seq
|
|
218
249
|
-- Name: measurements_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
219
250
|
--
|
220
251
|
|
221
|
-
ALTER SEQUENCE measurements_id_seq OWNED BY measurements.id;
|
252
|
+
ALTER SEQUENCE public.measurements_id_seq OWNED BY public.measurements.id;
|
222
253
|
|
223
254
|
|
224
255
|
--
|
225
256
|
-- Name: persistent_triggers; Type: TABLE; Schema: public; Owner: -
|
226
257
|
--
|
227
258
|
|
228
|
-
CREATE TABLE persistent_triggers (
|
259
|
+
CREATE TABLE public.persistent_triggers (
|
229
260
|
id integer NOT NULL,
|
230
261
|
type character varying NOT NULL,
|
231
262
|
value text NOT NULL,
|
@@ -239,7 +270,7 @@ CREATE TABLE persistent_triggers (
|
|
239
270
|
-- Name: persistent_triggers_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
240
271
|
--
|
241
272
|
|
242
|
-
CREATE SEQUENCE persistent_triggers_id_seq
|
273
|
+
CREATE SEQUENCE public.persistent_triggers_id_seq
|
243
274
|
START WITH 1
|
244
275
|
INCREMENT BY 1
|
245
276
|
NO MINVALUE
|
@@ -251,14 +282,14 @@ CREATE SEQUENCE persistent_triggers_id_seq
|
|
251
282
|
-- Name: persistent_triggers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
252
283
|
--
|
253
284
|
|
254
|
-
ALTER SEQUENCE persistent_triggers_id_seq OWNED BY persistent_triggers.id;
|
285
|
+
ALTER SEQUENCE public.persistent_triggers_id_seq OWNED BY public.persistent_triggers.id;
|
255
286
|
|
256
287
|
|
257
288
|
--
|
258
289
|
-- Name: projects; Type: TABLE; Schema: public; Owner: -
|
259
290
|
--
|
260
291
|
|
261
|
-
CREATE TABLE projects (
|
292
|
+
CREATE TABLE public.projects (
|
262
293
|
id integer NOT NULL,
|
263
294
|
name character varying NOT NULL,
|
264
295
|
slug character varying NOT NULL,
|
@@ -284,7 +315,7 @@ CREATE TABLE projects (
|
|
284
315
|
-- Name: projects_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
285
316
|
--
|
286
317
|
|
287
|
-
CREATE SEQUENCE projects_id_seq
|
318
|
+
CREATE SEQUENCE public.projects_id_seq
|
288
319
|
START WITH 1
|
289
320
|
INCREMENT BY 1
|
290
321
|
NO MINVALUE
|
@@ -296,14 +327,14 @@ CREATE SEQUENCE projects_id_seq
|
|
296
327
|
-- Name: projects_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
297
328
|
--
|
298
329
|
|
299
|
-
ALTER SEQUENCE projects_id_seq OWNED BY projects.id;
|
330
|
+
ALTER SEQUENCE public.projects_id_seq OWNED BY public.projects.id;
|
300
331
|
|
301
332
|
|
302
333
|
--
|
303
334
|
-- Name: roles; Type: TABLE; Schema: public; Owner: -
|
304
335
|
--
|
305
336
|
|
306
|
-
CREATE TABLE roles (
|
337
|
+
CREATE TABLE public.roles (
|
307
338
|
id integer NOT NULL,
|
308
339
|
user_id integer,
|
309
340
|
project_id integer,
|
@@ -317,7 +348,7 @@ CREATE TABLE roles (
|
|
317
348
|
-- Name: roles_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
318
349
|
--
|
319
350
|
|
320
|
-
CREATE SEQUENCE roles_id_seq
|
351
|
+
CREATE SEQUENCE public.roles_id_seq
|
321
352
|
START WITH 1
|
322
353
|
INCREMENT BY 1
|
323
354
|
NO MINVALUE
|
@@ -329,14 +360,14 @@ CREATE SEQUENCE roles_id_seq
|
|
329
360
|
-- Name: roles_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
330
361
|
--
|
331
362
|
|
332
|
-
ALTER SEQUENCE roles_id_seq OWNED BY roles.id;
|
363
|
+
ALTER SEQUENCE public.roles_id_seq OWNED BY public.roles.id;
|
333
364
|
|
334
365
|
|
335
366
|
--
|
336
367
|
-- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -
|
337
368
|
--
|
338
369
|
|
339
|
-
CREATE TABLE schema_migrations (
|
370
|
+
CREATE TABLE public.schema_migrations (
|
340
371
|
version character varying NOT NULL
|
341
372
|
);
|
342
373
|
|
@@ -345,7 +376,7 @@ CREATE TABLE schema_migrations (
|
|
345
376
|
-- Name: teams; Type: TABLE; Schema: public; Owner: -
|
346
377
|
--
|
347
378
|
|
348
|
-
CREATE TABLE teams (
|
379
|
+
CREATE TABLE public.teams (
|
349
380
|
id integer NOT NULL,
|
350
381
|
name character varying,
|
351
382
|
props jsonb DEFAULT '{}'::jsonb
|
@@ -356,7 +387,7 @@ CREATE TABLE teams (
|
|
356
387
|
-- Name: teams_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
357
388
|
--
|
358
389
|
|
359
|
-
CREATE SEQUENCE teams_id_seq
|
390
|
+
CREATE SEQUENCE public.teams_id_seq
|
360
391
|
START WITH 1
|
361
392
|
INCREMENT BY 1
|
362
393
|
NO MINVALUE
|
@@ -368,14 +399,14 @@ CREATE SEQUENCE teams_id_seq
|
|
368
399
|
-- Name: teams_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
369
400
|
--
|
370
401
|
|
371
|
-
ALTER SEQUENCE teams_id_seq OWNED BY teams.id;
|
402
|
+
ALTER SEQUENCE public.teams_id_seq OWNED BY public.teams.id;
|
372
403
|
|
373
404
|
|
374
405
|
--
|
375
406
|
-- Name: teams_users; Type: TABLE; Schema: public; Owner: -
|
376
407
|
--
|
377
408
|
|
378
|
-
CREATE TABLE teams_users (
|
409
|
+
CREATE TABLE public.teams_users (
|
379
410
|
id integer NOT NULL,
|
380
411
|
team_id integer,
|
381
412
|
user_id integer,
|
@@ -389,7 +420,7 @@ CREATE TABLE teams_users (
|
|
389
420
|
-- Name: teams_users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
390
421
|
--
|
391
422
|
|
392
|
-
CREATE SEQUENCE teams_users_id_seq
|
423
|
+
CREATE SEQUENCE public.teams_users_id_seq
|
393
424
|
START WITH 1
|
394
425
|
INCREMENT BY 1
|
395
426
|
NO MINVALUE
|
@@ -401,14 +432,14 @@ CREATE SEQUENCE teams_users_id_seq
|
|
401
432
|
-- Name: teams_users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
402
433
|
--
|
403
434
|
|
404
|
-
ALTER SEQUENCE teams_users_id_seq OWNED BY teams_users.id;
|
435
|
+
ALTER SEQUENCE public.teams_users_id_seq OWNED BY public.teams_users.id;
|
405
436
|
|
406
437
|
|
407
438
|
--
|
408
439
|
-- Name: users; Type: TABLE; Schema: public; Owner: -
|
409
440
|
--
|
410
441
|
|
411
|
-
CREATE TABLE users (
|
442
|
+
CREATE TABLE public.users (
|
412
443
|
id integer NOT NULL,
|
413
444
|
email character varying DEFAULT ''::character varying NOT NULL,
|
414
445
|
encrypted_password character varying DEFAULT ''::character varying,
|
@@ -446,7 +477,7 @@ CREATE TABLE users (
|
|
446
477
|
-- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
447
478
|
--
|
448
479
|
|
449
|
-
CREATE SEQUENCE users_id_seq
|
480
|
+
CREATE SEQUENCE public.users_id_seq
|
450
481
|
START WITH 1
|
451
482
|
INCREMENT BY 1
|
452
483
|
NO MINVALUE
|
@@ -458,14 +489,14 @@ CREATE SEQUENCE users_id_seq
|
|
458
489
|
-- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
459
490
|
--
|
460
491
|
|
461
|
-
ALTER SEQUENCE users_id_seq OWNED BY users.id;
|
492
|
+
ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id;
|
462
493
|
|
463
494
|
|
464
495
|
--
|
465
496
|
-- Name: versions; Type: TABLE; Schema: public; Owner: -
|
466
497
|
--
|
467
498
|
|
468
|
-
CREATE TABLE versions (
|
499
|
+
CREATE TABLE public.versions (
|
469
500
|
id integer NOT NULL,
|
470
501
|
versioned_type character varying,
|
471
502
|
versioned_id integer,
|
@@ -485,7 +516,7 @@ CREATE TABLE versions (
|
|
485
516
|
-- Name: versions_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
486
517
|
--
|
487
518
|
|
488
|
-
CREATE SEQUENCE versions_id_seq
|
519
|
+
CREATE SEQUENCE public.versions_id_seq
|
489
520
|
START WITH 1
|
490
521
|
INCREMENT BY 1
|
491
522
|
NO MINVALUE
|
@@ -497,106 +528,121 @@ CREATE SEQUENCE versions_id_seq
|
|
497
528
|
-- Name: versions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
498
529
|
--
|
499
530
|
|
500
|
-
ALTER SEQUENCE versions_id_seq OWNED BY versions.id;
|
531
|
+
ALTER SEQUENCE public.versions_id_seq OWNED BY public.versions.id;
|
501
532
|
|
502
533
|
|
503
534
|
--
|
504
535
|
-- Name: actions id; Type: DEFAULT; Schema: public; Owner: -
|
505
536
|
--
|
506
537
|
|
507
|
-
ALTER TABLE ONLY actions ALTER COLUMN id SET DEFAULT nextval('actions_id_seq'::regclass);
|
538
|
+
ALTER TABLE ONLY public.actions ALTER COLUMN id SET DEFAULT nextval('public.actions_id_seq'::regclass);
|
539
|
+
|
540
|
+
|
541
|
+
--
|
542
|
+
-- Name: api_tokens id; Type: DEFAULT; Schema: public; Owner: -
|
543
|
+
--
|
544
|
+
|
545
|
+
ALTER TABLE ONLY public.api_tokens ALTER COLUMN id SET DEFAULT nextval('public.api_tokens_id_seq'::regclass);
|
508
546
|
|
509
547
|
|
510
548
|
--
|
511
549
|
-- Name: authorizations id; Type: DEFAULT; Schema: public; Owner: -
|
512
550
|
--
|
513
551
|
|
514
|
-
ALTER TABLE ONLY authorizations ALTER COLUMN id SET DEFAULT nextval('authorizations_id_seq'::regclass);
|
552
|
+
ALTER TABLE ONLY public.authorizations ALTER COLUMN id SET DEFAULT nextval('public.authorizations_id_seq'::regclass);
|
515
553
|
|
516
554
|
|
517
555
|
--
|
518
556
|
-- Name: errors id; Type: DEFAULT; Schema: public; Owner: -
|
519
557
|
--
|
520
558
|
|
521
|
-
ALTER TABLE ONLY errors ALTER COLUMN id SET DEFAULT nextval('errors_id_seq'::regclass);
|
559
|
+
ALTER TABLE ONLY public.errors ALTER COLUMN id SET DEFAULT nextval('public.errors_id_seq'::regclass);
|
522
560
|
|
523
561
|
|
524
562
|
--
|
525
563
|
-- Name: follows id; Type: DEFAULT; Schema: public; Owner: -
|
526
564
|
--
|
527
565
|
|
528
|
-
ALTER TABLE ONLY follows ALTER COLUMN id SET DEFAULT nextval('follows_id_seq'::regclass);
|
566
|
+
ALTER TABLE ONLY public.follows ALTER COLUMN id SET DEFAULT nextval('public.follows_id_seq'::regclass);
|
529
567
|
|
530
568
|
|
531
569
|
--
|
532
570
|
-- Name: measurements id; Type: DEFAULT; Schema: public; Owner: -
|
533
571
|
--
|
534
572
|
|
535
|
-
ALTER TABLE ONLY measurements ALTER COLUMN id SET DEFAULT nextval('measurements_id_seq'::regclass);
|
573
|
+
ALTER TABLE ONLY public.measurements ALTER COLUMN id SET DEFAULT nextval('public.measurements_id_seq'::regclass);
|
536
574
|
|
537
575
|
|
538
576
|
--
|
539
577
|
-- Name: persistent_triggers id; Type: DEFAULT; Schema: public; Owner: -
|
540
578
|
--
|
541
579
|
|
542
|
-
ALTER TABLE ONLY persistent_triggers ALTER COLUMN id SET DEFAULT nextval('persistent_triggers_id_seq'::regclass);
|
580
|
+
ALTER TABLE ONLY public.persistent_triggers ALTER COLUMN id SET DEFAULT nextval('public.persistent_triggers_id_seq'::regclass);
|
543
581
|
|
544
582
|
|
545
583
|
--
|
546
584
|
-- Name: projects id; Type: DEFAULT; Schema: public; Owner: -
|
547
585
|
--
|
548
586
|
|
549
|
-
ALTER TABLE ONLY projects ALTER COLUMN id SET DEFAULT nextval('projects_id_seq'::regclass);
|
587
|
+
ALTER TABLE ONLY public.projects ALTER COLUMN id SET DEFAULT nextval('public.projects_id_seq'::regclass);
|
550
588
|
|
551
589
|
|
552
590
|
--
|
553
591
|
-- Name: roles id; Type: DEFAULT; Schema: public; Owner: -
|
554
592
|
--
|
555
593
|
|
556
|
-
ALTER TABLE ONLY roles ALTER COLUMN id SET DEFAULT nextval('roles_id_seq'::regclass);
|
594
|
+
ALTER TABLE ONLY public.roles ALTER COLUMN id SET DEFAULT nextval('public.roles_id_seq'::regclass);
|
557
595
|
|
558
596
|
|
559
597
|
--
|
560
598
|
-- Name: teams id; Type: DEFAULT; Schema: public; Owner: -
|
561
599
|
--
|
562
600
|
|
563
|
-
ALTER TABLE ONLY teams ALTER COLUMN id SET DEFAULT nextval('teams_id_seq'::regclass);
|
601
|
+
ALTER TABLE ONLY public.teams ALTER COLUMN id SET DEFAULT nextval('public.teams_id_seq'::regclass);
|
564
602
|
|
565
603
|
|
566
604
|
--
|
567
605
|
-- Name: teams_users id; Type: DEFAULT; Schema: public; Owner: -
|
568
606
|
--
|
569
607
|
|
570
|
-
ALTER TABLE ONLY teams_users ALTER COLUMN id SET DEFAULT nextval('teams_users_id_seq'::regclass);
|
608
|
+
ALTER TABLE ONLY public.teams_users ALTER COLUMN id SET DEFAULT nextval('public.teams_users_id_seq'::regclass);
|
571
609
|
|
572
610
|
|
573
611
|
--
|
574
612
|
-- Name: users id; Type: DEFAULT; Schema: public; Owner: -
|
575
613
|
--
|
576
614
|
|
577
|
-
ALTER TABLE ONLY users ALTER COLUMN id SET DEFAULT nextval('users_id_seq'::regclass);
|
615
|
+
ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass);
|
578
616
|
|
579
617
|
|
580
618
|
--
|
581
619
|
-- Name: versions id; Type: DEFAULT; Schema: public; Owner: -
|
582
620
|
--
|
583
621
|
|
584
|
-
ALTER TABLE ONLY versions ALTER COLUMN id SET DEFAULT nextval('versions_id_seq'::regclass);
|
622
|
+
ALTER TABLE ONLY public.versions ALTER COLUMN id SET DEFAULT nextval('public.versions_id_seq'::regclass);
|
585
623
|
|
586
624
|
|
587
625
|
--
|
588
626
|
-- Name: actions actions_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
589
627
|
--
|
590
628
|
|
591
|
-
ALTER TABLE ONLY actions
|
629
|
+
ALTER TABLE ONLY public.actions
|
592
630
|
ADD CONSTRAINT actions_pkey PRIMARY KEY (id);
|
593
631
|
|
594
632
|
|
633
|
+
--
|
634
|
+
-- Name: api_tokens api_tokens_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
635
|
+
--
|
636
|
+
|
637
|
+
ALTER TABLE ONLY public.api_tokens
|
638
|
+
ADD CONSTRAINT api_tokens_pkey PRIMARY KEY (id);
|
639
|
+
|
640
|
+
|
595
641
|
--
|
596
642
|
-- Name: ar_internal_metadata ar_internal_metadata_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
597
643
|
--
|
598
644
|
|
599
|
-
ALTER TABLE ONLY ar_internal_metadata
|
645
|
+
ALTER TABLE ONLY public.ar_internal_metadata
|
600
646
|
ADD CONSTRAINT ar_internal_metadata_pkey PRIMARY KEY (key);
|
601
647
|
|
602
648
|
|
@@ -604,7 +650,7 @@ ALTER TABLE ONLY ar_internal_metadata
|
|
604
650
|
-- Name: authorizations authorizations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
605
651
|
--
|
606
652
|
|
607
|
-
ALTER TABLE ONLY authorizations
|
653
|
+
ALTER TABLE ONLY public.authorizations
|
608
654
|
ADD CONSTRAINT authorizations_pkey PRIMARY KEY (id);
|
609
655
|
|
610
656
|
|
@@ -612,7 +658,7 @@ ALTER TABLE ONLY authorizations
|
|
612
658
|
-- Name: errors errors_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
613
659
|
--
|
614
660
|
|
615
|
-
ALTER TABLE ONLY errors
|
661
|
+
ALTER TABLE ONLY public.errors
|
616
662
|
ADD CONSTRAINT errors_pkey PRIMARY KEY (id);
|
617
663
|
|
618
664
|
|
@@ -620,7 +666,7 @@ ALTER TABLE ONLY errors
|
|
620
666
|
-- Name: follows follows_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
621
667
|
--
|
622
668
|
|
623
|
-
ALTER TABLE ONLY follows
|
669
|
+
ALTER TABLE ONLY public.follows
|
624
670
|
ADD CONSTRAINT follows_pkey PRIMARY KEY (id);
|
625
671
|
|
626
672
|
|
@@ -628,7 +674,7 @@ ALTER TABLE ONLY follows
|
|
628
674
|
-- Name: measurements measurements_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
629
675
|
--
|
630
676
|
|
631
|
-
ALTER TABLE ONLY measurements
|
677
|
+
ALTER TABLE ONLY public.measurements
|
632
678
|
ADD CONSTRAINT measurements_pkey PRIMARY KEY (id);
|
633
679
|
|
634
680
|
|
@@ -636,7 +682,7 @@ ALTER TABLE ONLY measurements
|
|
636
682
|
-- Name: persistent_triggers persistent_triggers_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
637
683
|
--
|
638
684
|
|
639
|
-
ALTER TABLE ONLY persistent_triggers
|
685
|
+
ALTER TABLE ONLY public.persistent_triggers
|
640
686
|
ADD CONSTRAINT persistent_triggers_pkey PRIMARY KEY (id);
|
641
687
|
|
642
688
|
|
@@ -644,7 +690,7 @@ ALTER TABLE ONLY persistent_triggers
|
|
644
690
|
-- Name: projects projects_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
645
691
|
--
|
646
692
|
|
647
|
-
ALTER TABLE ONLY projects
|
693
|
+
ALTER TABLE ONLY public.projects
|
648
694
|
ADD CONSTRAINT projects_pkey PRIMARY KEY (id);
|
649
695
|
|
650
696
|
|
@@ -652,7 +698,7 @@ ALTER TABLE ONLY projects
|
|
652
698
|
-- Name: roles roles_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
653
699
|
--
|
654
700
|
|
655
|
-
ALTER TABLE ONLY roles
|
701
|
+
ALTER TABLE ONLY public.roles
|
656
702
|
ADD CONSTRAINT roles_pkey PRIMARY KEY (id);
|
657
703
|
|
658
704
|
|
@@ -660,7 +706,7 @@ ALTER TABLE ONLY roles
|
|
660
706
|
-- Name: schema_migrations schema_migrations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
661
707
|
--
|
662
708
|
|
663
|
-
ALTER TABLE ONLY schema_migrations
|
709
|
+
ALTER TABLE ONLY public.schema_migrations
|
664
710
|
ADD CONSTRAINT schema_migrations_pkey PRIMARY KEY (version);
|
665
711
|
|
666
712
|
|
@@ -668,7 +714,7 @@ ALTER TABLE ONLY schema_migrations
|
|
668
714
|
-- Name: teams teams_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
669
715
|
--
|
670
716
|
|
671
|
-
ALTER TABLE ONLY teams
|
717
|
+
ALTER TABLE ONLY public.teams
|
672
718
|
ADD CONSTRAINT teams_pkey PRIMARY KEY (id);
|
673
719
|
|
674
720
|
|
@@ -676,7 +722,7 @@ ALTER TABLE ONLY teams
|
|
676
722
|
-- Name: teams_users teams_users_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
677
723
|
--
|
678
724
|
|
679
|
-
ALTER TABLE ONLY teams_users
|
725
|
+
ALTER TABLE ONLY public.teams_users
|
680
726
|
ADD CONSTRAINT teams_users_pkey PRIMARY KEY (id);
|
681
727
|
|
682
728
|
|
@@ -684,7 +730,7 @@ ALTER TABLE ONLY teams_users
|
|
684
730
|
-- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
685
731
|
--
|
686
732
|
|
687
|
-
ALTER TABLE ONLY users
|
733
|
+
ALTER TABLE ONLY public.users
|
688
734
|
ADD CONSTRAINT users_pkey PRIMARY KEY (id);
|
689
735
|
|
690
736
|
|
@@ -692,7 +738,7 @@ ALTER TABLE ONLY users
|
|
692
738
|
-- Name: versions versions_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
693
739
|
--
|
694
740
|
|
695
|
-
ALTER TABLE ONLY versions
|
741
|
+
ALTER TABLE ONLY public.versions
|
696
742
|
ADD CONSTRAINT versions_pkey PRIMARY KEY (id);
|
697
743
|
|
698
744
|
|
@@ -700,199 +746,221 @@ ALTER TABLE ONLY versions
|
|
700
746
|
-- Name: index_actions_on_name; Type: INDEX; Schema: public; Owner: -
|
701
747
|
--
|
702
748
|
|
703
|
-
CREATE INDEX index_actions_on_name ON actions USING btree (name);
|
749
|
+
CREATE INDEX index_actions_on_name ON public.actions USING btree (name);
|
750
|
+
|
751
|
+
|
752
|
+
--
|
753
|
+
-- Name: index_api_tokens_on_user_id; Type: INDEX; Schema: public; Owner: -
|
754
|
+
--
|
755
|
+
|
756
|
+
CREATE INDEX index_api_tokens_on_user_id ON public.api_tokens USING btree (user_id);
|
757
|
+
|
758
|
+
|
759
|
+
--
|
760
|
+
-- Name: index_api_tokens_on_value; Type: INDEX; Schema: public; Owner: -
|
761
|
+
--
|
762
|
+
|
763
|
+
CREATE INDEX index_api_tokens_on_value ON public.api_tokens USING btree (value);
|
704
764
|
|
705
765
|
|
706
766
|
--
|
707
767
|
-- Name: index_authorizations_on_user_id; Type: INDEX; Schema: public; Owner: -
|
708
768
|
--
|
709
769
|
|
710
|
-
CREATE INDEX index_authorizations_on_user_id ON authorizations USING btree (user_id);
|
770
|
+
CREATE INDEX index_authorizations_on_user_id ON public.authorizations USING btree (user_id);
|
711
771
|
|
712
772
|
|
713
773
|
--
|
714
774
|
-- Name: index_errors_on_sha; Type: INDEX; Schema: public; Owner: -
|
715
775
|
--
|
716
776
|
|
717
|
-
CREATE UNIQUE INDEX index_errors_on_sha ON errors USING btree (sha);
|
777
|
+
CREATE UNIQUE INDEX index_errors_on_sha ON public.errors USING btree (sha);
|
718
778
|
|
719
779
|
|
720
780
|
--
|
721
781
|
-- Name: index_follows_on_project_id; Type: INDEX; Schema: public; Owner: -
|
722
782
|
--
|
723
783
|
|
724
|
-
CREATE INDEX index_follows_on_project_id ON follows USING btree (project_id);
|
784
|
+
CREATE INDEX index_follows_on_project_id ON public.follows USING btree (project_id);
|
725
785
|
|
726
786
|
|
727
787
|
--
|
728
788
|
-- Name: index_follows_on_user_id; Type: INDEX; Schema: public; Owner: -
|
729
789
|
--
|
730
790
|
|
731
|
-
CREATE INDEX index_follows_on_user_id ON follows USING btree (user_id);
|
791
|
+
CREATE INDEX index_follows_on_user_id ON public.follows USING btree (user_id);
|
732
792
|
|
733
793
|
|
734
794
|
--
|
735
795
|
-- Name: index_measurements_on_name; Type: INDEX; Schema: public; Owner: -
|
736
796
|
--
|
737
797
|
|
738
|
-
CREATE INDEX index_measurements_on_name ON measurements USING btree (name);
|
798
|
+
CREATE INDEX index_measurements_on_name ON public.measurements USING btree (name);
|
739
799
|
|
740
800
|
|
741
801
|
--
|
742
802
|
-- Name: index_measurements_on_subject_type_and_subject_id; Type: INDEX; Schema: public; Owner: -
|
743
803
|
--
|
744
804
|
|
745
|
-
CREATE INDEX index_measurements_on_subject_type_and_subject_id ON measurements USING btree (subject_type, subject_id);
|
805
|
+
CREATE INDEX index_measurements_on_subject_type_and_subject_id ON public.measurements USING btree (subject_type, subject_id);
|
746
806
|
|
747
807
|
|
748
808
|
--
|
749
809
|
-- Name: index_measurements_on_taken_at; Type: INDEX; Schema: public; Owner: -
|
750
810
|
--
|
751
811
|
|
752
|
-
CREATE INDEX index_measurements_on_taken_at ON measurements USING btree (taken_at);
|
812
|
+
CREATE INDEX index_measurements_on_taken_at ON public.measurements USING btree (taken_at);
|
753
813
|
|
754
814
|
|
755
815
|
--
|
756
816
|
-- Name: index_measurements_on_taken_on; Type: INDEX; Schema: public; Owner: -
|
757
817
|
--
|
758
818
|
|
759
|
-
CREATE INDEX index_measurements_on_taken_on ON measurements USING btree (taken_on);
|
819
|
+
CREATE INDEX index_measurements_on_taken_on ON public.measurements USING btree (taken_on);
|
760
820
|
|
761
821
|
|
762
822
|
--
|
763
823
|
-- Name: index_projects_on_slug; Type: INDEX; Schema: public; Owner: -
|
764
824
|
--
|
765
825
|
|
766
|
-
CREATE UNIQUE INDEX index_projects_on_slug ON projects USING btree (slug);
|
826
|
+
CREATE UNIQUE INDEX index_projects_on_slug ON public.projects USING btree (slug);
|
767
827
|
|
768
828
|
|
769
829
|
--
|
770
830
|
-- Name: index_roles_on_user_id_and_project_id; Type: INDEX; Schema: public; Owner: -
|
771
831
|
--
|
772
832
|
|
773
|
-
CREATE INDEX index_roles_on_user_id_and_project_id ON roles USING btree (user_id, project_id);
|
833
|
+
CREATE INDEX index_roles_on_user_id_and_project_id ON public.roles USING btree (user_id, project_id);
|
774
834
|
|
775
835
|
|
776
836
|
--
|
777
837
|
-- Name: index_roles_on_user_id_and_project_id_and_name; Type: INDEX; Schema: public; Owner: -
|
778
838
|
--
|
779
839
|
|
780
|
-
CREATE INDEX index_roles_on_user_id_and_project_id_and_name ON roles USING btree (user_id, project_id, name);
|
840
|
+
CREATE INDEX index_roles_on_user_id_and_project_id_and_name ON public.roles USING btree (user_id, project_id, name);
|
781
841
|
|
782
842
|
|
783
843
|
--
|
784
844
|
-- Name: index_teams_users_on_team_id_and_user_id; Type: INDEX; Schema: public; Owner: -
|
785
845
|
--
|
786
846
|
|
787
|
-
CREATE UNIQUE INDEX index_teams_users_on_team_id_and_user_id ON teams_users USING btree (team_id, user_id);
|
847
|
+
CREATE UNIQUE INDEX index_teams_users_on_team_id_and_user_id ON public.teams_users USING btree (team_id, user_id);
|
788
848
|
|
789
849
|
|
790
850
|
--
|
791
851
|
-- Name: index_users_on_authentication_token; Type: INDEX; Schema: public; Owner: -
|
792
852
|
--
|
793
853
|
|
794
|
-
CREATE INDEX index_users_on_authentication_token ON users USING btree (authentication_token);
|
854
|
+
CREATE INDEX index_users_on_authentication_token ON public.users USING btree (authentication_token);
|
795
855
|
|
796
856
|
|
797
857
|
--
|
798
858
|
-- Name: index_users_on_email; Type: INDEX; Schema: public; Owner: -
|
799
859
|
--
|
800
860
|
|
801
|
-
CREATE UNIQUE INDEX index_users_on_email ON users USING btree (email);
|
861
|
+
CREATE UNIQUE INDEX index_users_on_email ON public.users USING btree (email);
|
802
862
|
|
803
863
|
|
804
864
|
--
|
805
865
|
-- Name: index_users_on_email_addresses; Type: INDEX; Schema: public; Owner: -
|
806
866
|
--
|
807
867
|
|
808
|
-
CREATE INDEX index_users_on_email_addresses ON users USING btree (email_addresses);
|
868
|
+
CREATE INDEX index_users_on_email_addresses ON public.users USING btree (email_addresses);
|
809
869
|
|
810
870
|
|
811
871
|
--
|
812
872
|
-- Name: index_users_on_invitation_token; Type: INDEX; Schema: public; Owner: -
|
813
873
|
--
|
814
874
|
|
815
|
-
CREATE INDEX index_users_on_invitation_token ON users USING btree (invitation_token);
|
875
|
+
CREATE INDEX index_users_on_invitation_token ON public.users USING btree (invitation_token);
|
816
876
|
|
817
877
|
|
818
878
|
--
|
819
879
|
-- Name: index_users_on_invited_by_id; Type: INDEX; Schema: public; Owner: -
|
820
880
|
--
|
821
881
|
|
822
|
-
CREATE INDEX index_users_on_invited_by_id ON users USING btree (invited_by_id);
|
882
|
+
CREATE INDEX index_users_on_invited_by_id ON public.users USING btree (invited_by_id);
|
823
883
|
|
824
884
|
|
825
885
|
--
|
826
886
|
-- Name: index_users_on_reset_password_token; Type: INDEX; Schema: public; Owner: -
|
827
887
|
--
|
828
888
|
|
829
|
-
CREATE UNIQUE INDEX index_users_on_reset_password_token ON users USING btree (reset_password_token);
|
889
|
+
CREATE UNIQUE INDEX index_users_on_reset_password_token ON public.users USING btree (reset_password_token);
|
830
890
|
|
831
891
|
|
832
892
|
--
|
833
893
|
-- Name: index_versions_on_created_at; Type: INDEX; Schema: public; Owner: -
|
834
894
|
--
|
835
895
|
|
836
|
-
CREATE INDEX index_versions_on_created_at ON versions USING btree (created_at);
|
896
|
+
CREATE INDEX index_versions_on_created_at ON public.versions USING btree (created_at);
|
837
897
|
|
838
898
|
|
839
899
|
--
|
840
900
|
-- Name: index_versions_on_number; Type: INDEX; Schema: public; Owner: -
|
841
901
|
--
|
842
902
|
|
843
|
-
CREATE INDEX index_versions_on_number ON versions USING btree (number);
|
903
|
+
CREATE INDEX index_versions_on_number ON public.versions USING btree (number);
|
844
904
|
|
845
905
|
|
846
906
|
--
|
847
907
|
-- Name: index_versions_on_tag; Type: INDEX; Schema: public; Owner: -
|
848
908
|
--
|
849
909
|
|
850
|
-
CREATE INDEX index_versions_on_tag ON versions USING btree (tag);
|
910
|
+
CREATE INDEX index_versions_on_tag ON public.versions USING btree (tag);
|
851
911
|
|
852
912
|
|
853
913
|
--
|
854
914
|
-- Name: index_versions_on_user_id_and_user_type; Type: INDEX; Schema: public; Owner: -
|
855
915
|
--
|
856
916
|
|
857
|
-
CREATE INDEX index_versions_on_user_id_and_user_type ON versions USING btree (user_id, user_type);
|
917
|
+
CREATE INDEX index_versions_on_user_id_and_user_type ON public.versions USING btree (user_id, user_type);
|
858
918
|
|
859
919
|
|
860
920
|
--
|
861
921
|
-- Name: index_versions_on_user_name; Type: INDEX; Schema: public; Owner: -
|
862
922
|
--
|
863
923
|
|
864
|
-
CREATE INDEX index_versions_on_user_name ON versions USING btree (user_name);
|
924
|
+
CREATE INDEX index_versions_on_user_name ON public.versions USING btree (user_name);
|
865
925
|
|
866
926
|
|
867
927
|
--
|
868
928
|
-- Name: index_versions_on_versioned_id_and_versioned_type; Type: INDEX; Schema: public; Owner: -
|
869
929
|
--
|
870
930
|
|
871
|
-
CREATE INDEX index_versions_on_versioned_id_and_versioned_type ON versions USING btree (versioned_id, versioned_type);
|
931
|
+
CREATE INDEX index_versions_on_versioned_id_and_versioned_type ON public.versions USING btree (versioned_id, versioned_type);
|
872
932
|
|
873
933
|
|
874
934
|
--
|
875
935
|
-- Name: follows fk_rails_32479bd030; Type: FK CONSTRAINT; Schema: public; Owner: -
|
876
936
|
--
|
877
937
|
|
878
|
-
ALTER TABLE ONLY follows
|
879
|
-
ADD CONSTRAINT fk_rails_32479bd030 FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;
|
938
|
+
ALTER TABLE ONLY public.follows
|
939
|
+
ADD CONSTRAINT fk_rails_32479bd030 FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;
|
880
940
|
|
881
941
|
|
882
942
|
--
|
883
943
|
-- Name: authorizations fk_rails_4ecef5b8c5; Type: FK CONSTRAINT; Schema: public; Owner: -
|
884
944
|
--
|
885
945
|
|
886
|
-
ALTER TABLE ONLY authorizations
|
887
|
-
ADD CONSTRAINT fk_rails_4ecef5b8c5 FOREIGN KEY (user_id) REFERENCES users(id);
|
946
|
+
ALTER TABLE ONLY public.authorizations
|
947
|
+
ADD CONSTRAINT fk_rails_4ecef5b8c5 FOREIGN KEY (user_id) REFERENCES public.users(id);
|
888
948
|
|
889
949
|
|
890
950
|
--
|
891
951
|
-- Name: follows fk_rails_572bf69092; Type: FK CONSTRAINT; Schema: public; Owner: -
|
892
952
|
--
|
893
953
|
|
894
|
-
ALTER TABLE ONLY follows
|
895
|
-
ADD CONSTRAINT fk_rails_572bf69092 FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE;
|
954
|
+
ALTER TABLE ONLY public.follows
|
955
|
+
ADD CONSTRAINT fk_rails_572bf69092 FOREIGN KEY (project_id) REFERENCES public.projects(id) ON DELETE CASCADE;
|
956
|
+
|
957
|
+
|
958
|
+
--
|
959
|
+
-- Name: api_tokens fk_rails_f16b5e0447; Type: FK CONSTRAINT; Schema: public; Owner: -
|
960
|
+
--
|
961
|
+
|
962
|
+
ALTER TABLE ONLY public.api_tokens
|
963
|
+
ADD CONSTRAINT fk_rails_f16b5e0447 FOREIGN KEY (user_id) REFERENCES public.users(id);
|
896
964
|
|
897
965
|
|
898
966
|
--
|
@@ -1006,6 +1074,7 @@ INSERT INTO "schema_migrations" (version) VALUES
|
|
1006
1074
|
('20170307032041'),
|
1007
1075
|
('20170307035755'),
|
1008
1076
|
('20170310024505'),
|
1009
|
-
('20170329030329')
|
1077
|
+
('20170329030329'),
|
1078
|
+
('20181102202848');
|
1010
1079
|
|
1011
1080
|
|
@@ -27,6 +27,10 @@ module Houston
|
|
27
27
|
Trigger.new(self, method_name, value, action, params, persistent_trigger_id)
|
28
28
|
end
|
29
29
|
|
30
|
+
def create(*args)
|
31
|
+
push build(*args)
|
32
|
+
end
|
33
|
+
|
30
34
|
def push(trigger)
|
31
35
|
raise DuplicateTriggerError, "That exact trigger has already been defined" if member?(trigger)
|
32
36
|
super trigger
|
data/lib/houston/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: houston-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bob Lail
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -569,6 +569,7 @@ files:
|
|
569
569
|
- app/controllers/actions_controller.rb
|
570
570
|
- app/controllers/api/v1/measurements_controller.rb
|
571
571
|
- app/controllers/api/v1/projects_controller.rb
|
572
|
+
- app/controllers/api_tokens_controller.rb
|
572
573
|
- app/controllers/application_controller.rb
|
573
574
|
- app/controllers/authorizations_controller.rb
|
574
575
|
- app/controllers/concerns/.keep
|
@@ -604,6 +605,7 @@ files:
|
|
604
605
|
- app/models/.keep
|
605
606
|
- app/models/ability.rb
|
606
607
|
- app/models/action.rb
|
608
|
+
- app/models/api_token.rb
|
607
609
|
- app/models/authorization.rb
|
608
610
|
- app/models/concerns/.keep
|
609
611
|
- app/models/error.rb
|
@@ -622,6 +624,10 @@ files:
|
|
622
624
|
- app/views/actions/running.html.erb
|
623
625
|
- app/views/actions/show.html.erb
|
624
626
|
- app/views/actions/unqueued.html.erb
|
627
|
+
- app/views/api_tokens/_form.html.erb
|
628
|
+
- app/views/api_tokens/edit.html.erb
|
629
|
+
- app/views/api_tokens/index.html.erb
|
630
|
+
- app/views/api_tokens/new.html.erb
|
625
631
|
- app/views/authorizations/_form.html.erb
|
626
632
|
- app/views/authorizations/edit.html.erb
|
627
633
|
- app/views/authorizations/granted.html.erb
|
@@ -812,6 +818,7 @@ files:
|
|
812
818
|
- db/migrate/20170307035755_allow_actions_started_at_to_be_null.rb
|
813
819
|
- db/migrate/20170310024505_replace_authorizations_provider_name_with_type.rb
|
814
820
|
- db/migrate/20170329030329_drop_consumer_tokens.rb
|
821
|
+
- db/migrate/20181102202848_create_api_tokens.rb
|
815
822
|
- db/seeds.rb
|
816
823
|
- db/structure.sql
|
817
824
|
- houston-core.gemspec
|