?
This commit is contained in:
		
							parent
							
								
									e253a71fc4
								
							
						
					
					
						commit
						2696e1f184
					
				
					 33 changed files with 443 additions and 0 deletions
				
			
		
							
								
								
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -35,3 +35,4 @@ | ||||||
| /config/master.key | /config/master.key | ||||||
| 
 | 
 | ||||||
| postgres-data/ | postgres-data/ | ||||||
|  | .env | ||||||
							
								
								
									
										8
									
								
								Gemfile
									
										
									
									
									
								
							
							
						
						
									
										8
									
								
								Gemfile
									
										
									
									
									
								
							|  | @ -6,6 +6,8 @@ ruby "3.1.1" | ||||||
| # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" | # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" | ||||||
| gem "rails", "~> 7.0.2", ">= 7.0.2.3" | gem "rails", "~> 7.0.2", ">= 7.0.2.3" | ||||||
| 
 | 
 | ||||||
|  | # gem "devise" | ||||||
|  | 
 | ||||||
| # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] | # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] | ||||||
| gem "sprockets-rails" | gem "sprockets-rails" | ||||||
| 
 | 
 | ||||||
|  | @ -27,6 +29,12 @@ gem "stimulus-rails" | ||||||
| # Build JSON APIs with ease [https://github.com/rails/jbuilder] | # Build JSON APIs with ease [https://github.com/rails/jbuilder] | ||||||
| gem "jbuilder" | gem "jbuilder" | ||||||
| 
 | 
 | ||||||
|  | gem "omniauth" | ||||||
|  | gem "omniauth-discord" | ||||||
|  | # gem "omniauth-rails_csrf_protection" | ||||||
|  | 
 | ||||||
|  | gem "dotenv-rails" | ||||||
|  | 
 | ||||||
| # Use Redis adapter to run Action Cable in production | # Use Redis adapter to run Action Cable in production | ||||||
| # gem "redis", "~> 4.0" | # gem "redis", "~> 4.0" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										34
									
								
								Gemfile.lock
									
										
									
									
									
								
							
							
						
						
									
										34
									
								
								Gemfile.lock
									
										
									
									
									
								
							|  | @ -88,9 +88,18 @@ GEM | ||||||
