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

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  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