Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZXL-226: Mobile Notification #1199

Draft
wants to merge 3 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions common/src/java/com/zimbra/common/account/ZAttrProvisioning.java
Original file line number Diff line number Diff line change
Expand Up @@ -6217,6 +6217,22 @@ public static TwoFactorAuthSecretEncoding fromString(String s) throws ServiceExc
@ZAttr(id=1244)
public static final String A_zimbraExternalUserMailAddress = "zimbraExternalUserMailAddress";

/**
* FCM config JSON for mobile device
*
* @since ZCS 9.1.0
*/
@ZAttr(id=4005)
public static final String A_zimbraFCMDeviceJSON = "zimbraFCMDeviceJSON";

/**
* FCM server JSON for zimbra mailbox
*
* @since ZCS 9.1.0
*/
@ZAttr(id=4004)
public static final String A_zimbraFCMServerJSON = "zimbraFCMServerJSON";

/**
* RFC822 email address under verification for an account
*
Expand Down
8 changes: 8 additions & 0 deletions common/src/java/com/zimbra/common/localconfig/LC.java
Original file line number Diff line number Diff line change
Expand Up @@ -1460,6 +1460,14 @@ public enum PUBLIC_SHARE_VISIBILITY { samePrimaryDomain, all, none };

@Supported
public static final KnownKey zimbra_remote_cmd_channel_timeout_min = KnownKey.newKey(10);

public static final KnownKey fcm_server_config_path = KnownKey.newKey("${zimbra_home}/conf/fcm_server_config.json");

public static final KnownKey fcm_mobile_config_path = KnownKey.newKey("${zimbra_home}/conf/fcm_mobile_config.json");

public static final KnownKey fcm_server_thread_count = KnownKey.newKey(20);

public static final KnownKey mobile_notification_cache_size_mb = KnownKey.newKey(100);

static {
// Automatically set the key name with the variable name.
Expand Down
8 changes: 7 additions & 1 deletion store/conf/attrs/zimbra-attrs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9923,5 +9923,11 @@ TODO: delete them permanently from here
<attr id="4003" name="zimbraFeatureSafeUnsubscribeFolderEnabled" type="boolean" cardinality="single" optionalIn="account,cos" flags="accountInfo,accountInherited,domainAdminModifiable" since="9.1.0">
<defaultCOSValue>FALSE</defaultCOSValue>
<desc>Creates unsubscribe system folder</desc>
</attr>
</attr>
<attr id="4004" name="zimbraFCMServerJSON" type="string" cardinality="single" optionalIn="globalConfig" since="9.1.0" requiresRestart="mailbox">
<desc>FCM server JSON for zimbra mailbox</desc>
</attr>
<attr id="4005" name="zimbraFCMDeviceJSON" type="string" cardinality="single" optionalIn="globalConfig" since="9.1.0" requiresRestart="mailbox">
<desc>FCM config JSON for mobile device</desc>
</attr>
</attrs>
144 changes: 144 additions & 0 deletions store/src/java/com/zimbra/cs/account/ZAttrConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -16052,6 +16052,150 @@ public Map<String,Object> unsetExternalShareInvitationUrlExpiration(Map<String,O
return attrs;
}

/**
* FCM config JSON for mobile device
*
* @return zimbraFCMDeviceJSON, or null if unset
*
* @since ZCS 9.1.0
*/
@ZAttr(id=4005)
public String getFCMDeviceJSON() {
return getAttr(Provisioning.A_zimbraFCMDeviceJSON, null, true);
}

/**
* FCM config JSON for mobile device
*
* @param zimbraFCMDeviceJSON new value
* @throws com.zimbra.common.service.ServiceException if error during update
*
* @since ZCS 9.1.0
*/
@ZAttr(id=4005)
public void setFCMDeviceJSON(String zimbraFCMDeviceJSON) throws com.zimbra.common.service.ServiceException {
HashMap<String,Object> attrs = new HashMap<String,Object>();
attrs.put(Provisioning.A_zimbraFCMDeviceJSON, zimbraFCMDeviceJSON);
getProvisioning().modifyAttrs(this, attrs);
}

/**
* FCM config JSON for mobile device
*
* @param zimbraFCMDeviceJSON new value
* @param attrs existing map to populate, or null to create a new map
* @return populated map to pass into Provisioning.modifyAttrs
*
* @since ZCS 9.1.0
*/
@ZAttr(id=4005)
public Map<String,Object> setFCMDeviceJSON(String zimbraFCMDeviceJSON, Map<String,Object> attrs) {
if (attrs == null) attrs = new HashMap<String,Object>();
attrs.put(Provisioning.A_zimbraFCMDeviceJSON, zimbraFCMDeviceJSON);
return attrs;
}

/**
* FCM config JSON for mobile device
*
* @throws com.zimbra.common.service.ServiceException if error during update
*
* @since ZCS 9.1.0
*/
@ZAttr(id=4005)
public void unsetFCMDeviceJSON() throws com.zimbra.common.service.ServiceException {
HashMap<String,Object> attrs = new HashMap<String,Object>();
attrs.put(Provisioning.A_zimbraFCMDeviceJSON, "");
getProvisioning().modifyAttrs(this, attrs);
}

/**
* FCM config JSON for mobile device
*
* @param attrs existing map to populate, or null to create a new map
* @return populated map to pass into Provisioning.modifyAttrs
*
* @since ZCS 9.1.0
*/
@ZAttr(id=4005)
public Map<String,Object> unsetFCMDeviceJSON(Map<String,Object> attrs) {
if (attrs == null) attrs = new HashMap<String,Object>();
attrs.put(Provisioning.A_zimbraFCMDeviceJSON, "");
return attrs;
}

/**
* FCM server JSON for zimbra mailbox
*
* @return zimbraFCMServerJSON, or null if unset
*
* @since ZCS 9.1.0
*/
@ZAttr(id=4004)
public String getFCMServerJSON() {
return getAttr(Provisioning.A_zimbraFCMServerJSON, null, true);
}

/**
* FCM server JSON for zimbra mailbox
*
* @param zimbraFCMServerJSON new value
* @throws com.zimbra.common.service.ServiceException if error during update
*
* @since ZCS 9.1.0
*/
@ZAttr(id=4004)
public void setFCMServerJSON(String zimbraFCMServerJSON) throws com.zimbra.common.service.ServiceException {
HashMap<String,Object> attrs = new HashMap<String,Object>();
attrs.put(Provisioning.A_zimbraFCMServerJSON, zimbraFCMServerJSON);
getProvisioning().modifyAttrs(this, attrs);
}

/**
* FCM server JSON for zimbra mailbox
*
* @param zimbraFCMServerJSON new value
* @param attrs existing map to populate, or null to create a new map
* @return populated map to pass into Provisioning.modifyAttrs
*
* @since ZCS 9.1.0
*/
@ZAttr(id=4004)
public Map<String,Object> setFCMServerJSON(String zimbraFCMServerJSON, Map<String,Object> attrs) {
if (attrs == null) attrs = new HashMap<String,Object>();
attrs.put(Provisioning.A_zimbraFCMServerJSON, zimbraFCMServerJSON);
return attrs;
}

/**
* FCM server JSON for zimbra mailbox
*
* @throws com.zimbra.common.service.ServiceException if error during update
*
* @since ZCS 9.1.0
*/
@ZAttr(id=4004)
public void unsetFCMServerJSON() throws com.zimbra.common.service.ServiceException {
HashMap<String,Object> attrs = new HashMap<String,Object>();
attrs.put(Provisioning.A_zimbraFCMServerJSON, "");
getProvisioning().modifyAttrs(this, attrs);
}

/**
* FCM server JSON for zimbra mailbox
*
* @param attrs existing map to populate, or null to create a new map
* @return populated map to pass into Provisioning.modifyAttrs
*
* @since ZCS 9.1.0
*/
@ZAttr(id=4004)
public Map<String,Object> unsetFCMServerJSON(Map<String,Object> attrs) {
if (attrs == null) attrs = new HashMap<String,Object>();
attrs.put(Provisioning.A_zimbraFCMServerJSON, "");
return attrs;
}

/**
* Deprecated since: 8.8.6. No longer used by ContactBackupRequest SOAP
* handler. Orig desc: Sleep time between subsequent contact backups. 0
Expand Down