|       irb (>= 1.3.6) |       irb (>= 1.3.6) | ||||||
|       reline (>= 0.2.7) |       reline (>= 0.2.7) | ||||||
|     digest (3.1.0) |     digest (3.1.0) | ||||||
|  |     dotenv (2.7.6) | ||||||
|  |     dotenv-rails (2.7.6) | ||||||
|  |       dotenv (= 2.7.6) | ||||||
|  |       railties (>= 3.2) | ||||||
|     erubi (1.10.0) |     erubi (1.10.0) | ||||||
|  |     faraday (2.2.0) | ||||||
|  |       faraday-net_http (~> 2.0) | ||||||
|  |       ruby2_keywords (>= 0.0.4) | ||||||
|  |     faraday-net_http (2.0.1) | ||||||
|     globalid (1.0.0) |     globalid (1.0.0) | ||||||
|       activesupport (>= 5.0) |       activesupport (>= 5.0) | ||||||
|  |     hashie (5.0.0) | ||||||
|     i18n (1.10.0) |     i18n (1.10.0) | ||||||
|       concurrent-ruby (~> 1.0) |       concurrent-ruby (~> 1.0) | ||||||
|     importmap-rails (1.0.3) |     importmap-rails (1.0.3) | ||||||
|  | @ -102,6 +111,7 @@ GEM | ||||||
|     jbuilder (2.11.5) |     jbuilder (2.11.5) | ||||||
|       actionview (>= 5.0.0) |       actionview (>= 5.0.0) | ||||||
|       activesupport (>= 5.0.0) |       activesupport (>= 5.0.0) | ||||||
|  |     jwt (2.3.0) | ||||||
|     loofah (2.16.0) |     loofah (2.16.0) | ||||||
|       crass (~> 1.0.2) |       crass (~> 1.0.2) | ||||||
|       nokogiri (>= 1.5.9) |       nokogiri (>= 1.5.9) | ||||||
|  | @ -113,6 +123,8 @@ GEM | ||||||
|     mini_mime (1.1.2) |     mini_mime (1.1.2) | ||||||
|     minitest (5.15.0) |     minitest (5.15.0) | ||||||
|     msgpack (1.5.1) |     msgpack (1.5.1) | ||||||
|  |     multi_json (1.15.0) | ||||||
|  |     multi_xml (0.6.0) | ||||||
|     net-imap (0.2.3) |     net-imap (0.2.3) | ||||||
|       digest |       digest | ||||||
|       net-protocol |       net-protocol | ||||||
|  | @ -130,11 +142,29 @@ GEM | ||||||
|     nio4r (2.5.8) |     nio4r (2.5.8) | ||||||
|     nokogiri (1.13.3-x86_64-linux) |     nokogiri (1.13.3-x86_64-linux) | ||||||
|       racc (~> 1.4) |       racc (~> 1.4) | ||||||
|  |     oauth2 (1.4.9) | ||||||
|  |       faraday (>= 0.17.3, < 3.0) | ||||||
|  |       jwt (>= 1.0, < 3.0) | ||||||
|  |       multi_json (~> 1.3) | ||||||
|  |       multi_xml (~> 0.5) | ||||||
|  |       rack (>= 1.2, < 3) | ||||||
|  |     omniauth (2.0.4) | ||||||
|  |       hashie (>= 3.4.6) | ||||||
|  |       rack (>= 1.6.2, < 3) | ||||||
|  |       rack-protection | ||||||
|  |     omniauth-discord (1.0.2) | ||||||
|  |       omniauth (~> 2.0.4) | ||||||
|  |       omniauth-oauth2 | ||||||
|  |     omniauth-oauth2 (1.7.2) | ||||||
|  |       oauth2 (~> 1.4) | ||||||
|  |       omniauth (>= 1.9, < 3) | ||||||
|     public_suffix (4.0.6) |     public_suffix (4.0.6) | ||||||
|     puma (5.6.4) |     puma (5.6.4) | ||||||
|       nio4r (~> 2.0) |       nio4r (~> 2.0) | ||||||
|     racc (1.6.0) |     racc (1.6.0) | ||||||
|     rack (2.2.3) |     rack (2.2.3) | ||||||
|  |     rack-protection (2.2.0) | ||||||
|  |       rack | ||||||
|     rack-test (1.1.0) |     rack-test (1.1.0) | ||||||
|       rack (>= 1.0, < 3) |       rack (>= 1.0, < 3) | ||||||
|     rails (7.0.2.3) |     rails (7.0.2.3) | ||||||
|  | @ -168,6 +198,7 @@ GEM | ||||||
|     reline (0.3.1) |     reline (0.3.1) | ||||||
|       io-console (~> 0.5) |       io-console (~> 0.5) | ||||||
|     rexml (3.2.5) |     rexml (3.2.5) | ||||||
|  |     ruby2_keywords (0.0.5) | ||||||
|     rubyzip (2.3.2) |     rubyzip (2.3.2) | ||||||
|     selenium-webdriver (4.1.0) |     selenium-webdriver (4.1.0) | ||||||
|       childprocess (>= 0.5, < 5.0) |       childprocess (>= 0.5, < 5.0) | ||||||
|  | @ -214,8 +245,11 @@ DEPENDENCIES | ||||||
|   bootsnap |   bootsnap | ||||||
|   capybara |   capybara | ||||||
|   debug |   debug | ||||||
|  |   dotenv-rails | ||||||
|   importmap-rails |   importmap-rails | ||||||
|   jbuilder |   jbuilder | ||||||
|  |   omniauth | ||||||
|  |   omniauth-discord | ||||||
|   puma (~> 5.0) |   puma (~> 5.0) | ||||||
|   rails (~> 7.0.2, >= 7.0.2.3) |   rails (~> 7.0.2, >= 7.0.2.3) | ||||||
|   selenium-webdriver |   selenium-webdriver | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								app/controllers/discord_users_controller.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								app/controllers/discord_users_controller.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | class DiscordUsersController < ApplicationController | ||||||
|  | end | ||||||
							
								
								
									
										2
									
								
								app/controllers/sessions_controller.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								app/controllers/sessions_controller.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | class SessionsController < ApplicationController | ||||||
