mirror of
https://github.com/zhigang1992/react-native-firebase.git
synced 2026-04-29 04:35:43 +08:00
move invalid parameters validation to javascript and remove validation from android
This commit is contained in:
@@ -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 = {
|
||||
|
||||
Reference in New Issue
Block a user