/** * getOrganizationSidByAccountSid * * @param accountSid * @return Sid of Organization */ public static Sid getOrganizationSidByAccountSid(DaoManager storage, final Sid accountSid) { return storage.getAccountsDao().getAccount(accountSid).getOrganizationSid(); }
/** * @param account * @throws IllegalStateException */ private void checkOrganization(Account account) throws IllegalStateException { Sid organizationSid = account.getOrganizationSid(); if(organizationSid == null){ String errorMsg = "there is no organization assosiate with this account: "+account.getSid(); logger.error(errorMsg); throw new IllegalStateException(errorMsg); } Organization organization = organizationsDao.getOrganization(organizationSid); if(organization == null || organization.getDomainName() == null || organization.getDomainName().trim().isEmpty()){ String errorMsg = "Invalid or Null Organization: "+organization +" for account: "+account.getSid(); logger.error(errorMsg); throw new IllegalStateException(errorMsg); } }
/** * update SIP client of the corresponding Account.Password and FriendlyName fields are synched. */ private void updateLinkedClient(Account account, MultivaluedMap<String, String> data) { logger.debug("checking linked client"); String email = account.getEmailAddress(); if (email != null && !email.equals("")) { logger.debug("account email is valid"); String username = email.split("@")[0]; Client client = clientDao.getClient(username, account.getOrganizationSid()); if (client != null) { logger.debug("client found"); // TODO: need to encrypt this password because it's // same with Account password. // Don't implement now. Opened another issue for it. if (data.containsKey("Password")) { // Md5Hash(data.getFirst("Password")).toString(); logger.debug("password changed"); String password = data.getFirst("Password"); client = client.setPassword(client.getLogin(), password, organizationsDao.getOrganization(account.getOrganizationSid()).getDomainName()); } if (data.containsKey("FriendlyName")) { logger.debug("friendlyname changed"); client = client.setFriendlyName(data.getFirst("FriendlyName")); } logger.debug("updating linked client"); clientDao.updateClient(client); } } }
Client client = dao.getClient(data.getFirst("Login"), account.getOrganizationSid()); if (client == null) { try {
public Response updateIncomingPhoneNumber(final String accountSid, final String sid, final MultivaluedMap<String, String> data, final MediaType responseType) { Account operatedAccount = accountsDao.getAccount(accountSid); secure(operatedAccount, "RestComm:Modify:IncomingPhoneNumbers"); try{ final IncomingPhoneNumber incomingPhoneNumber = dao.getIncomingPhoneNumber(new Sid(sid)); if (incomingPhoneNumber == null) { return status(NOT_FOUND).build(); } secure(operatedAccount, incomingPhoneNumber.getAccountSid(), SecuredType.SECURED_STANDARD ); boolean updated = true; updated = updateNumberAtPhoneNumberProvisioningManager(incomingPhoneNumber, organizationsDao.getOrganization(operatedAccount.getOrganizationSid())); if(updated) { dao.updateIncomingPhoneNumber(update(incomingPhoneNumber, data)); if (APPLICATION_JSON_TYPE.equals(responseType)) { return ok(gson.toJson(incomingPhoneNumber), APPLICATION_JSON).build(); } else if (APPLICATION_XML_TYPE.equals(responseType)) { final RestCommResponse response = new RestCommResponse(incomingPhoneNumber); return ok(xstream.toXML(response), APPLICATION_XML).build(); } else { return null; } } return status(BAD_REQUEST).entity("21452").build(); }catch(Exception e){ logger.error("Exception while performing updateIncomingPhoneNumber: ", e); return status(INTERNAL_SERVER_ERROR).build(); } }
private Client createClientFrom(final Sid accountSid, final MultivaluedMap<String, String> data) { final Client.Builder builder = Client.builder(); final Sid sid = Sid.generate(Sid.Type.CLIENT); // TODO: need to encrypt this password because it's same with Account // password. // Don't implement now. Opened another issue for it. // String password = new Md5Hash(data.getFirst("Password")).toString(); String password = data.getFirst("Password"); builder.setSid(sid); builder.setAccountSid(accountSid); builder.setApiVersion(getApiVersion(data)); builder.setLogin(data.getFirst("Login")); builder.setPassword(data.getFirst("Login"), password, organizationsDao.getOrganization(accountsDao.getAccount(accountSid).getOrganizationSid()).getDomainName()); builder.setFriendlyName(data.getFirst("FriendlyName")); builder.setStatus(Client.ENABLED); final StringBuilder buffer = new StringBuilder(); buffer.append("/").append(getApiVersion(data)).append("/Accounts/").append(accountSid.toString()) .append("/Clients/").append(sid.toString()); builder.setUri(URI.create(buffer.toString())); return builder.build(); }
private Map<String, Object> toMap(final Account account) { final Map<String, Object> map = new HashMap<String, Object>(); map.put("sid", writeSid(account.getSid())); map.put("date_created", writeDateTime(account.getDateCreated())); map.put("date_updated", writeDateTime(account.getDateUpdated())); map.put("email_address", account.getEmailAddress()); map.put("friendly_name", account.getFriendlyName()); map.put("parent_sid", writeSid(account.getParentSid())); map.put("type", writeAccountType(account.getType())); map.put("status", writeAccountStatus(account.getStatus())); map.put("auth_token", account.getAuthToken()); map.put("role", account.getRole()); map.put("uri", writeUri(account.getUri())); map.put("organization_sid", writeSid(account.getOrganizationSid())); return map; } }
Sid orgSid = new Sid(data.getFirst("OrganizationSid")); if(!orgSid.equals(parent.getOrganizationSid())){ organizationSid = organizationSid != null ? organizationSid : parent.getOrganizationSid(); final String password = data.getFirst("Password"); PasswordValidator validator = PasswordValidatorFactory.createDefault();
protected Response updateClient(final String accountSid, final String sid, final MultivaluedMap<String, String> data, final MediaType responseType) { Account operatedAccount = accountsDao.getAccount(accountSid); secure(operatedAccount, "RestComm:Modify:Clients"); Client client = dao.getClient(new Sid(sid)); if (client == null) { return status(NOT_FOUND).build(); } else { secure(operatedAccount, client.getAccountSid(), SecuredType.SECURED_STANDARD ); try { final String realm = organizationsDao.getOrganization(accountsDao.getAccount(client.getAccountSid()).getOrganizationSid()).getDomainName(); client = update(client, realm, data); dao.updateClient(client); } catch (PasswordTooWeak passwordTooWeak) { return status(BAD_REQUEST).entity(buildErrorResponseBody("Password too weak",responseType)).type(responseType).build(); } if (APPLICATION_XML_TYPE.equals(responseType)) { final RestCommResponse response = new RestCommResponse(client); return ok(xstream.toXML(response), APPLICATION_XML).build(); } else if (APPLICATION_JSON_TYPE.equals(responseType)) { return ok(gson.toJson(client), APPLICATION_JSON).build(); } else { return null; } } }
if (userIdentityContext.getEffectiveAccount().getOrganizationSid().equals(new Sid(organizationSid))) { organization = organizationsDao.getOrganization(new Sid(organizationSid)); } else {
if (operatingAccount.getOrganizationSid().equals(organization.getSid())) { return status(BAD_REQUEST).entity("Account already in the requested Organization").build(); if (!child.getOrganizationSid().equals(organization.getSid())) { Account modifiedChildAccount = child.setOrganizationSid(organization.getSid()); accountsDao.updateAccount(modifiedChildAccount);
Sid organizationSid = lastAccount.getOrganizationSid(); profile = retrieveExplicitlyAssociatedProfile(organizationSid);
clientData.add("FriendlyName", account.getFriendlyName()); clientData.add("AccountSid", account.getSid().toString()); Client client = clientDao.getClient(clientData.getFirst("Login"), account.getOrganizationSid()); if (client == null) { client = createClientFrom(account.getSid(), clientData);
}else{ for(IncomingPhoneNumber incomingPhoneNumber : incomingPhoneNumbers){ if(incomingPhoneNumber.getOrganizationSid().equals(account.getOrganizationSid())){ available = false; IncomingPhoneNumber incomingPhoneNumber = createFrom(new Sid(accountSid), data, account.getOrganizationSid()); String domainName = organizationsDao.getOrganization(account.getOrganizationSid()).getDomainName(); phoneNumberParameters.setVoiceUrl((callbackPort == null || callbackPort.trim().isEmpty()) ? domainName : domainName+":"+callbackPort); phoneNumberParameters.setPhoneNumberType(phoneNumberType);
if (!validator.isStrongEnough(password)) throw new PasswordTooWeak(); String realm = organizationsDao.getOrganization(accountsDao.getAccount(accountSid).getOrganizationSid()).getDomainName();
public Builder copy(Account account) { sid = account.getSid(); parentSid = account.getParentSid(); organizationSid = account.getOrganizationSid(); type = account.getType(); uri = account.getUri(); authToken = account.getAuthToken(); emailAddress = account.getEmailAddress(); friendlyName = account.getFriendlyName(); role = account.getRole(); status = account.getStatus(); return this; }
@Override public JsonElement serialize(final Account account, final Type type, final JsonSerializationContext context) { final JsonObject object = new JsonObject(); writeSid(account.getSid(), object); object.addProperty("organization", account.getOrganizationSid().toString()); writeFriendlyName(account.getFriendlyName(), object); writeEmailAddress(account, object); writeType(account.getType().toString(), object); writeStatus(account.getStatus().toString(), object); writeRoleInfo(account.getRole(), object); writeDateCreated(account.getDateCreated(), object); writeDateUpdated(account.getDateUpdated(), object); writeAuthToken(account, object); writeUri(account, object); writeSubResourceUris(account, object); return object; }
Sid organizationSid = daoManager.getAccountsDao().getAccount(callRecord.getAccountSid()).getOrganizationSid();
@Override public void marshal(final Object object, final HierarchicalStreamWriter writer, final MarshallingContext context) { final Account account = (Account) object; writer.startNode("Account"); writeSid(account.getSid(), writer); writer.startNode("organization"); writer.setValue(account.getOrganizationSid().toString()); writer.endNode(); writeFriendlyName(account.getFriendlyName(), writer); writeEmailAddress(account, writer); writeStatus(account.getStatus().toString(), writer); writeRoleInfo(account.getRole(), writer); writeType(account.getType().toString(), writer); writeDateCreated(account.getDateCreated(), writer); writeDateUpdated(account.getDateUpdated(), writer); writeAuthToken(account, writer); writeUri(account.getUri(), writer); writeSubResourceUris(account, writer); writer.endNode(); }