|  | end | ||||||
							
								
								
									
										70
									
								
								app/controllers/users_controller.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								app/controllers/users_controller.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,70 @@ | ||||||
|  | class UsersController < ApplicationController | ||||||
|  |   before_action :set_user, only: %i[ show edit update destroy ] | ||||||
|  | 
 | ||||||
|  |   # GET /users or /users.json | ||||||
|  |   def index | ||||||
|  |     @users = User.all | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   # GET /users/1 or /users/1.json | ||||||
|  |   def show | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   # GET /users/new | ||||||
|  |   def new | ||||||
|  |     @user = User.new | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   # GET /users/1/edit | ||||||
|  |   def edit | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   # POST /users or /users.json | ||||||
|  |   def create | ||||||
|  |     @user = User.new(user_params) | ||||||
|  | 
 | ||||||
|  |     respond_to do |format| | ||||||
|  |       if @user.save | ||||||
|  |         format.html { redirect_to user_url(@user), notice: "User was successfully created." } | ||||||
|  |         format.json { render :show, status: :created, location: @user } | ||||||
|  |       else | ||||||
|  |         format.html { render :new, status: :unprocessable_entity } | ||||||
|  |         format.json { render json: @user.errors, status: :unprocessable_entity } | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   # PATCH/PUT /users/1 or /users/1.json | ||||||
|  |   def update | ||||||
|  |     respond_to do |format| | ||||||
|  |       if @user.update(user_params) | ||||||
|  |         format.html { redirect_to user_url(@user), notice: "User was successfully updated." } | ||||||
|  |         format.json { render :show, status: :ok, location: @user } | ||||||
|  |       else | ||||||
|  |         format.html { render :edit, status: :unprocessable_entity } | ||||||
|  |         format.json { render json: @user.errors, status: :unprocessable_entity } | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   # DELETE /users/1 or /users/1.json | ||||||
|  |   def destroy | ||||||
|  |     @user.destroy | ||||||
|  | 
 | ||||||
|  |     respond_to do |format| | ||||||
|  |       format.html { redirect_to users_url, notice: "User was successfully destroyed." } | ||||||
|  |       format.json { head :no_content } | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   private | ||||||
|  |     # Use callbacks to share common setup or constraints between actions. | ||||||
|  |     def set_user | ||||||
|  |       @user = User.find(params[:id]) | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     # Only allow a list of trusted parameters through. | ||||||
|  |     def user_params | ||||||
|  |       params.require(:user).permit(:provider, :uid, :border) | ||||||
|  |     end | ||||||
|  | end | ||||||
							
								
								
									
										2
									
								
								app/helpers/discord_users_helper.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								app/helpers/discord_users_helper.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | module DiscordUsersHelper | ||||||
|  | end | ||||||
							
								
								
									
										2
									
								
								app/helpers/sessions_helper.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								app/helpers/sessions_helper.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | module SessionsHelper | ||||||
|  | end | ||||||
							
								
								
									
										2
									
								
								app/helpers/users_helper.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								app/helpers/users_helper.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | module UsersHelper | ||||||
|  | end | ||||||
							
								
								
									
										4
									
								
								app/models/discord.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								app/models/discord.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | ||||||
|  | class DiscordUser < ApplicationRecord | ||||||
|  |     attr_accessible :discord_id, :username, :discriminator, :avatar | ||||||
|  |     validates :discord_id, :uniqueness => true | ||||||
|  | end | ||||||
							
								
								
									
										2
									
								
								app/models/user.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								app/models/user.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | class User < ApplicationRecord | ||||||
|  | end | ||||||
							
								
								
									
										32
									
								
								app/views/users/_form.html.erb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								app/views/users/_form.html.erb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,32 @@ | ||||||
|  | <%= form_with(model: user) do |form| %> | ||||||
|  |   <% if user.errors.any? %> | ||||||
|  |     <div style="color: red"> | ||||||
|  |       <h2><%= pluralize(user.errors.count, "error") %> prohibited this user from being saved:</h2> | ||||||
|  | 
 | ||||||
