Skip to content

Commit 0da07d3

Browse files
committed
primitives - adapter - take &self instead of &mut self in session_from_token
1 parent 9c112fc commit 0da07d3

File tree

3 files changed

+8
-13
lines changed

3 files changed

+8
-13
lines changed

adapter/src/dummy.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ impl Adapter for DummyAdapter {
7070
}
7171
}
7272

73-
fn session_from_token(&mut self, token: &str) -> AdapterResult<Session> {
73+
fn session_from_token(&self, token: &str) -> AdapterResult<Session> {
7474
let identity = self
7575
.authorization_tokens
7676
.iter()

adapter/src/ethereum.rs

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -164,15 +164,11 @@ impl Adapter for EthereumAdapter {
164164
Ok(true)
165165
}
166166

167-
fn session_from_token(&mut self, token: &str) -> AdapterResult<Session> {
167+
/// Creates a `Session` from a provided Token by calling the Contract.
168+
/// Does **not** cache the (`Token`, `Session`) pair.
169+
fn session_from_token(&self, token: &str) -> AdapterResult<Session> {
168170
if token.len() < 16 {
169-
return Err(AdapterError::Failed("invaild token id".to_string()));
170-
}
171-
172-
let token_id = token[token.len() - 16..].to_string();
173-
174-
if let Some(token) = self.session_tokens.get(&token_id) {
175-
return Ok(token.to_owned());
171+
return Err(AdapterError::Failed("invalid token id".to_string()));
176172
}
177173

178174
let parts: Vec<&str> = token.split('.').collect();
@@ -204,7 +200,7 @@ impl Adapter for EthereumAdapter {
204200
let contract = get_contract(&self.config, contract_address, &IDENTITY_ABI)
205201
.map_err(|_| map_error("failed to init identity contract"))?;
206202

207-
let priviledge_level: U256 = contract
203+
let privilege_level: U256 = contract
208204
.query(
209205
"privileges",
210206
verified.from.to_string(),
@@ -215,7 +211,7 @@ impl Adapter for EthereumAdapter {
215211
.wait()
216212
.map_err(|_| map_error("failed query priviledge level on contract"))?;
217213

218-
if priviledge_level == *PRIVILEGE_LEVEL_NONE {
214+
if privilege_level == *PRIVILEGE_LEVEL_NONE {
219215
return Err(AdapterError::Authorization(
220216
"insufficient privilege".to_string(),
221217
));
@@ -231,7 +227,6 @@ impl Adapter for EthereumAdapter {
231227
},
232228
};
233229

234-
self.session_tokens.insert(token_id, sess.clone());
235230
Ok(sess)
236231
}
237232

primitives/src/adapter.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ pub trait Adapter: ChannelValidator + Send + Clone + Debug {
8181
fn validate_channel(&self, channel: &Channel) -> AdapterResult<bool>;
8282

8383
/// Get user session from token
84-
fn session_from_token(&mut self, token: &str) -> AdapterResult<Session>;
84+
fn session_from_token(&self, token: &str) -> AdapterResult<Session>;
8585

8686
/// Gets authentication for specific validator
8787
fn get_auth(&mut self, validator_id: &ValidatorId) -> AdapterResult<String>;

0 commit comments

Comments
 (0)