move invalid parameters validation to javascript and remove validation from android

This commit is contained in:
Omer Levy
2017-10-09 03:42:57 +03:00
parent 29ebbbcc00
commit a085733e03
4 changed files with 83 additions and 46 deletions

View File

@@ -1,4 +1,5 @@
import ModuleBase from './../../utils/ModuleBase';
import { areObjectKeysContainedInOther } from './../../utils';
const EVENT_TYPE = {
Link: 'dynamic_link_received',
@@ -43,6 +44,9 @@ export default class Links extends ModuleBase {
* @returns {Promise.<String>}
*/
createDynamicLink(parameters: Object = {}): Promise<String> {
if (!this._validateParameters(parameters)) {
return Promise.reject(new Error('Invalid Parameters.'));
}
return this._native.createDynamicLink(parameters);
}
@@ -52,8 +56,43 @@ export default class Links extends ModuleBase {
* @returns {Promise.<String>}
*/
createShortDynamicLink(parameters: Object = {}): Promise<String> {
if (!this._validateParameters(parameters)) {
return Promise.reject(new Error('Invalid Parameters.'));
}
return this._native.createShortDynamicLink(parameters);
}
_validateParameters(parameters: Object): boolean {
const suportedParametersObject = {
dynamicLinkInfo: {
dynamicLinkDomain: 'string',
link: 'string',
androidInfo: {
androidPackageName: 'string',
androidFallbackLink: 'string',
androidMinPackageVersionCode: 'string',
androidLink: 'string',
},
iosInfo: {
iosBundleId: 'string',
iosFallbackLink: 'string',
iosCustomScheme: 'string',
iosIpadFallbackLink: 'string',
iosIpadBundleId: 'string',
iosAppStoreId: 'string',
},
socialMetaTagInfo: {
socialTitle: 'string',
socialDescription: 'string',
socialImageLink: 'string',
},
},
suffix: {
option: 'string',
},
};
return areObjectKeysContainedInOther(parameters, suportedParametersObject);
}
}
export const statics = {