|  |       <ul> | ||||||
|  |         <% user.errors.each do |error| %> | ||||||
|  |           <li><%= error.full_message %></li> | ||||||
|  |         <% end %> | ||||||
|  |       </ul> | ||||||
|  |     </div> | ||||||
|  |   <% end %> | ||||||
|  | 
 | ||||||
|  |   <div> | ||||||
|  |     <%= form.label :provider, style: "display: block" %> | ||||||
|  |     <%= form.text_field :provider %> | ||||||
|  |   </div> | ||||||
|  | 
 | ||||||
|  |   <div> | ||||||
|  |     <%= form.label :uid, style: "display: block" %> | ||||||
|  |     <%= form.text_field :uid %> | ||||||
|  |   </div> | ||||||
|  | 
 | ||||||
|  |   <div> | ||||||
|  |     <%= form.label :border, style: "display: block" %> | ||||||
|  |     <%= form.text_field :border %> | ||||||
|  |   </div> | ||||||
|  | 
 | ||||||
|  |   <div> | ||||||
|  |     <%= form.submit %> | ||||||
|  |   </div> | ||||||
|  | <% end %> | ||||||
							
								
								
									
										17
									
								
								app/views/users/_user.html.erb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								app/views/users/_user.html.erb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | ||||||
|  | <div id="<%= dom_id user %>"> | ||||||
|  |   <p> | ||||||
|  |     <strong>Provider:</strong> | ||||||
|  |     <%= user.provider %> | ||||||
|  |   </p> | ||||||
|  | 
 | ||||||
|  |   <p> | ||||||
|  |     <strong>Uid:</strong> | ||||||
|  |     <%= user.uid %> | ||||||
|  |   </p> | ||||||
|  | 
 | ||||||
|  |   <p> | ||||||
|  |     <strong>Border:</strong> | ||||||
|  |     <%= user.border %> | ||||||
|  |   </p> | ||||||
|  | 
 | ||||||
|  | </div> | ||||||
							
								
								
									
										2
									
								
								app/views/users/_user.json.jbuilder
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								app/views/users/_user.json.jbuilder
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | json.extract! user, :id, :provider, :uid, :border, :created_at, :updated_at | ||||||
|  | json.url user_url(user, format: :json) | ||||||
							
								
								
									
										10
									
								
								app/views/users/edit.html.erb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								app/views/users/edit.html.erb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | ||||||
|  | <h1>Editing user</h1> | ||||||
|  | 
 | ||||||
|  | <%= render "form", user: @user %> | ||||||
|  | 
 | ||||||
|  | <br> | ||||||
|  | 
 | ||||||
|  | <div> | ||||||
|  |   <%= link_to "Show this user", @user %> | | ||||||
|  |   <%= link_to "Back to users", users_path %> | ||||||
|  | </div> | ||||||
							
								
								
									
										14
									
								
								app/views/users/index.html.erb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								app/views/users/index.html.erb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | ||||||
|  | <p style="color: green"><%= notice %></p> | ||||||
|  | 
 | ||||||
|  | <h1>Users</h1> | ||||||
|  | 
 | ||||||
|  | <div id="users"> | ||||||
|  |   <% @users.each do |user| %> | ||||||
|  |     <%= render user %> | ||||||
|  |     <p> | ||||||
|  |       <%= link_to "Show this user", user %> | ||||||
|  |     </p> | ||||||
|  |   <% end %> | ||||||
|  | </div> | ||||||
|  | 
 | ||||||
|  | <%= link_to "New user", new_user_path %> | ||||||
							
								
								
									
										1
									
								
								app/views/users/index.json.jbuilder
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								app/views/users/index.json.jbuilder
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | json.array! @users, partial: "users/user", as: :user | ||||||
							
								
								
									
										9
									
								
								app/views/users/new.html.erb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								app/views/users/new.html.erb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,9 @@ | ||||||
|  | <h1>New user</h1> | ||||||
|  | 
 | ||||||
|  | <%= render "form", user: @user %> | ||||||
|  | 
 | ||||||
|  | <br> | ||||||
|  | 
 | ||||||
