Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
VC
rust-gitlab
Commits
64459cbc
Commit
64459cbc
authored
Jan 13, 2017
by
Ben Boeckel
⛰
Browse files
types: update for UserFull's rename upstream
parent
f5fd77d5
Changes
4
Hide whitespace changes
Inline
Side-by-side
data/user_
full
.json
→
data/user_
public
.json
View file @
64459cbc
File moved
src/gitlab.rs
View file @
64459cbc
...
...
@@ -96,13 +96,13 @@ impl Gitlab {
};
// Ensure the API is working.
let
_
:
User
Full
=
try
!
(
api
._get
(
"user"
));
let
_
:
User
Public
=
try
!
(
api
._get
(
"user"
));
Ok
(
api
)
}
/// The user the API is acting as.
pub
fn
current_user
(
&
self
)
->
Result
<
User
Full
>
{
pub
fn
current_user
(
&
self
)
->
Result
<
User
Public
>
{
self
._get
(
"user"
)
}
...
...
src/test/types.rs
View file @
64459cbc
...
...
@@ -488,43 +488,43 @@ fn test_read_user() {
}
#[test]
fn
test_read_user_
full
()
{
let
user_
full
:
UserFull
=
read_test_file
(
"user_
full
"
);
assert_eq!
(
user_
full
.username
,
"ben.boeckel"
);
assert_eq!
(
user_
full
.name
,
"Ben Boeckel"
);
assert_eq!
(
user_
full
.id
,
UserId
::
new
(
13
));
assert_eq!
(
user_
full
.state
,
UserState
::
Active
);
assert_eq!
(
user_
full
.avatar_url
,
fn
test_read_user_
public
()
{
let
user_
public
:
UserPublic
=
read_test_file
(
"user_
public
"
);
assert_eq!
(
user_
public
.username
,
"ben.boeckel"
);
assert_eq!
(
user_
public
.name
,
"Ben Boeckel"
);
assert_eq!
(
user_
public
.id
,
UserId
::
new
(
13
));
assert_eq!
(
user_
public
.state
,
UserState
::
Active
);
assert_eq!
(
user_
public
.avatar_url
,
"https://secure.gravatar.com/avatar/2f5f7e99190174edb5a2f66b8653b0b2?s=80&d=identicon"
);
assert_eq!
(
user_
full
.web_url
,
"https://gitlab.kitware.com/ben.boeckel"
);
assert_eq!
(
user_
full
.created_at
,
assert_eq!
(
user_
public
.web_url
,
"https://gitlab.kitware.com/ben.boeckel"
);
assert_eq!
(
user_
public
.created_at
,
UTC
.ymd
(
2015
,
2
,
26
)
.and_hms_milli
(
17
,
23
,
28
,
730
));
assert_eq!
(
user_
full
.is_admin
,
false
);
assert_eq!
(
user_
full
.bio
,
None
);
assert_eq!
(
user_
full
.location
,
None
);
assert_eq!
(
user_
full
.skype
,
""
);
assert_eq!
(
user_
full
.linkedin
,
""
);
assert_eq!
(
user_
full
.twitter
,
""
);
assert_eq!
(
user_
full
.website_url
,
""
);
assert_eq!
(
user_
full
.organization
,
None
);
assert_eq!
(
user_
full
.last_sign_in_at
,
assert_eq!
(
user_
public
.is_admin
,
false
);
assert_eq!
(
user_
public
.bio
,
None
);
assert_eq!
(
user_
public
.location
,
None
);
assert_eq!
(
user_
public
.skype
,
""
);
assert_eq!
(
user_
public
.linkedin
,
""
);
assert_eq!
(
user_
public
.twitter
,
""
);
assert_eq!
(
user_
public
.website_url
,
""
);
assert_eq!
(
user_
public
.organization
,
None
);
assert_eq!
(
user_
public
.last_sign_in_at
,
Some
(
UTC
.ymd
(
2016
,
12
,
7
)
.and_hms_milli
(
15
,
5
,
56
,
167
)));
assert_eq!
(
user_
full
.confirmed_at
,
assert_eq!
(
user_
public
.confirmed_at
,
UTC
.ymd
(
2015
,
2
,
26
)
.and_hms_milli
(
17
,
23
,
28
,
693
));
assert_eq!
(
user_
full
.email
,
"ben.boeckel@kitware.com"
);
assert_eq!
(
user_
full
.theme_id
,
ThemeId
::
new
(
2
));
assert_eq!
(
user_
full
.color_scheme_id
,
ColorSchemeId
::
new
(
2
));
assert_eq!
(
user_
full
.projects_limit
,
50
);
assert_eq!
(
user_
full
.current_sign_in_at
,
assert_eq!
(
user_
public
.email
,
"ben.boeckel@kitware.com"
);
assert_eq!
(
user_
public
.theme_id
,
ThemeId
::
new
(
2
));
assert_eq!
(
user_
public
.color_scheme_id
,
ColorSchemeId
::
new
(
2
));
assert_eq!
(
user_
public
.projects_limit
,
50
);
assert_eq!
(
user_
public
.current_sign_in_at
,
Some
(
UTC
.ymd
(
2016
,
12
,
7
)
.and_hms_milli
(
16
,
15
,
50
,
720
)));
assert!
(
user_
full
.identities
.is_empty
());
assert_eq!
(
user_
full
.can_create_group
,
true
);
assert_eq!
(
user_
full
.can_create_project
,
true
);
assert_eq!
(
user_
full
.two_factor_enabled
,
true
);
assert_eq!
(
user_
full
.external
,
false
);
assert!
(
user_
public
.identities
.is_empty
());
assert_eq!
(
user_
public
.can_create_group
,
true
);
assert_eq!
(
user_
public
.can_create_project
,
true
);
assert_eq!
(
user_
public
.two_factor_enabled
,
true
);
assert_eq!
(
user_
public
.external
,
false
);
}
src/types.rs.in
View file @
64459cbc
...
...
@@ -141,7 +141,7 @@ impl_id!(ColorSchemeId);
#[derive(Serialize, Deserialize, Debug, Clone)]
/// Full user structure information.
pub struct User
Full
{
pub struct User
Public
{
/// The username.
pub username: String,
/// The display name.
...
...
@@ -201,14 +201,10 @@ pub struct UserFull {
pub two_factor_enabled: bool,
/// Whether the account is externally controlled.
pub external: bool,
// There's a `UserLogin` structure as well which contains this key too, but the API already has
// this token, so this is being skipped.
//pub private_token: String,
}
impl From<User
Full
> for UserBasic {
fn from(user: User
Full
) -> Self {
impl From<User
Public
> for UserBasic {
fn from(user: User
Public
) -> Self {
UserBasic {
username: user.username,
name: user.name,
...
...
@@ -220,8 +216,8 @@ impl From<UserFull> for UserBasic {
}
}
impl From<User
Full
> for User {
fn from(user: User
Full
) -> Self {
impl From<User
Public
> for User {
fn from(user: User
Public
) -> Self {
User {
username: user.username,
name: user.name,
...
...
@@ -724,6 +720,8 @@ pub struct GroupDetail {
pub shared_projects: Vec<Project>,
/// Whether membership requests are allowed for the group.
pub request_access_enabled: bool,
/// Statistics about the group.
pub statistics: Option<ProjectStatistics>,
}
impl From<GroupDetail> for Group {
...
...
@@ -738,6 +736,7 @@ impl From<GroupDetail> for Group {
avatar_url: detail.avatar_url,
web_url: detail.web_url,
request_access_enabled: detail.request_access_enabled,
statistics: detail.statistics,
}
}
}
...
...
@@ -1323,7 +1322,7 @@ pub struct SshKeyWithUser {
/// When the key was created.
pub created_at: DateTime<UTC>,
/// The user associated with the SSH key.
pub user: User
Full
,
pub user: User
Public
,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment