lg_pod_plugin 1.1.7.3 → 1.1.7.4

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
  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