|  | <div> | ||||||
|  |   <%= link_to "Back to users", users_path %> | ||||||
|  | </div> | ||||||
							
								
								
									
										10
									
								
								app/views/users/show.html.erb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								app/views/users/show.html.erb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | ||||||
|  | <p style="color: green"><%= notice %></p> | ||||||
|  | 
 | ||||||
|  | <%= render @user %> | ||||||
|  | 
 | ||||||
|  | <div> | ||||||
|  |   <%= link_to "Edit this user", edit_user_path(@user) %> | | ||||||
|  |   <%= link_to "Back to users", users_path %> | ||||||
|  | 
 | ||||||
|  |   <%= button_to "Destroy this user", @user, method: :delete %> | ||||||
|  | </div> | ||||||
							
								
								
									
										1
									
								
								app/views/users/show.json.jbuilder
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								app/views/users/show.json.jbuilder
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | json.partial! "users/user", user: @user | ||||||
|  | @ -6,11 +6,15 @@ require "rails/all" | ||||||
| # you've limited to :test, :development, or :production. | # you've limited to :test, :development, or :production. | ||||||
| Bundler.require(*Rails.groups) | Bundler.require(*Rails.groups) | ||||||
| 
 | 
 | ||||||
|  | Dotenv::Railtie.load | ||||||
|  | 
 | ||||||
| module Borders | module Borders | ||||||
|   class Application < Rails::Application |   class Application < Rails::Application | ||||||
|     # Initialize configuration defaults for originally generated Rails version. |     # Initialize configuration defaults for originally generated Rails version. | ||||||
|     config.load_defaults 7.0 |     config.load_defaults 7.0 | ||||||
| 
 | 
 | ||||||
|  |     config.hosts << "dev.j4.pm" | ||||||
|  | 
 | ||||||
|     # Configuration for the application, engines, and railties goes here. |     # Configuration for the application, engines, and railties goes here. | ||||||
|     # |     # | ||||||
|     # These settings can be overridden in specific environments using the files |     # These settings can be overridden in specific environments using the files | ||||||
|  | @ -18,5 +22,15 @@ module Borders | ||||||
|     # |     # | ||||||
|     # config.time_zone = "Central Time (US & Canada)" |     # config.time_zone = "Central Time (US & Canada)" | ||||||
|     # config.eager_load_paths << Rails.root.join("extras") |     # config.eager_load_paths << Rails.root.join("extras") | ||||||
|  | 
 | ||||||
|  |     config.session_store :cookie_store, key: '_interslice_session' | ||||||
|  |     config.middleware.use ActionDispatch::Cookies | ||||||
|  |     config.middleware.use ActionDispatch::Session::CookieStore, config.session_options | ||||||
|  | 
 | ||||||
|  |     config.middleware.use OmniAuth::Builder do | ||||||
|  |       provider :discord, ENV['DISCORD_CLIENT_ID'], ENV['DISCORD_CLIENT_SECRET'], scope: 'identify' | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     OmniAuth.config.logger = Rails.logger | ||||||
|   end |   end | ||||||
| end | end | ||||||
|  |  | ||||||
|  | @ -1,6 +1,12 @@ | ||||||
| Rails.application.routes.draw do | Rails.application.routes.draw do | ||||||
|  |   resources :users | ||||||
|  |   resources :discord_users | ||||||
|   # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html |   # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html | ||||||
| 
 | 
 | ||||||
|   # Defines the root path route ("/") |   # Defines the root path route ("/") | ||||||
|   # root "articles#index" |   # root "articles#index" | ||||||
|  |   match "/login" => "sessions#new", :as => :login, via: [:get, :post] | ||||||
|  |   match "/auth/:provider/callback" => "sessions#create", via: [:post] | ||||||
|  |   match "/logout" => "sessions#destroy", :as => :logout, via: [:post] | ||||||
|  |   match "/auth/failure" => "sessions#failure", via: [:get] | ||||||
| end | end | ||||||
|  |  | ||||||
							
								
								
									
										12
									
								
								db/migrate/20220409220708_create_discordusers.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								db/migrate/20220409220708_create_discordusers.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | ||||||
