goserv-user 0.0.1.alpha.19 → 0.0.1.alpha.22

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a269321a429f9bc97be300776f8a286828e75c24
4
- data.tar.gz: 049f51c4a822669709ba8dbb44aa3a4e7061fe9d
3
+ metadata.gz: 581f86525666abff4caa8bf3e0a951f8691618c3
4
+ data.tar.gz: dae58c5be97f67a710778e09a56c3b9572981cae
5
5
  SHA512:
6
- metadata.gz: a3f7a1442b2a93acc8e95fe7f55a411b4570979249e7194f3e201704c7fba7bc76740be97117443e5be19bc8dac756669c10eea056a888f36285d30cdebf4dc4
7
- data.tar.gz: 368632c6b242c3ba2c19ef3fd9281797968dc9b9f2dd88749cddd9d6ecb7cae87110d9ad8c36455d669e7d97dc5fa0351f1e2d53864a3c84750048e589f990a2
6
+ metadata.gz: bb4d427cf73e8cd01c1fa1af741242855dcfc93b59a7c815449c8ff1acd2fe5d72289ce57927ddce9e2b749a54a07362ba057cb608945516ab12dcd1658a5bbe
7
+ data.tar.gz: 3dff8dc7da57a342b1ca497b0126eabb80454674f8377efa11f4ea9624b2a4b9dc4f7d3240dbfba7db9ae6fd545687d29e5673df690a79c4bebc86d7efd0aea6
data/app.rb CHANGED
@@ -6,17 +6,28 @@ require 'goserv-util'
6
6
 
7
7
  # GoServApp: Main controller for the API
8
8
  class GoServApp < Sinatra::Base
9
+ configure do
10
+ puts "THE CURRENT RACK ENV IS #{ENV['RACK_ENV']}"
11
+ set(:raise_errors, true) if ENV['RACK_ENV'] = 'test'
12
+ set(:dump_errors, true)
13
+ set(:show_exceptions, false)
14
+ end
15
+
9
16
  include GoUtil::Log
10
17
 
11
18
  register Sinatra::ActiveRecordExtension
12
19
 
20
+ not_found do
21
+ status '404 Not Found'
22
+ end
23
+
13
24
  before '/*' do
14
- log.begin_request(request)
25
+ GoUtil::Log.begin_request(request)
15
26
  end
16
27
 
17
28
  post '/login' do
