FIREBASEDYNAMICLINKS

firebasedynamiclinks.getLinkStats

valid {
    input.ReqMap.dynamicLink == STRING
    input.Qs.durationDays == STRING
    input.Qs.sdkVersion == STRING
    input.ProviderMetadata.Region == STRING
}

firebasedynamiclinks.installAttribution

enum_GetIosPostInstallAttributionRequestRetrievalMethod := [ "UNKNOWN_PAYLOAD_RETRIEVAL_METHOD", "IMPLICIT_WEAK_MATCH", "EXPLICIT_WEAK_MATCH", "EXPLICIT_STRONG_AFTER_WEAK_MATCH" ]
enum_GetIosPostInstallAttributionRequestVisualStyle := [ "UNKNOWN_VISUAL_STYLE", "DEFAULT_STYLE", "CUSTOM_STYLE" ]

valid {
    input.Body.appInstallationTime == STRING
    input.Body.bundleId == STRING
    input.Body.device.deviceModelName == STRING
    input.Body.device.languageCode == STRING
    input.Body.device.languageCodeFromWebview == STRING
    input.Body.device.languageCodeRaw == STRING
    input.Body.device.screenResolutionHeight == STRING
    input.Body.device.screenResolutionWidth == STRING
    input.Body.device.timezone == STRING
    input.Body.iosVersion == STRING
    input.Body.retrievalMethod == enum_GetIosPostInstallAttributionRequestRetrievalMethod[_]
    input.Body.sdkVersion == STRING
    input.Body.uniqueMatchLinkToCheck == STRING
    input.Body.visualStyle == enum_GetIosPostInstallAttributionRequestVisualStyle[_]
    input.ProviderMetadata.Region == STRING
}

firebasedynamiclinks.managedShortLinks.create

enum_SuffixOption := [ "OPTION_UNSPECIFIED", "UNGUESSABLE", "SHORT", "CUSTOM" ]

valid {
    input.Body.dynamicLinkInfo.analyticsInfo.googlePlayAnalytics.gclid == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.googlePlayAnalytics.utmCampaign == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.googlePlayAnalytics.utmContent == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.googlePlayAnalytics.utmMedium == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.googlePlayAnalytics.utmSource == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.googlePlayAnalytics.utmTerm == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.itunesConnectAnalytics.at == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.itunesConnectAnalytics.ct == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.itunesConnectAnalytics.mt == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.itunesConnectAnalytics.pt == STRING
    input.Body.dynamicLinkInfo.androidInfo.androidFallbackLink == STRING
    input.Body.dynamicLinkInfo.androidInfo.androidLink == STRING
    input.Body.dynamicLinkInfo.androidInfo.androidMinPackageVersionCode == STRING
    input.Body.dynamicLinkInfo.androidInfo.androidPackageName == STRING
    input.Body.dynamicLinkInfo.desktopInfo.desktopFallbackLink == STRING
    input.Body.dynamicLinkInfo.domainUriPrefix == STRING
    input.Body.dynamicLinkInfo.dynamicLinkDomain == STRING
    input.Body.dynamicLinkInfo.iosInfo.iosAppStoreId == STRING
    input.Body.dynamicLinkInfo.iosInfo.iosBundleId == STRING
    input.Body.dynamicLinkInfo.iosInfo.iosCustomScheme == STRING
    input.Body.dynamicLinkInfo.iosInfo.iosFallbackLink == STRING
    input.Body.dynamicLinkInfo.iosInfo.iosIpadBundleId == STRING
    input.Body.dynamicLinkInfo.iosInfo.iosIpadFallbackLink == STRING
    input.Body.dynamicLinkInfo.iosInfo.iosMinimumVersion == STRING
    input.Body.dynamicLinkInfo.link == STRING
    input.Body.dynamicLinkInfo.navigationInfo.enableForcedRedirect == BOOLEAN
    input.Body.dynamicLinkInfo.socialMetaTagInfo.socialDescription == STRING
    input.Body.dynamicLinkInfo.socialMetaTagInfo.socialImageLink == STRING
    input.Body.dynamicLinkInfo.socialMetaTagInfo.socialTitle == STRING
    input.Body.longDynamicLink == STRING
    input.Body.name == STRING
    input.Body.sdkVersion == STRING
    input.Body.suffix.customSuffix == STRING
    input.Body.suffix.option == enum_SuffixOption[_]
    input.ProviderMetadata.Region == STRING
}

firebasedynamiclinks.reopenAttribution

valid {
    input.Body.bundleId == STRING
    input.Body.requestedLink == STRING
    input.Body.sdkVersion == STRING
    input.ProviderMetadata.Region == STRING
}

firebasedynamiclinks.shortLinks.create

enum_SuffixOption := [ "OPTION_UNSPECIFIED", "UNGUESSABLE", "SHORT", "CUSTOM" ]

valid {
    input.Body.dynamicLinkInfo.analyticsInfo.googlePlayAnalytics.gclid == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.googlePlayAnalytics.utmCampaign == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.googlePlayAnalytics.utmContent == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.googlePlayAnalytics.utmMedium == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.googlePlayAnalytics.utmSource == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.googlePlayAnalytics.utmTerm == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.itunesConnectAnalytics.at == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.itunesConnectAnalytics.ct == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.itunesConnectAnalytics.mt == STRING
    input.Body.dynamicLinkInfo.analyticsInfo.itunesConnectAnalytics.pt == STRING
    input.Body.dynamicLinkInfo.androidInfo.androidFallbackLink == STRING
    input.Body.dynamicLinkInfo.androidInfo.androidLink == STRING
    input.Body.dynamicLinkInfo.androidInfo.androidMinPackageVersionCode == STRING
    input.Body.dynamicLinkInfo.androidInfo.androidPackageName == STRING
    input.Body.dynamicLinkInfo.desktopInfo.desktopFallbackLink == STRING
    input.Body.dynamicLinkInfo.domainUriPrefix == STRING
    input.Body.dynamicLinkInfo.dynamicLinkDomain == STRING
    input.Body.dynamicLinkInfo.iosInfo.iosAppStoreId == STRING
    input.Body.dynamicLinkInfo.iosInfo.iosBundleId == STRING
    input.Body.dynamicLinkInfo.iosInfo.iosCustomScheme == STRING
    input.Body.dynamicLinkInfo.iosInfo.iosFallbackLink == STRING
    input.Body.dynamicLinkInfo.iosInfo.iosIpadBundleId == STRING
    input.Body.dynamicLinkInfo.iosInfo.iosIpadFallbackLink == STRING
    input.Body.dynamicLinkInfo.iosInfo.iosMinimumVersion == STRING
    input.Body.dynamicLinkInfo.link == STRING
    input.Body.dynamicLinkInfo.navigationInfo.enableForcedRedirect == BOOLEAN
    input.Body.dynamicLinkInfo.socialMetaTagInfo.socialDescription == STRING
    input.Body.dynamicLinkInfo.socialMetaTagInfo.socialImageLink == STRING
    input.Body.dynamicLinkInfo.socialMetaTagInfo.socialTitle == STRING
    input.Body.longDynamicLink == STRING
    input.Body.sdkVersion == STRING
    input.Body.suffix.customSuffix == STRING
    input.Body.suffix.option == enum_SuffixOption[_]
    input.ProviderMetadata.Region == STRING
}