|  | class CreateDiscordusers < ActiveRecord::Migration[7.0] | ||||||
|  |   def change | ||||||
|  |     create_table :discord_users do |t| | ||||||
|  |       t.string :discord_id | ||||||
|  |       t.string :username | ||||||
|  |       t.string :discriminator | ||||||
|  |       t.string :avatar | ||||||
|  | 
 | ||||||
|  |       t.timestamps | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | end | ||||||
							
								
								
									
										11
									
								
								db/migrate/20220410011426_create_users.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								db/migrate/20220410011426_create_users.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | class CreateUsers < ActiveRecord::Migration[7.0] | ||||||
|  |   def change | ||||||
|  |     create_table :users do |t| | ||||||
|  |       t.string :provider | ||||||
|  |       t.string :uid | ||||||
|  |       t.string :border | ||||||
|  | 
 | ||||||
|  |       t.timestamps | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | end | ||||||
							
								
								
									
										30
									
								
								db/schema.rb
									
										
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								db/schema.rb
									
										
									
										generated
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,30 @@ | ||||||
|  | # This file is auto-generated from the current state of the database. Instead | ||||||
|  | # of editing this file, please use the migrations feature of Active Record to | ||||||
|  | # incrementally modify your database, and then regenerate this schema definition. | ||||||
|  | # | ||||||
|  | # This file is the source Rails uses to define your schema when running `bin/rails | ||||||
|  | # db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to | ||||||
|  | # be faster and is potentially less error prone than running all of your | ||||||
|  | # migrations from scratch. Old migrations may fail to apply correctly if those | ||||||
|  | # migrations use external dependencies or application code. | ||||||
|  | # | ||||||
|  | # It's strongly recommended that you check this file into your version control system. | ||||||
|  | 
 | ||||||
|  | ActiveRecord::Schema[7.0].define(version: 2022_04_09_220708) do | ||||||
|  |   create_table "discord_users", force: :cascade do |t| | ||||||
|  |     t.string "discord_id" | ||||||
|  |     t.string "username" | ||||||
|  |     t.string "discriminator" | ||||||
|  |     t.string "avatar" | ||||||
|  |     t.datetime "created_at", null: false | ||||||
|  |     t.datetime "updated_at", null: false | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   create_table "users", force: :cascade do |t| | ||||||
|  |     t.string "provider" | ||||||
|  |     t.string "uid" | ||||||
|  |     t.datetime "created_at", null: false | ||||||
|  |     t.datetime "updated_at", null: false | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  | end | ||||||
							
								
								
									
										7
									
								
								test/controllers/discord_users_controller_test.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								test/controllers/discord_users_controller_test.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | ||||||
|  | require "test_helper" | ||||||
|  | 
 | ||||||
|  | class DiscordUsersControllerTest < ActionDispatch::IntegrationTest | ||||||
|  |   # test "the truth" do | ||||||
|  |   #   assert true | ||||||
|  |   # end | ||||||
|  | end | ||||||
							
								
								
									
										7
									
								
								test/controllers/sessions_controller_test.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								test/controllers/sessions_controller_test.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | ||||||
|  | require "test_helper" | ||||||
|  | 
 | ||||||
|  | class SessionsControllerTest < ActionDispatch::IntegrationTest | ||||||
|  |   # test "the truth" do | ||||||
|  |   #   assert true | ||||||
|  |   # end | ||||||
|  | end | ||||||
							
								
								
									
										48
									
								
								test/controllers/users_controller_test.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								test/controllers/users_controller_test.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,48 @@ | ||||||
|  | require "test_helper" | ||||||
|  | 
 | ||||||
|  | class UsersControllerTest < ActionDispatch::IntegrationTest | ||||||
|  |   setup do | ||||||
|  |     @user = users(:one) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   test "should get index" do | ||||||
|  |     get users_url | ||||||
|  |     assert_response :success | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   test "should get new" do | ||||||
|  |     get new_user_url | ||||||
|  |     assert_response :success | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   test "should create user" do | ||||||
|  |     assert_difference("User.count") do | ||||||
|  |       post users_url, params: { user: { border: @user.border, provider: @user.provider, uid: @user.uid } } | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     assert_redirected_to user_url(User.last) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   test "should show user" do | ||||||
|  |     get user_url(@user) | ||||||
|  |     assert_response :success | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   test "should get edit" do | ||||||
|  |     get edit_user_url(@user) | ||||||
|  |     assert_response :success | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   test "should update user" do | ||||||
|  |     patch user_url(@user), params: { user: { border: @user.border, provider: @user.provider, uid: @user.uid } } | ||||||
|  |     assert_redirected_to user_url(@user) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   test "should destroy user" do | ||||||
|  |     assert_difference("User.count", -1) do | ||||||
|  |       delete user_url(@user) | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     assert_redirected_to users_url | ||||||
|  |   end | ||||||
|  | end | ||||||
							
								
								
									
										13
									
								
								test/fixtures/identities.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								test/fixtures/identities.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | ||||||
