import propTypes from 'prop-types'; namespace com.teambytes.hipchat.sns.bridge.v1.models { export const hipchatVendor = propTypes.exact({ name: propTypes.string.isRequired, url: propTypes.string.isRequired, }); export const hipchatLinks = propTypes.exact({ homepage: propTypes.string, api: propTypes.string, self: propTypes.string.isRequired, }); export const hipchatOauth2Provider = propTypes.exact({ tokenUrl: propTypes.string, authorizationUrl: propTypes.string, }); export const hipchatInstallable = propTypes.exact({ callbackUrl: propTypes.string, installedUrl: propTypes.string, allowGlobal: propTypes.bool, allowRoom: propTypes.bool, }); export const hipchatConfigurationPage = propTypes.exact({ allowAccessToRoomAdmins: propTypes.string, url: propTypes.string.isRequired, }); } namespace com.teambytes.hipchat.sns.bridge.v1.enums { export const hipchatScope = propTypes.oneOf(['send_message', 'send_notification']); } namespace com.teambytes.hipchat.sns.bridge.v1.models { export const hipchatApiConsumer = propTypes.exact({ scopes: propTypes.arrayOf(com.teambytes.hipchat.sns.bridge.v1.enums.hipchatScope).isRequired, fromName: propTypes.string, }); export const hipchatCapabilities = propTypes.exact({ configurable: com.teambytes.hipchat.sns.bridge.v1.models.hipchatConfigurationPage, hipchatApiConsumer: com.teambytes.hipchat.sns.bridge.v1.models.hipchatApiConsumer, installable: com.teambytes.hipchat.sns.bridge.v1.models.hipchatInstallable, oauth2Provider: com.teambytes.hipchat.sns.bridge.v1.models.hipchatOauth2Provider, }); export const hipchatCapabilitiesDescriptor = propTypes.exact({ name: propTypes.string.isRequired, description: propTypes.string.isRequired, key: propTypes.string.isRequired, apiVersion: propTypes.string, capabilities: com.teambytes.hipchat.sns.bridge.v1.models.hipchatCapabilities, links: com.teambytes.hipchat.sns.bridge.v1.models.hipchatLinks.isRequired, vendor: com.teambytes.hipchat.sns.bridge.v1.models.hipchatVendor, }); export const error = propTypes.exact({ description: propTypes.string.isRequired, }); export const hipchatInstallData = propTypes.exact({ capabilitiesUrl: propTypes.string.isRequired, oauthId: propTypes.string.isRequired, oauthSecret: propTypes.string.isRequired, groupId: propTypes.number.isRequired, roomId: propTypes.string, }); export const serviceInfo = propTypes.exact({ name: propTypes.string.isRequired, version: propTypes.string.isRequired, scala_version: propTypes.string.isRequired, sbt_version: propTypes.string.isRequired, build_time: propTypes.string.isRequired, }); export const snsNotification = propTypes.exact({ Type: propTypes.string.isRequired, MessageId: propTypes.string.isRequired, TopicArn: propTypes.string.isRequired, Message: propTypes.string.isRequired, Timestamp: propTypes.string.isRequired, SignatureVersion: propTypes.string.isRequired, Signature: propTypes.string.isRequired, SigningCertURL: propTypes.string.isRequired, Token: propTypes.string, Subject: propTypes.string, SubscribeURL: propTypes.string, UnsubscribeURL: propTypes.string, }); } export const error = com.teambytes.hipchat.sns.bridge.v1.models.error; export const hipchatApiConsumer = com.teambytes.hipchat.sns.bridge.v1.models.hipchatApiConsumer; export const hipchatCapabilities = com.teambytes.hipchat.sns.bridge.v1.models.hipchatCapabilities; export const hipchatCapabilitiesDescriptor = com.teambytes.hipchat.sns.bridge.v1.models.hipchatCapabilitiesDescriptor; export const hipchatConfigurationPage = com.teambytes.hipchat.sns.bridge.v1.models.hipchatConfigurationPage; export const hipchatInstallData = com.teambytes.hipchat.sns.bridge.v1.models.hipchatInstallData; export const hipchatInstallable = com.teambytes.hipchat.sns.bridge.v1.models.hipchatInstallable; export const hipchatLinks = com.teambytes.hipchat.sns.bridge.v1.models.hipchatLinks; export const hipchatOauth2Provider = com.teambytes.hipchat.sns.bridge.v1.models.hipchatOauth2Provider; export const hipchatScope = com.teambytes.hipchat.sns.bridge.v1.enums.hipchatScope; export const hipchatVendor = com.teambytes.hipchat.sns.bridge.v1.models.hipchatVendor; export const serviceInfo = com.teambytes.hipchat.sns.bridge.v1.models.serviceInfo; export const snsNotification = com.teambytes.hipchat.sns.bridge.v1.models.snsNotification;