Class UserResource
- java.lang.Object
-
- org.openmetadata.service.resources.EntityResource<User,UserRepository>
-
- org.openmetadata.service.resources.teams.UserResource
-
@Path("/v1/users") @Produces("application/json") @Consumes("application/json") public class UserResource extends EntityResource<User,UserRepository>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classUserResource.PersonalAccessTokenListstatic classUserResource.UserList
-
Field Summary
Fields Modifier and Type Field Description static StringCOLLECTION_PATHstatic StringUSER_PROTECTED_FIELDS-
Fields inherited from class org.openmetadata.service.resources.EntityResource
allowedFields, authorizer, entityClass, entityType, fieldsToViewOperations, repository, VIEW_ALL_OPERATIONS, VIEW_BASIC_OPERATIONS
-
-
Constructor Summary
Constructors Constructor Description UserResource(CollectionDAO dao, Authorizer authorizer, AuthenticatorHandler authenticatorHandler)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description UseraddHref(javax.ws.rs.core.UriInfo uriInfo, User user)javax.ws.rs.core.ResponsechangeUserPassword(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, @Valid ChangePasswordRequest request)javax.ws.rs.core.ResponsecheckEmailInUse(@Valid EmailRequest request)javax.ws.rs.core.ResponsecheckEmailVerified(javax.ws.rs.core.UriInfo uriInfo, @Valid EmailRequest request)javax.ws.rs.core.ResponseconfirmUserEmail(javax.ws.rs.core.UriInfo uriInfo, String token)javax.ws.rs.core.ResponsecreateAccessToken(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, @Valid CreatePersonalToken tokenRequest)javax.ws.rs.core.ResponsecreateOrUpdateUser(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, @Valid CreateUser create)javax.ws.rs.core.ResponsecreateUser(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, @Valid CreateUser create)javax.ws.rs.core.Responsedelete(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, boolean hardDelete, String name)javax.ws.rs.core.Responsedelete(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, boolean hardDelete, UUID id)@Valid StringexportUsersCsv(javax.ws.rs.core.SecurityContext securityContext, String team)javax.ws.rs.core.ResponsegenerateRandomPassword(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext)javax.ws.rs.core.ResponsegenerateResetPasswordLink(javax.ws.rs.core.UriInfo uriInfo, @Valid EmailRequest request)javax.ws.rs.core.ResponsegenerateToken(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id, @Valid GenerateTokenRequest generateTokenRequest)@Valid Userget(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id, String fieldsParam, Include include)AuthenticationMechanismgetAuthenticationMechanism(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id)@Valid UsergetByName(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, String name, String fieldsParam, Include include)@Valid List<EntityReference>getCurrentLoggedInUser(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext)@Valid UsergetCurrentLoggedInUser(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, String fieldsParam)protected List<MetadataOperation>getEntitySpecificOperations()javax.ws.rs.core.ResponsegetPersonalAccessToken(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, String userName)JWTAuthMechanismgetToken(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id)@Valid StringgetUserCsvDocumentation(javax.ws.rs.core.SecurityContext securityContext, String name)UsergetVersion(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id, String version)@Valid CsvImportResultimportCsv(javax.ws.rs.core.SecurityContext securityContext, String team, boolean dryRun, String csv)voidinitialize(OpenMetadataApplicationConfig config)Method used for initializing a resource, such as creating default policies, roles, etc.@Valid ResultList<User>list(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, String fieldsParam, String teamParam, @javax.validation.constraints.Min(0L),@javax.validation.constraints.Max(1000000L) int limitParam, String before, String after, Boolean isAdmin, Boolean isBot, Include include)EntityHistorylistVersions(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id)javax.ws.rs.core.ResponseloginUserWithPassword(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, @Valid LoginRequest loginRequest)javax.ws.rs.core.ResponselogoutUser(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, @Valid LogoutRequest request)javax.ws.rs.core.Responsepatch(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, UUID id, javax.json.JsonPatch patch)javax.ws.rs.core.ResponserefreshToken(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, @Valid TokenRefreshRequest refreshRequest)javax.ws.rs.core.ResponseregisterNewUser(javax.ws.rs.core.UriInfo uriInfo, @Valid RegistrationRequest create)javax.ws.rs.core.ResponseresendRegistrationToken(javax.ws.rs.core.UriInfo uriInfo, String user)javax.ws.rs.core.ResponseresetUserPassword(javax.ws.rs.core.UriInfo uriInfo, @Valid PasswordResetRequest request)javax.ws.rs.core.ResponserestoreTable(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, @Valid RestoreEntity restore)javax.ws.rs.core.ResponserevokePersonalAccessToken(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, String userName, boolean removeAll, @Valid RevokePersonalTokenRequest request)javax.ws.rs.core.ResponserevokeToken(javax.ws.rs.core.UriInfo uriInfo, javax.ws.rs.core.SecurityContext securityContext, @Valid RevokeTokenRequest revokeTokenRequest)voidvalidateEmailAlreadyExists(String email)-
Methods inherited from class org.openmetadata.service.resources.EntityResource
addHref, addViewOperation, copy, create, createOrUpdate, delete, deleteByName, exportCsvInternal, getByNameInternal, getByNameInternal, getEntityReference, getEntityReferences, getFields, getInternal, getInternal, getResourceContext, getResourceContextById, getResourceContextByName, getVersionInternal, getVersionInternal, importCsvInternal, listInternal, listInternal, listVersionsInternal, listVersionsInternal, patchInternal, restoreEntity, upgrade
-
-
-
-
Field Detail
-
COLLECTION_PATH
public static final String COLLECTION_PATH
- See Also:
- Constant Field Values
-
USER_PROTECTED_FIELDS
public static final String USER_PROTECTED_FIELDS
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
UserResource
public UserResource(CollectionDAO dao, Authorizer authorizer, AuthenticatorHandler authenticatorHandler)
-
-
Method Detail
-
addHref
public User addHref(javax.ws.rs.core.UriInfo uriInfo, User user)
- Specified by:
addHrefin classEntityResource<User,UserRepository>
-
getEntitySpecificOperations
protected List<MetadataOperation> getEntitySpecificOperations()
- Overrides:
getEntitySpecificOperationsin classEntityResource<User,UserRepository>
-
initialize
public void initialize(OpenMetadataApplicationConfig config)
Description copied from class:EntityResourceMethod used for initializing a resource, such as creating default policies, roles, etc.- Overrides:
initializein classEntityResource<User,UserRepository>
-
list
@GET @Valid public @Valid ResultList<User> list(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @QueryParam("fields") String fieldsParam, @QueryParam("team") String teamParam, @DefaultValue("10") @Min(0L) @Max(1000000L) @QueryParam("limit") @javax.validation.constraints.Min(0L),@javax.validation.constraints.Max(1000000L) int limitParam, @QueryParam("before") String before, @QueryParam("after") String after, @QueryParam("isAdmin") Boolean isAdmin, @QueryParam("isBot") Boolean isBot, @QueryParam("include") @DefaultValue("non-deleted") Include include)
-
listVersions
@GET @Path("/{id}/versions") public EntityHistory listVersions(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @PathParam("id") UUID id)
-
generateRandomPassword
@GET @Path("/generateRandomPwd") public javax.ws.rs.core.Response generateRandomPassword(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext)
-
get
@GET @Valid @Path("/{id}") public @Valid User get(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @PathParam("id") UUID id, @QueryParam("fields") String fieldsParam, @QueryParam("include") @DefaultValue("non-deleted") Include include)
-
getByName
@GET @Valid @Path("/name/{name}") public @Valid User getByName(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @PathParam("name") String name, @QueryParam("fields") String fieldsParam, @QueryParam("include") @DefaultValue("non-deleted") Include include)
-
getCurrentLoggedInUser
@GET @Valid @Path("/loggedInUser") public @Valid User getCurrentLoggedInUser(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @QueryParam("fields") String fieldsParam)
-
getCurrentLoggedInUser
@GET @Valid @Path("/loggedInUser/groupTeams") public @Valid List<EntityReference> getCurrentLoggedInUser(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext)
-
logoutUser
@POST @Path("/logout") public javax.ws.rs.core.Response logoutUser(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @Valid @Valid LogoutRequest request)
-
getVersion
@GET @Path("/{id}/versions/{version}") public User getVersion(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @PathParam("id") UUID id, @PathParam("version") String version)
-
createUser
@POST public javax.ws.rs.core.Response createUser(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @Valid @Valid CreateUser create)
-
createOrUpdateUser
@PUT public javax.ws.rs.core.Response createOrUpdateUser(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @Valid @Valid CreateUser create)
-
generateToken
@PUT @Path("/generateToken/{id}") public javax.ws.rs.core.Response generateToken(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @PathParam("id") UUID id, @Valid @Valid GenerateTokenRequest generateTokenRequest)
-
revokeToken
@PUT @Path("/revokeToken") public javax.ws.rs.core.Response revokeToken(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @Valid @Valid RevokeTokenRequest revokeTokenRequest)
-
getToken
@GET @Path("/token/{id}") public JWTAuthMechanism getToken(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @PathParam("id") UUID id)
-
getAuthenticationMechanism
@GET @Path("/auth-mechanism/{id}") public AuthenticationMechanism getAuthenticationMechanism(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @PathParam("id") UUID id)
-
patch
@Path("/{id}") @Consumes("application/json-patch+json") public javax.ws.rs.core.Response patch(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @PathParam("id") UUID id, javax.json.JsonPatch patch)
-
delete
@DELETE @Path("/{id}") public javax.ws.rs.core.Response delete(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @QueryParam("hardDelete") @DefaultValue("false") boolean hardDelete, @PathParam("id") UUID id)
-
delete
@DELETE @Path("/name/{name}") public javax.ws.rs.core.Response delete(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @QueryParam("hardDelete") @DefaultValue("false") boolean hardDelete, @PathParam("name") String name)
-
restoreTable
@PUT @Path("/restore") public javax.ws.rs.core.Response restoreTable(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @Valid @Valid RestoreEntity restore)
-
registerNewUser
@POST @Path("/signup") public javax.ws.rs.core.Response registerNewUser(@Context javax.ws.rs.core.UriInfo uriInfo, @Valid @Valid RegistrationRequest create) throws IOException- Throws:
IOException
-
confirmUserEmail
@PUT @Path("/registrationConfirmation") public javax.ws.rs.core.Response confirmUserEmail(@Context javax.ws.rs.core.UriInfo uriInfo, @QueryParam("token") String token)
-
resendRegistrationToken
@PUT @Path("/resendRegistrationToken") public javax.ws.rs.core.Response resendRegistrationToken(@Context javax.ws.rs.core.UriInfo uriInfo, @QueryParam("user") String user) throws IOException- Throws:
IOException
-
generateResetPasswordLink
@POST @Path("/generatePasswordResetLink") public javax.ws.rs.core.Response generateResetPasswordLink(@Context javax.ws.rs.core.UriInfo uriInfo, @Valid @Valid EmailRequest request)
-
resetUserPassword
@POST @Path("/password/reset") public javax.ws.rs.core.Response resetUserPassword(@Context javax.ws.rs.core.UriInfo uriInfo, @Valid @Valid PasswordResetRequest request) throws IOException- Throws:
IOException
-
changeUserPassword
@PUT @Path("/changePassword") public javax.ws.rs.core.Response changeUserPassword(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @Valid @Valid ChangePasswordRequest request) throws IOException- Throws:
IOException
-
checkEmailInUse
@POST @Path("/checkEmailInUse") public javax.ws.rs.core.Response checkEmailInUse(@Valid @Valid EmailRequest request)
-
checkEmailVerified
@POST @Path("/checkEmailVerified") public javax.ws.rs.core.Response checkEmailVerified(@Context javax.ws.rs.core.UriInfo uriInfo, @Valid @Valid EmailRequest request)
-
loginUserWithPassword
@POST @Path("/login") public javax.ws.rs.core.Response loginUserWithPassword(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @Valid @Valid LoginRequest loginRequest) throws IOException, freemarker.template.TemplateException- Throws:
IOExceptionfreemarker.template.TemplateException
-
refreshToken
@POST @Path("/refresh") public javax.ws.rs.core.Response refreshToken(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @Valid @Valid TokenRefreshRequest refreshRequest)
-
getPersonalAccessToken
@GET @Path("/security/token") public javax.ws.rs.core.Response getPersonalAccessToken(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @QueryParam("username") String userName)
-
revokePersonalAccessToken
@PUT @Path("/security/token/revoke") public javax.ws.rs.core.Response revokePersonalAccessToken(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @QueryParam("username") String userName, @QueryParam("removeAll") @DefaultValue("false") boolean removeAll, @Valid @Valid RevokePersonalTokenRequest request)
-
createAccessToken
@PUT @Path("/security/token") public javax.ws.rs.core.Response createAccessToken(@Context javax.ws.rs.core.UriInfo uriInfo, @Context javax.ws.rs.core.SecurityContext securityContext, @Valid @Valid CreatePersonalToken tokenRequest)
-
getUserCsvDocumentation
@GET @Path("/documentation/csv") @Valid public @Valid String getUserCsvDocumentation(@Context javax.ws.rs.core.SecurityContext securityContext, @PathParam("name") String name)
-
exportUsersCsv
@GET @Path("/export") @Produces("text/plain") @Valid public @Valid String exportUsersCsv(@Context javax.ws.rs.core.SecurityContext securityContext, @QueryParam("team") String team) throws IOException- Throws:
IOException
-
importCsv
@PUT @Path("/import") @Consumes("text/plain") @Valid public @Valid CsvImportResult importCsv(@Context javax.ws.rs.core.SecurityContext securityContext, @QueryParam("team") String team, @DefaultValue("true") @QueryParam("dryRun") boolean dryRun, String csv) throws IOException- Throws:
IOException
-
validateEmailAlreadyExists
public void validateEmailAlreadyExists(String email)
-
-