|  | # Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html | ||||||
|  | 
 | ||||||
|  | one: | ||||||
|  |   id: MyString | ||||||
|  |   username: MyString | ||||||
|  |   discriminator: MyString | ||||||
|  |   avatar: MyString | ||||||
|  | 
 | ||||||
|  | two: | ||||||
|  |   id: MyString | ||||||
|  |   username: MyString | ||||||
|  |   discriminator: MyString | ||||||
|  |   avatar: MyString | ||||||
							
								
								
									
										11
									
								
								test/fixtures/users.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								test/fixtures/users.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | # Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html | ||||||
|  | 
 | ||||||
|  | one: | ||||||
|  |   provider: MyString | ||||||
|  |   uid: MyString | ||||||
|  |   border: MyString | ||||||
|  | 
 | ||||||
|  | two: | ||||||
|  |   provider: MyString | ||||||
|  |   uid: MyString | ||||||
|  |   border: MyString | ||||||
							
								
								
									
										7
									
								
								test/models/identity_test.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								test/models/identity_test.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | ||||||
|  | require "test_helper" | ||||||
|  | 
 | ||||||
|  | class IdentityTest < ActiveSupport::TestCase | ||||||
|  |   # test "the truth" do | ||||||
|  |   #   assert true | ||||||
|  |   # end | ||||||
|  | end | ||||||
							
								
								
									
										7
									
								
								test/models/user_test.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								test/models/user_test.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | ||||||
|  | require "test_helper" | ||||||
|  | 
 | ||||||
|  | class UserTest < ActiveSupport::TestCase | ||||||
|  |   # test "the truth" do | ||||||
|  |   #   assert true | ||||||
|  |   # end | ||||||
|  | end | ||||||
							
								
								
									
										45
									
								
								test/system/users_test.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								test/system/users_test.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,45 @@ | ||||||
|  | require "application_system_test_case" | ||||||
|  | 
 | ||||||
|  | class UsersTest < ApplicationSystemTestCase | ||||||
|  |   setup do | ||||||
|  |     @user = users(:one) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   test "visiting the index" do | ||||||
|  |     visit users_url | ||||||
|  |     assert_selector "h1", text: "Users" | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   test "should create user" do | ||||||
|  |     visit users_url | ||||||
|  |     click_on "New user" | ||||||
|  | 
 | ||||||
|  |     fill_in "Border", with: @user.border | ||||||
|  |     fill_in "Provider", with: @user.provider | ||||||
|  |     fill_in "Uid", with: @user.uid | ||||||
|  |     click_on "Create User" | ||||||
|  | 
 | ||||||
|  |     assert_text "User was successfully created" | ||||||
|  |     click_on "Back" | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   test "should update User" do | ||||||
|  |     visit user_url(@user) | ||||||
|  |     click_on "Edit this user", match: :first | ||||||
|  | 
 | ||||||
|  |     fill_in "Border", with: @user.border | ||||||
|  |     fill_in "Provider", with: @user.provider | ||||||
|  |     fill_in "Uid", with: @user.uid | ||||||
|  |     click_on "Update User" | ||||||
|  | 
 | ||||||
|  |     assert_text "User was successfully updated" | ||||||
|  |     click_on "Back" | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   test "should destroy User" do | ||||||
|  |     visit user_url(@user) | ||||||
|  |     click_on "Destroy this user", match: :first | ||||||
|  | 
 | ||||||
|  |     assert_text "User was successfully destroyed" | ||||||
|  |   end | ||||||
|  | end | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue