lg_pod_plugin 1.1.7.3 → 1.1.7.4

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
  SHA256:
3
- metadata.gz: 44d4ceb34301dcc5a0312f8591cdbde166e1a4b7e2cb8a885738fa6997192de8
4
- data.tar.gz: 0f770eba1a322ed7294d68d7ed81f9aef997f546a0d9c3c61f315cb563824e8d
3
+ metadata.gz: f4b61db7b5001df6188133eaf111f4570d0580fe4e71bc3e89863f2245d9c3ff
4
+ data.tar.gz: 14afb884ec6e4247b37f95b0002c2dd19098c75cf464fe07d3c79565f83916a0
5
5
  SHA512:
6
- metadata.gz: 06506e9cd1131a5932ea3e550cc641832f13f194cd9427edfafcff2bcdd93758da909a8f0542c282869be565b23f42b80fee02c2e0ae52515eabefee433bcbb3
7
- data.tar.gz: 72be08ac45145844d3c7082bdf1fe53e68b8892ac3bef7b9c58d6bfabe35448c2033290e66aace828a3397490e641926c8a7297c5480eb4b6cb61770da2ebc41
6
+ metadata.gz: b2ee449bb57c15cc6d9cd7d5566aa91af414c34a3c2aabc1a2e858650447b93df9bba3d705d248beffed8bee615b31cfc2db935c525b6eed2178658f7ab2a655
7
+ data.tar.gz: c3f587b3ed1ccb1ca27a902db900346767bb012e082f45a6f1aa8a60b17d6da913fa6cf926645b966020fc813517470a1b85d621f51a3849b255683da87bdcde
data/lib/command/init.rb CHANGED
@@ -52,7 +52,7 @@ module LgPodPlugin
52
52
  File.open(token_file.to_path, 'w+') { |f| f.write(str) }
53
53
  LSqliteDb.shared.init_database
54
54
  user_id = LUserAuthInfo.get_user_id(self.host)
55
- user_model = LUserAuthInfo.new(user_id, "", "", self.host, self.token, "", (created_at + expires_in))
55
+ user_model = LUserAuthInfo.new(user_id, "", "", self.host, self.token, "", (created_at + expires_in), created_at, 1)
56
56
  LSqliteDb.shared.insert_user_info(user_model)
57
57
  LgPodPlugin.log_green "设置私人访问令牌成功"
58
58
  end
@@ -21,36 +21,13 @@ module LgPodPlugin
21
21
 
22
22
  end
23
23
 
24
- # class LPodLatestRefs
25
- # attr_accessor :id
26
- # attr_accessor :name
27
- # attr_accessor :tag
28
- # attr_accessor :git
29
- # attr_accessor :branch
30
- # attr_accessor :commit
31
- #
32
- # def initialize(id, name, git, branch, tag, commit)
33
- # self.id = id
34
- # self.git = git
35
- # self.tag = tag
36
- # self.name = name
37
- # self.branch = branch
38
- # self.commit = commit
39
- # end
40
- #
41
- # def self.get_pod_id(name, git, branch)
42
- # key = name + git + branch
43
- # return Digest::MD5.hexdigest(key)
44
- # end
45
- #
46
- # end
47
-
48
24
  class LUserAuthInfo
49
- REQUIRED_ATTRS ||= %i[id username password host access_token refresh_token expires_in update_time].freeze
25
+ REQUIRED_ATTRS ||= %i[id username password host access_token refresh_token expires_in update_time type].freeze
50
26
  attr_accessor(*REQUIRED_ATTRS)
51
27
 
52
- def initialize(id = nil, name = nil, pwd = nil, host = nil, token = nil, refresh_token = nil, time = nil, update_time = nil)
28
+ def initialize(id = nil, name = nil, pwd = nil, host = nil, token = nil, refresh_token = nil, time = nil, update_time = nil, type = 0)
53
29
  self.id = id
30
+ self.type = type
54
31
  self.host = host
55
32
  self.password = pwd
56
33
  self.username = name
@@ -114,6 +91,13 @@ module LgPodPlugin
114
91
  self.db.execute(alter)
115
92
  end
116
93
 
94
+ user_sel_sql2 = "select * from sqlite_master where name = '#{K_USER_TABLE}' and sql like '%type%'; "
95
+ resultSetPrincipal2 = self.db.execute(user_sel_sql2)
96
+ if resultSetPrincipal2.count == 0
97
+ alter = "ALTER TABLE #{K_USER_TABLE} ADD 'type' INT;"
98
+ self.db.execute(alter)
99
+ end
100
+
117
101
  #添加项目表
118
102
  sql2 = "create table if not exists #{K_USER_PROJECTS}(
119
103
  id varchar(100) primary key not null,
@@ -128,27 +112,6 @@ module LgPodPlugin
128
112
  );"
129
113
  self.db.execute(sql2)
130
114
 
131
- # #添加项目表
132
- # sql3 = "create table if not exists #{K_POD_LATEST_REFS}(
133
- # id varchar(100) primary key not null,
134
- # name varchar(100),
135
- # git varchar(100),
136
- # branch varchar(100),
137
- # tag varchar(100),
138
- # sha varchar(100)
139
- # );"
140
- # self.db.execute(sql3)
141
- #
142
- # #添加项目表
143
- # sql4 = "create table if not exists #{K_POD_SHA_BRANCH}(
144
- # id varchar(100) primary key not null,
145
- # name varchar(100),
146
- # git varchar(100),
147
- # branch varchar(100),
148
- # sha varchar(100)
149
- # );"
150
- # self.db.execute(sql4)
151
-
152
115
  end
153
116
 
154
117
  public
@@ -156,11 +119,11 @@ module LgPodPlugin
156
119
  # pp "user.id => #{user.id}"
157
120
  if self.query_user_info(user.id) != nil
158
121
  self.db.execute_batch(
159
- "UPDATE #{K_USER_TABLE} SET username = (:username), password = (:password), host = (:host), access_token = (:access_token), expires_in = (:expires_in), refresh_token = (:refresh_token), update_time = (:update_time) where (id = :id)", { "username" => user.username, "password" => user.password, "host" => user.host, "access_token" => user.access_token, :expires_in => user.expires_in, :id => user.id, :refresh_token => user.refresh_token , :update_time => user.update_time}
122
+ "UPDATE #{K_USER_TABLE} SET username = (:username), password = (:password), host = (:host), access_token = (:access_token), expires_in = (:expires_in), refresh_token = (:refresh_token), update_time = (:update_time), type = (:type) where (id = :id)", { "username" => user.username, "password" => user.password, "host" => user.host, "access_token" => user.access_token, :expires_in => user.expires_in, :id => user.id, :refresh_token => user.refresh_token , :update_time => user.update_time, :type => user.type}
160
123
  )
161
124
  else
162
- self.db.execute("INSERT INTO #{K_USER_TABLE} (id, username, password, host, access_token,refresh_token, expires_in, update_time)
163
- VALUES (?, ?, ?, ?,?,?,?, ?)", [user.id, user.username, user.password, user.host, user.access_token, user.refresh_token, user.expires_in, user.update_time])
125
+ self.db.execute("INSERT INTO #{K_USER_TABLE} (id, username, password, host, access_token,refresh_token, expires_in, update_time, type)
126
+ VALUES (?, ?, ?, ?,?,?,?, ?, ?)", [user.id, user.username, user.password, user.host, user.access_token, user.refresh_token, user.expires_in, user.update_time, user.type])
164
127
  end
165
128
 
166
129
  end
@@ -179,6 +142,7 @@ module LgPodPlugin
179
142
  user_info.refresh_token = row[5]
180
143
  user_info.expires_in = row[6]
181
144
  user_info.update_time = row[7]
145
+ user_info.type = row[8]
182
146
  end
183
147
  user_info
184
148
  end
@@ -23,10 +23,11 @@ module LgPodPlugin
23
23
  return self.get_gitlab_access_token_input(uri, user_id, nil, nil) if encrypt_access_token.nil?
24
24
  end
25
25
  user_id = LUserAuthInfo.get_user_id(uri.hostname)
26
+ now_time = Time.now.to_i
26
27
  refresh_token = json["refresh_token"]
27
28
  expires_in = json["expires_in"] ||= 7879680
28
- created_at = json["created_at"] ||= Time.now.to_i
29
- user_model = LUserAuthInfo.new(user_id, "", "", uri.hostname, access_token, refresh_token, (created_at + expires_in))
29
+ created_at = json["created_at"] ||= now_time
30
+ user_model = LUserAuthInfo.new(user_id, "", "", uri.hostname, access_token, refresh_token, (created_at + expires_in), now_time, 1)
30
31
  LSqliteDb.shared.insert_user_info(user_model)
31
32
  LgPodPlugin.log_green "请求成功: `access_token` => #{access_token}, expires_in => #{expires_in}"
32
33
  return user_model
@@ -48,13 +49,12 @@ module LgPodPlugin
48
49
  def self.check_gitlab_access_token_valid(uri, user_info)
49
50
  time_now = Time.now.to_i
50
51
  refresh_token = user_info.refresh_token
51
- # 判断 token 是否失效
52
- if user_info.expires_in <= time_now
53
- if refresh_token.nil? || refresh_token == "" # 使用本地令牌访问
52
+ if user_info.type == 1
53
+ if user_info.expires_in <= time_now
54
54
  project_name = LUtils.get_git_project_name(uri.to_s)
55
- token_vaild = GitLabAPI.request_user_emails(uri.hostname, user_info.access_token)
56
- if token_vaild == "success"
57
- new_user_info = LUserAuthInfo.new(user_info.id, "", "", uri.hostname, user_info.access_token, nil, (time_now + 7879680))
55
+ token_valid = GitLabAPI.request_user_emails(uri.hostname, user_info.access_token)
56
+ if token_valid == "success"
57
+ new_user_info = LUserAuthInfo.new(user_info.id, "", "", uri.hostname, user_info.access_token, nil, (time_now + 7879680), time_now, 1)
58
58
  LSqliteDb.shared.insert_user_info(user_info)
59
59
  return new_user_info
60
60
  else
@@ -63,21 +63,25 @@ module LgPodPlugin
63
63
  return self.get_gitlab_access_token_input(uri, user_info.id, nil, nil)
64
64
  end
65
65
  else
66
- # 刷新 token 失败时, 通过已经保存的用户名密码来刷新 token
67
- return refreshUserToken uri, refresh_token, user_info.id, user_info.username, user_info.password
66
+ return user_info
68
67
  end
69
68
  else
70
- update_time = user_info.update_time.to_i
71
- if time_now - update_time > 1800
72
- user_info = refreshUserToken uri, refresh_token, user_info.id, user_info.username, user_info.password
73
- return user_info
69
+ # 判断 token 是否失效
70
+ if user_info.expires_in <= time_now
71
+ return refreshUserToken uri, refresh_token, user_info.id, user_info.username, user_info.password
74
72
  else
75
- return user_info
73
+ update_time = user_info.update_time.to_i
74
+ if time_now - update_time > 1800
75
+ user_info = refreshUserToken uri, refresh_token, user_info.id, user_info.username, user_info.password
76
+ return user_info
77
+ else
78
+ return user_info
79
+ end
76
80
  end
77
81
  end
78
82
  end
79
83
 
80
- def self.refreshUserToken(uri, refresh_token, user_id, username, password)
84
+ def self.refresh_user_token(uri, refresh_token, user_id, username, password)
81
85
  # 刷新 token 失败时, 通过已经保存的用户名密码来刷新 token
82
86
  new_user_info = GitLabAPI.refresh_gitlab_access_token uri.hostname, refresh_token
83
87
  unless new_user_info
@@ -109,7 +113,7 @@ module LgPodPlugin
109
113
  expires_in = json["expires_in"] ||= 7200
110
114
  created_at = json["created_at"] ||= Time.now.to_i
111
115
  time_now = Time.now.to_i
112
- user_model = LUserAuthInfo.new(user_id, username, password, host, access_token, refresh_token, (created_at + expires_in), time_now)
116
+ user_model = LUserAuthInfo.new(user_id, username, password, host, access_token, refresh_token, (created_at + expires_in), time_now, 0)
113
117
  LSqliteDb.shared.insert_user_info(user_model)
114
118
  LgPodPlugin.log_green "请求成功: `access_token` => #{access_token}, expires_in => #{expires_in}"
115
119
  rescue => exception
@@ -148,6 +152,7 @@ module LgPodPlugin
148
152
  user_model.access_token = access_token
149
153
  user_model.refresh_token = refresh_token
150
154
  user_model.update_time = time_now
155
+ user_model.type = 0
151
156
  LSqliteDb.shared.insert_user_info(user_model)
152
157
  LgPodPlugin.log_green "刷新token成功: `refresh_token` => #{refresh_token}, expires_in => #{expires_in}"
153
158
  return user_model
@@ -1,3 +1,3 @@
1
1
  module LgPodPlugin
2
- VERSION = "1.1.7.3"
2
+ VERSION = "1.1.7.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lg_pod_plugin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.7.3
4
+ version: 1.1.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - dongzb01
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-10 00:00:00.000000000 Z
11
+ date: 2023-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cocoapods
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.12.1
19
+ version: 1.13.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 1.12.1
26
+ version: 1.13.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: claide
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,6 +44,20 @@ dependencies:
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '2.0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: activesupport
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - '='
52
+ - !ruby/object:Gem::Version
53
+ version: 7.0.8
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - '='
59
+ - !ruby/object:Gem::Version
60
+ version: 7.0.8
47
61
  - !ruby/object:Gem::Dependency
48
62
  name: bacon
49
63
  requirement: !ruby/object:Gem::Requirement