Package net.worcade.client.internal
Class WorcadeClient
- java.lang.Object
-
- net.worcade.client.internal.WorcadeClient
-
-
Field Summary
Fields Modifier and Type Field Description protected static Function<Object,IncomingDto>DTO_FUNCTIONprotected static StringPUBLIC_API
-
Constructor Summary
Constructors Modifier Constructor Description protectedWorcadeClient(String baseUrl)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected Result<? extends Worcade>checkServerVersion()protected abstract WorcadeClientcopy()WorcadeClientcopyWithSameAuth()Creates a copy of this client which uses the same internal client instance.ExternalNumbercreateExternalNumber(String number, String description)RemoteIdcreateRemoteId(String remoteIdType, String remoteId)Create a remote id object for use withRemoteIdsApimethodsWebhook.HeadercreateWebhookHeader(String name, String value)WorkOrder.RowcreateWorkOrderRow(String description, Duration duration, Double cost, Currency currency)protected abstract Result<IncomingDto>delete(String url, Object data, net.worcade.client.internal.Header... additionalHeader)protected abstract Result<IncomingDto>delete(String url, net.worcade.client.internal.Header... additionalHeader)protected abstract Result<IncomingDto>get(String url, net.worcade.client.internal.Header... additionalHeader)Result<? extends Authentication>getAuthentication()Get information about the currently authenticated application and/or user, and the company and groups they are members ofprotected abstract Result<BinaryData>getBinary(String url, net.worcade.client.internal.Header... additionalHeader)protected abstract Result<List<IncomingDto>>getList(String url, net.worcade.client.internal.Header... additionalHeader)Result<? extends Collection<? extends Notification>>getNotifications()Result<? extends Authentication>getSecretAuthentication(String userId, String secret)Result<ReferenceWithName>loginApplication(String applicationId, PrivateKey applicationPrivateKey, PublicKey worcadePublicKey)Login an application.Result<ReferenceWithName>loginUserByEmail(String email, String password)Login a user by email address.Result<ReferenceWithName>loginUserById(String userId, String password)Login a user by id.Result<?>logoutApplication()Logout the current logged in user, invalidating the session token.Result<?>logoutUser()Logout the current logged in user, invalidating the session token.protected abstract Result<IncomingDto>post(String url, Object data, net.worcade.client.internal.Header... additionalHeader)protected abstract Result<IncomingDto>postBinary(String url, InputStream data, String contentType, net.worcade.client.internal.Header... additionalHeader)Result<Boolean>probeUserTrust(String userId, String applicationId)Checks if the given user trusts the given application.protected abstract Result<IncomingDto>put(String url, Object data, net.worcade.client.internal.Header... additionalHeader)Result<ReferenceWithName>setApplicationApiKey(String apiKey)Result<ReferenceWithName>setApplicationSourceAuth(String id)Result<? extends Authentication>setTrustedUser(Reference user)Set a trusted user for the logged in applicationResult<ReferenceWithName>setUserApiKey(String apiKey)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.worcade.client.Worcade
close, getApplicationApi, getAssetApi, getAttachmentApi, getChecklistApi, getCompanyApi, getContactsApi, getConversationApi, getGroupApi, getLabelApi, getReclaimApi, getRoomApi, getSearchApi, getSiteApi, getUserApi, getWebhookApi, getWorkOrderApi
-
-
-
-
Field Detail
-
PUBLIC_API
protected static String PUBLIC_API
-
DTO_FUNCTION
protected static final Function<Object,IncomingDto> DTO_FUNCTION
-
-
Constructor Detail
-
WorcadeClient
protected WorcadeClient(String baseUrl)
-
-
Method Detail
-
loginUserByEmail
public Result<ReferenceWithName> loginUserByEmail(String email, String password)
Description copied from interface:WorcadeLogin a user by email address. This call replaces all existing authentications.- Specified by:
loginUserByEmailin interfaceWorcade- Returns:
- A reference to the logged in user
-
loginUserById
public Result<ReferenceWithName> loginUserById(String userId, String password)
Description copied from interface:WorcadeLogin a user by id. This call replaces all existing authentications.- Specified by:
loginUserByIdin interfaceWorcade- Returns:
- A reference to the logged in user
-
setUserApiKey
public Result<ReferenceWithName> setUserApiKey(String apiKey)
- Specified by:
setUserApiKeyin interfaceWorcade
-
logoutUser
public Result<?> logoutUser()
Description copied from interface:WorcadeLogout the current logged in user, invalidating the session token.- Specified by:
logoutUserin interfaceWorcade
-
loginApplication
public Result<ReferenceWithName> loginApplication(String applicationId, PrivateKey applicationPrivateKey, PublicKey worcadePublicKey)
Description copied from interface:WorcadeLogin an application. This call replaces all existing authentications.- Specified by:
loginApplicationin interfaceWorcade- Returns:
- A reference to the logged in application
-
setApplicationSourceAuth
public Result<ReferenceWithName> setApplicationSourceAuth(String id)
- Specified by:
setApplicationSourceAuthin interfaceWorcade
-
setApplicationApiKey
public Result<ReferenceWithName> setApplicationApiKey(String apiKey)
- Specified by:
setApplicationApiKeyin interfaceWorcade
-
setTrustedUser
public Result<? extends Authentication> setTrustedUser(Reference user)
Description copied from interface:WorcadeSet a trusted user for the logged in application- Specified by:
setTrustedUserin interfaceWorcade- Returns:
- a failed result if the application does not trust the user, and a successful one otherwise
-
logoutApplication
public Result<?> logoutApplication()
Description copied from interface:WorcadeLogout the current logged in user, invalidating the session token.- Specified by:
logoutApplicationin interfaceWorcade
-
getSecretAuthentication
public Result<? extends Authentication> getSecretAuthentication(String userId, String secret)
-
getAuthentication
public Result<? extends Authentication> getAuthentication()
Description copied from interface:WorcadeGet information about the currently authenticated application and/or user, and the company and groups they are members of- Specified by:
getAuthenticationin interfaceWorcade
-
probeUserTrust
public Result<Boolean> probeUserTrust(String userId, String applicationId)
Description copied from interface:WorcadeChecks if the given user trusts the given application. The application must be authenticated to use this endpoint.- Specified by:
probeUserTrustin interfaceWorcade- Returns:
- a result of `true` if the user trusts the application
-
getNotifications
public Result<? extends Collection<? extends Notification>> getNotifications()
- Specified by:
getNotificationsin interfaceWorcade
-
createRemoteId
public RemoteId createRemoteId(String remoteIdType, String remoteId)
Description copied from interface:WorcadeCreate a remote id object for use withRemoteIdsApimethods- Specified by:
createRemoteIdin interfaceWorcade
-
createExternalNumber
public ExternalNumber createExternalNumber(String number, String description)
- Specified by:
createExternalNumberin interfaceWorcade
-
createWebhookHeader
public Webhook.Header createWebhookHeader(String name, String value)
- Specified by:
createWebhookHeaderin interfaceWorcade
-
createWorkOrderRow
public WorkOrder.Row createWorkOrderRow(String description, Duration duration, Double cost, Currency currency)
- Specified by:
createWorkOrderRowin interfaceWorcade
-
copyWithSameAuth
public WorcadeClient copyWithSameAuth()
Description copied from interface:WorcadeCreates a copy of this client which uses the same internal client instance. This is useful if you need a client that's not logged in, a client logged in with an application only, and a client logged in with an application and user simultaneously. Note that callingWorcade.close()on any copied instance closes the internal client, and hence closes all copies.- Specified by:
copyWithSameAuthin interfaceWorcade
-
copy
protected abstract WorcadeClient copy()
-
get
protected abstract Result<IncomingDto> get(String url, net.worcade.client.internal.Header... additionalHeader)
-
getList
protected abstract Result<List<IncomingDto>> getList(String url, net.worcade.client.internal.Header... additionalHeader)
-
getBinary
protected abstract Result<BinaryData> getBinary(String url, net.worcade.client.internal.Header... additionalHeader)
-
post
protected abstract Result<IncomingDto> post(String url, Object data, net.worcade.client.internal.Header... additionalHeader)
-
postBinary
protected abstract Result<IncomingDto> postBinary(String url, InputStream data, String contentType, net.worcade.client.internal.Header... additionalHeader)
-
put
protected abstract Result<IncomingDto> put(String url, Object data, net.worcade.client.internal.Header... additionalHeader)
-
delete
protected abstract Result<IncomingDto> delete(String url, net.worcade.client.internal.Header... additionalHeader)
-
delete
protected abstract Result<IncomingDto> delete(String url, Object data, net.worcade.client.internal.Header... additionalHeader)
-
-