Don't forget to lycansubscribe

validate user DIDs

Changed files
+5 -2
app
+1
app/models/user.rb
··· 11 11 class User < ActiveRecord::Base 12 12 validates_presence_of :did 13 13 validates_length_of :did, maximum: 260 14 + validates_format_of :did, with: /\Adid:(plc:[0-9a-z]{24}|web:[0-9a-z\-]+(\.[0-9a-z\-]+)+)\Z/ 14 15 15 16 has_many :posts 16 17 has_many :imports, dependent: :delete_all
+4 -2
app/server.rb
··· 117 117 headers['access-control-allow-origin'] = '*' 118 118 119 119 did = get_user_did 120 - user = User.find_or_create_by!(did: did) 120 + user = User.find_or_create_by(did: did) 121 121 122 - if user.import_job || user.active? 122 + if !user.valid? 123 + json_error('InvalidRequest', 'Invalid DID') 124 + elsif user.import_job || user.active? 123 125 json_response(message: "Import has already started") 124 126 else 125 127 user.create_import_job!