18
- body = Prehandlers::Login.prehandle(request)
19
- user = Users.authenticate(body)
29
+ body = GoUser::Prehandlers::Login.prehandle(request)
30
+ user = GoUser.authenticate(body)
20
31
  JSON.pretty_generate(
21
32
  code: 'SUCCESS',
22
33
  token: user.token
@@ -24,15 +35,15 @@ class GoServApp < Sinatra::Base
24
35
  end
25
36
 
26
37
  post '/signup' do
27
- body = Prehandlers::Signup.prehandle(request)
28
- Users.create_user(body)
38
+ body = GoUser::Prehandlers::Signup.prehandle(request)
39
+ GoUser.create_user(body)
29
40
  JSON.pretty_generate(code: 'SUCCESS')
30
41
  end
31
42
 
32
43
  def self.register_error(*codes, err_status:, err_code:, err_reasons: [])
33
44
  error(*codes) do
34
45
  err = env['sinatra.error']
35
- log.request_error err, err_status
46
+ GoUtil::Log.request_error err, err_status
36
47
  status err_status
37
48
 
38
49
  err_reasons = err.full_messages if err.respond_to? :full_messages
data/config.ru CHANGED
@@ -1,10 +1,16 @@
1
1
  require './app'
2
- require 'go_util'
2
+ require 'goserv-util'
3
3
 
4
- config = YAML.load_file('config/environment.yml')
4
+ begin
5
+ config = YAML.load_file('config/environment.yml')
6
+ rescue Errno::ENOENT
7
+ config = {}
8
+ end
5
9
 
6
- log_dir = ENV.key?('GOSERV_LOG_DIR') ? ENV['GOSERV_LOG_DIR'] : config[:log_dir]
10
+ log_dir = '.'
11
+ log_dir = ENV['GOSERV_LOG_DIR'] if ENV.key('GOSERV_LOG_DIR')
12
+ log_dir = config[:log_dir] if config[:log_dir]
7
13
 
8
- Log.init(log_dir, 'user')
14
+ GoUtil::Log.init(log_dir, 'user')
9
15
 
10
16
  run GoServApp
@@ -1,18 +1,20 @@
1
1
  require 'goserv-util'
2
2
  require_relative 'schema'
3
3
 
4
- module Prehandlers
5
- # user creation request prehandling.
6
- class Signup
7
- include GoUtil::Request::Prehandler
8
- has_json_body
9
- self.schema = Schema.signin
10
- end
4
+ module GoUser
5
+ module Prehandlers
6
+ # user creation request prehandling.
7
+ class Signup
8
+ include GoUtil::Request::Prehandler
9
+ has_json_body
10
+ self.schema = Schema.signin
11
+ end
11
12
 
12
- # user login request prehandling
13
- class LoginHandler
14
- include GoUtil::Request::Prehandler
15
- has_json_body
16
- self.schema = Schema.login
13
+ # user login request prehandling
14
+ class Login
15
+ include GoUtil::Request::Prehandler
16
+ has_json_body
17
+ self.schema = Schema.login
18
+ end
17
19
  end
18
20
  end
@@ -1,30 +1,57 @@
1
- module Schema
2
- def self.signin
3
- {
4
- type: 'object',
5
- required: %w(username password email),
6
- properties: {
7
- username: {
8
- type: 'string',
9
- maxLength: 16,
10
- minLength: 3
11
- },
12
- password: {
13
- type: 'string',
14
- maxLength: 16,
15
- minLength: 8
16
- },
17
- email: {
18
- type: 'string',
19
- pattern: '/\A([\w+\-].?)+@[a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z/i'
1
+
2
+ module GoUser
3
+ module Schema
4
+ def self.signin
5
+ {
6
+ type: 'object',
7
+ required: %w(username password email),
8
+ properties: {
9
+ username: {
10
+ type: 'string',
11
+ maxLength: 16,
12
+ minLength: 3
13
+ },
14
+ password: {
15
+ type: 'string',
16
+ maxLength: 16,
17
+ minLength: 8
18
+ },
19
+ email: {
20
+ type: 'string',
21
+ pattern: '\A([\w+\-].?)+@[a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z'
22
+ }
20
23
  }
21
24
  }
22
- }
23
- end
25
+ end
24
26
 
25
- def self.login
26
- {
27
- type: 'object'
28
- }
27
+ def self.login
28
+ {
29
+ type: 'object',
30
+ oneOf: [
31
+ {
32
+ required: %w(username password),
33
+ properties: {
34
+ username: {
35
+ type: 'string'
36
+ },
37
+ password: {
38
+ type: 'string'
39
+ }
40
+ }
41
+ },
42
+ {
43
+ required: %w(email password),
44
+ properties: {
45
+ email: {
46
+ type: 'string'
47
+ },
48
+ password: {
49
+ type: 'string'
50
+ }
51
+ }
52
+ }
53
+ ]
54
+ }
55
+ end
29
56
  end
30
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: goserv-user
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.alpha.19
4
+ version: 0.0.1.alpha.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben C Lewis
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-04-01 00:00:00.000000000 Z
11
+ date: 2017-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -66,34 +66,48 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.5'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rack-test
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.6.3
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.6.3
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: passenger
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: 5.0.25
89
+ version: '5.0'
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: 5.0.25
96
+ version: '5.0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: sinatra
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - "~>"
88
102
  - !ruby/object:Gem::Version
89
- version: 1.4.5
103
+ version: '1.4'
90
104
  type: :runtime
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
108
  - - "~>"
95
109
  - !ruby/object:Gem::Version
96
- version: 1.4.5
110
+ version: '1.4'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: activerecord
99
113
  requirement: !ruby/object:Gem::Requirement