From cdc8eba140a21db8499b409706c012ad31a0bf47 Mon Sep 17 00:00:00 2001 From: Misty Stanley-Jones Date: Wed, 28 Sep 2016 14:36:23 -0700 Subject: [PATCH] Imitial import of https://github.com/docker/hub2-demo --- .arcconfig | 3 + .dockercfg.template | 1 + .editorconfig | 29 + .eslintrc | 158 ++ .flowconfig | 14 + .gitattributes | 1 + .gitignore | 15 - Dockerfile | 28 + Jenkinsfile | 8 + Makefile | 101 + README.md | 43 + _webpack/_common.webpack.config | 105 + _webpack/_commonLoaders.js | 22 + _webpack/_envConfig.js | 104 + _webpack/hashAndReplaceClient.js | 37 + _webpack/webpack.prod.config.js | 32 + _webpack/webpack.server.config.js | 54 + app-server/Dockerfile | 11 + app-server/favicons/fav copy.png | Bin 0 -> 16292 bytes app-server/favicons/favicon-dev.ico | Bin 0 -> 16749 bytes app-server/favicons/favicon.ico | Bin 0 -> 16292 bytes app-server/package.json | 52 + app/.htaccess | 663 +++++ app/favicon.ico | Bin 0 -> 1475 bytes app/fonts/FontAwesome.otf | Bin 0 -> 106260 bytes app/fonts/fontawesome-webfont.eot | Bin 0 -> 68875 bytes app/fonts/fontawesome-webfont.svg | 640 +++++ app/fonts/fontawesome-webfont.ttf | Bin 0 -> 138204 bytes app/fonts/fontawesome-webfont.woff | Bin 0 -> 81284 bytes app/fonts/fontawesome-webfont.woff2 | Bin 0 -> 64464 bytes app/img/docker-logos/docker-logo.svg | 77 + app/img/docker-logos/docker_logo-01.svg | 106 + app/img/docker-logos/docker_logo-02.svg | 106 + app/img/docker-logos/docker_logo-03.svg | 110 + app/img/docker-logos/docker_logo-04.svg | 104 + app/img/docker-logos/docker_logo-05.svg | 97 + app/img/docker-logos/docker_logo-06.svg | 97 + app/img/docker-logos/docker_logo-07.svg | 96 + app/img/docker-logos/docker_logo-08.svg | 102 + app/img/services/bitbucket-logo.png | Bin 0 -> 13742 bytes app/img/services/github-logo.png | Bin 0 -> 34335 bytes app/img/services/gitlab-logo.png | Bin 0 -> 17889 bytes app/robots.txt | 3 + .../actions/addAutoBuildPushTriggerItem.js | 5 + app/scripts/actions/addCollaborator.js | 29 + app/scripts/actions/addPipeline.js | 58 + app/scripts/actions/addRepoComment.js | 24 + app/scripts/actions/addTeamCollaborator.js | 26 + app/scripts/actions/addTriggerLink.js | 23 + app/scripts/actions/addUserEmail.js | 34 + app/scripts/actions/addUserEmailChange.js | 5 + app/scripts/actions/addWebhookToPipeline.jsx | 8 + app/scripts/actions/associateGithubAccount.js | 23 + .../actions/attemptChangeLongDescription.js | 56 + .../actions/attemptChangeShortDescription.js | 58 + app/scripts/actions/attemptLogin.js | 147 ++ app/scripts/actions/attemptSignup.js | 30 + app/scripts/actions/changePassword.js | 48 + .../actions/clearChangePasswordStore.js | 8 + app/scripts/actions/clearCloudCoupon.js | 5 + app/scripts/actions/clearLoginForm.js | 8 + app/scripts/actions/clearMemberError.js | 5 + app/scripts/actions/cloudNamespaceChange.js | 78 + app/scripts/actions/common/onChangeUtil.js | 48 + app/scripts/actions/common/updateFormField.js | 50 + .../actions/common/validateBillingInfo.js | 7 + app/scripts/actions/convertToOrganization.js | 33 + app/scripts/actions/createAutobuild.js | 97 + .../actions/createNewLicenseProduction.js | 82 + app/scripts/actions/createNewLicenseTrial.js | 53 + app/scripts/actions/createOrgTeam.js | 76 + app/scripts/actions/createOrganization.js | 65 + app/scripts/actions/createRepository.js | 30 + app/scripts/actions/createSubscription.js | 374 +++ app/scripts/actions/createTeamMembers.js | 66 + app/scripts/actions/createWebhook.js | 27 + app/scripts/actions/delCollaborator.js | 24 + app/scripts/actions/delTeamCollaborator.js | 24 + .../actions/deleteAutoBuildPushTriggerItem.js | 11 + app/scripts/actions/deleteEmail.js | 38 + app/scripts/actions/deleteEmailNotifs.js | 46 + app/scripts/actions/deletePipeline.js | 25 + app/scripts/actions/deleteRepo.js | 22 + app/scripts/actions/deleteRepoComment.js | 24 + app/scripts/actions/downloadInvoice.js | 24 + app/scripts/actions/downloadLicenseContent.js | 31 + app/scripts/actions/enterpriseAttemptLogin.js | 155 ++ app/scripts/actions/forgotPasswordSubmit.js | 18 + .../actions/getAllReposForFiltering.js | 40 + app/scripts/actions/getPipelineHistory.js | 22 + app/scripts/actions/getRepoComments.js | 23 + app/scripts/actions/getSettingsData.js | 28 + app/scripts/actions/getTeamMembers.js | 17 + app/scripts/actions/githubOauth.js | 12 + app/scripts/actions/linkBitbucket.js | 15 + app/scripts/actions/linkGithub.js | 15 + app/scripts/actions/loginUpdateFormField.js | 7 + app/scripts/actions/logout.js | 29 + .../actions/longDescriptionUpdateFormField.js | 12 + app/scripts/actions/navigate.js | 186 ++ .../actions/navigate/accountSettings.js | 79 + app/scripts/actions/navigate/addRepo.js | 66 + .../actions/navigate/autoBuildSettings.js | 136 + app/scripts/actions/navigate/billingPlans.js | 145 ++ .../actions/navigate/bitbucketRedirect.js | 75 + .../navigate/bitbucketUsersAndRepos.js | 49 + app/scripts/actions/navigate/buildLogs.js | 105 + app/scripts/actions/navigate/buildsMain.js | 99 + app/scripts/actions/navigate/cloudBilling.js | 109 + app/scripts/actions/navigate/dashContribs.js | 78 + app/scripts/actions/navigate/dashRepos.js | 138 + app/scripts/actions/navigate/dashStars.js | 77 + app/scripts/actions/navigate/dockerfile.js | 90 + app/scripts/actions/navigate/explore.js | 26 + app/scripts/actions/navigate/getNamespaces.js | 38 + .../actions/navigate/githubRedirect.js | 84 + .../actions/navigate/githubUsersAndRepos.js | 48 + app/scripts/actions/navigate/home.js | 132 + app/scripts/actions/navigate/licenses.js | 57 + .../navigate/linkedAccountsSettings.js | 118 + .../actions/navigate/notificationSettings.js | 62 + app/scripts/actions/navigate/orgBilling.js | 222 ++ app/scripts/actions/navigate/orgDashTeams.js | 146 ++ app/scripts/actions/navigate/orgHome.js | 143 ++ app/scripts/actions/navigate/orgSettings.js | 66 + app/scripts/actions/navigate/orgSummary.js | 24 + app/scripts/actions/navigate/repo.js | 100 + .../actions/navigate/repoDetailsScannedTag.js | 114 + .../actions/navigate/repoDetailsTags.js | 147 ++ app/scripts/actions/navigate/repoOfficial.js | 48 + app/scripts/actions/navigate/repoSettings.js | 67 + .../navigate/repoSettingsCollaborators.js | 97 + app/scripts/actions/navigate/resetPass.js | 6 + app/scripts/actions/navigate/search.js | 44 + app/scripts/actions/navigate/serverBilling.js | 31 + app/scripts/actions/navigate/serverTrial.js | 31 + .../actions/navigate/serverTrialSuccess.js | 39 + app/scripts/actions/navigate/toOrg.js | 7 + app/scripts/actions/navigate/user.js | 58 + app/scripts/actions/navigate/userStars.js | 57 + app/scripts/actions/navigate/webhooks.js | 76 + .../actions/onAddCollaboratorChange.js | 5 + app/scripts/actions/redux/tags.js | 22 + app/scripts/actions/regenTriggerToken.js | 27 + app/scripts/actions/removeTeam.js | 26 + app/scripts/actions/removeTeamMember.js | 24 + app/scripts/actions/removeTriggerLink.js | 20 + .../actions/removeWebhookFromPipeline.js | 8 + .../actions/resendConfirmationEmail.js | 20 + app/scripts/actions/resetNotifications.js | 11 + app/scripts/actions/resetPasswordSubmit.js | 21 + app/scripts/actions/resetWebhookForm.js | 8 + app/scripts/actions/saveEmailNotifs.js | 51 + app/scripts/actions/saveOrgProfile.js | 60 + app/scripts/actions/saveOutbound.js | 106 + .../actions/savePushAutoBuildSettings.js | 74 + app/scripts/actions/saveSettingsData.js | 22 + app/scripts/actions/saveTeamProfile.js | 53 + app/scripts/actions/selectOrganization.js | 8 + .../actions/selectSourceRepoForAutobuild.js | 6 + app/scripts/actions/setNewPrimaryEmail.js | 47 + .../shortDescriptionUpdateFormField.js | 9 + app/scripts/actions/signupUpdateFormField.js | 7 + app/scripts/actions/signupValidations.js | 59 + .../actions/toggleDeleteRepoNameConfirmBox.js | 5 + .../actions/toggleLongDescriptionEdit.js | 5 + .../actions/toggleShortDescriptionEdit.js | 6 + app/scripts/actions/toggleStarred.js | 30 + app/scripts/actions/toggleTriggerStatus.js | 27 + app/scripts/actions/toggleVisibility.js | 23 + .../toggleVisibilityRepoNameConfirmBox.js | 5 + app/scripts/actions/triggerBuild.js | 15 + app/scripts/actions/triggerBuildByTag.js | 34 + app/scripts/actions/unlinkBitbucket.js | 26 + app/scripts/actions/unlinkGithub.js | 27 + .../actions/updateAccountInfoFormField.js | 5 + .../actions/updateAddOrganizationFormField.js | 5 + .../actions/updateAddRepositoryFormField.js | 7 + .../actions/updateAutoBuildPushTriggerItem.js | 12 + .../actions/updateAutoBuildSettings.js | 20 + .../actions/updateAutoBuildSettingsStore.js | 5 + .../actions/updateAutobuildFormField.js | 7 + .../actions/updateBillingInfoFormField.js | 15 + .../actions/updateBillingInformation.js | 87 + app/scripts/actions/updateChangePassStore.js | 7 + .../actions/updateCloudBillingSubscription.js | 35 + .../actions/updateEnterpriseTrialFormField.js | 5 + app/scripts/actions/updateNotifCheckbox.js | 5 + app/scripts/actions/updateOutbound.js | 5 + .../updateRepoSettingsVisibilityField.js | 56 + app/scripts/actions/updateStripeBilling.js | 292 +++ .../updateSubscriptionPlanOrPackage.js | 66 + app/scripts/actions/updateToOrgOwner.js | 5 + app/scripts/actions/validateCouponCode.js | 45 + app/scripts/app.js | 103 + app/scripts/bootstrapCreateElement.js | 21 + app/scripts/client.js | 102 + app/scripts/components/AddRepo.css | 5 + app/scripts/components/AddRepo.jsx | 256 ++ app/scripts/components/Application.css | 6 + app/scripts/components/Application.jsx | 75 + app/scripts/components/Badge.jsx | 17 + .../components/CSEngineDownloadPage.css | 3 + .../components/CSEngineDownloadPage.jsx | 20 + app/scripts/components/CreateButton.jsx | 24 + app/scripts/components/DashboardWrapper.css | 4 + app/scripts/components/DashboardWrapper.jsx | 98 + app/scripts/components/EULA.jsx | 24 + app/scripts/components/Explore.jsx | 70 + app/scripts/components/Html.jsx | 88 + app/scripts/components/Login.css | 39 + app/scripts/components/Login.jsx | 52 + app/scripts/components/Nav.css | 26 + app/scripts/components/Nav.jsx | 234 ++ .../components/OrgDashboardWrapper.jsx | 140 + app/scripts/components/Register.css | 11 + app/scripts/components/Register.jsx | 23 + .../components/RepositoryPageWrapper.css | 31 + .../components/RepositoryPageWrapper.jsx | 184 ++ app/scripts/components/Routes.css | 15 + app/scripts/components/Routes.jsx | 212 ++ app/scripts/components/Spinner.jsx | 20 + app/scripts/components/StatsComponent.jsx | 26 + app/scripts/components/UserProfileWrapper.css | 27 + app/scripts/components/UserProfileWrapper.jsx | 124 + app/scripts/components/Users.jsx | 60 + app/scripts/components/Welcome.css | 86 + app/scripts/components/Welcome.jsx | 113 + app/scripts/components/account/Account.jsx | 127 + .../components/account/AccountSettings.css | 14 + .../components/account/AccountSettings.jsx | 138 + .../account/AddOrganizationForm.css | 5 + .../account/AddOrganizationForm.jsx | 96 + .../components/account/BillingPlans.css | 21 + .../components/account/BillingPlans.jsx | 246 ++ .../components/account/ConvertToOrg.css | 25 + .../components/account/ConvertToOrg.jsx | 145 ++ .../account/CreateBillingSubscription.css | 36 + .../account/CreateBillingSubscription.jsx | 319 +++ app/scripts/components/account/Licenses.css | 51 + app/scripts/components/account/Licenses.jsx | 214 ++ .../components/account/LinkedServices.css | 44 + .../components/account/LinkedServices.jsx | 174 ++ .../account/NotificationsSettings.css | 36 + .../account/NotificationsSettings.jsx | 236 ++ .../account/OrganizationSettings.jsx | 59 + .../account/OrganizationSummary.css | 23 + .../account/OrganizationSummary.jsx | 62 + .../components/account/UpdateBillingInfo.css | 11 + .../components/account/UpdateBillingInfo.jsx | 131 + .../account/billingplans/BillingInfo.css | 7 + .../account/billingplans/BillingInfo.jsx | 132 + .../account/billingplans/BillingInfoForm.css | 36 + .../account/billingplans/BillingInfoForm.jsx | 380 +++ .../billingplans/EnterpriseSubscriptions.css | 98 + .../billingplans/EnterpriseSubscriptions.jsx | 160 ++ .../account/billingplans/InvoiceTables.jsx | 73 + .../components/account/billingplans/Plans.css | 58 + .../components/account/billingplans/Plans.jsx | 355 +++ .../account/forms/AccountInfoForm.css | 21 + .../account/forms/AccountInfoForm.jsx | 133 + .../account/forms/ChangePassForm.css | 31 + .../account/forms/ChangePassForm.jsx | 163 ++ .../components/account/forms/EmailForm.css | 17 + .../components/account/forms/EmailForm.jsx | 121 + .../forms/email/DeleteEmailElement.jsx | 44 + .../account/forms/email/EmailComponents.css | 24 + .../account/forms/email/EmailElement.jsx | 56 + .../account/forms/email/PrimaryEmail.jsx | 37 + .../account/forms/email/VerifiedOrResend.jsx | 53 + .../notificationSettings/EmailNotifForm.css | 25 + .../notificationSettings/EmailNotifForm.jsx | 158 ++ .../account/orgs/OrganizationAddTeam.jsx | 86 + .../account/orgs/OrganizationProfile.css | 12 + .../account/orgs/OrganizationProfile.jsx | 175 ++ .../components/account/orgs/TeamProfile.css | 7 + .../components/account/orgs/TeamProfile.jsx | 102 + .../account/services/GithubLinkScopes.jsx | 86 + app/scripts/components/common/AlertBox.jsx | 34 + app/scripts/components/common/BlankSlate.css | 27 + app/scripts/components/common/BlankSlate.jsx | 73 + app/scripts/components/common/CSEngineBox.css | 24 + app/scripts/components/common/CSEngineBox.jsx | 47 + app/scripts/components/common/Code.css | 83 + app/scripts/components/common/Code.jsx | 30 + app/scripts/components/common/CopyCodeBox.css | 37 + app/scripts/components/common/CopyCodeBox.jsx | 75 + app/scripts/components/common/DUXInput-b.css | 9 + .../components/common/DUXInput-base.css | 101 + app/scripts/components/common/DUXInput.css | 9 + app/scripts/components/common/DUXInput.jsx | 130 + app/scripts/components/common/FancyInput.css | 76 + app/scripts/components/common/FancyInput.jsx | 99 + app/scripts/components/common/FlexTable.css | 92 + app/scripts/components/common/FlexTable.jsx | 106 + app/scripts/components/common/FontAwesome.jsx | 54 + app/scripts/components/common/LiLink.jsx | 17 + .../components/common/ListSelector.css | 32 + .../components/common/ListSelector.jsx | 33 + app/scripts/components/common/Pagination.jsx | 119 + .../common/PendingDeleteRepositoryItem.css | 84 + .../common/PendingDeleteRepositoryItem.jsx | 58 + .../components/common/RepositoriesList.jsx | 113 + .../components/common/RepositoryListItem.css | 111 + .../components/common/RepositoryListItem.jsx | 326 +++ .../components/common/RepositoryNameInput.jsx | 42 + .../common/RouteNotFound404Page.css | 40 + .../common/RouteNotFound404Page.jsx | 26 + app/scripts/components/common/Row.jsx | 12 + app/scripts/components/common/Sections.css | 3 + app/scripts/components/common/Sections.jsx | 67 + app/scripts/components/common/SimpleInput.css | 23 + app/scripts/components/common/SimpleInput.jsx | 100 + .../components/common/SimpleTextArea.css | 5 + .../components/common/SimpleTextArea.jsx | 89 + .../common/SourceRepositoryCard.jsx | 59 + .../common/TagsFlexTable/FlexTable.css | 35 + .../common/TagsFlexTable/FlexTable.jsx | 35 + .../common/TagsFlexTable/Header.css | 13 + .../common/TagsFlexTable/Header.jsx | 15 + .../components/common/TagsFlexTable/Item.css | 23 + .../components/common/TagsFlexTable/Item.jsx | 36 + .../components/common/TagsFlexTable/Row.css | 16 + .../components/common/TagsFlexTable/Row.jsx | 15 + .../components/common/TagsFlexTable/index.js | 6 + .../components/common/TeamListItem.jsx | 28 + app/scripts/components/common/animations.css | 17 + .../components/common/data/acceptedCards.js | 10 + .../components/common/data/countries.js | 2265 +++++++++++++++++ .../common/data/csEngineInstructions.js | 13 + .../components/common/data/jobFunctions.js | 14 + app/scripts/components/common/data/months.js | 51 + .../components/common/data/officialLogos.js | 102 + app/scripts/components/common/data/plans.js | 98 + .../components/common/data/provinces.js | 62 + app/scripts/components/common/data/states.js | 211 ++ app/scripts/components/common/data/years.js | 15 + .../common/enums/BuildTagDefault.js | 13 + .../components/common/enums/RepoStatus.js | 10 + .../components/dashboards/Contribs.jsx | 68 + .../dashboards/PrivateRepoStatusBlock.css | 14 + .../dashboards/PrivateRepoStatusBlock.jsx | 53 + app/scripts/components/dashboards/Repos.css | 24 + app/scripts/components/dashboards/Repos.jsx | 260 ++ app/scripts/components/dashboards/Stars.jsx | 73 + .../components/enterprise/CloudBilling.css | 20 + .../components/enterprise/CloudBilling.jsx | 186 ++ .../components/enterprise/CouponForm.css | 15 + .../components/enterprise/CouponForm.jsx | 116 + .../components/enterprise/Enterprise.css | 34 + .../components/enterprise/Enterprise.jsx | 10 + .../enterprise/EnterpriseBillingForm.css | 30 + .../enterprise/EnterpriseBillingForm.jsx | 414 +++ .../EnterpriseBillingForm/EnterprisePanel.jsx | 26 + .../enterprise/EnterpriseLoggedOutPage.css | 26 + .../enterprise/EnterpriseLoggedOutPage.jsx | 80 + .../components/enterprise/EnterprisePaid.css | 13 + .../components/enterprise/EnterprisePaid.jsx | 87 + .../components/enterprise/EnterpriseTrial.css | 15 + .../components/enterprise/EnterpriseTrial.jsx | 60 + .../enterprise/EnterpriseTrialForm.css | 40 + .../enterprise/EnterpriseTrialForm.jsx | 330 +++ .../enterprise/EnterpriseTrialSuccess.css | 109 + .../enterprise/EnterpriseTrialSuccess.jsx | 121 + .../EnterpriseTrialSuccess/AddLicense.jsx | 116 + .../InstallCSEngine.jsx | 44 + .../EnterpriseTrialSuccess/InstallDTR.jsx | 50 + .../EnterpriseTrialSuccess/SecureDTR.jsx | 41 + .../EnterpriseTrialSuccess/StepsTab.jsx | 54 + .../enterprise/EnterpriseTrialTerms.css | 7 + .../enterprise/EnterpriseTrialTerms.jsx | 87 + .../components/enterprise/ServerBilling.css | 13 + .../components/enterprise/ServerBilling.jsx | 87 + .../enterprise/plansAndSubscriptions.js | 103 + app/scripts/components/eusa.js | 455 ++++ app/scripts/components/filter/FilterBar.css | 19 + app/scripts/components/filter/FilterBar.jsx | 66 + app/scripts/components/gravatar/Gravatar.css | 8 + .../components/gravatar/GravatarOption.jsx | 48 + .../components/gravatar/GravatarValue.jsx | 37 + app/scripts/components/help/Help.css | 90 + app/scripts/components/help/Help.jsx | 82 + app/scripts/components/help/HelpContents.js | 58 + .../components/orgdashboards/Members.css | 17 + .../components/orgdashboards/Members.jsx | 144 ++ .../components/orgdashboards/Teams.css | 18 + .../components/orgdashboards/Teams.jsx | 181 ++ .../components/repo/RepoSecondaryNav.css | 8 + .../components/repo/RepoSecondaryNav.jsx | 70 + .../repo/RepositoryDetailsWrapper.css | 24 + .../repo/RepositoryDetailsWrapper.jsx | 86 + .../repo/RepositorySettingsWrapper.jsx | 47 + app/scripts/components/repo/TriggerButton.css | 5 + app/scripts/components/repo/TriggerButton.jsx | 68 + .../components/repo/repoSettings/Builds.css | 3 + .../components/repo/repoSettings/Builds.jsx | 124 + .../repoSettings/CollaboratorsWrapper.jsx | 105 + ...ositorySettingsWebhooksPipelineHistory.jsx | 49 + .../repo/repoSettings/SettingsMain.css | 3 + .../repo/repoSettings/SettingsMain.jsx | 44 + .../repoSettings/builds/BuildSettings.css | 48 + .../repoSettings/builds/BuildSettings.jsx | 179 ++ .../repo/repoSettings/builds/BuildTrigger.css | 49 + .../repo/repoSettings/builds/BuildTrigger.jsx | 288 +++ .../repoSettings/builds/BuildTriggerByTag.css | 7 + .../repoSettings/builds/BuildTriggerByTag.jsx | 137 + .../repo/repoSettings/builds/DeployKeys.css | 3 + .../repo/repoSettings/builds/DeployKeys.jsx | 58 + .../repoSettings/builds/LinkAutoTrigger.css | 53 + .../repoSettings/builds/LinkAutoTrigger.jsx | 161 ++ .../repoSettings/builds/RepoPushTrigger.css | 82 + .../repoSettings/builds/RepoPushTrigger.jsx | 309 +++ .../collaborators/Collaborators.css | 19 + .../collaborators/Collaborators.jsx | 181 ++ .../repo/repoSettings/collaborators/Teams.css | 12 + .../repo/repoSettings/collaborators/Teams.jsx | 175 ++ .../settingsMain/DeleteRepositoryForm.css | 19 + .../settingsMain/DeleteRepositoryForm.jsx | 181 ++ .../settingsMain/VisibilityForm.css | 19 + .../settingsMain/VisibilityForm.jsx | 242 ++ .../repoSettings/webhooks/AddWebhookForm.css | 148 ++ .../repoSettings/webhooks/AddWebhookForm.jsx | 252 ++ .../webhooks/Pipeline/History.css | 63 + .../webhooks/Pipeline/History.jsx | 101 + .../webhooks/Pipeline/Options.css | 146 ++ .../webhooks/Pipeline/Options.jsx | 68 + .../repoSettings/webhooks/Pipeline/Status.css | 26 + .../repoSettings/webhooks/Pipeline/Status.jsx | 56 + .../repoSettings/webhooks/Pipeline/index.css | 80 + .../repoSettings/webhooks/Pipeline/index.jsx | 147 ++ .../repo/repoSettings/webhooks/Pipelines.jsx | 61 + .../webhooks/WebhooksTutorial.css | 74 + .../webhooks/WebhooksTutorial.jsx | 38 + .../repo/repoSettings/webhooks/imagePush.svg | 11 + .../repo/repoSettings/webhooks/index.css | 164 ++ .../repo/repoSettings/webhooks/index.jsx | 204 ++ .../repo/repoSettings/webhooks/plus.svg | 12 + .../repo/repoSettings/webhooks/webhook.svg | 16 + .../repo/repo_details/BuildDetails.css | 5 + .../repo/repo_details/BuildDetails.jsx | 96 + .../repo/repo_details/BuildLogs.css | 8 + .../repo/repo_details/BuildLogs.jsx | 117 + .../repo/repo_details/BuildStatus.css | 20 + .../repo/repo_details/BuildStatus.jsx | 81 + .../repo/repo_details/Dockerfile.css | 3 + .../repo/repo_details/Dockerfile.jsx | 41 + .../components/repo/repo_details/Info.jsx | 75 + .../repo/repo_details/ScannedTag.css | 8 + .../repo/repo_details/ScannedTag.jsx | 124 + .../components/repo/repo_details/Tags.css | 36 + .../components/repo/repo_details/Tags.jsx | 212 ++ .../repo/repo_details/info/Comment.css | 45 + .../repo/repo_details/info/Comment.jsx | 76 + .../repo/repo_details/info/Comments.css | 23 + .../repo/repo_details/info/Comments.jsx | 221 ++ .../repo/repo_details/info/Owner.css | 18 + .../repo/repo_details/info/Owner.jsx | 33 + .../repo/repo_details/info/PullCommand.css | 17 + .../repo/repo_details/info/PullCommand.jsx | 58 + .../repo_details/info/RepoFullDescription.css | 31 + .../repo_details/info/RepoFullDescription.jsx | 201 ++ .../info/RepoShortDescription.css | 32 + .../info/RepoShortDescription.jsx | 179 ++ .../repo/repo_details/nautilusUtils.js | 63 + .../repo_details/scannedTag/ComponentGrid.css | 5 + .../repo_details/scannedTag/ComponentGrid.jsx | 70 + .../repo/repo_details/scannedTag/Layer.css | 82 + .../repo/repo_details/scannedTag/Layer.jsx | 234 ++ .../scannedTag/LayerVulnerabilitiesTable.css | 61 + .../scannedTag/LayerVulnerabilitiesTable.jsx | 162 ++ .../repo_details/scannedTag/ScanHeader.css | 50 + .../repo_details/scannedTag/ScanHeader.jsx | 64 + .../repo/repo_details/scannedTag/Square.css | 59 + .../repo/repo_details/scannedTag/Square.jsx | 110 + .../repo/repo_details/scannedTag/selectors.js | 85 + .../repo/repo_details/tags/DeleteTagArea.css | 22 + .../repo/repo_details/tags/DeleteTagArea.jsx | 70 + .../repo/repo_details/tags/ErrorBar.css | 9 + .../repo/repo_details/tags/ErrorBar.jsx | 10 + .../repo/repo_details/tags/InProgressBar.css | 9 + .../repo/repo_details/tags/InProgressBar.jsx | 10 + .../repo/repo_details/tags/ScannedTagRow.css | 41 + .../repo/repo_details/tags/ScannedTagRow.jsx | 174 ++ .../repo_details/tags/UnscannedTagRow.jsx | 72 + .../repo_details/tags/VulnerabilityBar.jsx | 65 + .../repo/repo_details/tags/selectors.js | 65 + .../components/repo/store-promotion.js | 106 + .../repositories/AutoBuildSetupForm.css | 49 + .../repositories/AutoBuildSetupForm.jsx | 410 +++ .../repositories/AutoBuildTagsInput.jsx | 159 ++ .../repositories/AutoBuildTagsInputItem.css | 28 + .../repositories/AutoBuildTagsInputItem.jsx | 123 + .../components/repositories/Autobuild.jsx | 102 + .../repositories/AutobuildBlankSlate.css | 6 + .../repositories/AutobuildBlankSlate.jsx | 41 + .../repositories/AutobuildIndex.css | 28 + .../repositories/AutobuildIndex.jsx | 67 + .../repositories/LinkedAccountSourcesForm.css | 3 + .../repositories/LinkedAccountSourcesForm.jsx | 163 ++ .../repositories/RepositoryBlock.jsx | 62 + .../components/search/ResultsNotFound.css | 39 + .../components/search/ResultsNotFound.jsx | 35 + app/scripts/components/search/Search.jsx | 149 ++ app/scripts/components/search/SearchBar.css | 17 + app/scripts/components/search/SearchBar.jsx | 84 + .../components/search/SearchResultItem.jsx | 67 + .../components/search/SearchResults.jsx | 42 + .../components/userWrapper/UserStars.jsx | 67 + app/scripts/components/userprofile/Repos.jsx | 79 + app/scripts/components/utils/avatar.js | 30 + app/scripts/components/utils/bytesToSize.js | 23 + app/scripts/components/utils/encodeForm.js | 17 + .../utils/validateRepositoryName.js | 7 + .../components/welcome/ActivityFeedItem.jsx | 41 + .../components/welcome/ChangePassSuccess.css | 9 + .../components/welcome/ChangePassSuccess.jsx | 30 + .../components/welcome/DashboardNewsItem.jsx | 19 + .../components/welcome/DashboardTabs.jsx | 82 + app/scripts/components/welcome/ForgotPass.css | 42 + app/scripts/components/welcome/ForgotPass.jsx | 98 + app/scripts/components/welcome/LoginForm.css | 13 + app/scripts/components/welcome/LoginForm.jsx | 83 + app/scripts/components/welcome/ResetPass.css | 39 + app/scripts/components/welcome/ResetPass.jsx | 152 ++ app/scripts/components/welcome/SignupForm.css | 27 + app/scripts/components/welcome/SignupForm.jsx | 105 + app/scripts/components/welcome/_utils.js | 43 + app/scripts/fluxibleRouter.js | 112 + app/scripts/middlewares/sdk.js | 93 + app/scripts/normalizers.js | 64 + app/scripts/records.js | 14 + app/scripts/reducers/_utils.js | 45 + app/scripts/reducers/index.js | 21 + app/scripts/reducers/repos.js | 24 + app/scripts/reducers/scans.js | 26 + app/scripts/reducers/status.js | 40 + app/scripts/reducers/tags.js | 91 + app/scripts/reduxConsts.js | 19 + app/scripts/reduxStore.js | 38 + app/scripts/reduxUtils.js | 27 + app/scripts/selectors/status.js | 3 + app/scripts/server.js | 342 +++ app/scripts/stores/AccountInfoFormStore.js | 131 + .../stores/AccountSettingsLicensesStore.js | 41 + .../stores/AccountSettingsTeamsStore.js | 29 + app/scripts/stores/AddOrganizationStore.js | 115 + app/scripts/stores/AddTrialLicenseStore.js | 64 + app/scripts/stores/AddWebhookFormStore.js | 86 + app/scripts/stores/ApplicationStore.js | 33 + app/scripts/stores/AutoBuildSettingsStore.js | 235 ++ app/scripts/stores/AutobuildConfigStore.js | 134 + .../AutobuildSourceRepositoriesStore.js | 46 + app/scripts/stores/AutobuildStore.js | 54 + app/scripts/stores/AutobuildTagsStore.js | 50 + .../stores/AutobuildTriggerByTagStore.js | 91 + app/scripts/stores/BillingInfoFormStore.js | 184 ++ app/scripts/stores/BillingPlansStore.js | 128 + app/scripts/stores/BitbucketLinkStore.js | 59 + app/scripts/stores/ChangePasswordStore.js | 64 + app/scripts/stores/CloudBillingStore.js | 43 + app/scripts/stores/CloudCouponStore.js | 54 + app/scripts/stores/ConvertToOrgStore.js | 41 + .../stores/CreateRepositoryFormStore.js | 147 ++ app/scripts/stores/DashboardContribsStore.js | 43 + app/scripts/stores/DashboardMembersStore.js | 73 + .../stores/DashboardNamespacesStore.js | 62 + app/scripts/stores/DashboardReposStore.js | 69 + app/scripts/stores/DashboardStarsStore.js | 43 + app/scripts/stores/DashboardStore.js | 63 + app/scripts/stores/DashboardTeamsStore.js | 100 + app/scripts/stores/DeletePipelineStore.js | 46 + app/scripts/stores/DeleteRepoFormStore.js | 75 + app/scripts/stores/EmailNotifStore.js | 128 + app/scripts/stores/EmailsStore.js | 155 ++ app/scripts/stores/EnterprisePaidFormStore.js | 294 +++ .../stores/EnterprisePartnerTrackingStore.js | 29 + .../stores/EnterpriseTrialFormStore.js | 140 + .../stores/EnterpriseTrialSuccessStore.js | 47 + app/scripts/stores/GithubLinkStore.js | 60 + app/scripts/stores/JWTStore.js | 73 + app/scripts/stores/LoginStore.js | 108 + app/scripts/stores/NotifyStore.js | 44 + app/scripts/stores/OrgTeamStore.js | 90 + app/scripts/stores/OrganizationStore.js | 130 + .../stores/OutboundCommunicationStore.js | 90 + app/scripts/stores/PipelineHistoryStore.js | 31 + app/scripts/stores/PlansStore.js | 74 + app/scripts/stores/PrivateRepoUsageStore.js | 63 + app/scripts/stores/RepoDetailsBuildLogs.js | 29 + app/scripts/stores/RepoDetailsBuildsStore.js | 36 + .../stores/RepoDetailsDockerfileStore.js | 32 + .../RepoDetailsLongDescriptionFormStore.js | 116 + .../RepoDetailsShortDescriptionFormStore.js | 116 + .../stores/RepoDetailsVisibilityFormStore.js | 113 + .../stores/RepoSettingsCollaborators.jsx | 104 + app/scripts/stores/RepositoriesPageStore.js | 42 + app/scripts/stores/RepositoryCommentsStore.js | 42 + app/scripts/stores/RepositoryPageStore.js | 118 + app/scripts/stores/SearchStore.js | 104 + app/scripts/stores/SignupStore.js | 117 + app/scripts/stores/TriggerBuildStore.js | 50 + app/scripts/stores/UnlinkAccountsStore.js | 36 + app/scripts/stores/UserProfileReposStore.js | 46 + app/scripts/stores/UserProfileStarsStore.js | 37 + app/scripts/stores/UserProfileStore.js | 38 + app/scripts/stores/UserStore.js | 137 + app/scripts/stores/WebhooksSettingsStore.js | 31 + .../stores/addorganizationstore/Constants.js | 15 + .../stores/addtriallicensestore/Constants.js | 11 + .../stores/addwebhookformstore/Constants.js | 10 + .../stores/billingformstore/Constants.js | 14 + app/scripts/stores/collaborators/Constants.js | 14 + app/scripts/stores/common/Constants.js | 25 + .../stores/deletepipelinestore/Constants.js | 9 + .../stores/deleterepostore/Constants.js | 14 + app/scripts/stores/emailsstore/Constants.js | 19 + .../stores/enterprisetrialstore/Constants.js | 11 + .../enterprisetrialsuccessstore/Constants.js | 9 + app/scripts/stores/loginstore/Constants.js | 14 + .../stores/loginstore/createFormStore.js | 88 + app/scripts/stores/orgteamstore/Constants.js | 22 + .../stores/repodetailstags/Constants.js | 12 + app/scripts/stores/repostore/Constants.js | 15 + .../stores/repovisibilitystore/Constants.js | 14 + app/scripts/stores/signupstore/Constants.js | 13 + app/scripts/vendor/Blob.js | 215 ++ app/scripts/vendor/FileSaver.js | 260 ++ app/styles/common/_repository-list-item.scss | 98 + app/styles/font-awesome.min.css | 4 + app/styles/hub.scss | 18 + app/styles/hub/_blankslate.scss | 84 + app/styles/hub/_profile.scss | 30 + app/styles/hub/_type.scss | 19 + app/styles/hub/account.scss | 518 ++++ app/styles/hub/autobuilds.scss | 108 + app/styles/hub/badge.scss | 11 + app/styles/hub/flyout-menu.scss | 185 ++ app/styles/hub/main-nav.scss | 132 + app/styles/hub/react-tagsinput.scss | 59 + app/styles/hub/repositories.scss | 155 ++ app/styles/hub/repository-settings.scss | 49 + app/styles/hub/reset-password.scss | 49 + app/styles/hub/search.scss | 191 ++ app/styles/hub/tabs.scss | 26 + app/styles/hub/usericons.scss | 6 + app/styles/main.scss | 170 ++ app/styles/vendor-overrides/rc-tooltip.css | 31 + app/styles/vendor-overrides/react-select.css | 279 ++ circle.yml | 43 + containers/README.md | 48 + containers/dnsmasq/Dockerfile | 12 + containers/dnsmasq/configure_system_dns.sh | 24 + containers/dnsmasq/run | 13 + containers/haproxy/Dockerfile | 10 + containers/haproxy/haproxy.cfg | 41 + .../keys/bagels.docker.com/bagels.docker.crt | 14 + .../keys/bagels.docker.com/bagels.docker.csr | 11 + .../keys/bagels.docker.com/bagels.docker.key | 15 + .../keys/bagels.docker.com/bagels.docker.pem | 29 + containers/haproxy/run | 19 + containers/prod/build | 1 + containers/prod/docker-compose.yml | 13 + containers/prod/haproxy/Dockerfile | 9 + containers/prod/haproxy/haproxy.cfg | 46 + .../keys/bagels.docker.com/bagels.docker.crt | 14 + .../keys/bagels.docker.com/bagels.docker.csr | 11 + .../keys/bagels.docker.com/bagels.docker.key | 15 + .../keys/bagels.docker.com/bagels.docker.pem | 29 + containers/prod/haproxy/run | 10 + deployment/deploy.sh | 171 ++ docker-compose.yml | 28 + dockerfiles/Dockerfile-node-alpine | 25 + dockerfiles/Dockerfile-prod-build | 22 + dockerfiles/Dockerfile-stage-build | 22 + dockerfiles/milky-way | 10 + dockerfiles/milky-way-no-bin | 7 + dockerfiles/saas-config | 29 + dockerfiles/universe | 13 + docs/Dockerfile | 8 + docs/Makefile | 119 + docs/accounts.md | 57 + docs/bitbucket.md | 50 + docs/builds.md | 221 ++ docs/github.md | 204 ++ docs/images/add-authorized-github-service.png | Bin 0 -> 96402 bytes docs/images/authorized-services.png | Bin 0 -> 59861 bytes docs/images/bitbucket-hook.png | Bin 0 -> 116986 bytes docs/images/bitbucket_creds.png | Bin 0 -> 65468 bytes docs/images/build-by.png | Bin 0 -> 77866 bytes docs/images/build-states-ex.png | Bin 0 -> 116546 bytes docs/images/build-trigger.png | Bin 0 -> 197404 bytes docs/images/busybox-image-tags.png | Bin 0 -> 48361 bytes docs/images/create-dialog.png | Bin 0 -> 99706 bytes docs/images/create-dialog1.png | Bin 0 -> 45810 bytes docs/images/dashboard.png | Bin 0 -> 122543 bytes docs/images/deploy_key.png | Bin 0 -> 47680 bytes docs/images/docker-integration.png | Bin 0 -> 81009 bytes docs/images/first_pending.png | Bin 0 -> 104345 bytes docs/images/getting-started.png | Bin 0 -> 71070 bytes .../gh-check-admin-org-dh-app-access.png | Bin 0 -> 31529 bytes .../gh-check-user-org-dh-app-access.png | Bin 0 -> 38325 bytes docs/images/gh_add_ssh_user_key.png | Bin 0 -> 38074 bytes docs/images/gh_docker-service.png | Bin 0 -> 40419 bytes docs/images/gh_menu.png | Bin 0 -> 5678 bytes docs/images/gh_org_members.png | Bin 0 -> 26612 bytes docs/images/gh_repo_deploy_key.png | Bin 0 -> 32315 bytes docs/images/gh_service_hook.png | Bin 0 -> 19831 bytes docs/images/gh_settings.png | Bin 0 -> 4849 bytes docs/images/gh_team_members.png | Bin 0 -> 35907 bytes docs/images/github-side-hook.png | Bin 0 -> 35750 bytes docs/images/groups.png | Bin 0 -> 41034 bytes docs/images/home-page.png | Bin 0 -> 113148 bytes docs/images/hub.png | Bin 0 -> 66345 bytes docs/images/invite.png | Bin 0 -> 40459 bytes docs/images/linked-acct.png | Bin 0 -> 108953 bytes docs/images/login-web.png | Bin 0 -> 594452 bytes docs/images/merge_builds.png | Bin 0 -> 100052 bytes docs/images/org-repo-collaborators.png | Bin 0 -> 59489 bytes docs/images/orgs.png | Bin 0 -> 28202 bytes docs/images/plus-carrot.png | Bin 0 -> 459 bytes docs/images/prompt.png | Bin 0 -> 51649 bytes docs/images/regex-help.png | Bin 0 -> 57818 bytes docs/images/register-web.png | Bin 0 -> 128865 bytes docs/images/repo_links.png | Bin 0 -> 18407 bytes docs/images/repos.png | Bin 0 -> 66345 bytes docs/images/scan-drilldown.gif | Bin 0 -> 107378 bytes docs/images/scan-results.png | Bin 0 -> 55276 bytes docs/images/scan-tags.png | Bin 0 -> 102248 bytes docs/index.md | 92 + docs/menu.md | 14 + docs/official_repos.md | 125 + docs/orgs.md | 53 + docs/repos.md | 270 ++ docs/s3_website.json | 8 + docs/webhooks.md | 50 + fabfile.py | 14 + flow-libs/async.js | 12 + flow-libs/debug.js | 5 + flow-libs/fluxible.js | 4 + flow-libs/hub-js-sdk.js | 74 + flow-libs/lodash.js | 5 + gulp-tasks/img.js | 24 + gulpfile.js | 3 + local.Dockerfile | 22 + package.json | 113 + pr-docs/css.md | 62 + pr-docs/linting.md | 28 + pr-docs/routes.md | 262 ++ production_ready.md | 93 + startup-scripts/boot-dev-tmux.sh | 45 + startup-scripts/boot-dev.sh | 2 + startup-scripts/bootstrap-dev.sh | 8 + webpack.config.js | 151 ++ 753 files changed, 50175 insertions(+), 15 deletions(-) create mode 100644 .arcconfig create mode 100644 .dockercfg.template create mode 100644 .editorconfig create mode 100644 .eslintrc create mode 100644 .flowconfig create mode 100644 .gitattributes delete mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 Jenkinsfile create mode 100644 Makefile create mode 100644 README.md create mode 100644 _webpack/_common.webpack.config create mode 100644 _webpack/_commonLoaders.js create mode 100644 _webpack/_envConfig.js create mode 100644 _webpack/hashAndReplaceClient.js create mode 100644 _webpack/webpack.prod.config.js create mode 100644 _webpack/webpack.server.config.js create mode 100644 app-server/Dockerfile create mode 100644 app-server/favicons/fav copy.png create mode 100644 app-server/favicons/favicon-dev.ico create mode 100644 app-server/favicons/favicon.ico create mode 100644 app-server/package.json create mode 100644 app/.htaccess create mode 100644 app/favicon.ico create mode 100644 app/fonts/FontAwesome.otf create mode 100644 app/fonts/fontawesome-webfont.eot create mode 100644 app/fonts/fontawesome-webfont.svg create mode 100644 app/fonts/fontawesome-webfont.ttf create mode 100644 app/fonts/fontawesome-webfont.woff create mode 100644 app/fonts/fontawesome-webfont.woff2 create mode 100644 app/img/docker-logos/docker-logo.svg create mode 100644 app/img/docker-logos/docker_logo-01.svg create mode 100644 app/img/docker-logos/docker_logo-02.svg create mode 100644 app/img/docker-logos/docker_logo-03.svg create mode 100644 app/img/docker-logos/docker_logo-04.svg create mode 100644 app/img/docker-logos/docker_logo-05.svg create mode 100644 app/img/docker-logos/docker_logo-06.svg create mode 100644 app/img/docker-logos/docker_logo-07.svg create mode 100644 app/img/docker-logos/docker_logo-08.svg create mode 100644 app/img/services/bitbucket-logo.png create mode 100644 app/img/services/github-logo.png create mode 100644 app/img/services/gitlab-logo.png create mode 100644 app/robots.txt create mode 100644 app/scripts/actions/addAutoBuildPushTriggerItem.js create mode 100644 app/scripts/actions/addCollaborator.js create mode 100644 app/scripts/actions/addPipeline.js create mode 100644 app/scripts/actions/addRepoComment.js create mode 100644 app/scripts/actions/addTeamCollaborator.js create mode 100644 app/scripts/actions/addTriggerLink.js create mode 100644 app/scripts/actions/addUserEmail.js create mode 100644 app/scripts/actions/addUserEmailChange.js create mode 100644 app/scripts/actions/addWebhookToPipeline.jsx create mode 100644 app/scripts/actions/associateGithubAccount.js create mode 100644 app/scripts/actions/attemptChangeLongDescription.js create mode 100644 app/scripts/actions/attemptChangeShortDescription.js create mode 100644 app/scripts/actions/attemptLogin.js create mode 100644 app/scripts/actions/attemptSignup.js create mode 100644 app/scripts/actions/changePassword.js create mode 100644 app/scripts/actions/clearChangePasswordStore.js create mode 100644 app/scripts/actions/clearCloudCoupon.js create mode 100644 app/scripts/actions/clearLoginForm.js create mode 100644 app/scripts/actions/clearMemberError.js create mode 100644 app/scripts/actions/cloudNamespaceChange.js create mode 100644 app/scripts/actions/common/onChangeUtil.js create mode 100644 app/scripts/actions/common/updateFormField.js create mode 100644 app/scripts/actions/common/validateBillingInfo.js create mode 100644 app/scripts/actions/convertToOrganization.js create mode 100644 app/scripts/actions/createAutobuild.js create mode 100644 app/scripts/actions/createNewLicenseProduction.js create mode 100644 app/scripts/actions/createNewLicenseTrial.js create mode 100644 app/scripts/actions/createOrgTeam.js create mode 100644 app/scripts/actions/createOrganization.js create mode 100644 app/scripts/actions/createRepository.js create mode 100644 app/scripts/actions/createSubscription.js create mode 100644 app/scripts/actions/createTeamMembers.js create mode 100644 app/scripts/actions/createWebhook.js create mode 100644 app/scripts/actions/delCollaborator.js create mode 100644 app/scripts/actions/delTeamCollaborator.js create mode 100644 app/scripts/actions/deleteAutoBuildPushTriggerItem.js create mode 100644 app/scripts/actions/deleteEmail.js create mode 100644 app/scripts/actions/deleteEmailNotifs.js create mode 100644 app/scripts/actions/deletePipeline.js create mode 100644 app/scripts/actions/deleteRepo.js create mode 100644 app/scripts/actions/deleteRepoComment.js create mode 100644 app/scripts/actions/downloadInvoice.js create mode 100644 app/scripts/actions/downloadLicenseContent.js create mode 100644 app/scripts/actions/enterpriseAttemptLogin.js create mode 100644 app/scripts/actions/forgotPasswordSubmit.js create mode 100644 app/scripts/actions/getAllReposForFiltering.js create mode 100644 app/scripts/actions/getPipelineHistory.js create mode 100644 app/scripts/actions/getRepoComments.js create mode 100644 app/scripts/actions/getSettingsData.js create mode 100644 app/scripts/actions/getTeamMembers.js create mode 100644 app/scripts/actions/githubOauth.js create mode 100644 app/scripts/actions/linkBitbucket.js create mode 100644 app/scripts/actions/linkGithub.js create mode 100644 app/scripts/actions/loginUpdateFormField.js create mode 100644 app/scripts/actions/logout.js create mode 100644 app/scripts/actions/longDescriptionUpdateFormField.js create mode 100644 app/scripts/actions/navigate.js create mode 100644 app/scripts/actions/navigate/accountSettings.js create mode 100644 app/scripts/actions/navigate/addRepo.js create mode 100644 app/scripts/actions/navigate/autoBuildSettings.js create mode 100644 app/scripts/actions/navigate/billingPlans.js create mode 100644 app/scripts/actions/navigate/bitbucketRedirect.js create mode 100644 app/scripts/actions/navigate/bitbucketUsersAndRepos.js create mode 100644 app/scripts/actions/navigate/buildLogs.js create mode 100644 app/scripts/actions/navigate/buildsMain.js create mode 100644 app/scripts/actions/navigate/cloudBilling.js create mode 100644 app/scripts/actions/navigate/dashContribs.js create mode 100644 app/scripts/actions/navigate/dashRepos.js create mode 100644 app/scripts/actions/navigate/dashStars.js create mode 100644 app/scripts/actions/navigate/dockerfile.js create mode 100644 app/scripts/actions/navigate/explore.js create mode 100644 app/scripts/actions/navigate/getNamespaces.js create mode 100644 app/scripts/actions/navigate/githubRedirect.js create mode 100644 app/scripts/actions/navigate/githubUsersAndRepos.js create mode 100644 app/scripts/actions/navigate/home.js create mode 100644 app/scripts/actions/navigate/licenses.js create mode 100644 app/scripts/actions/navigate/linkedAccountsSettings.js create mode 100644 app/scripts/actions/navigate/notificationSettings.js create mode 100644 app/scripts/actions/navigate/orgBilling.js create mode 100644 app/scripts/actions/navigate/orgDashTeams.js create mode 100644 app/scripts/actions/navigate/orgHome.js create mode 100644 app/scripts/actions/navigate/orgSettings.js create mode 100644 app/scripts/actions/navigate/orgSummary.js create mode 100644 app/scripts/actions/navigate/repo.js create mode 100644 app/scripts/actions/navigate/repoDetailsScannedTag.js create mode 100644 app/scripts/actions/navigate/repoDetailsTags.js create mode 100644 app/scripts/actions/navigate/repoOfficial.js create mode 100644 app/scripts/actions/navigate/repoSettings.js create mode 100644 app/scripts/actions/navigate/repoSettingsCollaborators.js create mode 100644 app/scripts/actions/navigate/resetPass.js create mode 100644 app/scripts/actions/navigate/search.js create mode 100644 app/scripts/actions/navigate/serverBilling.js create mode 100644 app/scripts/actions/navigate/serverTrial.js create mode 100644 app/scripts/actions/navigate/serverTrialSuccess.js create mode 100644 app/scripts/actions/navigate/toOrg.js create mode 100644 app/scripts/actions/navigate/user.js create mode 100644 app/scripts/actions/navigate/userStars.js create mode 100644 app/scripts/actions/navigate/webhooks.js create mode 100644 app/scripts/actions/onAddCollaboratorChange.js create mode 100644 app/scripts/actions/redux/tags.js create mode 100644 app/scripts/actions/regenTriggerToken.js create mode 100644 app/scripts/actions/removeTeam.js create mode 100644 app/scripts/actions/removeTeamMember.js create mode 100644 app/scripts/actions/removeTriggerLink.js create mode 100644 app/scripts/actions/removeWebhookFromPipeline.js create mode 100644 app/scripts/actions/resendConfirmationEmail.js create mode 100644 app/scripts/actions/resetNotifications.js create mode 100644 app/scripts/actions/resetPasswordSubmit.js create mode 100644 app/scripts/actions/resetWebhookForm.js create mode 100644 app/scripts/actions/saveEmailNotifs.js create mode 100644 app/scripts/actions/saveOrgProfile.js create mode 100644 app/scripts/actions/saveOutbound.js create mode 100644 app/scripts/actions/savePushAutoBuildSettings.js create mode 100644 app/scripts/actions/saveSettingsData.js create mode 100644 app/scripts/actions/saveTeamProfile.js create mode 100644 app/scripts/actions/selectOrganization.js create mode 100644 app/scripts/actions/selectSourceRepoForAutobuild.js create mode 100644 app/scripts/actions/setNewPrimaryEmail.js create mode 100644 app/scripts/actions/shortDescriptionUpdateFormField.js create mode 100644 app/scripts/actions/signupUpdateFormField.js create mode 100644 app/scripts/actions/signupValidations.js create mode 100644 app/scripts/actions/toggleDeleteRepoNameConfirmBox.js create mode 100644 app/scripts/actions/toggleLongDescriptionEdit.js create mode 100644 app/scripts/actions/toggleShortDescriptionEdit.js create mode 100644 app/scripts/actions/toggleStarred.js create mode 100644 app/scripts/actions/toggleTriggerStatus.js create mode 100644 app/scripts/actions/toggleVisibility.js create mode 100644 app/scripts/actions/toggleVisibilityRepoNameConfirmBox.js create mode 100644 app/scripts/actions/triggerBuild.js create mode 100644 app/scripts/actions/triggerBuildByTag.js create mode 100644 app/scripts/actions/unlinkBitbucket.js create mode 100644 app/scripts/actions/unlinkGithub.js create mode 100644 app/scripts/actions/updateAccountInfoFormField.js create mode 100644 app/scripts/actions/updateAddOrganizationFormField.js create mode 100644 app/scripts/actions/updateAddRepositoryFormField.js create mode 100644 app/scripts/actions/updateAutoBuildPushTriggerItem.js create mode 100644 app/scripts/actions/updateAutoBuildSettings.js create mode 100644 app/scripts/actions/updateAutoBuildSettingsStore.js create mode 100644 app/scripts/actions/updateAutobuildFormField.js create mode 100644 app/scripts/actions/updateBillingInfoFormField.js create mode 100644 app/scripts/actions/updateBillingInformation.js create mode 100644 app/scripts/actions/updateChangePassStore.js create mode 100644 app/scripts/actions/updateCloudBillingSubscription.js create mode 100644 app/scripts/actions/updateEnterpriseTrialFormField.js create mode 100644 app/scripts/actions/updateNotifCheckbox.js create mode 100644 app/scripts/actions/updateOutbound.js create mode 100644 app/scripts/actions/updateRepoSettingsVisibilityField.js create mode 100644 app/scripts/actions/updateStripeBilling.js create mode 100644 app/scripts/actions/updateSubscriptionPlanOrPackage.js create mode 100644 app/scripts/actions/updateToOrgOwner.js create mode 100644 app/scripts/actions/validateCouponCode.js create mode 100644 app/scripts/app.js create mode 100644 app/scripts/bootstrapCreateElement.js create mode 100644 app/scripts/client.js create mode 100644 app/scripts/components/AddRepo.css create mode 100644 app/scripts/components/AddRepo.jsx create mode 100644 app/scripts/components/Application.css create mode 100644 app/scripts/components/Application.jsx create mode 100644 app/scripts/components/Badge.jsx create mode 100644 app/scripts/components/CSEngineDownloadPage.css create mode 100644 app/scripts/components/CSEngineDownloadPage.jsx create mode 100644 app/scripts/components/CreateButton.jsx create mode 100644 app/scripts/components/DashboardWrapper.css create mode 100644 app/scripts/components/DashboardWrapper.jsx create mode 100644 app/scripts/components/EULA.jsx create mode 100644 app/scripts/components/Explore.jsx create mode 100644 app/scripts/components/Html.jsx create mode 100644 app/scripts/components/Login.css create mode 100644 app/scripts/components/Login.jsx create mode 100644 app/scripts/components/Nav.css create mode 100644 app/scripts/components/Nav.jsx create mode 100644 app/scripts/components/OrgDashboardWrapper.jsx create mode 100644 app/scripts/components/Register.css create mode 100644 app/scripts/components/Register.jsx create mode 100644 app/scripts/components/RepositoryPageWrapper.css create mode 100644 app/scripts/components/RepositoryPageWrapper.jsx create mode 100644 app/scripts/components/Routes.css create mode 100644 app/scripts/components/Routes.jsx create mode 100644 app/scripts/components/Spinner.jsx create mode 100644 app/scripts/components/StatsComponent.jsx create mode 100644 app/scripts/components/UserProfileWrapper.css create mode 100644 app/scripts/components/UserProfileWrapper.jsx create mode 100644 app/scripts/components/Users.jsx create mode 100644 app/scripts/components/Welcome.css create mode 100644 app/scripts/components/Welcome.jsx create mode 100644 app/scripts/components/account/Account.jsx create mode 100644 app/scripts/components/account/AccountSettings.css create mode 100644 app/scripts/components/account/AccountSettings.jsx create mode 100644 app/scripts/components/account/AddOrganizationForm.css create mode 100644 app/scripts/components/account/AddOrganizationForm.jsx create mode 100644 app/scripts/components/account/BillingPlans.css create mode 100644 app/scripts/components/account/BillingPlans.jsx create mode 100644 app/scripts/components/account/ConvertToOrg.css create mode 100644 app/scripts/components/account/ConvertToOrg.jsx create mode 100644 app/scripts/components/account/CreateBillingSubscription.css create mode 100644 app/scripts/components/account/CreateBillingSubscription.jsx create mode 100644 app/scripts/components/account/Licenses.css create mode 100644 app/scripts/components/account/Licenses.jsx create mode 100644 app/scripts/components/account/LinkedServices.css create mode 100644 app/scripts/components/account/LinkedServices.jsx create mode 100644 app/scripts/components/account/NotificationsSettings.css create mode 100644 app/scripts/components/account/NotificationsSettings.jsx create mode 100644 app/scripts/components/account/OrganizationSettings.jsx create mode 100644 app/scripts/components/account/OrganizationSummary.css create mode 100644 app/scripts/components/account/OrganizationSummary.jsx create mode 100644 app/scripts/components/account/UpdateBillingInfo.css create mode 100644 app/scripts/components/account/UpdateBillingInfo.jsx create mode 100644 app/scripts/components/account/billingplans/BillingInfo.css create mode 100644 app/scripts/components/account/billingplans/BillingInfo.jsx create mode 100644 app/scripts/components/account/billingplans/BillingInfoForm.css create mode 100644 app/scripts/components/account/billingplans/BillingInfoForm.jsx create mode 100644 app/scripts/components/account/billingplans/EnterpriseSubscriptions.css create mode 100644 app/scripts/components/account/billingplans/EnterpriseSubscriptions.jsx create mode 100644 app/scripts/components/account/billingplans/InvoiceTables.jsx create mode 100644 app/scripts/components/account/billingplans/Plans.css create mode 100644 app/scripts/components/account/billingplans/Plans.jsx create mode 100644 app/scripts/components/account/forms/AccountInfoForm.css create mode 100644 app/scripts/components/account/forms/AccountInfoForm.jsx create mode 100644 app/scripts/components/account/forms/ChangePassForm.css create mode 100644 app/scripts/components/account/forms/ChangePassForm.jsx create mode 100644 app/scripts/components/account/forms/EmailForm.css create mode 100644 app/scripts/components/account/forms/EmailForm.jsx create mode 100644 app/scripts/components/account/forms/email/DeleteEmailElement.jsx create mode 100644 app/scripts/components/account/forms/email/EmailComponents.css create mode 100644 app/scripts/components/account/forms/email/EmailElement.jsx create mode 100644 app/scripts/components/account/forms/email/PrimaryEmail.jsx create mode 100644 app/scripts/components/account/forms/email/VerifiedOrResend.jsx create mode 100644 app/scripts/components/account/notificationSettings/EmailNotifForm.css create mode 100644 app/scripts/components/account/notificationSettings/EmailNotifForm.jsx create mode 100644 app/scripts/components/account/orgs/OrganizationAddTeam.jsx create mode 100644 app/scripts/components/account/orgs/OrganizationProfile.css create mode 100644 app/scripts/components/account/orgs/OrganizationProfile.jsx create mode 100644 app/scripts/components/account/orgs/TeamProfile.css create mode 100644 app/scripts/components/account/orgs/TeamProfile.jsx create mode 100644 app/scripts/components/account/services/GithubLinkScopes.jsx create mode 100644 app/scripts/components/common/AlertBox.jsx create mode 100644 app/scripts/components/common/BlankSlate.css create mode 100644 app/scripts/components/common/BlankSlate.jsx create mode 100644 app/scripts/components/common/CSEngineBox.css create mode 100644 app/scripts/components/common/CSEngineBox.jsx create mode 100644 app/scripts/components/common/Code.css create mode 100644 app/scripts/components/common/Code.jsx create mode 100644 app/scripts/components/common/CopyCodeBox.css create mode 100644 app/scripts/components/common/CopyCodeBox.jsx create mode 100644 app/scripts/components/common/DUXInput-b.css create mode 100644 app/scripts/components/common/DUXInput-base.css create mode 100644 app/scripts/components/common/DUXInput.css create mode 100644 app/scripts/components/common/DUXInput.jsx create mode 100644 app/scripts/components/common/FancyInput.css create mode 100644 app/scripts/components/common/FancyInput.jsx create mode 100644 app/scripts/components/common/FlexTable.css create mode 100644 app/scripts/components/common/FlexTable.jsx create mode 100644 app/scripts/components/common/FontAwesome.jsx create mode 100644 app/scripts/components/common/LiLink.jsx create mode 100644 app/scripts/components/common/ListSelector.css create mode 100644 app/scripts/components/common/ListSelector.jsx create mode 100644 app/scripts/components/common/Pagination.jsx create mode 100644 app/scripts/components/common/PendingDeleteRepositoryItem.css create mode 100644 app/scripts/components/common/PendingDeleteRepositoryItem.jsx create mode 100644 app/scripts/components/common/RepositoriesList.jsx create mode 100644 app/scripts/components/common/RepositoryListItem.css create mode 100644 app/scripts/components/common/RepositoryListItem.jsx create mode 100644 app/scripts/components/common/RepositoryNameInput.jsx create mode 100644 app/scripts/components/common/RouteNotFound404Page.css create mode 100644 app/scripts/components/common/RouteNotFound404Page.jsx create mode 100644 app/scripts/components/common/Row.jsx create mode 100644 app/scripts/components/common/Sections.css create mode 100644 app/scripts/components/common/Sections.jsx create mode 100644 app/scripts/components/common/SimpleInput.css create mode 100644 app/scripts/components/common/SimpleInput.jsx create mode 100644 app/scripts/components/common/SimpleTextArea.css create mode 100644 app/scripts/components/common/SimpleTextArea.jsx create mode 100644 app/scripts/components/common/SourceRepositoryCard.jsx create mode 100644 app/scripts/components/common/TagsFlexTable/FlexTable.css create mode 100644 app/scripts/components/common/TagsFlexTable/FlexTable.jsx create mode 100644 app/scripts/components/common/TagsFlexTable/Header.css create mode 100644 app/scripts/components/common/TagsFlexTable/Header.jsx create mode 100644 app/scripts/components/common/TagsFlexTable/Item.css create mode 100644 app/scripts/components/common/TagsFlexTable/Item.jsx create mode 100644 app/scripts/components/common/TagsFlexTable/Row.css create mode 100644 app/scripts/components/common/TagsFlexTable/Row.jsx create mode 100644 app/scripts/components/common/TagsFlexTable/index.js create mode 100644 app/scripts/components/common/TeamListItem.jsx create mode 100644 app/scripts/components/common/animations.css create mode 100644 app/scripts/components/common/data/acceptedCards.js create mode 100644 app/scripts/components/common/data/countries.js create mode 100644 app/scripts/components/common/data/csEngineInstructions.js create mode 100644 app/scripts/components/common/data/jobFunctions.js create mode 100644 app/scripts/components/common/data/months.js create mode 100644 app/scripts/components/common/data/officialLogos.js create mode 100644 app/scripts/components/common/data/plans.js create mode 100644 app/scripts/components/common/data/provinces.js create mode 100644 app/scripts/components/common/data/states.js create mode 100644 app/scripts/components/common/data/years.js create mode 100644 app/scripts/components/common/enums/BuildTagDefault.js create mode 100644 app/scripts/components/common/enums/RepoStatus.js create mode 100644 app/scripts/components/dashboards/Contribs.jsx create mode 100644 app/scripts/components/dashboards/PrivateRepoStatusBlock.css create mode 100644 app/scripts/components/dashboards/PrivateRepoStatusBlock.jsx create mode 100644 app/scripts/components/dashboards/Repos.css create mode 100644 app/scripts/components/dashboards/Repos.jsx create mode 100644 app/scripts/components/dashboards/Stars.jsx create mode 100644 app/scripts/components/enterprise/CloudBilling.css create mode 100644 app/scripts/components/enterprise/CloudBilling.jsx create mode 100644 app/scripts/components/enterprise/CouponForm.css create mode 100644 app/scripts/components/enterprise/CouponForm.jsx create mode 100644 app/scripts/components/enterprise/Enterprise.css create mode 100644 app/scripts/components/enterprise/Enterprise.jsx create mode 100644 app/scripts/components/enterprise/EnterpriseBillingForm.css create mode 100644 app/scripts/components/enterprise/EnterpriseBillingForm.jsx create mode 100644 app/scripts/components/enterprise/EnterpriseBillingForm/EnterprisePanel.jsx create mode 100644 app/scripts/components/enterprise/EnterpriseLoggedOutPage.css create mode 100644 app/scripts/components/enterprise/EnterpriseLoggedOutPage.jsx create mode 100644 app/scripts/components/enterprise/EnterprisePaid.css create mode 100644 app/scripts/components/enterprise/EnterprisePaid.jsx create mode 100644 app/scripts/components/enterprise/EnterpriseTrial.css create mode 100644 app/scripts/components/enterprise/EnterpriseTrial.jsx create mode 100644 app/scripts/components/enterprise/EnterpriseTrialForm.css create mode 100644 app/scripts/components/enterprise/EnterpriseTrialForm.jsx create mode 100644 app/scripts/components/enterprise/EnterpriseTrialSuccess.css create mode 100644 app/scripts/components/enterprise/EnterpriseTrialSuccess.jsx create mode 100644 app/scripts/components/enterprise/EnterpriseTrialSuccess/AddLicense.jsx create mode 100644 app/scripts/components/enterprise/EnterpriseTrialSuccess/InstallCSEngine.jsx create mode 100644 app/scripts/components/enterprise/EnterpriseTrialSuccess/InstallDTR.jsx create mode 100644 app/scripts/components/enterprise/EnterpriseTrialSuccess/SecureDTR.jsx create mode 100644 app/scripts/components/enterprise/EnterpriseTrialSuccess/StepsTab.jsx create mode 100644 app/scripts/components/enterprise/EnterpriseTrialTerms.css create mode 100644 app/scripts/components/enterprise/EnterpriseTrialTerms.jsx create mode 100644 app/scripts/components/enterprise/ServerBilling.css create mode 100644 app/scripts/components/enterprise/ServerBilling.jsx create mode 100644 app/scripts/components/enterprise/plansAndSubscriptions.js create mode 100644 app/scripts/components/eusa.js create mode 100644 app/scripts/components/filter/FilterBar.css create mode 100644 app/scripts/components/filter/FilterBar.jsx create mode 100644 app/scripts/components/gravatar/Gravatar.css create mode 100644 app/scripts/components/gravatar/GravatarOption.jsx create mode 100644 app/scripts/components/gravatar/GravatarValue.jsx create mode 100644 app/scripts/components/help/Help.css create mode 100644 app/scripts/components/help/Help.jsx create mode 100644 app/scripts/components/help/HelpContents.js create mode 100644 app/scripts/components/orgdashboards/Members.css create mode 100644 app/scripts/components/orgdashboards/Members.jsx create mode 100644 app/scripts/components/orgdashboards/Teams.css create mode 100644 app/scripts/components/orgdashboards/Teams.jsx create mode 100644 app/scripts/components/repo/RepoSecondaryNav.css create mode 100644 app/scripts/components/repo/RepoSecondaryNav.jsx create mode 100644 app/scripts/components/repo/RepositoryDetailsWrapper.css create mode 100644 app/scripts/components/repo/RepositoryDetailsWrapper.jsx create mode 100644 app/scripts/components/repo/RepositorySettingsWrapper.jsx create mode 100644 app/scripts/components/repo/TriggerButton.css create mode 100644 app/scripts/components/repo/TriggerButton.jsx create mode 100644 app/scripts/components/repo/repoSettings/Builds.css create mode 100644 app/scripts/components/repo/repoSettings/Builds.jsx create mode 100644 app/scripts/components/repo/repoSettings/CollaboratorsWrapper.jsx create mode 100644 app/scripts/components/repo/repoSettings/RepositorySettingsWebhooksPipelineHistory.jsx create mode 100644 app/scripts/components/repo/repoSettings/SettingsMain.css create mode 100644 app/scripts/components/repo/repoSettings/SettingsMain.jsx create mode 100644 app/scripts/components/repo/repoSettings/builds/BuildSettings.css create mode 100644 app/scripts/components/repo/repoSettings/builds/BuildSettings.jsx create mode 100644 app/scripts/components/repo/repoSettings/builds/BuildTrigger.css create mode 100644 app/scripts/components/repo/repoSettings/builds/BuildTrigger.jsx create mode 100644 app/scripts/components/repo/repoSettings/builds/BuildTriggerByTag.css create mode 100644 app/scripts/components/repo/repoSettings/builds/BuildTriggerByTag.jsx create mode 100644 app/scripts/components/repo/repoSettings/builds/DeployKeys.css create mode 100644 app/scripts/components/repo/repoSettings/builds/DeployKeys.jsx create mode 100644 app/scripts/components/repo/repoSettings/builds/LinkAutoTrigger.css create mode 100644 app/scripts/components/repo/repoSettings/builds/LinkAutoTrigger.jsx create mode 100644 app/scripts/components/repo/repoSettings/builds/RepoPushTrigger.css create mode 100644 app/scripts/components/repo/repoSettings/builds/RepoPushTrigger.jsx create mode 100644 app/scripts/components/repo/repoSettings/collaborators/Collaborators.css create mode 100644 app/scripts/components/repo/repoSettings/collaborators/Collaborators.jsx create mode 100644 app/scripts/components/repo/repoSettings/collaborators/Teams.css create mode 100644 app/scripts/components/repo/repoSettings/collaborators/Teams.jsx create mode 100644 app/scripts/components/repo/repoSettings/settingsMain/DeleteRepositoryForm.css create mode 100644 app/scripts/components/repo/repoSettings/settingsMain/DeleteRepositoryForm.jsx create mode 100644 app/scripts/components/repo/repoSettings/settingsMain/VisibilityForm.css create mode 100644 app/scripts/components/repo/repoSettings/settingsMain/VisibilityForm.jsx create mode 100644 app/scripts/components/repo/repoSettings/webhooks/AddWebhookForm.css create mode 100644 app/scripts/components/repo/repoSettings/webhooks/AddWebhookForm.jsx create mode 100644 app/scripts/components/repo/repoSettings/webhooks/Pipeline/History.css create mode 100644 app/scripts/components/repo/repoSettings/webhooks/Pipeline/History.jsx create mode 100644 app/scripts/components/repo/repoSettings/webhooks/Pipeline/Options.css create mode 100644 app/scripts/components/repo/repoSettings/webhooks/Pipeline/Options.jsx create mode 100644 app/scripts/components/repo/repoSettings/webhooks/Pipeline/Status.css create mode 100644 app/scripts/components/repo/repoSettings/webhooks/Pipeline/Status.jsx create mode 100644 app/scripts/components/repo/repoSettings/webhooks/Pipeline/index.css create mode 100644 app/scripts/components/repo/repoSettings/webhooks/Pipeline/index.jsx create mode 100644 app/scripts/components/repo/repoSettings/webhooks/Pipelines.jsx create mode 100644 app/scripts/components/repo/repoSettings/webhooks/WebhooksTutorial.css create mode 100644 app/scripts/components/repo/repoSettings/webhooks/WebhooksTutorial.jsx create mode 100644 app/scripts/components/repo/repoSettings/webhooks/imagePush.svg create mode 100644 app/scripts/components/repo/repoSettings/webhooks/index.css create mode 100644 app/scripts/components/repo/repoSettings/webhooks/index.jsx create mode 100644 app/scripts/components/repo/repoSettings/webhooks/plus.svg create mode 100644 app/scripts/components/repo/repoSettings/webhooks/webhook.svg create mode 100644 app/scripts/components/repo/repo_details/BuildDetails.css create mode 100644 app/scripts/components/repo/repo_details/BuildDetails.jsx create mode 100644 app/scripts/components/repo/repo_details/BuildLogs.css create mode 100644 app/scripts/components/repo/repo_details/BuildLogs.jsx create mode 100644 app/scripts/components/repo/repo_details/BuildStatus.css create mode 100644 app/scripts/components/repo/repo_details/BuildStatus.jsx create mode 100644 app/scripts/components/repo/repo_details/Dockerfile.css create mode 100644 app/scripts/components/repo/repo_details/Dockerfile.jsx create mode 100644 app/scripts/components/repo/repo_details/Info.jsx create mode 100644 app/scripts/components/repo/repo_details/ScannedTag.css create mode 100644 app/scripts/components/repo/repo_details/ScannedTag.jsx create mode 100644 app/scripts/components/repo/repo_details/Tags.css create mode 100644 app/scripts/components/repo/repo_details/Tags.jsx create mode 100644 app/scripts/components/repo/repo_details/info/Comment.css create mode 100644 app/scripts/components/repo/repo_details/info/Comment.jsx create mode 100644 app/scripts/components/repo/repo_details/info/Comments.css create mode 100644 app/scripts/components/repo/repo_details/info/Comments.jsx create mode 100644 app/scripts/components/repo/repo_details/info/Owner.css create mode 100644 app/scripts/components/repo/repo_details/info/Owner.jsx create mode 100644 app/scripts/components/repo/repo_details/info/PullCommand.css create mode 100644 app/scripts/components/repo/repo_details/info/PullCommand.jsx create mode 100644 app/scripts/components/repo/repo_details/info/RepoFullDescription.css create mode 100644 app/scripts/components/repo/repo_details/info/RepoFullDescription.jsx create mode 100644 app/scripts/components/repo/repo_details/info/RepoShortDescription.css create mode 100644 app/scripts/components/repo/repo_details/info/RepoShortDescription.jsx create mode 100644 app/scripts/components/repo/repo_details/nautilusUtils.js create mode 100644 app/scripts/components/repo/repo_details/scannedTag/ComponentGrid.css create mode 100644 app/scripts/components/repo/repo_details/scannedTag/ComponentGrid.jsx create mode 100644 app/scripts/components/repo/repo_details/scannedTag/Layer.css create mode 100644 app/scripts/components/repo/repo_details/scannedTag/Layer.jsx create mode 100644 app/scripts/components/repo/repo_details/scannedTag/LayerVulnerabilitiesTable.css create mode 100644 app/scripts/components/repo/repo_details/scannedTag/LayerVulnerabilitiesTable.jsx create mode 100644 app/scripts/components/repo/repo_details/scannedTag/ScanHeader.css create mode 100644 app/scripts/components/repo/repo_details/scannedTag/ScanHeader.jsx create mode 100644 app/scripts/components/repo/repo_details/scannedTag/Square.css create mode 100644 app/scripts/components/repo/repo_details/scannedTag/Square.jsx create mode 100644 app/scripts/components/repo/repo_details/scannedTag/selectors.js create mode 100644 app/scripts/components/repo/repo_details/tags/DeleteTagArea.css create mode 100644 app/scripts/components/repo/repo_details/tags/DeleteTagArea.jsx create mode 100644 app/scripts/components/repo/repo_details/tags/ErrorBar.css create mode 100644 app/scripts/components/repo/repo_details/tags/ErrorBar.jsx create mode 100644 app/scripts/components/repo/repo_details/tags/InProgressBar.css create mode 100644 app/scripts/components/repo/repo_details/tags/InProgressBar.jsx create mode 100644 app/scripts/components/repo/repo_details/tags/ScannedTagRow.css create mode 100644 app/scripts/components/repo/repo_details/tags/ScannedTagRow.jsx create mode 100644 app/scripts/components/repo/repo_details/tags/UnscannedTagRow.jsx create mode 100644 app/scripts/components/repo/repo_details/tags/VulnerabilityBar.jsx create mode 100644 app/scripts/components/repo/repo_details/tags/selectors.js create mode 100644 app/scripts/components/repo/store-promotion.js create mode 100644 app/scripts/components/repositories/AutoBuildSetupForm.css create mode 100644 app/scripts/components/repositories/AutoBuildSetupForm.jsx create mode 100644 app/scripts/components/repositories/AutoBuildTagsInput.jsx create mode 100644 app/scripts/components/repositories/AutoBuildTagsInputItem.css create mode 100644 app/scripts/components/repositories/AutoBuildTagsInputItem.jsx create mode 100644 app/scripts/components/repositories/Autobuild.jsx create mode 100644 app/scripts/components/repositories/AutobuildBlankSlate.css create mode 100644 app/scripts/components/repositories/AutobuildBlankSlate.jsx create mode 100644 app/scripts/components/repositories/AutobuildIndex.css create mode 100644 app/scripts/components/repositories/AutobuildIndex.jsx create mode 100644 app/scripts/components/repositories/LinkedAccountSourcesForm.css create mode 100644 app/scripts/components/repositories/LinkedAccountSourcesForm.jsx create mode 100644 app/scripts/components/repositories/RepositoryBlock.jsx create mode 100644 app/scripts/components/search/ResultsNotFound.css create mode 100644 app/scripts/components/search/ResultsNotFound.jsx create mode 100644 app/scripts/components/search/Search.jsx create mode 100644 app/scripts/components/search/SearchBar.css create mode 100644 app/scripts/components/search/SearchBar.jsx create mode 100644 app/scripts/components/search/SearchResultItem.jsx create mode 100644 app/scripts/components/search/SearchResults.jsx create mode 100644 app/scripts/components/userWrapper/UserStars.jsx create mode 100644 app/scripts/components/userprofile/Repos.jsx create mode 100644 app/scripts/components/utils/avatar.js create mode 100644 app/scripts/components/utils/bytesToSize.js create mode 100644 app/scripts/components/utils/encodeForm.js create mode 100644 app/scripts/components/utils/validateRepositoryName.js create mode 100644 app/scripts/components/welcome/ActivityFeedItem.jsx create mode 100644 app/scripts/components/welcome/ChangePassSuccess.css create mode 100644 app/scripts/components/welcome/ChangePassSuccess.jsx create mode 100644 app/scripts/components/welcome/DashboardNewsItem.jsx create mode 100644 app/scripts/components/welcome/DashboardTabs.jsx create mode 100644 app/scripts/components/welcome/ForgotPass.css create mode 100644 app/scripts/components/welcome/ForgotPass.jsx create mode 100644 app/scripts/components/welcome/LoginForm.css create mode 100644 app/scripts/components/welcome/LoginForm.jsx create mode 100644 app/scripts/components/welcome/ResetPass.css create mode 100644 app/scripts/components/welcome/ResetPass.jsx create mode 100644 app/scripts/components/welcome/SignupForm.css create mode 100644 app/scripts/components/welcome/SignupForm.jsx create mode 100644 app/scripts/components/welcome/_utils.js create mode 100644 app/scripts/fluxibleRouter.js create mode 100644 app/scripts/middlewares/sdk.js create mode 100644 app/scripts/normalizers.js create mode 100644 app/scripts/records.js create mode 100644 app/scripts/reducers/_utils.js create mode 100644 app/scripts/reducers/index.js create mode 100644 app/scripts/reducers/repos.js create mode 100644 app/scripts/reducers/scans.js create mode 100644 app/scripts/reducers/status.js create mode 100644 app/scripts/reducers/tags.js create mode 100644 app/scripts/reduxConsts.js create mode 100644 app/scripts/reduxStore.js create mode 100644 app/scripts/reduxUtils.js create mode 100644 app/scripts/selectors/status.js create mode 100644 app/scripts/server.js create mode 100644 app/scripts/stores/AccountInfoFormStore.js create mode 100644 app/scripts/stores/AccountSettingsLicensesStore.js create mode 100644 app/scripts/stores/AccountSettingsTeamsStore.js create mode 100644 app/scripts/stores/AddOrganizationStore.js create mode 100644 app/scripts/stores/AddTrialLicenseStore.js create mode 100644 app/scripts/stores/AddWebhookFormStore.js create mode 100644 app/scripts/stores/ApplicationStore.js create mode 100644 app/scripts/stores/AutoBuildSettingsStore.js create mode 100644 app/scripts/stores/AutobuildConfigStore.js create mode 100644 app/scripts/stores/AutobuildSourceRepositoriesStore.js create mode 100644 app/scripts/stores/AutobuildStore.js create mode 100644 app/scripts/stores/AutobuildTagsStore.js create mode 100644 app/scripts/stores/AutobuildTriggerByTagStore.js create mode 100644 app/scripts/stores/BillingInfoFormStore.js create mode 100644 app/scripts/stores/BillingPlansStore.js create mode 100644 app/scripts/stores/BitbucketLinkStore.js create mode 100644 app/scripts/stores/ChangePasswordStore.js create mode 100644 app/scripts/stores/CloudBillingStore.js create mode 100644 app/scripts/stores/CloudCouponStore.js create mode 100644 app/scripts/stores/ConvertToOrgStore.js create mode 100644 app/scripts/stores/CreateRepositoryFormStore.js create mode 100644 app/scripts/stores/DashboardContribsStore.js create mode 100644 app/scripts/stores/DashboardMembersStore.js create mode 100644 app/scripts/stores/DashboardNamespacesStore.js create mode 100644 app/scripts/stores/DashboardReposStore.js create mode 100644 app/scripts/stores/DashboardStarsStore.js create mode 100644 app/scripts/stores/DashboardStore.js create mode 100644 app/scripts/stores/DashboardTeamsStore.js create mode 100644 app/scripts/stores/DeletePipelineStore.js create mode 100644 app/scripts/stores/DeleteRepoFormStore.js create mode 100644 app/scripts/stores/EmailNotifStore.js create mode 100644 app/scripts/stores/EmailsStore.js create mode 100644 app/scripts/stores/EnterprisePaidFormStore.js create mode 100644 app/scripts/stores/EnterprisePartnerTrackingStore.js create mode 100644 app/scripts/stores/EnterpriseTrialFormStore.js create mode 100644 app/scripts/stores/EnterpriseTrialSuccessStore.js create mode 100644 app/scripts/stores/GithubLinkStore.js create mode 100644 app/scripts/stores/JWTStore.js create mode 100644 app/scripts/stores/LoginStore.js create mode 100644 app/scripts/stores/NotifyStore.js create mode 100644 app/scripts/stores/OrgTeamStore.js create mode 100644 app/scripts/stores/OrganizationStore.js create mode 100644 app/scripts/stores/OutboundCommunicationStore.js create mode 100644 app/scripts/stores/PipelineHistoryStore.js create mode 100644 app/scripts/stores/PlansStore.js create mode 100644 app/scripts/stores/PrivateRepoUsageStore.js create mode 100644 app/scripts/stores/RepoDetailsBuildLogs.js create mode 100644 app/scripts/stores/RepoDetailsBuildsStore.js create mode 100644 app/scripts/stores/RepoDetailsDockerfileStore.js create mode 100644 app/scripts/stores/RepoDetailsLongDescriptionFormStore.js create mode 100644 app/scripts/stores/RepoDetailsShortDescriptionFormStore.js create mode 100644 app/scripts/stores/RepoDetailsVisibilityFormStore.js create mode 100644 app/scripts/stores/RepoSettingsCollaborators.jsx create mode 100644 app/scripts/stores/RepositoriesPageStore.js create mode 100644 app/scripts/stores/RepositoryCommentsStore.js create mode 100644 app/scripts/stores/RepositoryPageStore.js create mode 100644 app/scripts/stores/SearchStore.js create mode 100644 app/scripts/stores/SignupStore.js create mode 100644 app/scripts/stores/TriggerBuildStore.js create mode 100644 app/scripts/stores/UnlinkAccountsStore.js create mode 100644 app/scripts/stores/UserProfileReposStore.js create mode 100644 app/scripts/stores/UserProfileStarsStore.js create mode 100644 app/scripts/stores/UserProfileStore.js create mode 100644 app/scripts/stores/UserStore.js create mode 100644 app/scripts/stores/WebhooksSettingsStore.js create mode 100644 app/scripts/stores/addorganizationstore/Constants.js create mode 100644 app/scripts/stores/addtriallicensestore/Constants.js create mode 100644 app/scripts/stores/addwebhookformstore/Constants.js create mode 100644 app/scripts/stores/billingformstore/Constants.js create mode 100644 app/scripts/stores/collaborators/Constants.js create mode 100644 app/scripts/stores/common/Constants.js create mode 100644 app/scripts/stores/deletepipelinestore/Constants.js create mode 100644 app/scripts/stores/deleterepostore/Constants.js create mode 100644 app/scripts/stores/emailsstore/Constants.js create mode 100644 app/scripts/stores/enterprisetrialstore/Constants.js create mode 100644 app/scripts/stores/enterprisetrialsuccessstore/Constants.js create mode 100644 app/scripts/stores/loginstore/Constants.js create mode 100644 app/scripts/stores/loginstore/createFormStore.js create mode 100644 app/scripts/stores/orgteamstore/Constants.js create mode 100644 app/scripts/stores/repodetailstags/Constants.js create mode 100644 app/scripts/stores/repostore/Constants.js create mode 100644 app/scripts/stores/repovisibilitystore/Constants.js create mode 100644 app/scripts/stores/signupstore/Constants.js create mode 100644 app/scripts/vendor/Blob.js create mode 100644 app/scripts/vendor/FileSaver.js create mode 100644 app/styles/common/_repository-list-item.scss create mode 100644 app/styles/font-awesome.min.css create mode 100644 app/styles/hub.scss create mode 100644 app/styles/hub/_blankslate.scss create mode 100644 app/styles/hub/_profile.scss create mode 100644 app/styles/hub/_type.scss create mode 100644 app/styles/hub/account.scss create mode 100644 app/styles/hub/autobuilds.scss create mode 100644 app/styles/hub/badge.scss create mode 100644 app/styles/hub/flyout-menu.scss create mode 100644 app/styles/hub/main-nav.scss create mode 100644 app/styles/hub/react-tagsinput.scss create mode 100644 app/styles/hub/repositories.scss create mode 100644 app/styles/hub/repository-settings.scss create mode 100644 app/styles/hub/reset-password.scss create mode 100644 app/styles/hub/search.scss create mode 100644 app/styles/hub/tabs.scss create mode 100644 app/styles/hub/usericons.scss create mode 100644 app/styles/main.scss create mode 100644 app/styles/vendor-overrides/rc-tooltip.css create mode 100644 app/styles/vendor-overrides/react-select.css create mode 100644 circle.yml create mode 100644 containers/README.md create mode 100644 containers/dnsmasq/Dockerfile create mode 100755 containers/dnsmasq/configure_system_dns.sh create mode 100755 containers/dnsmasq/run create mode 100644 containers/haproxy/Dockerfile create mode 100644 containers/haproxy/haproxy.cfg create mode 100644 containers/haproxy/keys/bagels.docker.com/bagels.docker.crt create mode 100644 containers/haproxy/keys/bagels.docker.com/bagels.docker.csr create mode 100644 containers/haproxy/keys/bagels.docker.com/bagels.docker.key create mode 100644 containers/haproxy/keys/bagels.docker.com/bagels.docker.pem create mode 100755 containers/haproxy/run create mode 100755 containers/prod/build create mode 100644 containers/prod/docker-compose.yml create mode 100644 containers/prod/haproxy/Dockerfile create mode 100644 containers/prod/haproxy/haproxy.cfg create mode 100644 containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.crt create mode 100644 containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.csr create mode 100644 containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.key create mode 100644 containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.pem create mode 100755 containers/prod/haproxy/run create mode 100755 deployment/deploy.sh create mode 100644 docker-compose.yml create mode 100644 dockerfiles/Dockerfile-node-alpine create mode 100644 dockerfiles/Dockerfile-prod-build create mode 100644 dockerfiles/Dockerfile-stage-build create mode 100644 dockerfiles/milky-way create mode 100644 dockerfiles/milky-way-no-bin create mode 100644 dockerfiles/saas-config create mode 100644 dockerfiles/universe create mode 100644 docs/Dockerfile create mode 100644 docs/Makefile create mode 100644 docs/accounts.md create mode 100644 docs/bitbucket.md create mode 100644 docs/builds.md create mode 100644 docs/github.md create mode 100644 docs/images/add-authorized-github-service.png create mode 100644 docs/images/authorized-services.png create mode 100644 docs/images/bitbucket-hook.png create mode 100644 docs/images/bitbucket_creds.png create mode 100644 docs/images/build-by.png create mode 100644 docs/images/build-states-ex.png create mode 100644 docs/images/build-trigger.png create mode 100644 docs/images/busybox-image-tags.png create mode 100644 docs/images/create-dialog.png create mode 100644 docs/images/create-dialog1.png create mode 100644 docs/images/dashboard.png create mode 100644 docs/images/deploy_key.png create mode 100644 docs/images/docker-integration.png create mode 100644 docs/images/first_pending.png create mode 100644 docs/images/getting-started.png create mode 100644 docs/images/gh-check-admin-org-dh-app-access.png create mode 100644 docs/images/gh-check-user-org-dh-app-access.png create mode 100644 docs/images/gh_add_ssh_user_key.png create mode 100644 docs/images/gh_docker-service.png create mode 100644 docs/images/gh_menu.png create mode 100644 docs/images/gh_org_members.png create mode 100644 docs/images/gh_repo_deploy_key.png create mode 100644 docs/images/gh_service_hook.png create mode 100644 docs/images/gh_settings.png create mode 100644 docs/images/gh_team_members.png create mode 100644 docs/images/github-side-hook.png create mode 100644 docs/images/groups.png create mode 100644 docs/images/home-page.png create mode 100644 docs/images/hub.png create mode 100644 docs/images/invite.png create mode 100644 docs/images/linked-acct.png create mode 100644 docs/images/login-web.png create mode 100644 docs/images/merge_builds.png create mode 100644 docs/images/org-repo-collaborators.png create mode 100644 docs/images/orgs.png create mode 100644 docs/images/plus-carrot.png create mode 100644 docs/images/prompt.png create mode 100644 docs/images/regex-help.png create mode 100644 docs/images/register-web.png create mode 100644 docs/images/repo_links.png create mode 100644 docs/images/repos.png create mode 100644 docs/images/scan-drilldown.gif create mode 100644 docs/images/scan-results.png create mode 100644 docs/images/scan-tags.png create mode 100644 docs/index.md create mode 100644 docs/menu.md create mode 100644 docs/official_repos.md create mode 100644 docs/orgs.md create mode 100644 docs/repos.md create mode 100644 docs/s3_website.json create mode 100644 docs/webhooks.md create mode 100644 fabfile.py create mode 100644 flow-libs/async.js create mode 100644 flow-libs/debug.js create mode 100644 flow-libs/fluxible.js create mode 100644 flow-libs/hub-js-sdk.js create mode 100644 flow-libs/lodash.js create mode 100644 gulp-tasks/img.js create mode 100644 gulpfile.js create mode 100644 local.Dockerfile create mode 100644 package.json create mode 100644 pr-docs/css.md create mode 100644 pr-docs/linting.md create mode 100644 pr-docs/routes.md create mode 100644 production_ready.md create mode 100755 startup-scripts/boot-dev-tmux.sh create mode 100755 startup-scripts/boot-dev.sh create mode 100755 startup-scripts/bootstrap-dev.sh create mode 100644 webpack.config.js diff --git a/.arcconfig b/.arcconfig new file mode 100644 index 0000000000..238fabe3ff --- /dev/null +++ b/.arcconfig @@ -0,0 +1,3 @@ +{ + "phabricator.uri" : "https://docker-saas.phacility.com/" +} diff --git a/.dockercfg.template b/.dockercfg.template new file mode 100644 index 0000000000..2ca7abf853 --- /dev/null +++ b/.dockercfg.template @@ -0,0 +1 @@ +{"https://index.docker.io/v1/":{"auth":"","email":""}} \ No newline at end of file diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..561df81584 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,29 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# editorconfig.org + +root = true + + +[*] + +# Change these settings to your own preference +indent_style = space +indent_size = 4 + +# We recommend you to keep these unchanged +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false + +[package.json] +indent_style = space +indent_size = 2 + +[bower.json] +indent_style = space +indent_size = 2 diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000000..337b1bf9ad --- /dev/null +++ b/.eslintrc @@ -0,0 +1,158 @@ +{ + "parser": "babel-eslint", + "env": { + "node": true, + "browser": true + }, + "rules":{ + "no-alert": 2, + "no-array-constructor": 2, + "no-bitwise": 0, + "no-caller": 2, + "no-catch-shadow": 2, + "no-cond-assign": 2, + "no-console": 2, + "no-constant-condition": 2, + "no-continue": 0, + "no-control-regex": 2, + "no-debugger": 2, + "no-delete-var": 2, + "no-div-regex": 0, + "no-dupe-keys": 2, + "no-dupe-args": 2, + "no-duplicate-case": 2, + "no-else-return": 0, + "no-empty": 2, + "no-empty-character-class": 2, + "no-empty-label": 2, + "no-eq-null": 0, + "no-eval": 2, + "no-ex-assign": 2, + "no-extend-native": 2, + "no-extra-bind": 2, + "no-extra-boolean-cast": 2, + "no-extra-parens": 0, + "no-extra-semi": 2, + "no-fallthrough": 2, + "no-floating-decimal": 0, + "no-func-assign": 2, + "no-implied-eval": 2, + "no-inline-comments": 0, + "no-inner-declarations": [2, "functions"], + "no-invalid-regexp": 2, + "no-irregular-whitespace": 2, + "no-iterator": 2, + "no-label-var": 2, + "no-labels": 2, + "no-lone-blocks": 2, + "no-lonely-if": 0, + "no-loop-func": 2, + "no-mixed-requires": [0, false], + "no-mixed-spaces-and-tabs": [2, false], + "no-multi-spaces": 2, + "no-multi-str": 2, + "no-multiple-empty-lines": [0, {"max": 2}], + "no-native-reassign": 2, + "no-negated-in-lhs": 2, + "no-nested-ternary": 0, + "no-new": 2, + "no-new-func": 2, + "no-new-object": 2, + "no-new-require": 0, + "no-new-wrappers": 2, + "no-obj-calls": 2, + "no-octal": 2, + "no-octal-escape": 2, + "no-param-reassign": 0, + "no-path-concat": 0, + "no-plusplus": 0, + "no-process-env": 0, + "no-process-exit": 2, + "no-proto": 2, + "no-redeclare": 2, + "no-regex-spaces": 2, + "no-restricted-modules": 0, + "no-return-assign": 2, + "no-script-url": 2, + "no-self-compare": 0, + "no-sequences": 2, + "no-shadow": 2, + "no-shadow-restricted-names": 2, + "no-spaced-func": 2, + "no-sparse-arrays": 2, + "no-sync": 0, + "no-ternary": 0, + "no-trailing-spaces": 2, + "no-throw-literal": 0, + "no-undef": 2, + "no-undef-init": 2, + "no-undefined": 0, + "no-underscore-dangle": 0, + "no-unreachable": 2, + "no-unused-expressions": 2, + "no-unused-vars": [0, {"vars": "all", "args": "after-used"}], + "no-use-before-define": 2, + "no-void": 0, + "no-var": 0, + "no-warning-comments": [0, { "terms": ["todo", "fixme", "xxx"], "location": "start" }], + "no-with": 2, + + "array-bracket-spacing": [0, "never"], + "block-scoped-var": 0, + "brace-style": [0, "1tbs"], + "camelcase": 0, + "comma-dangle": [2, "never"], + "comma-spacing": 2, + "comma-style": 0, + "complexity": [0, 11], + "consistent-return": 2, + "consistent-this": [0, "that"], + "curly": [2, "all"], + "default-case": 0, + "dot-notation": [2, { "allowKeywords": true }], + "eol-last": 2, + "eqeqeq": 2, + "func-names": 0, + "func-style": [0, "declaration"], + "generator-star-spacing": 0, + "guard-for-in": 0, + "handle-callback-err": 0, + "indent": 0, + "key-spacing": [2, { "beforeColon": false, "afterColon": true }], + "max-depth": [0, 4], + "max-len": [0, 80, 4], + "max-nested-callbacks": [0, 2], + "max-params": [0, 3], + "max-statements": [0, 10], + "new-cap": 2, + "new-parens": 2, + "newline-after-var": 0, + "object-curly-spacing": [0, "never"], + "one-var": 0, + "operator-assignment": [0, "always"], + "operator-linebreak": 0, + "padded-blocks": 0, + "quote-props": 0, + "quotes": [2, "single"], + "radix": 0, + "semi": 2, + "semi-spacing": [2, {"before": false, "after": true}], + "sort-vars": 0, + "space-after-keywords": [0, "always"], + "space-before-blocks": [0, "always"], + "space-before-function-paren": [0, "always"], + "spaced-comment": [0, "always"], + "space-in-parens": [0, "never"], + "space-infix-ops": 2, + "space-return-throw-case": 2, + "space-unary-ops": [2, { "words": true, "nonwords": false }], + "strict": [2, "global"], + "use-isnan": 2, + "valid-jsdoc": 0, + "valid-typeof": 2, + "vars-on-top": 0, + "wrap-iife": 0, + "wrap-regex": 0, + "yoda": [2, "never"] + } +} diff --git a/.flowconfig b/.flowconfig new file mode 100644 index 0000000000..d8c97510c3 --- /dev/null +++ b/.flowconfig @@ -0,0 +1,14 @@ +[ignore] +.*/app/scripts/build.* +.*/.tmp/.* +.*/node_modules/webpack.* +.*/node_modules/gulp-sass/.* + +[include] +app/scripts +node_modules/hub-js-sdk + +[libs] +./flow-libs + +[options] diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..2125666142 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto \ No newline at end of file diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 7495b93648..0000000000 --- a/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -controller/static/dist -controller/static/semantic/node_modules -.tmp -.env -*.sw* -*.log -.DS_Store -*.un* -cli/cli -controller/controller -controller/ca-certificates.crt -.cover -integration.log -bin/ -ucp_images_* diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..7c83727209 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +FROM bagel/universe:dc9b2190001e9c64d7b5e63dbf9999b2e4c83d25 + +# Source +COPY ./app /opt/hub/app +# Webpack +COPY ./webpack.config.js /opt/hub/webpack.config.js +COPY ./_webpack /opt/hub/_webpack +# Make +COPY ./Makefile /opt/hub/Makefile +# Gulp +COPY ./gulpfile.js /opt/hub/gulpfile.js +COPY ./gulp-tasks /opt/hub/gulp-tasks +# ESLint +COPY ./.eslintrc /opt/hub/.eslintrc +# Flow +ENV LOGNAME bagels +COPY ./flow-libs /opt/hub/flow-libs +COPY .flowconfig /opt/hub/.flowconfig +ENV PATH /opt/flow/:$PATH + +RUN DEBUG=* webpack -d +RUN make server-target +RUN make styles-base +RUN gulp images::dev +RUN make images +RUN make docker-font-dev +# favicon +COPY ./app/favicon.ico /opt/hub/app/.build/ diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000000..fa29520b5f --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,8 @@ +// Only run on Linux atm +wrappedNode(label: 'docker') { + deleteDir() + stage "checkout" + checkout scm + + documentationChecker("docs") +} diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000..ccc714aa21 --- /dev/null +++ b/Makefile @@ -0,0 +1,101 @@ +.PHONY: dns server-prod-target server-target server-extras base base-tag prod prod-tag push-builders js-prod images images-prod + +# Set up make's +dns: + ./containers/dnsmasq/configure_system_dns.sh +hub-deps: + git clone git@github.com:docker/docker-ux.git ./private-deps/docker-ux + git clone git@github.com:docker/hub-js-sdk.git ./private-deps/hub-js-sdk +# -> bootstrap-dev +server-target: + mkdir -p app/.build/public/styles + cp -R app/img app/.build/public +styles-base: + cp ./private-deps/docker-ux/dist/styles/main.css ./app/.build/public/styles/main.css +images: + cp -R ./private-deps/docker-ux/dist/images ./app/.build/public/ +docker-font-dev: + cp -R ./private-deps/docker-ux/dist/fonts ./app/.build/public/ + cp ./app/fonts/* ./app/.build/public/fonts/ + mkdir -p app/.build/public/styles + cp ./app/styles/font-awesome.min.css ./app/.build/public/styles/font-awesome.min.css + +# Circle make's +dev: + docker build -t bagel/hub-builders-dev . +dev-tag: + $(shell docker tag bagel/hub-builders-dev:latest bagel/hub-builders-dev:$(shell git rev-parse --verify HEAD)) +local: + docker build -f local.Dockerfile -t bagel/hub-builders-local . +copy-local: + docker run --name bagel-local -d bagel/hub-builders-local sleep 50s + docker cp bagel-local:/opt/hub/.build-prod ./.local/ +stage: + docker build -f dockerfiles/Dockerfile-stage-build -t bagel/hub-builders-stage . +copy-stage: + docker run --name bagel-stage -d bagel/hub-builders-stage sleep 50s + docker cp bagel-stage:/opt/hub/.build-prod ./.stage/ +prod: + docker build -f dockerfiles/Dockerfile-prod-build -t bagel/hub-builders-prod . +base-prod-tag: + $(shell docker tag bagel/hub-builders-prod:latest bagel/hub-builders-prod:$(shell git rev-parse --verify HEAD)) +copy-prod: + docker run --name bagel-prod -d bagel/hub-builders-prod sleep 50s + docker cp bagel-prod:/opt/hub/.build-prod . + +# Dockerfile make's +server-prod-target: + rm -rf .build-prod + mkdir -p .build-prod +server-extras: + cp app-server/package.json .build-prod/package.json + cp app-server/favicons/favicon-dev.ico .build-prod/favicon.ico + cp app-server/Dockerfile .build-prod/Dockerfile +js-prod: + ENV=production webpack --production --config _webpack/webpack.prod.config.js + ENV=production webpack --production --config _webpack/webpack.server.config.js +js-stage: + ENV=staging webpack --production --config _webpack/webpack.prod.config.js + ENV=staging webpack --production --config _webpack/webpack.server.config.js +js-local: + ENV=local webpack --production --config _webpack/webpack.prod.config.js + ENV=local webpack --production --config _webpack/webpack.server.config.js +images-prod: + cp -R ./private-deps/docker-ux/dist/images .build-prod/public/ +docker-font-prod: + cp -R ./private-deps/docker-ux/dist/fonts .build-prod/public + cp -R ./app/fonts/* .build-prod/public/fonts/ + mkdir -p app/.build-prod/public/styles + cp ./app/styles/font-awesome.min.css .build-prod/public/styles/font-awesome.min.css +styles-base-prod: + cp ./private-deps/docker-ux/dist/styles/main.css .build-prod/public/styles/main.css +stats-dir: + mkdir -p /stats/css +css-stats: + /opt/hub/node_modules/.bin/cssstats file /opt/hub/.build-prod/public/styles/$(shell cat /tmp/.client-js-hash) > /stats/css-stats.json + +# Unused make commands +# Universe commands are no longer used as we now have the universe branch +dev-test-jest: + docker build -f dockerfiles/Dockerfile-builders-dev-jest -t bagel/hub-builders-dev-jest . +push-builders: + docker push bagel/hub-builders-prod + docker push bagel/hub-builders-dev +prod-tag: + $(shell docker tag bagel/hub-prod:latest bagel/hub-prod:$(shell git rev-parse --verify HEAD)) +universe: +# [ ! "${$(npm -v):0:1}" == "2" ] && echo "please \"npm install -g npm\" to get npm3'" && exit 1 + rm -rf node_modules + npm install --production + docker build -f dockerfiles/milky-way -t bagel/milky-way . + docker build -f dockerfiles/universe -t bagel/universe . +push-universe: + $(shell docker tag bagel/milky-way:latest bagel/milky-way:$(shell git rev-parse --verify HEAD)) + $(shell docker tag bagel/universe:latest bagel/universe:$(shell git rev-parse --verify HEAD)) + docker push bagel/milky-way + docker push bagel/universe +new-universe: + sed -i '.bak' "s/universe:[a-z0-9]*$$/universe:${UNIVERSE_TAG}/" Dockerfile + sed -i '.bak' "s/universe:[a-z0-9]*$$/universe:${UNIVERSE_TAG}/" local.Dockerfile + sed -i '.bak' "s/universe:[a-z0-9]*$$/universe:${UNIVERSE_TAG}/" dockerfiles/* + sed -i '.bak' "s/milky-way:[a-z0-9]*$$/milky-way:${UNIVERSE_TAG}/" dockerfiles/* diff --git a/README.md b/README.md new file mode 100644 index 0000000000..50a2ce98bb --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +# Quickstart + +*Make sure to clone this repo into your `/Users/` directory for it to run correctly* + +```bash +make dns +make hub-deps +# you must log in as the 'dux' user. ask one of the frontend +# team members for credentials +npm login +npm install +docker-compose build +npm run build:dev +./startup-scripts/bootstrap-dev.sh +docker-compose up -d +``` + +At this point you will need `tmux` to run `boot-dev-tmux.sh`, it can +be installed on OSX by `brew install tmux` + +```bash +./startup-scripts/boot-dev-tmux.sh +``` + +## tmux env + +Here are some basic commands to help you get around tmux. `C` is +Control, `-` means hit both keys, everything else it a literal +character you need to produce. + +| Command | Keys | +|--------------|---------| +| Next Window | C-b n | +| Next Panel | C-b o | +| Close Window | C-b & y | + +# Docs + +* [React](docs/concepts/React.md) +* [Flux](docs/concepts/Flux.md) +* [React Native](docs/concepts/React-Native.md) +* [React Router](docs/concepts/React-Router.md) +* [Immutability](docs/concepts/Immutability.md) diff --git a/_webpack/_common.webpack.config b/_webpack/_common.webpack.config new file mode 100644 index 0000000000..bf58cb7d55 --- /dev/null +++ b/_webpack/_common.webpack.config @@ -0,0 +1,105 @@ +var ExtractTextPlugin = require("extract-text-webpack-plugin"); +var debug = require('debug')('webpack--common'); +var fs = require('fs'); +var merge = require('lodash/object/merge'); +var cssstats = require('postcss-cssstats'); +var loaders = require('./_commonLoaders'); + +/* Dux Button Config */ +var elementButton = require('@dux/element-button/defaults'); +var buttons = elementButton.mkButtons([{ + name: 'primary', + color: '#FFF', + bg: '#22B8EB' +},{ + name: 'secondary', + color: '#FFF', + bg: '#232C37' +},{ + name: 'coral', + color: '#FFF', + bg: '#FF85AF' +},{ + name: 'success', + color: '#FFF', + bg: '#0FD85A' +},{ + name: 'warning', + color: '#FFF', + bg: '#FF8546' +},{ + name: 'yellow', + color: '#FFF', + bg: '#FFDE50' +},{ + name: 'alert', + color: '#FFF', + bg: '#EB3E46' +}]); +/** + * cssnaneOpts can be true or an options object + * + * http://cssnano.co/options/ + */ +var cssnanoOpts = { + mergeIdents: false +}; +const defaults = merge(require('@dux/element-card/defaults')({ + capBackground: '#f1f6fb', + borderColor: '#c4cdda' + }), + { + duxElementButton: { + radius: '.25rem', + buttons: buttons + } + }); +module.exports = { + resolve: { + extensions: ['', '.js', '.jsx', '.json'], + root: [ + '/opt/hub/app/scripts/', + '/opt/hub/app/scripts/components' + ] + }, + module: { + preLoaders: loaders.preLoaders, + loaders: loaders.commonLoaders + }, + postcss: [ + require('postcss-import')(), + require('postcss-constants')({ + defaults: defaults + }), + require('postcss-each'), + require('postcss-cssnext')({ + browsers: 'last 2 versions', + features: { + // https://github.com/robwierzbowski/node-pixrem/issues/40 + rem: false + } + }), + require('postcss-nested'), + require('lost')({ + gutter: '1.25rem', + flexbox: 'flex' + }), + require('postcss-cssstats')(function(stats) { + /** + * this cssstats callback runs for every postcss file + * perhaps we want to write out this object and + * record the values over time? + * + * problem: there is no filename here + */ + debug(stats); + }), + require('postcss-url')(), + require('cssnano')(cssnanoOpts) + ], + eslint: { + failOnError: true + }, + bail: true, + profile: true +} diff --git a/_webpack/_commonLoaders.js b/_webpack/_commonLoaders.js new file mode 100644 index 0000000000..cd4a46ed51 --- /dev/null +++ b/_webpack/_commonLoaders.js @@ -0,0 +1,22 @@ +var ExtractTextPlugin = require("extract-text-webpack-plugin"); + +var babelcfg = 'babel?optional[]=runtime&stage=0'; + +var preLoaders = [ + { test: /\.jsx?$/, exclude: /node_modules/, loader: 'eslint'} +] + +var commonLoaders = [ + // This loader matches .js and .jsx files + { test: /\.json$/, loader: 'json' }, + { test: /\.jsx?$/, exclude: /node_modules/, loader: babelcfg}, + { test: /dux.*\.jsx?$/, loader: babelcfg}, + { test: /hub-js-sdk.*\.jsx?$/, exclude: /hub-js-sdk.*node_modules.*\.jsx?$/, loader: babelcfg }, + { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!postcss-loader') }, + { test: /\.svg$/, loader: 'svg-inline' } +] + +module.exports = { + preLoaders: preLoaders, + commonLoaders: commonLoaders +} diff --git a/_webpack/_envConfig.js b/_webpack/_envConfig.js new file mode 100644 index 0000000000..69b6ded1a3 --- /dev/null +++ b/_webpack/_envConfig.js @@ -0,0 +1,104 @@ +var webpack = require('webpack'); +var debug = require('debug')('_envConfig'); + +debug(process.env.ENV); + +function isProd() { + return process.env.ENV === 'production'; +} + +/** + * `development` is staging. + * `staging` is also staging. + * + * The keys in these objects are possible ENV configurations + * + * Pointing production to staging during Alpha + */ + +var HUB_URLS = { + local: 'https://hub.dev.docker.com', + development: 'https://hub-stage.docker.com', + staging: 'https://hub-stage.docker.com', + production: 'https://hub.docker.com' +} + +var RECURLY_PUBLIC_KEY = { + local: 'sjc-9XwqFDBZALFs9BP9dn3J8e', + development: 'sjc-9XwqFDBZALFs9BP9dn3J8e', + production: 'sjc-JIfmXVz2OVkg3xg10NhWm1' +} + +// NO LONGER USED +// var MUNCHKIN_CODE = { +// staging: '453-IHP-147', +// production: '929-FJL-178' +// } + +var BUGSNAG_API_KEY = { + staging: 'ec43d0373895ee5eb76ec75301157a85', + production: 'd639ea00dd6e493b739de27a7ee0f90c' +} + +var TUTUM_SIGNIN_URLS = { + development: 'https://dashboard-staging.tutum.co/login/docker/', + production: 'https://dashboard.tutum.co/login/docker/' +} + +var COOKIE_DOMAIN = { + local: 'hub.dev.docker.com', + development: 'bagels.docker.com', + staging: 'hub-stage.docker.com', + production: 'hub.docker.com' +}; + +// NODE_ENV is an express thing but is NOT being used by us +if (isProd() || process.env.ENV === 'staging') { + process.env.NODE_ENV = 'production' +} + +if ( !~['development', 'local', 'staging', 'production'].indexOf(process.env.ENV) ) { + process.env.ENV = 'development'; +} + +// Override some ENV vars +process.env.HUB_API_BASE_URL = process.env.HUB_API_BASE_URL || HUB_URLS[process.env.ENV] || 'https://hub-stage.docker.com'; +process.env.REGISTRY_API_BASE_URL = HUB_URLS[process.env.ENV] || 'https://hub-stage.docker.com'; +process.env.RECURLY_PUBLIC_KEY = RECURLY_PUBLIC_KEY[process.env.ENV] || 'sjc-9XwqFDBZALFs9BP9dn3J8e'; + + +process.env.CLIENT_JS_FILENAME = process.env.CLIENT_JS_FILENAME || 'client.js'; +process.env.CSS_FILENAME = process.env.CSS_FILENAME || 'style.css'; +process.env.COOKIE_DOMAIN = COOKIE_DOMAIN[process.env.ENV] || 'bagels.docker.com'; + +process.env.BOT_TRACKING_ID = 'PXbPb4C2uT'; + +if(isProd()) { + process.env.BUGSNAG_API_KEY = BUGSNAG_API_KEY.production; + process.env.GOOGLE_TAG_MANAGER = 'gtmActive'; + process.env.BOT_TRACKING_ID = 'PXPmP8ILuI'; +} else if(process.env.ENV === 'staging') { + process.env.BUGSNAG_API_KEY = BUGSNAG_API_KEY.staging; + process.env.GOOGLE_TAG_MANAGER = 'gtmDisabled'; +} + +process.env.TUTUM_SIGNIN_URL = TUTUM_SIGNIN_URLS[process.env.ENV] || 'https://dashboard-staging.tutum.co/login/docker/'; + +process.env.NAUTILUS_API_BASE_URL = HUB_URLS[process.env.ENV] + '/api/nautilus/v1'; + +debug(process.env); + +module.exports = new webpack.EnvironmentPlugin([ + 'BUGSNAG_API_KEY', + 'CLIENT_JS_FILENAME', + 'CSS_FILENAME', + 'ENV', + 'NODE_ENV', + 'GOOGLE_TAG_MANAGER', + 'BOT_TRACKING_ID', + 'HUB_API_BASE_URL', + 'NAUTILUS_API_BASE_URL', + 'RECURLY_PUBLIC_KEY', + 'REGISTRY_API_BASE_URL', + 'TUTUM_SIGNIN_URL' +]); diff --git a/_webpack/hashAndReplaceClient.js b/_webpack/hashAndReplaceClient.js new file mode 100644 index 0000000000..837e0b3a88 --- /dev/null +++ b/_webpack/hashAndReplaceClient.js @@ -0,0 +1,37 @@ +var fs = require('fs'); +var assert = require('assert'); +/** + * Writes the stats object out to /stats.json so we can fetch it from + * the appropriate container. + * + * This fails hard (throws an AssertionError) if the filename does + * not match the regex. This is good because we don't want it shipping + * to production if we can't reliably find the hash for client.js. + * + * The `CLIENT_JS_REGEX` should match `output.filename` in the webpack + * config below. + */ +module.exports = function() { + var CLIENT_JS_REGEX = /client..*.js$/; + this.plugin('done', function(stats) { + var filename = stats.toJson().assets[0].name; + + console.log(filename); + console.log(stats.toJson().assets[0]); + // write stats object + fs.writeFileSync( + '/tmp/dux-stats-client-js.json', + JSON.stringify(stats.toJson())); + + // test `filename` + assert.strictEqual(true, !!filename.match(CLIENT_JS_REGEX), filename + ' does not match expected client.js regex') + + /** + * Store the client.js hash in /tmp/.clientjs-hash for use + * in the server build process + */ + fs.writeFile('/tmp/.client-js-hash', filename, 'utf8', function(err) { + if (err) throw err; + }); + }); +} \ No newline at end of file diff --git a/_webpack/webpack.prod.config.js b/_webpack/webpack.prod.config.js new file mode 100644 index 0000000000..c377284c22 --- /dev/null +++ b/_webpack/webpack.prod.config.js @@ -0,0 +1,32 @@ +var ExtractTextPlugin = require("extract-text-webpack-plugin"); +var ENV_CONFIG = require('./_envConfig.js'); +var HASH_CLIENT = require('./hashAndReplaceClient'); +var _ = require('lodash'); +var commonConfig = require('./_common.webpack.config'); +var webpack = require('webpack'); +var debug = require('debug')('webpack--client'); + +var clientConfig = { + entry: '/opt/hub/app/scripts/client.js', + devtool: 'source-map', + output: { + path: '.build-prod/public/', + filename: 'js/client.[hash].js' + }, + plugins: [ + ENV_CONFIG, + new webpack.optimize.DedupePlugin(), + new webpack.optimize.UglifyJsPlugin({ + compress: { + warnings: false + } + }), + new ExtractTextPlugin('styles/[name]-[id]-[hash].css', { allChunks: true }), + HASH_CLIENT + ] +}; +var clientBundle = _.assign({}, commonConfig, clientConfig); + +module.exports = [ + clientBundle +]; diff --git a/_webpack/webpack.server.config.js b/_webpack/webpack.server.config.js new file mode 100644 index 0000000000..0214170503 --- /dev/null +++ b/_webpack/webpack.server.config.js @@ -0,0 +1,54 @@ +var assert = require('assert'); +var ExtractTextPlugin = require("extract-text-webpack-plugin"); +var ENV_CONFIG = require('./_envConfig.js'); +var _ = require('lodash'); +var commonConfig = require('./_common.webpack.config'); +var debug = require('debug')('webpack--server'); +var fs = require('fs'); + +process.env.CLIENT_JS_FILENAME = fs.readFileSync('/tmp/.client-js-hash', 'utf-8').split('js/')[1]; +var CSS_FILENAME = _.filter(fs.readdirSync('/opt/hub/.build-prod/public/styles/'), + function(str) { + return !/.*\.map$/.test(str); + }); + +assert.strictEqual(1, CSS_FILENAME.length, CSS_FILENAME); +process.env.CSS_FILENAME = CSS_FILENAME[0]; +fs.writeFileSync('/tmp/.client-js-hash', CSS_FILENAME); + +/** + * blacklist this array from being included in `externals`. + * + * This has the effect of making any modules in this list be + * resolved at build time instead of runtime. This affects the + * server bundle + */ +var blacklist = ['.bin', 'hub-js-sdk', 'dux']; +var node_modules = fs.readdirSync('node_modules').filter(function(x) { + return !_.includes(blacklist, x); +}); + +debug('modules that will be runtime require dependencies of the server: ', node_modules); + + +var serverConfig = { + entry: '/opt/hub/app/scripts/server.js', + output: { + path: '.build-prod/', + filename: 'server.js', + libraryTarget: 'commonjs2' + }, + plugins: [ + ENV_CONFIG, + new ExtractTextPlugin('/.ignore/whatever.css', { + allChunks: true + }) + ], + target: 'node', + externals: node_modules, + node: { + __dirname: '/opt/hub/' + } +}; + +module.exports = _.assign({}, commonConfig, serverConfig); diff --git a/app-server/Dockerfile b/app-server/Dockerfile new file mode 100644 index 0000000000..74d2fdc0a0 --- /dev/null +++ b/app-server/Dockerfile @@ -0,0 +1,11 @@ +FROM bagel/node-alpine:4.1.2 + +WORKDIR /opt/hub + +COPY ./package.json package.json +ADD ./modules.tar /opt/hub/ +COPY ./server.js /opt/hub/ +COPY ./public /opt/hub/public/ +COPY favicon.ico /opt/hub/favicon.ico + +CMD ["node", "--max-old-space-size=2048", "server.js"] diff --git a/app-server/favicons/fav copy.png b/app-server/favicons/fav copy.png new file mode 100644 index 0000000000000000000000000000000000000000..7b36ba7a6e040e62eca6128739c97b0ee47504cb GIT binary patch literal 16292 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 F{|z%Jq38er literal 0 HcmV?d00001 diff --git a/app-server/favicons/favicon-dev.ico b/app-server/favicons/favicon-dev.ico new file mode 100644 index 0000000000000000000000000000000000000000..f4766ac404679b5ea4cfa321f49a0bbfa5f2b8a5 GIT binary patch literal 16749 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 F{|z%Jq38er literal 0 HcmV?d00001 diff --git a/app-server/package.json b/app-server/package.json new file mode 100644 index 0000000000..2049a85b85 --- /dev/null +++ b/app-server/package.json @@ -0,0 +1,52 @@ +{ + "name": "docker-hub", + "version": "0.0.1", + "private": true, + "scripts": { + "test": "gulp test", + "start": "node --harmony server/server.js" + }, + "dependencies": { + "@dux/element-card": "0.0.4", + "@dux/element-markdown": "0.0.3", + "@dux/element-button": "0.0.3", + "MD5": "^1.2.1", + "async": "^1.3.0", + "babel": "^5.0.12", + "babel-runtime": "^5.6.18", + "body-parser": "^1.12.2", + "classnames": "^2.1.2", + "cookie": "^0.1.2", + "cookie-parser": "^1.3.4", + "csurf": "^1.8.0", + "debug": "^2.1.3", + "dux": "file:../docker-ux", + "express": "^4.12.3", + "express-state": "^1.2.0", + "flux-router-component": "^0.6.1", + "fluxible": "^0.4.3", + "fluxible-plugin-fetchr": "^0.2.3", + "fluxible-plugin-routr": "^0.3.0", + "highlight.js": "^8.5.0", + "hub-js-sdk": "file:../hub-js-sdk", + "keymirror": "^0.1.1", + "lodash": "^3.6.0", + "marked": "^0.3.3", + "moment": "^2.10.3", + "newrelic": "christopherbiscardi/node-newrelic#c4ccca3764acafaf9c5899e4a1abece828e1f7b8", + "node-jsx": "^0.12.4", + "numeral": "^1.5.3", + "react": "^0.13.1", + "react-router": "^0.13.2", + "react-select": "^0.6.12", + "react-tagsinput": "^1.0.0", + "recurly-js": "git://github.com/recurly/recurly-js#d9740eb3ee416fb999635daecfb524a492dbb058", + "remarkable": "^1.6.0", + "serialize-javascript": "^1.0.0", + "serve-favicon": "^2.2.0", + "superagent": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } +} diff --git a/app/.htaccess b/app/.htaccess new file mode 100644 index 0000000000..ca346584ca --- /dev/null +++ b/app/.htaccess @@ -0,0 +1,663 @@ +# Apache Server Configs v2.2.0 | MIT License +# https://github.com/h5bp/server-configs-apache + +# (!) Using `.htaccess` files slows down Apache, therefore, if you have access +# to the main server config file (usually called `httpd.conf`), you should add +# this logic there: http://httpd.apache.org/docs/current/howto/htaccess.html. + +# ############################################################################## +# # CROSS-ORIGIN RESOURCE SHARING (CORS) # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Cross-domain AJAX requests | +# ------------------------------------------------------------------------------ + +# Allow cross-origin AJAX requests. +# http://code.google.com/p/html5security/wiki/CrossOriginRequestSecurity +# http://enable-cors.org/ + +# +# Header set Access-Control-Allow-Origin "*" +# + +# ------------------------------------------------------------------------------ +# | CORS-enabled images | +# ------------------------------------------------------------------------------ + +# Send the CORS header for images when browsers request it. +# https://developer.mozilla.org/en-US/docs/HTML/CORS_Enabled_Image +# http://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html +# http://hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/ + + + + + SetEnvIf Origin ":" IS_CORS + Header set Access-Control-Allow-Origin "*" env=IS_CORS + + + + +# ------------------------------------------------------------------------------ +# | Web fonts access | +# ------------------------------------------------------------------------------ + +# Allow access to web fonts from all domains. + + + + Header set Access-Control-Allow-Origin "*" + + + + +# ############################################################################## +# # ERRORS # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | 404 error prevention for non-existing redirected folders | +# ------------------------------------------------------------------------------ + +# Prevent Apache from returning a 404 error as the result of a rewrite +# when the directory with the same name does not exist. +# http://httpd.apache.org/docs/current/content-negotiation.html#multiviews +# http://www.webmasterworld.com/apache/3808792.htm + +Options -MultiViews + +# ------------------------------------------------------------------------------ +# | Custom error messages / pages | +# ------------------------------------------------------------------------------ + +# Customize what Apache returns to the client in case of an error. +# http://httpd.apache.org/docs/current/mod/core.html#errordocument + +ErrorDocument 404 /404.html + + +# ############################################################################## +# # INTERNET EXPLORER # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Better website experience | +# ------------------------------------------------------------------------------ + +# Force Internet Explorer to render pages in the highest available mode +# in the various cases when it may not. +# http://hsivonen.iki.fi/doctype/ie-mode.pdf + + + Header set X-UA-Compatible "IE=edge" + # `mod_headers` cannot match based on the content-type, however, this + # header should be send only for HTML pages and not for the other resources + + Header unset X-UA-Compatible + + + +# ------------------------------------------------------------------------------ +# | Cookie setting from iframes | +# ------------------------------------------------------------------------------ + +# Allow cookies to be set from iframes in Internet Explorer. +# http://msdn.microsoft.com/en-us/library/ms537343.aspx +# http://www.w3.org/TR/2000/CR-P3P-20001215/ + +# +# Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"" +# + + +# ############################################################################## +# # MIME TYPES AND ENCODING # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Proper MIME types for all files | +# ------------------------------------------------------------------------------ + + + + # Audio + AddType audio/mp4 m4a f4a f4b + AddType audio/ogg oga ogg opus + + # Data interchange + AddType application/json json map + AddType application/ld+json jsonld + + # JavaScript + # Normalize to standard type. + # http://tools.ietf.org/html/rfc4329#section-7.2 + AddType application/javascript js + + # Video + AddType video/mp4 f4v f4p m4v mp4 + AddType video/ogg ogv + AddType video/webm webm + AddType video/x-flv flv + + # Web fonts + AddType application/font-woff woff + AddType application/vnd.ms-fontobject eot + + # Browsers usually ignore the font MIME types and simply sniff the bytes + # to figure out the font type. + # http://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern + + # Chrome however, shows a warning if any other MIME types are used for + # the following fonts. + + AddType application/x-font-ttf ttc ttf + AddType font/opentype otf + + # Make SVGZ fonts work on the iPad. + # https://twitter.com/FontSquirrel/status/14855840545 + AddType image/svg+xml svgz + AddEncoding gzip svgz + + # Other + AddType application/octet-stream safariextz + AddType application/x-chrome-extension crx + AddType application/x-opera-extension oex + AddType application/x-web-app-manifest+json webapp + AddType application/x-xpinstall xpi + AddType application/xml atom rdf rss xml + AddType image/webp webp + AddType image/x-icon cur + AddType text/cache-manifest appcache manifest + AddType text/vtt vtt + AddType text/x-component htc + AddType text/x-vcard vcf + + + +# ------------------------------------------------------------------------------ +# | UTF-8 encoding | +# ------------------------------------------------------------------------------ + +# Use UTF-8 encoding for anything served as `text/html` or `text/plain`. +AddDefaultCharset utf-8 + +# Force UTF-8 for certain file formats. + + AddCharset utf-8 .atom .css .js .json .jsonld .rss .vtt .webapp .xml + + + +# ############################################################################## +# # URL REWRITES # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Rewrite engine | +# ------------------------------------------------------------------------------ + +# Turn on the rewrite engine and enable the `FollowSymLinks` option (this is +# necessary in order for the following directives to work). + +# If your web host doesn't allow the `FollowSymlinks` option, you may need to +# comment it out and use `Options +SymLinksIfOwnerMatch`, but be aware of the +# performance impact. +# http://httpd.apache.org/docs/current/misc/perf-tuning.html#symlinks + +# Also, some cloud hosting services require `RewriteBase` to be set. +# http://www.rackspace.com/knowledge_center/frequently-asked-question/why-is-mod-rewrite-not-working-on-my-site + + + Options +FollowSymlinks + # Options +SymLinksIfOwnerMatch + RewriteEngine On + # RewriteBase / + + +# ------------------------------------------------------------------------------ +# | Suppressing / Forcing the `www.` at the beginning of URLs | +# ------------------------------------------------------------------------------ + +# The same content should never be available under two different URLs, +# especially not with and without `www.` at the beginning. This can cause +# SEO problems (duplicate content), and therefore, you should choose one +# of the alternatives and redirect the other one. + +# By default `Option 1` (no `www.`) is activated. +# http://no-www.org/faq.php?q=class_b + +# If you would prefer to use `Option 2`, just comment out all the lines +# from `Option 1` and uncomment the ones from `Option 2`. + +# IMPORTANT: NEVER USE BOTH RULES AT THE SAME TIME! + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Option 1: rewrite www.example.com → example.com + + + RewriteCond %{HTTPS} !=on + RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] + RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L] + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Option 2: rewrite example.com → www.example.com + +# Be aware that the following might not be a good idea if you use "real" +# subdomains for certain parts of your website. + +# +# RewriteCond %{HTTPS} !=on +# RewriteCond %{HTTP_HOST} !^www\. [NC] +# RewriteCond %{SERVER_ADDR} !=127.0.0.1 +# RewriteCond %{SERVER_ADDR} !=::1 +# RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] +# + + +# ############################################################################## +# # SECURITY # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Clickjacking | +# ------------------------------------------------------------------------------ + +# Protect website against clickjacking. + +# The example below sends the `X-Frame-Options` response header with the value +# `DENY`, informing browsers not to display the web page content in any frame. + +# This might not be the best setting for everyone. You should read about the +# other two possible values for `X-Frame-Options`: `SAMEORIGIN` & `ALLOW-FROM`. +# http://tools.ietf.org/html/rfc7034#section-2.1 + +# Keep in mind that while you could send the `X-Frame-Options` header for all +# of your site’s pages, this has the potential downside that it forbids even +# non-malicious framing of your content (e.g.: when users visit your site using +# a Google Image Search results page). + +# Nonetheless, you should ensure that you send the `X-Frame-Options` header for +# all pages that allow a user to make a state changing operation (e.g: pages +# that contain one-click purchase links, checkout or bank-transfer confirmation +# pages, pages that make permanent configuration changes, etc.). + +# Sending the `X-Frame-Options` header can also protect your website against +# more than just clickjacking attacks: https://cure53.de/xfo-clickjacking.pdf. + +# http://tools.ietf.org/html/rfc7034 +# http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx +# https://www.owasp.org/index.php/Clickjacking + +# +# Header set X-Frame-Options "DENY" +# +# Header unset X-Frame-Options +# +# + +# ------------------------------------------------------------------------------ +# | Content Security Policy (CSP) | +# ------------------------------------------------------------------------------ + +# Mitigate the risk of cross-site scripting and other content-injection attacks. + +# This can be done by setting a `Content Security Policy` which whitelists +# trusted sources of content for your website. + +# The example header below allows ONLY scripts that are loaded from the current +# site's origin (no inline scripts, no CDN, etc). This almost certainly won't +# work as-is for your site! + +# For more details on how to craft a reasonable policy for your site, read: +# http://html5rocks.com/en/tutorials/security/content-security-policy (or the +# specification: http://w3.org/TR/CSP). Also, to make things easier, you can +# use an online CSP header generator such as: http://cspisawesome.com/. + +# +# Header set Content-Security-Policy "script-src 'self'; object-src 'self'" +# +# Header unset Content-Security-Policy +# +# + +# ------------------------------------------------------------------------------ +# | File access | +# ------------------------------------------------------------------------------ + +# Block access to directories without a default document. +# You should leave the following uncommented, as you shouldn't allow anyone to +# surf through every directory on your server (which may includes rather private +# places such as the CMS's directories). + + + Options -Indexes + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Block access to hidden files and directories. +# This includes directories used by version control systems such as Git and SVN. + + + RewriteCond %{SCRIPT_FILENAME} -d [OR] + RewriteCond %{SCRIPT_FILENAME} -f + RewriteRule "(^|/)\." - [F] + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Block access to files that can expose sensitive information. + +# By default, block access to backup and source files that may be left by some +# text editors and can pose a security risk when anyone has access to them. +# http://feross.org/cmsploit/ + +# IMPORTANT: Update the `` regular expression from below to include +# any files that might end up on your production server and can expose sensitive +# information about your website. These files may include: configuration files, +# files that contain metadata about the project (e.g.: project dependencies), +# build scripts, etc.. + + + + # Apache < 2.3 + + Order allow,deny + Deny from all + Satisfy All + + + # Apache ≥ 2.3 + + Require all denied + + + + +# ------------------------------------------------------------------------------ +# | Reducing MIME-type security risks | +# ------------------------------------------------------------------------------ + +# Prevent some browsers from MIME-sniffing the response. + +# This reduces exposure to drive-by download attacks and should be enable +# especially if the web server is serving user uploaded content, content +# that could potentially be treated by the browser as executable. + +# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx +# http://msdn.microsoft.com/en-us/library/ie/gg622941.aspx +# http://mimesniff.spec.whatwg.org/ + +# +# Header set X-Content-Type-Options "nosniff" +# + +# ------------------------------------------------------------------------------ +# | Reflected Cross-Site Scripting (XSS) attacks | +# ------------------------------------------------------------------------------ + +# (1) Try to re-enable the Cross-Site Scripting (XSS) filter built into the +# most recent web browsers. +# +# The filter is usually enabled by default, but in some cases it may be +# disabled by the user. However, in Internet Explorer for example, it can +# be re-enabled just by sending the `X-XSS-Protection` header with the +# value of `1`. +# +# (2) Prevent web browsers from rendering the web page if a potential reflected +# (a.k.a non-persistent) XSS attack is detected by the filter. +# +# By default, if the filter is enabled and browsers detect a reflected +# XSS attack, they will attempt to block the attack by making the smallest +# possible modifications to the returned web page. +# +# Unfortunately, in some browsers (e.g.: Internet Explorer), this default +# behavior may allow the XSS filter to be exploited, thereby, it's better +# to tell browsers to prevent the rendering of the page altogether, instead +# of attempting to modify it. +# +# http://hackademix.net/2009/11/21/ies-xss-filter-creates-xss-vulnerabilities +# +# IMPORTANT: Do not rely on the XSS filter to prevent XSS attacks! Ensure that +# you are taking all possible measures to prevent XSS attacks, the most obvious +# being: validating and sanitizing your site's inputs. +# +# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx +# http://blogs.msdn.com/b/ieinternals/archive/2011/01/31/controlling-the-internet-explorer-xss-filter-with-the-x-xss-protection-http-header.aspx +# https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29 + +# +# # (1) (2) +# Header set X-XSS-Protection "1; mode=block" +# +# Header unset X-XSS-Protection +# +# + +# ------------------------------------------------------------------------------ +# | Secure Sockets Layer (SSL) | +# ------------------------------------------------------------------------------ + +# Rewrite secure requests properly in order to prevent SSL certificate warnings. +# E.g.: prevent `https://www.example.com` when your certificate only allows +# `https://secure.example.com`. + +# +# RewriteCond %{SERVER_PORT} !^443 +# RewriteRule ^ https://example-domain-please-change-me.com%{REQUEST_URI} [R=301,L] +# + +# ------------------------------------------------------------------------------ +# | HTTP Strict Transport Security (HSTS) | +# ------------------------------------------------------------------------------ + +# Force client-side SSL redirection. + +# If a user types `example.com` in his browser, the above rule will redirect +# him to the secure version of the site. That still leaves a window of +# opportunity (the initial HTTP connection) for an attacker to downgrade or +# redirect the request. + +# The following header ensures that browser will ONLY connect to your server +# via HTTPS, regardless of what the users type in the address bar. + +# http://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-14#section-6.1 +# http://www.html5rocks.com/en/tutorials/security/transport-layer-security/ + +# IMPORTANT: Remove the `includeSubDomains` optional directive if the subdomains +# are not using HTTPS. + +# +# Header set Strict-Transport-Security "max-age=16070400; includeSubDomains" +# + +# ------------------------------------------------------------------------------ +# | Server software information | +# ------------------------------------------------------------------------------ + +# Avoid displaying the exact Apache version number, the description of the +# generic OS-type and the information about Apache's compiled-in modules. + +# ADD THIS DIRECTIVE IN THE `httpd.conf` AS IT WILL NOT WORK IN THE `.htaccess`! + +# ServerTokens Prod + + +# ############################################################################## +# # WEB PERFORMANCE # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Compression | +# ------------------------------------------------------------------------------ + + + + # Force compression for mangled headers. + # http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping + + + SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding + RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding + + + + # Compress all output labeled with one of the following MIME-types + # (for Apache versions below 2.3.7, you don't need to enable `mod_filter` + # and can remove the `` and `` lines + # as `AddOutputFilterByType` is still in the core directives). + + AddOutputFilterByType DEFLATE application/atom+xml \ + application/javascript \ + application/json \ + application/ld+json \ + application/rss+xml \ + application/vnd.ms-fontobject \ + application/x-font-ttf \ + application/x-web-app-manifest+json \ + application/xhtml+xml \ + application/xml \ + font/opentype \ + image/svg+xml \ + image/x-icon \ + text/css \ + text/html \ + text/plain \ + text/x-component \ + text/xml + + + + +# ------------------------------------------------------------------------------ +# | Content transformations | +# ------------------------------------------------------------------------------ + +# Prevent mobile network providers from modifying the website's content. +# http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.5. + +# +# Header set Cache-Control "no-transform" +# + +# ------------------------------------------------------------------------------ +# | ETags | +# ------------------------------------------------------------------------------ + +# Remove `ETags` as resources are sent with far-future expires headers. +# http://developer.yahoo.com/performance/rules.html#etags. + +# `FileETag None` doesn't work in all cases. + + Header unset ETag + + +FileETag None + +# ------------------------------------------------------------------------------ +# | Expires headers | +# ------------------------------------------------------------------------------ + +# The following expires headers are set pretty far in the future. If you +# don't control versioning with filename-based cache busting, consider +# lowering the cache time for resources such as style sheets and JavaScript +# files to something like one week. + + + + ExpiresActive on + ExpiresDefault "access plus 1 month" + + # CSS + ExpiresByType text/css "access plus 1 year" + + # Data interchange + ExpiresByType application/json "access plus 0 seconds" + ExpiresByType application/ld+json "access plus 0 seconds" + ExpiresByType application/xml "access plus 0 seconds" + ExpiresByType text/xml "access plus 0 seconds" + + # Favicon (cannot be renamed!) and cursor images + ExpiresByType image/x-icon "access plus 1 week" + + # HTML components (HTCs) + ExpiresByType text/x-component "access plus 1 month" + + # HTML + ExpiresByType text/html "access plus 0 seconds" + + # JavaScript + ExpiresByType application/javascript "access plus 1 year" + + # Manifest files + ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" + ExpiresByType text/cache-manifest "access plus 0 seconds" + + # Media + ExpiresByType audio/ogg "access plus 1 month" + ExpiresByType image/gif "access plus 1 month" + ExpiresByType image/jpeg "access plus 1 month" + ExpiresByType image/png "access plus 1 month" + ExpiresByType video/mp4 "access plus 1 month" + ExpiresByType video/ogg "access plus 1 month" + ExpiresByType video/webm "access plus 1 month" + + # Web feeds + ExpiresByType application/atom+xml "access plus 1 hour" + ExpiresByType application/rss+xml "access plus 1 hour" + + # Web fonts + ExpiresByType application/font-woff "access plus 1 month" + ExpiresByType application/vnd.ms-fontobject "access plus 1 month" + ExpiresByType application/x-font-ttf "access plus 1 month" + ExpiresByType font/opentype "access plus 1 month" + ExpiresByType image/svg+xml "access plus 1 month" + + + +# ------------------------------------------------------------------------------ +# | Filename-based cache busting | +# ------------------------------------------------------------------------------ + +# If you're not using a build process to manage your filename version revving, +# you might want to consider enabling the following directives to route all +# requests such as `/css/style.12345.css` to `/css/style.css`. + +# To understand why this is important and a better idea than `*.css?v231`, read: +# http://stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring + +# +# RewriteCond %{REQUEST_FILENAME} !-f +# RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpe?g|gif)$ $1.$3 [L] +# + +# ------------------------------------------------------------------------------ +# | File concatenation | +# ------------------------------------------------------------------------------ + +# Allow concatenation from within specific style sheets and JavaScript files. + +# e.g.: +# +# If you have the following content in a file +# +# +# +# +# Apache will replace it with the content from the specified files. + +# +# +# Options +Includes +# AddOutputFilterByType INCLUDES application/javascript application/json +# SetOutputFilter INCLUDES +# +# +# Options +Includes +# AddOutputFilterByType INCLUDES text/css +# SetOutputFilter INCLUDES +# +# diff --git a/app/favicon.ico b/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ee01a5ee8a9ea542f17123ed9c587510a2e26aef GIT binary patch literal 1475 zcmV;!1w8tRP)+(fofHYbct z7*K_dWFwmr35jN}Fd7pRjiT8b<4YG~_HK!0x)@EIj7*}LWu##SsR%e!jR>VYCg?1bo3s&Wq=Fp7Z;D&i6dO=Q)oO5$YSi5ceL*k{DJLkk$3kJZT{rY7j31U11z*grKSiAPVO#SF|u>ah6@nZo* znTD^7uUP$^M8L03ldH=i=`1QNGc`F*ICULuG|ln+1|;`C`=jEjri~lctbC@g|HP$_ zj?Y;I)}+EjX{>WtZLr$lY=YAo=LcY8M8J6|H&>1gO-+qaN7s(2ZQoio)wT6!yOi?h zbzuGGXF9dmywX;@Tzk7Xhtmde4kdzk0V=X!6P%wyDTRqD3pQ@qvJ!l(qkOP;-{8L! z78bPFTyt}r&JlKP+I;58zV$y;>Muo*pNLd$0VuXDeyP~;>21zh(&duM8y}ZSV{A;R zR3xz$6PC$pL#8f=PGYL9_ia75JvK>4YqgJ?qm56&%Auo7T6%8qx!s#)Ac%PXjIw{&`Lv)Au$G*L?lWfnJflDdp=P^ zlS)z`5_l{pFGM=jERQC%@F06h26GQ8Fd~&kzz?Z$S)Z}g7 zzTM*#7IPmD3)rAQ?a!SxZEhE85-A2|4fgT1|fRF6Hk^V`?%|LiwY>8$w3 z!YGri6TnL%w4XwZhl(Q-XK}_uJBtTMkU}|!3o9gk3I+JpQm93Z2%-tn4YF`)<3w90 zm%}Q{_P=@}J302IUoHKkb@*i8?~e`)19)PBO&3>gTDqX6Ku&vzOKRJJ0&YAj)UGXx z7-ro0PaGgoI)&C9|B6mWRYodhnlB8{e)j0@zPI0c>((kza>Rs{o}^kve1GQoQL_}) zZ8oJ)z+@D1rCLTQ#lpeA9r*fzKkc9Gb}uz~^+@LYX~ruNrF6hY+@p9X_BfGyOVrKWNI5X3W-lNpG6vQJRZh7& zu7q}WZ&WQRQH)fpU>z8r=FzhhPQUYFUvKZxxeU{9oH#Moa&_o8>9B+g6C4_+J)F`= z9MkMV9vT^-T_*?%rEch2qm+WgBGYB0TmdKG1vE}wrt{Rnm;btN&rjzP2T&rymUZje zFD-lQkk|34&IG~p42`~~BV*{Nke6%{6Vn7+OcqvUKp! zkH5R;weQbm{Y?M>PdwHA_~)M9`et{}=2p)bQmGWp`38PBJjILs!zis#2v}DWwzjrf zsJ$zUArns1cH!?Mi!UDE{pWpeyf&ZkEdT(^*KB-rL(dmpdFu1sj}{geYI`J(R|dxT z<$Gf@Gt^AipcEQMU8P9V=(+Kh(KEkpzxeJ;e>n8+h1(Io1)!E+WjB6t=L-)$vg)fH zot+OaDir*DLzcHcDDkV)S1E=uei9Oti)6~zuho~Xp3F~N-nVFEaPQv3htJ=x@SFfQ zfcTw{tX|%}Wa-1Xy6mRFsCC82R;Qz6zi*@Cb=A^PS dzXxy+;Gc5Vg6*aX&Q$;a002ovPDHLkV1knE)4Biv literal 0 HcmV?d00001 diff --git a/app/fonts/FontAwesome.otf b/app/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..681bdd4d4c8dddbaeb4d4f2a1f58c38cad92afe0 GIT binary patch literal 106260 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�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 literal 0 HcmV?d00001 diff --git a/app/fonts/fontawesome-webfont.eot b/app/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..a30335d748c65c0bab5880b4e6dba53f5c79206c GIT binary patch literal 68875 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

7r8$?kb-D3z%-c} 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 F002TuuHFCu literal 0 HcmV?d00001 diff --git a/app/fonts/fontawesome-webfont.svg b/app/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000000..6fd19abcb9 --- /dev/null +++ b/app/fonts/fontawesome-webfont.svg @@ -0,0 +1,640 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/fonts/fontawesome-webfont.ttf b/app/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d7994e13086b1ac1a216bd754c93e1bccd65f237 GIT binary patch literal 138204 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 literal 0 HcmV?d00001 diff --git a/app/fonts/fontawesome-webfont.woff b/app/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..6fd4ede0f30f170eecb4156beb7235bf01fff00b GIT binary patch literal 81284 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äY>7uxS6S37IVP_>DW-kg%dn+sFHLnFhvXTU%&ox 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 ZUtABnb?tu62nVk>KX+wfW(Hek zvyp+(?)D*}+YmVX&(<`Z!i+@NrNIkT9jIaB0KojcX7>O8|Nq%XMaE3R(ryC)Kvh-$ zU)TtXtU;}Nq=b9uDJj@AW62eX%`$1Hntbp{o=%*VFKp~;#HbSWI^EoF@Q}N5qQgP! zXe3uW@<7Kk8y+0!#-n5DD^^Z)ywHbqdfzz6!f3GQI>kDq%MF`XHqXMmk(Fg9TU6mJ z5M(qrZjoUQHivF(b8Wk0(6O0pX^++qmrIy;kEUaaX2bR~0w&v*wz3D>u*oLFhHYMk z-h+bnPojwtd+Pcva?Kg$=$o?syro@!Lu(dOP4U%LW=Old_&$q9xu3I&{GCVKrQk^4IQ4Tt)tA5Wvg*01hHrVb#Mm_>WXRGR z`?Q33zOE|X`%F|-caNkR-DFfQz|-!WSGoy06FETJ>?j)q2?0eyOca%{Fo;x8K(Kpe zfjxC|MlW=8n{F;#yLMf_?N{#it6%^3;$6@)y-(Q#iE7)eqauutrbx~vq5pnA-JH2W z&=!ieLg8~8Fs9a%(Lb(-HLavOmXgCbgA^D7D5-{%jCaS&+2yqLG5p-|0rLPrSS7{I zK^$C!%Qymtr@8%GQrp;I)QBCUMu@~l)Q(X#Xc5@aqe4pIPEeVGl72)HhLxxo2+A4t zzlC5VGYg~s{~P*OXU!~EXYTsUdnyK}$f~v>8`A>m{gr^zj8huR>CuTm0ZTlAHgzZOuaN*4oL6!laS-dWDyakH zs#JCF_4=&#_eKsl2@}V##?&zb+h&a8n3w8QjP`w1^QMu*7T+*WRC!&AFn^4|9O z&w^?irPg>e>A^Y10q8(C&<%70oev2*|7TNMSw7MxEI2NMT}Hve&-MVQDpNhKlVXF|8J0=f+Lyon_s*X;b!*R=x%!LBDS{B9Ok8&dYw&Kw zc5w|oBU6n%veZl%Yj`8|*~#K-=>~)l8JrjL$N>Pi`7c$gD?kx8 zvm75Do_$Yg$5|gCfSKnCuySH(Y?`Wdexg^xOLy=&8d%l+{9~huiig{pHWfz!sFaif>vSC_%Q#!SdK8sA=~xto)AG=_bawA2T}60= zF*|eArIaQV!SZ}8#zk3B2n+P?e{Y$qzlAx8+LsGuH(Q#4q}SzkoQq{0>Ka98g{r8o zAFush2DVupQrUGRtz!#8LpAaC9-kXzP6t-|o~=5ih!FUK4-&|^L~V@B97roNBIj~! zN%B9)Y5ZT5-u0%|Of@Pb1l6_BZLIhH_=#=(|6<8j?asmA5@hjbO-Ft%ZLg%CY?=ah6y*p#&C14+Q97E~OU2J0)`#BGSJdHGkq!Sv? zjEBs>e_EvZ6&-W!7{opt#MRFIn%#nO?AoWMY0?4*Jt#GPE>hGFyJvCcN@{(-88l9CiBokU_O zEoWapTlnwa=k}S+lbM4~rI1NP0v?B8m=GqI31R|d8oH(`vLp&T#}NFj-&?=4erx^4 z`nB~dc&+@O_}#SeB>q$PiJB_+DE0Y&(m%b3f^Q#P$0Y55`)Oh6kW#F#N>2dTABoLy zej|Kxp-WLO*uP4i2gQWBl3_`{cH4r%pg0siUJQzDWl|N>kyk7^O)0hTVo>b!F5)D6 zX%jA+G*-5*9T5SX#+m8{tTGpaPj&}-UA$i1&EvH1uc0-gW$nD zaFoO?(kSV@TOhYv(Ed~nBD8KK1OfCsF=FkR9ngcv#6 zg`r}sL>#FtyPVe8bHNbs6lC?XOY>?@A?+c-(^F(+jgl;&etH9WVu{I++aI{9u-XbV zk<&s(N|)py# z{=Ok$Z>Ls8g-Eu~?5ds!_A?G5hx1vp6t1%NskL=Fn<<4qaUnN5eot4u0|pfFl56Hi z&K;jOUwy>^Ryk$`DAN%Ji>nlGb@Xayx41i8)q=W4^=c?63NMhARDvxTL3Ve&NFkyl zOeWLWb~SrPJdOpKiJ~oc4xa%UKFpA12Q*`msC_;^UwHI)liQYgtFYyGOcWCBVGbrH z1-H*ye{=nMyU9m;e0-1(1{)QLgUpsywV~7{D~_*e_?fw?_77eHYH%O>#hVsd6LH-z zL%W?&%4^H`TZ8`FeC8{d_pH{P}i3orrTQwhMW9E#f)3&KJKQN(TI1U06-J~Hb zX5Ww*42*{O`P$uY@EHWI8u8JSXLz#~>=k`UP^b%!QX6f5Owt_vIsi=SE8C*ooW8f0 zIzrHNtHXX>H~C$XUoqb&ZL}+n#D3x1JnDtYJUoiP0AoOy0ghym zDP+wYZ)K6~iuIx@GB+%kA+$+2zt18%Ae43$h9f@30#T}K<6#*D2fXwTQ;~inVz50z zJ^tBz=E?rJ6gg$p5a9V9w`C!SWF7GHuHk}~aK+XD*QAykGzFCIXw+yCP>(!foiA@@ zgx=@9h^WL@hu6iC1wxMNVdBTI23mK=^(bGFd?dIPSJWZfY{dN}vp8-YaxEzI17mrl z^~vM(171E*5{vEmD7N_svoR!FUSt%mi8<*z6RG^adK34LSt*iAZj61?AsPGJvJ;#S ztBX6~-*Jd(tEaD~}_t-Ej8QnL8dK{j!2J$GWwb__8#a=gxR)E%P zj4~;;K}bX#>1&Myzdy++x>|A7Xwi;_p6h-d5C@|g6=oyLO=QS0j)aLS3hLjY&?(N5 zDpiEUR;nmpYST?i)n(0_hqUUUb3L(XspX1@xngi!-9&4*UmsRQ7o99-vQDhKVi8kW zF@+(klDt@UdA8gPsI0{a1@HX zM+M}sZ4&}%jkZNLOpQp|!2}_z(MS)vOI@u8TISnCtjmIH#!4nfqFr4vxdFmpEQi^^ zj3X7%GzQ14li|SS#x-fWiCAfx6)`JG5JZ70{lFITn=OU<{h8D%%3i;$(-?7Q=2Gf% z36Z75SfZ-1--e`beW%-7-9mMTp>*b&*I#}_0@fm>(C#ur#xnEF(tWheu~Q&W zc+RQnbi$c~&p4tW=tL|LXk%inF!jte)2vdd9@<#WTls)!T>w|>ppMoq$P@U#H9hT(tvD5l?_1rgVyTa4yJJI+6Yw2FtU=Qb&fDh z?YnLh1iM^S>+w32u9Md_HgS7nf3Zl5YBIlm``~a%vTbT;z19<8y@u`Da0o|{)?#?B z^%?Ila`!AYp8<)5pTlZ(9ll!h$}gJPvGJ8b9t3z#n~Kz7!f3Q>XtQJ%CX=MQ+@K&g zU`~qCwWVgWJP%IUMwj;4Iw-5i-Fbkh;83-7>CM5cb+ndcD%n|; z52ZR;59GUJ`AqxvH8=4&jaYkYvJBh%f$^tGLZ)46?<{GDY{va|pd9 zW(~_FJojQou#Dqb%8-ypiZfrkmbN8Zra8at{hY0{+0AX;x24P21clE5ks{=Lw|39UH^_0&&WyiG+FCWIj}hu5Ep- z+T^Usw9*&DecV(lkDc*~x3;mq@f@zYqcBtz5K~!#)V&DzZO-|LiXhba{qN&^+7;d% zUF`Bi8QVvy8Ahq)U#Y!}86=c)zUak>NzKDoo!eY-qkE_4&&x@j8}Y^k4P=i94|=4p zS76(BG`>~%o~63YX9GMDWFl2iNl6Sw~3zEEKK0uT@il>87A<6sD>|5q@Jxmi#B}Q%hM6 zQ+d1q^)SF%#;95Ir2@*E*?tCAD@HswJi2=I9ES{vDb(+ZgtwOjJtJGaw!>GRO{KWn z#2)ZI6-#KJCXuymv{pSSfZ}U-%5kNqvAdJ0(}%saV>EDIbA@J~O*m{8oGzIcFsE^q z#pa;zk@Ct{32Q8js}SY6x#958>}&~^KZv3+Ba|_^^o7{*^fc*{PA@;RMJ^ZisoOi! zu5?~+-4_&;%18_#IGtF>UfDKvL$@A{Ol0y|JFuF@70rN1Ls=7Gc(RN*cw=GYV4E=Z zbcsOhtlvO<;N*QC*-{_CiqCIW@NFfUS?Th>cR$3J2gP^HItkVD)-J^m^Q>N#Wm?RZ zE$$xmtVdSHW} zdIOa&y@NT!gWkvp$}VdzrOtc879s&8+Nx$IVFok zatt|u&X(ntC&X`y`?I95)!<;D1J=$T{L+g{>>mApnVa78Mpy%iV{H`;=8Bv;Q*&pd)hSMvz1VV`N9p^6ri>D?yehdiP-xbHvclBJ} zvkpc_s7$*HF_IXkql?((qLMo`#C3ojW+=C^Y;V3!I1KM-rjtvOV%Qy?zgj|u@PfU) zc?UyI@IXKd_l}vP!Vi8hHWx05spb_sR8vkHy~AfMc30N{0{;fg+8ucy(0{-QLF14F z-iMjh7{pbE8tcP2Mvyy%r2Jbr4sTub*3e>Jstyb&4#wItH!jax_s$ zI@C zE33P#VX-aXZvg72IV+52)}GDVP{zcEf!2Xd+HCf}&7)Jnl`QFf@cX9p7)AgFjzlDL z9uP}yg@)BObVuwY4Sqk?{S<;%iVCg0a5mFCwlf)|{q-X*PE%Z*H4u}{!O+l{BZ!dh z$iM*E0I~FZR9tTy;4nj}jPvJlB*LAJ2scHG|4<_3b`=B7NkHP(kWx194gJ0r z9q73{k2e^i-sulXMlX9JET5IGy+javq}K#2y42dnOLJHk!iGN25J#7l=T`sfd($ALWRZnag1x;lDR_#)q%!7*VRkT>#Gbq>_2@zux(OEX zA_|*-eh^mq=Z8^B@A5;0OiHp&#r0P9Qrawx((+4VjwJE>hSsylgjtk0g62|i2Azu5 zO{7QRsXY)6wvZouQwoZUCsAOO-4}ka33;20G&~qe22R|x;%OQg!Gt4bseU6WlL`)X z&83VJuom*RhOe54mKBt(zX}sO2p?liU3Bvg%^g9eM|q9IeEsvGql1|BABnO$f}q(8 z_>8DmmePN{5kIRpD%V6a-;}B<-wc}6AG5$*DWc60-s?*IDWbbds1=HvTL~BDK(cuE z-Q?4?4YqWTb^wgh%ylu-I4hU6&kA^mIrX*adn~5L2_pJ**W0(Vh1{ts6bEa zi9Ezm9Km9O)kg|hAC{ruhiZhh#LQH$_ z^tDjq34m^KOxlY=n=z?cqu)Nbvwdv!(|sPPv5V> zM|LWE$kl7J=1sD}o(P`H`ho`3o&mq)$kAkg5tSV+A7x!*BF`a3I(|zL=RAgwT!pEy z=siwEr{sC>pVryeE|GV8LCzZR?EM@)zzJXXgLuLWg;+!b&*4xe9EPnTRE2P&P0#Kg zyq2^A)b;O2Hpt5LVYQ^^5d|gGal{R!Lm|M@`YOM~G=)DeDp~zv-c`LDh{lyt9Lr1~ zJJWMm-HYTo?JA#E>ZU9LLXN_WQL**-VAQHK?s{O`@7U828{d1_%SD}fPZ^CcZP(6l zCK`LYnx%&EsGh4cdj% z`+?BA&nSZHKB9Y;>+nnUA*c5o%JtaYWTBHY_g}}em?J2UO7O9il0X1w@*v~>Z>?n2 zrJL?|x{ey`+=j%r*njYEcP@oS(SdN3;YZvyLs!AnA^5My3uJD7{)`m2 zN6`kks?sRU8&6B@{L=~j#hY2XRAAw;z46m<@*`1Ywe0Y)6FEa-V5!d$)11MdO&~Pqo9FUKVq`$Gb>?;3l>0I%R~^UVrx5-!9CDMOCEVU&h*z>D z$}!$u4NvFBgLBiHsZA4qn(juqKoW9=~ODVcb%#Te6M7n1P8X{ z<4D4Vu^>B?gL8<)263E4{GRi)HV!3&sxAehra}}SUZ0tBd=(4qZqqW7hBAgOm+=B_AP5fMSDfJ^L-iy7x0Ic#dvcb1``lCw>y z$Ckqw%w)64S4F~n#yDKL0%k#PyCDBq@B#$4a)!{PM}AuvPHaC?<1%r;ZTCogT7wT< zTPr>&(##2Y0?@f+J65R5D0zhtTvFK!n?lpVqPxQ^7kV6_7a{N~kCR+RWflTc+(MyM z`(8Lts9a3ykZpTfWHfqOOa>*rTPtliqWR+y(VQ;3*VJS2I4uQ>_6M5hI89rN_&v!@ z?WbTA${qH?v6tk%uWXCtqz5>xAi)FF#n&uLINVGRgoJQVL>^>}vCRONUJ?hgP?2+p zF5_SqqD#S46buh>C%|MI{KQcxSv^c>lupOfw8<^RY`wgm;L_>e2t{Zy(59M-%-A6a zQ*Mi3Ta7?>_^6!>rh&M?TH`GjAEcZVnThAIR%Hj7^`>ZWicjGqh$SRAVJC$?WIW=l z{^mVSE&j7flL{5jyb_cO`>GZ!BnpbCkRuZlh}!uYM5d&OUGz!`#HS80V0Ri=9cw>? zJ4oES;Kq5Y&>#Q-jU(D_cm{VPQW5@Iwg$Py>MjbC7gSR#SbEQ>NYi&8#4MuW(~oq# z{a0!WUDy25Wumynz;FdA0j$8{yyLJUH$-dXD2g@>Xt2%UXt8^kE5>2fYgLB1lev!^ z15JRxg}>=#L!Ua{I8)*{rs-i7nhaz(YS_hdPX?Cd2YT+CZYjl^<_Q>I^xA^eF;LrV zS)|U@vQO)X4HY)c{=2tcYU1!coA0*Z3fg|vzaP6`X+?{Tu2i<~XJVx*#)RL0w{;NWxUFKhd54dG&CBQ1X5a_6r<2`DSEYj4jLIXOb2{Fet@b=7nsRvSsurgF!0 zg}%O4H`=1n)82TCLEcDk=r+hhr@O%*m;GtI$=24ffXUqBTLEm%HtT$A&!=ymx0P%7h;tlp@r=)}@{9EW1cX!dO zJajluO>FfFt`~oFbZ+qqjX0@DF+esCYh8cdvx`RLJ-xilP(Rpk zRq;v;REAPc$~0hRDDF(j3W<^;c7|fP`D!83)A=6=sywO3svfnXQTZ^Hz( z`w<9WQzD#Ssz2Qj7n#TaFjI$;GRa??T%j<|kGNN!@91V@OwT+hA8Dx;N= z7q*dA%q45>jWSHP^%KcwkOnuagEe^Dnv?nP{sF$kow-QLT*X1j;~?^?-$`li7q)wqR*c z3TAz3rZm)gB7q)>32RIgze1AXqZC@p&`WQQM8ieI9d<}O86=$0M@){PgEJ*YQxB}d zJ}E-83XR21p^6sZ_8>*ZL1I(%#k6fRN>HEz)D@{VnvNQ5Vf2#Sd(P4ZC1YO=hrISZBluvP@f z75olgIL00vXwuHT*wxSnHqICXFv?y;E)3pJXY+rAQ(m-ny_(j zk3dJ~6L16fz}&T&dZF=As3Q&B_Q8qRW({Q&r)kJB;*q=SB3o=Y!PFPVhCF0W`5Sfm z9=U2VG$wWW4xiHFVkolIlQq)5U+6?|=MAo6sn=7#vU+!s$gZeheN3U;@h0}+b1;L_ z7CQpSu67%uAF+9X#5uachz#+hJT^ikX^Muk)D@Og9$7a}w!hTW`KGFpDdyi^TcCX7`yH%|)1sc8?*V5Jy&kX|>`SqFa7SRm z)2nKMhv#WzET`X_R8?EZZjNb;A2_X*;BSe_KrLUr5KU)=vdL$RC+R=SFSl(hZF)PD z^_-}x@;dMK-knNk*qDOmEvi(j(s>`#Wc7bZRJ8e(R_83VLkVGwb8BI{^qWCc{1_oO+-yyxJYC?!5nT81O`10-Rc(9o#pH0U_W$|a zYhj2W0tjG$xgy?|gjo+#0w@$3XC01d^z0bKy_X4QabG&{5oGeSN2^w{dUfx-(-&wA zJ}5A;r>9z4{*E(&q3R8~p}_zF1QEm#$HUJB>4?z#omfMEp}#*oBzh+63O9Z$AhZhcsXN4kqmR>t@=*)-rn!U|f zGDev-dW`Hv(7wqAY4Un{!=p)D79CgkgJb)-^6owj`gZ!o z$F(l~#k+slVYE7lK;la%Q&=;>rBx|&7u+eP9qchXwgb=2G`l^dUSzY#H&1hLlro6WV#7!yH_XOxC;3kRhb}FTmAEOIrTD zW7!HM8x<%^sE68?VaFS0!{WL4EKfeLOQobG`Ywt7?9zl_DO|=9?EDFHb-zMmg;NY` zDxF;M0c*$40KIF#ZFpwnO_p&p*<7&wQp=BeoAh4nlSto5#6Lm8g|UoSs+nfU`ntN&+rf>X}XieWBckSD21M%6G zgOf7OQIA)ktWli6I;HrcH8Ff%?^Mn(dM~9r+cT!}dDssnM$)Og>*TGgro(i`ZSw&k zw!G$EpHv5Kj4R$YV%Sx+8N+pO4xz&WAjl@|goc4ZK~_Co6&k}`Fb4~@dbbmtk_%?b z7*V)@qp0#*1Wg_+m8;^Xp2Gp$v{@f@I#d6mD;t~c+cN~!v6={tBQYIf9TD_Vh=;Fa zkV7PY3{y-1VhoUBVOqU4BmPb5Rmzwtw)Zr$3#|Bu}d`&$PET7QRtMsS7OaqSc2{wQDP zZ@czHxS$DNpCF*wEWb(z=6?zvIhP3?`YhG81*y=Aq^un-C!me*bpfloME!a5*lMbpp>;v(TQBIyGtW~AVNLyvk)cs-4%8WfG z8?@fJ<9{AFP{JDvWHE@QXbOcH{(n<#Z{XP3k%_ZYi%z?jhnxrDK)o89FLnmZH5|KK zM+;#Y7KLGMl6zBqf(8;d>rU!@AdtJzByPp#`ksb0xM@6^Nqr-Hs_zEnIQM*SoIbf- z!`|0=W2lpJ#vCE)GnS16pV1`dGQ5QDJ6k@miJhHdp<>Kk>-v!?l2JtkjSoKeKJABK z*GO@jk>y=wb46Y8tywSvkhcCkEqu+Z$07Z1E+b;ULS{ z4zVoC@K|J9B4 zW^S$VRLprH{0+Y8v*H&?Lvawb$d3P|?9U|*D z)V7YsFbnI!AMHEPT}E@X?wn>79YQJ1^4K0(Z3(IPa~#C8Uvz>%J{r`?W!7W4E^!=@ z8ePwwHxP|rQrYdA3aVnX{o*}W+&43Zov)c#oj#YrTXO0aj z8kW7Kq?kfC^da3YJ8PuV&Ow4dL`0uTcSbrjWypcvXFSZX;UP;CUT>iCOV_P=n)=L|8E0lrLnTC%b{AE zuiCw(Dq0hUbFcp_^0wg^Qbu`);wmPizHe(4Qls=bS5%^9z zSPV2hkGtvGGq$IZC;h15qmu>Ed^J?6VpyBbvxd_?aLDoVw~tj!Qms|SD?9kOxuQoC zqpd_1d4_8gH4&wkFDiSM@trZLEY8*jpMy$m+W{6B&7>Zgbw4^J`OJat2%WJz!6rk_ zjE58Y^=ie}Qd#VeK0TNv2?Sv6z?+T3RO-Cji~X2<+}UeQ7fuFrKyF~YG5owldy;pq zM+d|U@)mMaS|cx;GRifQfa^#(w!RH37kxfql4H#^tk#j`=Z=|VwJlMiFDG4Q_xP3P z*SSA>KYbxV;XZmZG`?wqw`7C4{poSLhNQ54%TMWrH<0IeERv%yvM#S#WWI;EGsg_D z;@5CcB5QQ**LKeDYYnWTs7mL{I6X#xjUa+e-?gX&J|=(AYRqX4k2fnhToJ@@CKtDH z!$;@Na!1QgjHPbZk?JhRY`YE^dxIL&V8!toKJ4Y5*p8I?W`b{{=QwL-X0rb`@+kXO z6$=jP4K{0pW-ICs(^Pf=V);bqzAcz}|5LNFO`)b&eu@-vEY~gLI}vXfLu%VS_5YCs zfz`EJh?YD;`|hoU(>`^fWNeS`aaXa$_$^`e({cKj5?2vJ+i+ntL%Y{6^GNj(MeIY5)q~f zYW+c_s^ULxbEPOwxT+od0+r!V_Q5l{C!NFd@4G0my^rgcT~kT)b4%d@!_(|I7C6!^ zdF(4LE7WXY|1c`~A!;RCO@o@4p}nS;i8yyKHak%xuVc%itDtO&pLL?0<&tt{DVYUa zqt1cSicVm^#eoymsR0E+cgx&RAm>=!omT^tjC4rV)|?7b2}mrmhfj{tlFKl3Kpl_D z6Xh7l!^68RET=d9D>x;mPE>p$TKVS(r}yn2ixoVGbc2p>UxF{ODd0pIwDN{xVk+yr zOIj*>X9D`0MHi_m3+Nle*c_{^8&vXe|GZks)nmxa93WT#dpuiFX&w{k00Ux%2ws#= zrB|@_$belfyxMgNxRdB+-d0=i)msx0Nr{{f(ahyrBz@s(M-XxJYb-DmZAt(@KwvqoWEgIMh~Soqer_3KVv8ub zTU%gtgWY*2YX%b)>D*hXm>mN7x;# z2j3$b;M}expJBBr2+C-u3JriW*i6Q6R3AB(CVAEO7RTI|eJF=A7(S@J*K5xqK^902 z4MW*{3h!^nS3rkpIg0ECfb2;$ztg=tw_H#%C$k8jQ=+{-KESHfgQ zzlGTcM%ls0L7t;EXdJ}*_F!IM93qqKnL{F%dKzC*!odZ*AaJ4Ttx3h?6Mxk%jGy%; z{P+fr=WqGIX1&H@uugY{XrC!`#k2F(8FU}8V86XEy$y~DO-ntQL&}uEIdh$7XcWm-5mX!x zM}wUn`;<}(urPhr#=A0x92_z6nAM*cm4}@_U&bnZgK6M6H_u>GXO-hv5{G62BO?xu z@~zSs*U?+2hk9T#p`pV=MtjaM)&#G4UUF>4FMo{UY$JOOW2cLpFXl&XkK!A~m6&wd zF#|EK4i7a10BEwIr=9K)ns%E4ttn92OiU77NV|WUSfxkGspsk*SPe|xi8R=KWAlP0 z(M(93qWCxa4`o}|j=E&7lXY^V**hwSOOgK2HJ9%&O`r@F@J+lt4mMd^5G1fi&$an@ zOl%cq*rF<PsS#4d4dN<$7;_H3c26?*8fr^jt}-owK1@u5;d z0fo?RGN(+RXrm)G++EZtuSV)6hg)uF40aKp;AxttC@IGC4U5mRslGBP+h9CKd`1qq z{3j?SG}#(WP0jW7tr#x$0c|$=5(ERGD8ziN%w$@ zEFJ{g2F1HlWqtG{N}Qpj&erU7gD0JykkuZ3M)J6qQ7G_fgVI^CwQ@eWDP3= zVH7mPj#N|XP&*LV_>)XYa#7YCO$LKvI@RAlotq{HnAd0bg{91_yNk$N3v4=?)x;Cw z(&S`Gaiz+7dV1Ylda_~o{r32YF2PM2LTLms>TC}9s0N?bt9?fdImBAA96NSR_?k@p zo;)lAa+1)(<6-YM}pQFOlGPVy0X|FP&vlT&vDsy;^@Ci)8b#Z~tA+=1g8%J8L~IgPMmBDEXq= zjCuuJ_z0@Q5M^7Kn?@W?ckR>%dlW3edPpUd`-?MMG-~b8!;5Kl&Ko{6->m!GZ2Gd|*uI0wz+Lo4tMMKRfi6!R!MuyoRlR~m@T28ydb@+&>@~H4LW5G~VXQcRyL^Q^u$oWBPIFhP zm5U!siAzFLe2V@&VJ~-Rvc?wYZtyixHAmtG(x-#f!lCpEbyT<>fbPkV0?OVfVob#e zaTgLgLy7~I__K$G zJ(7Y4!bE!H6z>z4G>$#vwP2qn@;t?boB`Y767H6-fj+?M!>h+FEEBhlg<>-#;+&K2 znzXfD`8zF1zAH6RsL)2Vm8FX$WMkQ*tKO3WD|U108UTbU@1a`!Ue`fbx*RaxXOJRU zN*kDZI>jAU7(9%<`kf8_g%K2!y6hWOBRq7Ie8d%OjSf*mGt3vHT9ngMJ!(m&p58OR z!jiIHC*A{(ND#ey1LrhGUNi>F8zMF7Mb&4jIuw_3u zAeNzP>pbU@@<|tB7ze~kUp>JorwgHZreW4%KAU(>Pm@M0cdbe!s?;$nweKx$tx0?UyWh6Br`q1w$py~<{_n0ZOt znsVG?nax&Zqzv7&1`e7bdK!PoI#ZX0_obxgM3-MfCF*8g(`$C=5KnY&;sfY;xwu1W z=I~HIrYZn*5b-X1>Tjhuk{URCa4G7!qpRvgluxfv=2hl%gFeCN_Ayn5pW`qk?pO|c z=rv{|&g5f)k8Mo`@|?8sCa0V_?Ik$(=0BO+U<-CQ7~XLzD=rmhHis+91GkT|q)&qJ zuv^4EHmVFEHyU5bi-tz&NvT&^^vj$tgw<%<7`9ASOiM&|3O!7@GGQVP0Ya*_*9$ix(1%qzRXpTl7WYImmp_riMYMZcTcp9(JChcJ&NH|QsF?231 zc{oR9Sy7|(;kt)lk~A=()Mv;Wy4zq&0@Wp{AFUS2PuqZe5N43#gc*Z06fl|E>A@Z) zohp**0_EzZye&3ew+-6UkqQ|TzwcIa|E=t$e2!PzpvuvEz9p$U!Ja`ue99cIX# z&oE~OJ=ya6i!gP;Zh(FcpOpH()2|hBzw$>TO0vz=NorFE7@L1gd=Zg5_$jGKtz~xG zA8`(JG1A5Vm{ABPTU{L)dQY@sqKf+e;K+gZo*aae51~UnUWrw-%fUeO6K!WIw&m*5 z>~5lQf4oC?Sem@RV0zU4>caf^I5mS(!bZsOx+4)p&8x}tf0Qa2EP5)+2P9^-TCXg7 zG%MB0ga#Jyv2mBP2<$k#4`p<4^nr~&vG+?l5$JM{AG5pc(MVGLeDc=h6xJIm{k#Ri zPEtWN(s#uSr6Yt|cpFmmAeWnZa!zGN#~mWN{O4jj=?kz1JdG7h#HkZkqxY?zp;<)6 z#ETba@OrQSD!F^wrv!YHr!3Y~tQVO;?5u3GpYyO$pAQ_CCg1V0as;5}o<<`dW>yo8 z-KOYZMc+A3_|=U*xY6WOyR_Za2)mzSy-o>Z9~BNIQ#y1>EL3g-S}dE7L0vNZzy^bH zNB}e(I=@iN38pPh+pn z+J{FD*mR0bP)<7s_4Z*`ir|cJSG+(Wlw%1LfP0zpoLU?1ct1l_Eag4{nwgJ%JYHzn)5)u zb`YboN(F_-UhRJw)+frb&1TgrQI~0~hgZW&YVtvJCDGGr6-;6ax5qysz;&NGbuGtS zxUHB3KZ?aszZT}VQ8lCGjbkzgH1Ad zKY~~Rhh(pZwi@!OTvp0N3+$lM(Y^AZ35-%S`~S5b7o|@{^s<;b>Z{1wB0-|KF3!Ag z2Ab*BRH~tw9+!eTngGXP#Pe%FjD2wz8Fs$7}RC;HxQynPE^25TBdXGbDch z{#PW$P4UgMS1*pu9Fjlv!+1@Jo$SpWZY!@Ja=z_hWOlK8cCsr1TCUL8Z|gj;fA)iw zfn1P3b>>2G@tM*YHa#^zeez$nOdPB+UYzBLz28)Kb>&oqKFD;~dT30!2!nWKl#ioZ z&u8N!y9#noB|X9pRl=y-(Rp+RXFTT73zz;k^!q4^?UP?&;Y?jDXQB&@h5m1eFg4O5nV+)kl5sXNDxQst)XG6kV(H zh!2Rg_@Srq8EY2wuwK@OY5?fpQ$MZOGM`#J%fZ?>#;#RDm?D`%4x52Yhh~Ru48T z8H;^My}opQ-|}K&_rd$tg2qo9ii;mTU0my^qz1&PjDB~B?qYwzE`k_VjDGGFlycv> zqh~9Y20gzFaEi%U^;cn@?qT31Kk$bbdMh{}Lf>`T#Y|(9D&_OqjB`0sDVBCAD8$9R zTx7{r$;{;(tw;6Q8P4qEv)NtWari+<^Z|6>IYTw;F+BV$kME5?Pe`;131~ z8BJc#dVV%BpviR@i4z)@V!fzEebr$uE3YTr(5N}RnzRcQyoq=VR+jMf4f=bd)Q7!u zBOU!C7tboY`6jRQ-HEm|mGpQOZ}@05A#@&_(gKzo}VXa{KffAG-3vS5p@H699fF=;iKeqsE$U3 z?-cq-W+P8D=@7poT)zQe&aOo_lUVWiF%UiGWyLoh`eoWXbP9fX>0Xv{82sYbfAz_q zKeTd(MIX~JF1&*6Pzu>zZob@_`M&i65dv%XXwV|UNPKebwF|%j;C3*j6j*76UOvt7 zWV~J2acvjw!z7)k2O`?wDj_oizfW>Jqyc2h?9q0|X#Hz)_+x)s)SqMe0 zAzFCn{9MDMa_6*o@2+0g^rQo(Am!TQeTc(qzY&_bM@oM(Wt?pSjhQ3BcpN-1{z9o_ zibH)cf;HYW<~58{fAZEq36{#|?*uK!a3DN0ExUd~hg=mC71y@G<|8+uT!gpWmhF#h zXHYKlbxb>-Uvh{nKUAkWecK&QyV_$fu0P=udbWyh^QNBc)6VsmeT1OCzz!Km zG&wPB4jwO+0QDuEXLBdE`^RsbVGbY@v`YmO<_G__4BS za9>1Xhc+yN9dTLQ-ORSYn@(sfAQl8cq6U=eJB`828Ev=HG9R@tCsNW7; zoN*2qwF*Fx0jpHUz0}$%Uj&f9=%_i0%SNj?oU@VOHPcAxwLYZKkkrECGG=-qTQx08 zC-@Qz!wP><=86MMN?zi2IP+Jj2jtyT_i30l+k*`rJ1x+rM5O4Wz97mbEwTpLCDBp(_dHUW2Xb%P*ij8q)(3eM@q zKjKy<9Dy22RObANDfvO;uE)q5;+^LHU5WP#qI$eUUm6VF#Wr8|2fJDSJAwPR`+7`~ z;urDeC-lBM{?=IAaAke(drzMBdT&RQReGHI?8eYc{V>s@3VecPXeI@D$eIC1#kGE@ zJ%n;X^ibp>I4o?=*ba6QFyZY>6K0z36C7V4P8B;$_JQn>t5C*;`>rq*JbUCz9*zgbhox zC2^Q`wLSkRXN}N^8+4}$CwPVLX_xOoW#_GEktI%-@cs!rjSl7o+DL6yfG1_${@^09 z{NAH9p1R0!UjDdcR}HzFCNRf69Xlt^zf^e8l-n^36Lu%!-o=na9GG0$a3?MzP7oug zf@w|EMP=x1v;i3O3Pfcx34!R6_1CcUcQ0?-P`qIiXt-`!zk~&maBo4Z(cpKZZdWS2 zW!1MYB5siN^CqUkhPrim^6o|am@Qi|yLHPW8hTTT`0ev$v)Q}A9Nf%ZY{PA4M5B)( zr<1j-C~R$b?8p;W-KxhIryU0fiz=61lp0NBQ=O2RXk5ORaRiQ%GN#mzi=C^;;qLxT zON@mMxC*leUshO0Rat#znLGeDdcJiZ6(&~Me1$HNQuc5D`h!xdb@0aXByd06%0l{r z*~oTFYHv{6EiTF~nN;E!BG?aGn5E*!r_?aS`(dzZV|Icw1Ta9LMj@4G=2h*(=J(dp zhFM2LkRS%oXVIro1($S8`3aHgXXC$6WD@NmMhxAg9IHLNpHx^r8|>%tX8bw)84N#x zKLwVa}g6vIX5{2IuTKvLM_V3e>ej-s~5R;Lm zn;)(`iwm4MapMAljo&8~#wRC-+B=TZQ7uMf7s5sBPR4Sv{?rX;5*$+6H6lK8ji;p$2eh$yNaf@%*wAL9rT@_B-RxPKFAE4))ptqKFgY1?~|hDmY8yReQ9 z%10g&eCeI&x8+LLtLXs9JpV|UTKn>gQZKS6c$XL6fWv2T>#GVXrc6_%LWY>SyS0rA z!xOGIWKzvad>)`J(!Em_||3)8_sp~P2n!JnrDG%wJt)q$%0{_!bcVBdxNJ=EVzZ0@wt(>8JZTc@5}S_ zg~nY`32CSdX2(l&e)C5}P(>YVSc8gb1@eo7lw9<~bwp;QadoolkcqD)&Pz3*r6&GR zxk%K-q%of;vzIECdY=`q%q3rA<2ohfUyAxDiyBxk8z=XPGU3OYk8Dp z9QMkGL12WAf2*-tF-7`12VzGYsqF|RCp*Qi6|Be0iQqs7hhnS@Vf2$Ld||)1r=?Cm zjvi5UF-pWIEH095IxUK2@2y|eo~Sq*M})a1{Td$Hg4Epc;ER!fa1qfbB?GEw^J~K$ zZ}eyg{2OMz_9&^1y%e*rWh8lnQ%5VhN0rDou}Ny*YK@Fau{J>6%b&Yf6A+Zh1FlAE z{Cu9?yjFUj8FEdC5BrB|n&aqUKURn`Y+^lF6{mkZ({VxnmB8S;xZ@bht`YKY>n-tZ zx(M(BTg>Va9qc}@m?MR9Cudr-${JaP$7)R5X2)ooO*zeEBl=xM9}JNAOuw-j@f+n! zNiCQEsAhWEQ;`XXt(BkJH7uVwAGMnUtO}5n3Nol+R_rhvsBW%AJAEfnRmAJfb>@-d z20d(ekzlAYf_S<98|!Tq!wNfa)6jPLyG`C81ViHg^-a5M6xBbZ(I#U%HO@Q>9iX6Y zH4ibZ`gPo-)4O+nG=NqPlpiJ?ShP{eA)FsjR4q@?@QhlArt-P2#`Fu5#ASPN@ zy|!4r@qSV0*FS1Esm(#xrGrFAkPc!5v9W~%P(Lmb?xdycm&$uO6jvQLuARD zt6kAEq=6Xrguv56vOUg1EjcXS`2mQP+7keL?;#AU-p zDfd^HRowBQ_dC73e%Qlx49!@;eX&NDM!iMtV?IX}-3lB~t3m|xpip6K?=&IPavLlQ zV{DQeNTdfW?(w@7v_ei%E!Ny{Zx)+{4h_y=iB^;B|JYug0^>uVN%b~{FG4sSA@h=4 zg{DQVaMMjbhw;J>n8-VOV#^&4I_8l@76q4`33q%d5#5YXoX%7ha9#{?{m_X{E(?Gw zfu<^^1`+9)e?3sSn)kCs8dSavAIoAo8&wz+1cichg?%2ew@-hI_%n*?Rp*8UiP_V_ zD447OS8!zF&gJM{7X46AQ+8GLtZBG`GAxzmFx8y1GTFO0a8!k!*)KGM^=Dm|>xxr5 zDk_vV3{UMg;yP&3%_E3fNA<+z@n{p$Lhiw-ev|B!X<0g}nOEfDK^VU1h1$1 zpV4zESv#(R?GV%;&PF&Nj`VfPJvyX*OSbjuk$C6a38q%&M!Yx;U=lH#zQ+)dva zA?>mK`XtdM@av>Y9Sw6R=v70$xfOn0F#%^CynSc%ksyq>BBLioebp%X-k3&8^_0^* z68p~ZlG#6O1EnJx%vX4S6Z3{HrCwA29WrW#WrLF_+7qd~(c8%qZ_%~45NMy<#qzBF zWbNvmyAuxCH7Z|bWVvXdb<1@>|MQ=7)6L3b`xX^N;=slQV-Xig5T-c5%45aty{#V` zjn#|F$9j$M*+qCvr$;0wu2Mya;0`#h_l5sc?^7I~3I7`n9ML+u)8uZ0{2oTBXP_Yp z5vDk!SHWckWg1M(0Lp*HHE9R3nj%|hjwJqk8<3ILEa zm+rk%yW>=))0=nsryZ{JM594cX$a0ZJ&Di^)8U&JC4_KQtixt43!))Id)!jpmY@Q} z?r6UJYZex!a4;_=Q9!&7xSO%{3!?d-r&{a@;m~uYDr@ip?!YYbSZd_!H3SX0o2}Nw zvHEG#t4$T{>Y|-c?&TFwrDIs?Iak#YcT0>;*--(YG7X+Q{%lu!X%!`g@8OX4|HEAI zWh(oQsuk~yPu8-pF=me`XCv4}CMZ+At*Td^sMz_0W}PH_EsSomMV@GL)CtC>0_p1@jN;i}=0t^wd$J?V{^p6G^C-oac~Ib*@mCHgH- z=RgI)Cbv6r&tZ9Y_>+iL<23=fE~f$aFez&L4UNo!c$D$TBHuH?pC)}yCY?bv(83E! z_F~sr$tlZ1f$dk|&jR!=Y_BtizT0Z2axqsu7D3<5op_@A09DcrXC{-^8T{dz)XgTG zqzz|1&fY0eIE`H>2G(qL%S&4T)z<&5&m@enBDMk)fU>5Ik-nov$#;&f!wpclQvmpr z(?ZN&U>c&6{K@m4iB$O6i0@=&@e~S026Ex50wsX!3@s#f4s#dIHOjBLBBKcswJG%` z`L^Ro11Ms&q~K2>2Yk8qCn=Xi6m{;ZSHzQI(RN zYW4yB!`--@dyrGif|P48a!$5w;Iua7XDHLF<@3`ZxEGWe?ItgPgTTrQI&+UX)Un5O zxk|nbS7@tDmpSd16l+eLM-S51#>xI6PPHR49}1Q# zsJtvZY&hDa^LR21ZhM(immtm+R++u*6~A{ClRSi#(AJ4prnbcAO9*NB@WPX*DY0#A zKrX367#_sbvN)AUY3v~}3fg2n7{S2# zajo-^(SX^AnlR;1L9*!!$zNBDde)VwB|WbX3>q#4k!xIp_LPf9HCX;T;;YH}j_n6c zb=$*WCOS&U;(|_|Xzek_PdgbC*UVyWI@JYSaT!=S8b7qmaOmF)@)TrtAjKr{wlZti zOaXhz4Q>ciZWxH?9wjDQEPgs|jm=ZrYO`;kAXYx%bvI$HOQZ8pRuQth+xJdF9GDa7 z=}1_N>JAgqJ&PcuVqT(EvMdc%glP}4NmRaL`S^y|{mVJV?ADy}ytNsJmQfBllw3yt zh0(8}>FJVZN577y?pO};uF=qQL&P5z%AbquM(OdWwAWjzjIhKAO2F4~M=`SIO2Nv! zH|3&=<0dx*)v;t*omeo*M18wYr-=o$;$6vR$qocM(#%GOqqck56oq-3I@|8x>JvFG zn?O|Ho*k}{F`00y41rMYcy1tdoE|Pu93Ij+;=(=&`29F|Dw3w|IId8j^2;HWXCp;f9C4eo&5Xh4~JNAd0?u9M+ z!WQQOk?;<9mo`WFJ(jqxs>(ghXGwtan5TqNs-Gox|L2rB?_hyDPzq=#49F4cOT57i z7)L|ht_SXmKJ)Ik)VrmlEMvkr06o~w<)IA@}Q;@J@+93oh2^8Xprm@TdN0~_uoSuJL?T; zX7~iYX~BKxe+1qV|KR}}6HcH94&X9t9W(l8did(Bp(}HRh6lkTYz8Nl;w7QOFqHIi z@ky*Mp8nnl>ke^qDy;5$dj$UrKxnFHMc?l++f()djmlpyG|kmf;Pa8?n9yU4(n!z< zhs!jA*grrLr+EmGASB^1byk~TL6qDdOg+}Uf6tRtSSqDIz{GkqCiQ&}7*~H36Vo?q z$~`p>CEd_Sd!ODL7qFNl;3aOc;#{YN=-B==umAk>jEsZdzoCsRXY7PL zzd@0B1q;@*RzcYYZ=*#gykBs^4TjZWy$$G( zx-FzuRQ&~F#mJV|U_?{S4lc=n_mx+eR|Oxy5l91c_h_ub8>Kh)%Xu2s!V^pn&Md6u z){9f1eM1T2i)^~a?=)ShY)=f_-LDd-LqB6Z2!J(QO8QHq{wev3Rhj39?}Ttyufn^X z|3sm~pz~s8ewy?Te$&80Yj>}!?k7A13FB&G{l`w4D87&_Ekx03Au)km)TWNzP7n5 z{rNf23+LykA%mXE1kM_0L}tx_Mfaft9>@@kGOp}7ywY%RW^Hv%*ZvUC6CN!kO~EXu%_XzvsaF*wFw{P zF{KKlN#wQe{S-YcXm0P6STj@aWSS$VJ8OM(oamvy6x^L0e2tjK267cLo_|&897t5~ zsn_dhyF)t8R3%@Uu%=h@c1k|N>Bks2efq*6z9I#pnThzNn3Fe&li;s+h%(us*uvRMPsK`u4xt)k<>;)6*^fj|ZX zzC>wV+1O&IDt2-r5S*r4Wd{STD^XtnokvdtU?`ucqXA?qN7X@{^c~$*c;B@x37tkc zQ)~i(J(XkBnec3g_ob$FqEc9#o-QUrYPPXT;Hkg_tg;1t77-cV*^a9N9{l%1>4({s zhQ^3oT?e>zV|ISZbNvqS3SQk1z$ z&#LZQsPa7DhwotN)q#)}wljaL??j`53AX)1x744nJ8x2@$>1PeZ28m_TI#x1)fd)# z!*xPx4!fG0EzAfK=h*ma_}j$^mf5XXrh+uo@XfIa5(_i9+3aeP0n$r9rE(Ml=roM8 zo*8K>>(L-gd;$8|+^jI!d7%_?-qb>dB#wteiRK0xM#lhU(`?EaFGl=8rP_X2AluZ~ zoMe1@y0vvYfO`rG00dzx>yA!i2Z-(d|1=b*I?fpYSd}oHM^`H40`(c_^HakwV?<$i zxRCKTTe=_o&_fg(s5icH#kk&sAXZmzJa9ze-&MR{Mt}2*AsfmJE4*1RlT55!IU%_Y zfH=v7tiJH()iOg2*{?SR^r5a|g+Cg$9SO4SiIw$Fmf{Q)Lkgf3@C2>RiheegtRV0F z3@G1r2p4&W{><97BctL+w7>QoGqw_#hg@-9^OajVR_oL5tSmb6LA&!*k?A7_pJsei zds%zoI&H?T#){kmI<4VZNUGuR^&^~9U+FG?r`kAX{BU)hSh9hp+1}H+MxTCZWudUt z>O#3TeGIE{$!EN6?fQ7ccmO~o2%dFXIw%$0v>x>FC^o7;qa^W3${9OyI6l8x*5%tJ zbNe*x7)3_o)9X&lz18u@5D%%spl#2hT=_8H9nZ3+kih~e3Mn~>91H^(ro|}<5Q5)b z(E9l;MRR~>W}0xH}H#+TZRw*=JH4UBtujOz3E4nIbD5 zTKfk2T3fI4YXh0;? zWsm%lZ2#u3@9mFIRy&;^no;nXu|vMHRlUBrMcBD#-~_>YoG#Wn(4$jYn6nhSiXkB5 zpppU-Y4t_wbTdl|b1{r3V9Rl&Coka1<-z`kLNZspTpCoNu+6T~$LTaekFFCAI_ukV zVJKY<*6NSc?bh`jGFk|r>yLL+`GR^viG2b85pc&sd!6WII9=tU!=q9sN2Qx$A{D?3 zk3`263JB1dE)K$vsi~E-{TL1*8L%lp{@WZw)!bj9!tn5;^WO}lfkpoqt=fC5YQ66g z`-QHn?89*Fesv}%k@Et25jF6(cC2X3v(YQg#jVLU%{9)J&PfC^UA4`-$LScP7bh=F zfle*e8BoZgVB-KSlZ>q1{S^L&Xo7I}W>s)>7+;nSp{yrGUZ@v$407`B+19t*fJ8mJ z>RPKL2#`_0o2=k(l7Lcak}7eS2wDRLS^hDG;lr4&MPfH(P1M<88!-4raU&knfVI;R zt$QUzH}&a!S=+!pfoHAk^hB48h7bi;yJ>+SQbQUtT!?xi{Om93+YVg)VZ0rG7LMxD zvoqdjJP4?Z@3LkoP%+>E=gFp1f#16U18VG_Wmv{y{ty*rfUV1@9FT(n2Rn&<;?7tA z&<8{!0A>t@d^1o0*a*U&8_3${lFe^gLwq5oI7pMrL0}Dah5`t3feq%cgf+P+ISkGi zW(=?=YZY!eXp|~TTjYv=dzZtR+RIlGI0o)idhR>e6xYDfU%nJf=QXfxMEavrV9yoE z$UlxveL@OB8=i%5mH1Vw7I<%F8*1LWt7wsNZ+8UQorP1RS=nOZi5*D;5BZ)FoCYB~!`;xNuP3%G`#G>9BuS0eHsW+IEV19TI@nM1N;z zbb}(Y1s4C&qEEcfvAq+{ZFIi+3{v%HyCy%^KfdJij@f1ZQjdlb$f6(Cuo4SL7_1gM zP)@0|{ZhCYGI&aJ3VaGQo@qnCo!A%~ZVDmVn6m=kpaac9AdzsujuA!{);sNu2-O0&rZ?KEqE26|^g zSDEdR-g>x(9#M8e-DOW4tZ_g_;jw8b4P1u+k+u^V=Pfr`lFHHcT_7?05DHiUj8sfO zc0)Yqy?~{a$@MAmWQP{8E}_`8@(kWHDdYk| zqnkbpHkefjwlJ_`JI;+#t8IflNL7^V{_$G|0ERUL`&gx^pk?qR0cHJKk#GrU9ZV4H z&)XP8%a$mgZcq8KmNHS^tWA{1AE-Q5_s4WEP|f102wIv-73x7qeJ&xHVTXqR zA=4a)s%bwkBwZtF7;-LGZX)+E=)4qmw-?`DoShUJ8O=xE38b$xbkc+Pv`Fpx;j^mT zDquS#=6@_Y-QC-2ckHOejr2o^FrEScE)oq5sd^hX$45IX z@8;q+SF(TNK+&qyH*dxziZIM3TcNM7nP+O6r>RvHUK$z_kYI%(T7|Hm_DtLNV#{l;XK_eRAHzy>nk$7uLZO z@Ej|J*Mg)AGvkR*ib(^BRBZHH0>r_7xqz<_9?1i6Fj<7u$vE362M(1X|HNv;=Mh$C zJ6CP^9L+1N&c(=toq+BT%Kl@VGyphbX<0LuHJk7!7&dxZM}%bJ)~)i(pFc;FJ3-LM zo_J0`$2=c6%%1j^PU-QOVvOk>Fo-s04^A%P#)H8V| ztkeZO0k7|`$B$KT*RV{CSp@|yeo1C#tUro{{DI;Q+j~T{H>Gs#*4X4P=*-K^mh4;_ zvrQ17W*~41cQv9bozULh0@ye#UfuFbqR|*jo5jg%1JOm3YDjBM^EGsFT(J zW@;`J_oFxL9k600?p?wyQYebJlOO@+%`I|}D($&_IxH1$-Y6_Pu#OIZ`U*=$K@J8W z@PEsr2fkgN7i%1FGA7HV%1O<~s#hj8N%;<7*T6`Yi zSbRsbwO3e}6o|3hoSNT_K$*2(Yn@rSFf+lonm3f|P7a`oHMB|E%n{kxW9uf9Z5IT~ zhr2H+!P}b#bMH9)5fL37_n?9u9T5@h?i3Xj&Q)Qi@%@xX4OAk#dCztG8wM!`x~#Nc zUyiIZB-zqi25EP{xXa1gC@R^Q$GNL9=DI{2u0^?<$FXeT+ZhmOR67Z~-J!C`#H!^q17H);AU zxn~*`gZBJdN$qX-Hk5BaxI}T9zkle)wV=4`rkqyVI3LVq-A@+jzm<>5+j%R!0 za`7%93FKDmav&B=@zch3_y-RXs+%B1JGDfoN#mp;(IHN$u80_Q0t@=L#mlP}U~ap! z9De=`|D{kxAXB*S?Xzm1{Q9vAefL;>f(nj(%Px1$&Cn>^gFnu0Jb18?J+3#DR9~OO zc01)5=+gH54x4dDukD%3!0`+ioCUaFjA~Ev%bYA?aN=zQd5PCLR(wzc$;LN-DVT6d z8PcKE2mSI7F#GT|@Tc3!a=%Ewb#KmT!xyA7g~*T&WrNEUk@|~%t!?A8rOpQ58YWwU zoy&qGYj>|Y@hGfink9Q*H(q&gTcuxFhG^dbj|>1ae3Fqk78qJ>LJR9}+Q{EpkF_rU z#b9344B90casbmKP87^Bnl{Ws0N@SNq8-tvAmdQ*A&}&dL!!xu2!&$ksF;pQb7^Gg zNt*s2Fi~&{z9N;%8N|n{CjR`H*v6%8kRoyhm3c})B>utOp3mKdq7S~V8yp&nh?o=s zv;p;aDHn!dsc1MLmtYtIl^w~zLPRHfvJ)AYIMmw5g*GXz$&RFWHxLi$2$!3UJ82t6 zBLU?Zs3!%eG}4A4>BsTNH?+Alu-(G-UKlx=cFQG%A8z8HjLU{9e@n9GOynZbMbHz% zp#o68lIRve*Y`K~9oXiT7I}!81s{vi#{B$1Pwo4Y2i{SpAGK@N@KQ9ofPC!4}3m~%qZ}*mXhEj`_(l0n5bZG2lb?vc zVEXcTugA;4dT{Mkm3-4s_wI|YF2=JRwZMyb(1gX<$3zB8UxZ)FXM8rjlvcZK_Co-` zq_R-qo@ady#rZ3kFHb}`ZOxTFB6OLoh7rIG4;PxzZ?2~Y2uLHsfjuO4{AN3esDN^> zmyZizWoEK8%2<1OQtAEs<9xfQC_Dc6;Nbq|6Pqtz-mEy`?0iD8GCk3}KPyWr<=ta_ zHwS-i^!~({$oSZl1s?vuLpB}o%mgZNih3U}^!#~_mW^rNP${m|Xoq^EsvK3Z#&Fa7W*XSDuWHv#yUB zck#zTwC3A`)hJeIDJ>e12>(1Q8?BeEzE$1hIGXsq$*ZbaeY0LRDm(ipR{})yq-ZCY z8gX9eJkEdIr9LLkI@!8C%m$>q%hJ^M{9V%RyQ967NSl+4%cz+K|H?mbqR%&3% zWnOw{QtG&ECB3aX+E>KUtl7_MO+!+Q6nN12kNKYkx8<$1i!(&kGnzb%ERYa_mOi^D z7#!og6-K(sNl3?K@svRK+|+7%QtA3`EkLQEn!uLBe zt(CQZjfUeZiteVj*;bCHh9;%+QZ5IkvQ$cgPtNFQ?z~reQWZ@^6Swnq>`bIfnuXR@ zPyZ6A%xv+qDbb$}P;lig2F7tlUdgH*>j628r_939orEg7(OUs zb{>GPCv(YR@92C4f%Ls>P99oK%za4|5UXA;v(9`n;!wSDx)P%K zXNPdugnz`LSoVf{U7i>N8o@X`;#u$HDHac$%?3s=?E;W}aS9Nt2rRa;yLkjwJiN_s zNQ$FicI@BZ)<$`N4eXE$EhP{>1QfEb2UqEGpo-L+wK}-e9yUA$Qs+%5~*wa3&=Aj_W#9bM$iOxHd;HJsp*VwvGsC#gH?7U}zzFygO4r)?Hh{dkLw0 z@#jfPB#8btw43mc-|t_7GWOJB1D24W1#M#Te}H`eV&=|! zz*lWQzP5pAYo3a8>i0I+RheOeUVHHv**KwXFXIu_=ZtsszwI?VtixhZljIAqv%B|S(uKb$e zfS#`k91l9BstbDM6^ITu$7mFpI$QGvwiZn9fOhOZsC7UJ!PO2OJuArcOJXJ3Ie+;r zlGKt$Q+gR9kjMywmy(v|N{ZY?PPa>BCHZAyx}(u{h%78kvdKyE?;FQUj~SRAp--oc z`T7+CQ25F-XXN2X%un0QZEAdk3mC+eb*$bs5+`>FP2&tmDFA$7LwU9*lbrxLIzT7| z06%XXj@22M4-_~TFWLQDR5c;S65}Fu4_6BJ#aY+{@cjfxQ|kkX)O6q8Uf*<^a|!9D za5<#g+F~t_?$oe;s(8@STXI)45P%fPFQ$>PylH>`X`bc_ZdDrx889GH>5vf5F8`}i zZeXr3Em;h=ZwUuae7JYSvv7y?QlBH^`R=Y<(3S>=RH!{;q8K+YUkMdCslWn;YIRgB zBdlg9e(yQ+N_xk!V;!qfvI;RN{`9ikkVJF9``e#p8>4wL`Ee&_m;e7^{jz~f-%1KH`X=-H$%t3ohhYnY$%zL<*drVI#@AoUcE1P!4W3%J_3n>uvZ7=d&&v(x+dn8#lGri4&@( zauP7IUb7?Lc2Di14NZcQsSWoU!Olp%)Jzr|Bw~=XoCg?w`UeZcio!9dt$q}J>R!5Y zp~pjWU^;IoY(>23z~f>=@9qhp4H^`ljia0SZmS|9pw>{8AgL9wcC!6D^8 zYQewSU+j=jaC(EjU3@HXy8cyHxImA8I7C(O)0G;RTmLg#OZ%p#1C8e7jgI7PyJHmM zvXs1TKrsiT5c#^$g<|E+vKCvu-KbTkNGy1;vUOT9RmW|D{UR)XZy(ZNR;@jV)AMKsk-2=c8LFcAW65nK7PWTYqtq-g1*mUd6|8Hqrl<5jS z_0WeSP?rvi3J>N5PK%EN5?P4y_pxIV2{|6+%i~|*p1eEbR_E z6A{y!)9Odud5W`h%gtbJ_;+_onR(Kw&ISM99a+%&(aI6bRaZhgxW@S;R z6?E+UZYyx2Y4aWAz*r0z^BV?a?Ibp-%>z-@6djVfk@D+bgX&hVEEwdKAGN|iLt>T= zfn9-_js&?(I?6J$P>=+n4|TIsNN!tBtTJdNRGn0`*9ix9=mJg_Kpa1c?}Y!`oIW?$ zb(hZhW+`>woAN<``mGLF$v10qIo`+Em9bGLHQPFP2Kg`wd3F%w7$p+dIOhJ|2Q3Fl z{df>_)?@0^|I`}6zerM*_*ra5Iu~1jWqr6`j#T$Y#;(rhdy}1pJL7>l3flcV=m*#` zKh-qS1;S)loj$D=gQOA{xSYL}*a9<l<{~3RwZKHl3 z-_e{05~p9yYva6d{+Kopnwd z8F|#>f)g^^f7`lRq+C0&iE{ia?<;+_TqyBEaZhSP@Iwy|;PLzv)0PFytf<-Y9YQT~nY(S|{U=0Qe1OpgM zP-5jIXnVFS08U1LWYp6vaj%Y!s~BRZaSVjo^4agHrk_)eJbJx(9NK6(7}gB4|@u-s0*Tm`tdW*JOz5#E#uGarkZ ze*d`WWJZ@s;#TA}43j0*ZKi?#`T^dxcHy?vC1?S710X?Q{`j?P<9xeW-v4v9GVLX> zGVK-J$3OBIcKq=xS9jU+$GW@5Prlr^Yn*TMH){h7E@!oSQ&A?Qw#Z_%3;3)Pi`;25Lm+>R2?TJ3hdy{bGHn zxi7YFpf=PJA1laQO^pcW7i~+3UfIaFqG0&r-S+T{Ta9DHO z{m`dX%}NN&49jr4J}Tw8Ul42vHSL@4vY7@7$wnC*PtgIr!zD#baTyy|yUIl_L592T z?hM0rdEiU}k2hsfDguCNM{ui|(fc$=#z!mHudnRP$nYLCD=Awy`RK{ehO&~xq;V_c zRV2JWDLF!!o!>v4pBEnP-D>_(%a4lUYd?y`qcoD9MCl$M|CFB~t+X2NW3{EF+Su!2 zaYhq^dM&cK(Sud0VPBm;h>R8B&U8Vl;t`2C3R~IH|@&y9_7^?u%4tsvC z>1eID(4Puo^7;M4%^y?6CYLdI3Q*`|ev}QH86{u~+~3&}E)$q;y1=qz|3F2CR>l%( zHJ)N$Gc+i9V`$ob1PW1^-^r>nA~OoyfQ_zJ#PT6&cxO}oQ1YqPDETWDC?Xp9B7tH6 zSZ(y_(7lCTsR;+#4Q)+OR)vkgvdD4RA`)H~WD~YG3UCRn3fm(K^qi!4DRVtL zeRqq3A4XIXuDlP_spa+n1ZFNM1;;Gf1+iOAXwe#QIpn7QEjZcy7(dAMS{2-c3ZB7j zVT(Of?u#+ZxZG&F(y2eR+|AkYb&)1%hyj>B5GtnIOl5#>gY>$q=HcLKE0i8?>V73v zZlV83G_|p;gxA1MV+s-B>z(+DfH41jav^14royv|$qNe#$5vTKu2&s1Yt?5p9RgR{ z!N8MpV0mcN7h06+_0G0jI(Gb^kk>YmO7p2ZJ zLCvyr=UD&y;?@0WB!eS9ZP8s1Il~jk@n_rxf`8ex6aD0P%K$@!RO%Mk1|u*CUwQhp z9IggygU*UMy9lhSJRgAPQz0y(U|eMKA*u7=2cA{dgR$BSM)B*WUVU9^$6LFpMZ+!+ zNrRPsnBOYPCkH0lNSi(8ee?W-YmcwY`7}~ib>VqqZ{C4`rj+;w_jXZk-Lo&3W62UkIU#4xL7iaD`17_OZ5t4`bMM#l7B7!NBvu_Laqep zBlVuH78ldZ*d@*N3p((t^DjEdy1JSJ^8DQW{tYQ{b?$A#?1;5W@>xajT7EQ`6gzVL z?)KrW8=Gf4-sJ}=q92vgE3naI9}eFqSXUAyFG*W(n}HlZl=ZL40DCG#Ss~ZBMcBxk z7$Og*k4R0^A{dyB$PFVw*H^dqDv&{f2p%_5M=Rh2hw6j4>Nr|)-nE!e^Tg56?ADkh zV_h;%c$MH$y310-dhZ{@X3)h)RV1aQb5M;#UXUP1;NzkmoM`ZPbKtmxoEhX1VN-e1 z$TxmHSklG&7kf-6htDTL% zWiip&?%6?_ST-a(FEF1F&-P6UAv}9g>bv@z*o*pw!p(sfIcoj5i9D$!za+51-gjT& zJ==&!1&{6)-+fpBETdSeaj|T0r808p447hEe!j|Wjk3N`H6kED<~|nPvvshqJcwyV z&sBo_u{#{#lj1qFlP76&6xa*!3GsIJ%+qlIpA35;Q5g{0A00n01t?OD##A^h`X*(0 ztQq;rVhhcFhwMxJT;QxuakCM^aY^&N9$QWdB$BvQiSzAwe|4mHNtu=2Y!Jb9g6$f2 zZL5<#>2TLarmc~)s-X#?BYftLGa6eE!9a6n2cJ0-AF6+E`*6iTXoNOL#pI?7GLiu7 z^qOa3&ysxrd0v_htj$PMgk`60%}AC1;pnfh$x~NFhw8+_ooqJ+sQ0tBc32-cbW-Y< z?GQS5W7)JJSwsUtw#WS@p`UG3zgR^5i=?)pmQQPv0k%2v&9x)rrl<{7jpo zLHoT7P&5Jv1M>?suh@LLV;$R=Uh&DkBWM`Lt*VtJRD=D01Jmzk4+A)4*&EiVs#-w zfLuQyK5HCH@4oqNWl8VlW<|6QF~v6CQ#~3|SFojBY#Mwu*rB7dO3s^6JTy$Z+I!0G zibUT0u0z;sWSQr$+mo%$8%^;`^`k|h_nuIw;Njx|j;j>YUO%clL`UDLHXq!m&1N!9 zQvW3M-46K0Uq;VR&$eGALA#)qBCB}U;Y@Ecoy!g~tHFTaQluO`hB6D=e!VBH6p98) zMlCYmU8#$J;CB>$Y%nt-7}|>NB7i^ftoU}7<0iRW2BMp#Qf1=Z!4g}9u#nDh9$ae- z9^)A(u2#(DiMUfJn<=g+Z>~zQvg*%EY*5#!S|JXM@q~|A!g+8C!QtTlOkL-RRaTMD z1~&gf=>jcJrT2UEr>Blk8BK!Ew#+4g_g)@gxVtZJ*S>R6NMZEtmn%Px_>uu8i7t^y zgF6=ZaF*3v(#c`rlWe)Tz9^!@qnjW=>dLc35feQVhB2$YUj+y>Rw;@wWUkFFSqu#4 zmHE8$b?WYR;#@s%$b8P^MY5BH@L&jk{;FVWJ-+XJcx8d%i`gY>Gh(;*l^o=s5D*~Y zn!x0*k^}$~n5k!H=t?+3O9)z>08XRYd!6vej2@6*O-!}Urnig8l6+owVQOP- ze-|qb{Beja8tKCUWjXO8M3nf-pd=&M6hluPEX`=W64Kk6Bc;+C!q37V_uXCK9dQ31 zCsEDz{dO0Nt2SByFoQi_CPL)I2b9r=EgCV9J2(BnMuzxPZ%b&1G_9>?(qyTOmz->y zMnAgW32+jLCSCA-j{N?3>hpp8qr+zC%^!G9^+z1{!TU{U+(6$y2R5VI!uorXoMpk8 zer4_hd@=@XFKGi%0N<>KD3EagTh^ga&4$oX^2-IjQ3M1h{=XtKPKRz7jKPvjB3y2l z$Vq-f)npC7)8vB8mGG?tG(&(-!Li16Y3Yu-wOT6gdn=qtD1LUUi~tn|#j>97(9p8+ z@nwLMcuj!?kR;?95DPG7hw$-*7?Y|$4+I##wE3P@MRN}DT<8x;bIHee&%#Vf31gc)b^(W<_9qT$-NSzpfL^f>ztCPPo2!qg`X zFvhE65QM8f7n~x5Lx3VdmQr}uWti;QP1GX9rgg(Y2{?}7=%kRbTg63{9E@`(RS=Mf zkkI!6Fn~=&vwTNnl8)0&v=qq+Cn;b#u}WQkj>>yD{j7dY|J2l6V2#+A*Gi4Rg+SaK zAN?*(O~oi+@=!oD{QU!dotH+X`;b61a&P|VKT1%*-&uGYk?*ICIZojl2ZI+ zjheR`lq&>VOxjmobrOdp39{l!{-rAq_G0`Y$5=xgljfXhLn;NkeYH?939*D>o#}?PE++Jhb&kokyquqUM`mm+G;4DWJS zPLJCW=U}-r!w)xZR_%t*Vynm%W!>I5Z>@S-G)mc~vy$KHTaXRGz75ykw+?b*Q>tBZ zi#JCX#&`2J^|o+jv74ic9-nP>GDp%n1Q3+CW=s*RIG88;Qa9YNY*D&}5ay@a4O$gG zRfOX$3+>mOkzR;o6et*|--!}cUZWj>@tvFf?phaa=?V;hGh-pQsseXg;FSImNWZ>f zS$C=De}d4fYwBx#S#KD#B5MZ#7ODTiZTfcg#O1nQmq5;aw`Ung@<=!6f=tVdz4A1ZGdy4E+?MKT`@-U>Ws+UH z&t|Kz@>9NLZgH*+<7Eq%eSG{BaEONZsP^AEW0$1|_n+IXHofS?tx~_Pi^twn^*Shp zeDUIQ2G%#$9=AB8Z_xcnH*eIlP{0>XbUN4Vp`M854^#8h&i2>_`G2U=Jmmd*(^K_x z#8cDPt~&}KyPTkSOZ^dUfN-7&_%E9+Fn_c` zaAsHV3@_bM@F(Zmn^C^b7FBQ;EkfDq_%mf$|NLFZgJdsvbk5^|nBHku7$A;6=(=>9 zaC|<_eXVVP8f-j|w6pn;3wWra;tft(ZIm2Lu3A$kK(JQBsK5RmBaU?uyZ-(bWf23& z2I}h10HkeUvLWMdi+&{_Un{wly)@RRF5FDeXOw}mVmsCZFg&$E!)OHQ9 zT~2R`vO#^Miz6eW^tnlaSrU8)s`H=R5><((ug=YSI$Txgq9dD^RkQdiEe@Qt{fw+e ze&0-<%-10)U&=d@)!`dOKs6yhTL+>&qnZa)wCw~h_r%a(!46kh+zlJ63)2mkR1K5n z-s+9P%{iJ8AVr>Smp+4U#J~~m++_yMGh3z>y}&Ye$wzm8fEx6xiQTe!)Q8$LTvC5#JEc?MIRr`*^-{hXScFr?J-^NKpFGW@-h!UAIg!rcofZ`7q)7e)oaZB0P`Pah~weXQA?g5_^$(vFZk#02kDw@bCAc_;re@%K021Sd( zw!hp^dKu;9Z5vQd@nE3sfvvOjNl!4o9)!Q-$hhBX^d z+CBgyA~Vx1yO>VRl@2)M<{I()xA|#PQc_ukhuuv~48*9xYK7>>k8$F-Mk5DQ^xNZT zdu?GMz+!{4H&+5;BHtJrUQy$h9`@!ajWhz1X6(pnmM^Y~Z43?je%R#j_pk*DIDm_Q zct_H1*ay%?3g}R3MW3vaj@D*V(M^XKjmoFl3Q_L(U9A^_z|3PcG%_?P9iGwxviIqC z?yrJ&?{^7QxMW9`X&K~Q<{0ed6XxVjvXsDY2Q5kX-aefxv z__;w>S`i}|KOVoD!f*j4Eq|teM{8NY7bX=V_upo9=5T~0IA|9flYY;dR|m>@a<>zJ z$Mx0a1rU}<1ADa_N8+^ql*(zly2_~}&E1hW>G!D@kWa1lGsnxw{vVlj{e$1w<6JMR zxV1|+&sp!PU}7_|FU|_iaID&PW3hP|P*7gF54jDo|H9pM+lU!#P_Qw0Bft_GlaT;& zE0-lG=603R3^)6MEmJS2MB0S_*TYUH762dei?8aw8L6o_zfvfCU1DNYZ|~Nt1OYN( zB?4OEhl_#Ek1H?xl#wBf|FdBT-I-fvV7gyYA-xOZkZN21G&Zwy2>oY+Fg_!rBv8no z2oREhtne?T@P)CgZ?qpL@c};Zw`^e3up90{`%|N46O3qdDCe4!t)=mm1RT_|jp=~^ z25y_^ahpchv z&8~3^L)79GYQoK%3r((Ap?+TH_$=y=YjB2sFTV|<&(kn|?oW<NRqF4sUz3L0c^@#l}9fpk{izW4pqxe3Ztqn)Ia` zeNu(mcMLSzOrHiQBBI+v zP;KSOAW(o3KgLH76* zoxHLVZeVFr-ZrJjYUU6q1XX0Cf61MGjIjJLM&H5L@0nUB8A#YOcVak2Ci#vMq=#17 zT5s_M2E(MyX>|WjvrhErQP-H%6Vqkblc>qnCH}(uKrKU1;XFMJH03+Ocy)llHRob; zeLjDYpI9OO+8u;5ft2o`7~H4^19>h?Z%*gr;3x4pTXJq~g-Mohqsg3` z3)s7#V(9&u5y ze=(vC424(Nl@D8Wn@Cv&DoHuB39ErDum2|L`@VizM+TrTIvgx!l?@=(7G$dcW%1@a z03Tf6uzzAfu76E@k2a}w$O#Ney_rtGzfX!k8UtfRfXw2|`kX~zC~W!6{FbNmA8L#D zL4q7M#Rp8;^NAq^;6pp3Lr4Ih4BSb2GCKO?UNSlBZO*epLV2j@p#MVd5X>RseL>S~ z7oJ^;k4jqs5LTVLNA~ap8A`SQW%8)dC*^dbYeTy7?^Xcz4k1)Gl*4a-D~~Th?pZkt z0b`K8HgC#nUi!tApkkhH2j6PO{#y-qY|f|Thcnmw!LJjZPtKRV9Nu&o5MCb0!B{`$ zj}&kV>cdfiIEIk#+6K98d?3KH6klf*0vR3KPJX%PMQM~NTcUssz}|@fC7}Eq%(K!! z=bkL}G5=?Fq<)VA=%8nzF?l>ru%b*JE@nx%Y5EZUrs#uj2%*ZaFj7Q$y$ zaez29ybVNGqJ(Q5qKQgEojavZM{Fi=noDy^twqrQYC~IB_S{i6jmVT^K7wBN!12yD z;S7}1{qkUJL}@92B;kQ=q_l5$VJx63FO9$km*027*rJurczD}u&__9jNu;rl&SiJC ztwjN%BCko|jV)vczLu(I!e%0*^NqzK*Fq<1Pl_{5h`@sw40bX;q-cPXdDzX-%u@70 zwDBKHx5JrV515lkPJ3p!oO5BkW?taA>@DGe%60*phK~bT>RB56;lGZ}XRqV%G2i#t zXx9n?H+Ld1=uv$?KX5HNdgnYkYJ$((yb|He?#+DOL|v;Fn-}L2&N|IG9Z^M2$fjj) zy%a{NZV6PL^I>mM2I_xEZejbJ3){~Vm5J<TO*#B4#{O93PZAQjqMQoEMNuiTfB=_t4IU4u%TjI(@45GrbdcB%M=qnfkJ} zJd7KS^FHtGYqCnCg(t8H8C0euW?xR^=5&!beShT6$g}AZIfv+ucZQt49TY9OEsefD z`x~MB=a|UhLzq`OcsMrlGNJgRdCS&==$D{J{+o%AOhk4~uXUz1JdD{z&$f%omzo@q z?AGiTN<`WN>fP%7T9HJ!KSJ|If}e`TJX_7~PAH~=tZeLlZUmg-v-G6mhc%H<0VaG!>N8XpVD3pRBH zB@OpMXW~|`Za^L;JF?3)1*oGAw222G=pz zwb2>$!#M;OjWYz7rLYzSav5&XehZ~rz# zd&<7>Egb{^=ncJaAVqHn1^^sw=l-G~MB8J_o5ZbwpEm{w1f8R& zfl;0y;W!vnOaUot^QZDz#@Lg5tKmhy=GOLu&i&)dT>6OQD4VP7zq(ppuj`cw-qb7% z5!yxoiBQqX&Jb~v;qIfwE$3_zxHx3>N+ONuNnqLS{daVi(a<1Q%V4}Yu*JTHw2M?@ zzlBsSJcjC>@2fQB;P zzMQ}Db6c7!!Xs1dHFg@ckK8i92njDdSDMCn7ghrnL*fSv38wL;wWBX;17)-YQySC8 zd+Wn5ghvUq+=DOdAKAT@ZU5IKEc;_EBGXF9khAq(*O_O**~t4+w1)a83!g$hlY)Ob z==W?;qWQ-%eu1!6_gb}Y4*1iU<@67+zxbW8{xm_hShWy;%c@$Mg zca5I#F@1En`qC(y9e&0>E$zM$6jcv?35Kb6>%~Y=={_D9n-G;G{E8D))s*T$%Itj^p)^{Q=v9P{RzkC(f6l6sN`L8eIP<5F^jQT0LO{6h!2>*R z-_9}HUeIYkI$>rWf!A|#GW8<-mX=Kc?&Z;W6Z~|L80hdK(!Bz`<*%x5H-gII&-wpWAOxw+sj8~^#nVgG$a#Gdtl z=?saIJq$)uj^bnzJ=XVD-*7+bzKbyzeU!25!ASfWJ;7Y|41d8mY7$>`Yi@=+s{+4- zF_)PWJBRXp4QDIYSGsYqHy2fEZkG?qK0?{w`Vo_Yrsf|BnJ}tFxwB zpnMZ69&91p`{O`egHz^CZ$Cbro|C8Xw)O-YprIrZi>t}D$qC7I_p-OhH0g#;Dpoj_ zBceA_%4gDEya%;=JHj1KT>($1n$=NU4w}C)=a-%85>1p*XeSuky! zMKxN3vU|V!Q1oD4JAFz-M-WPiY4`%D4wxpk@9FO3|C4{X{b_J^$J-tB_ z*=I$})S!T@D;6mZVLmY&*bF!Y)ZP zlKN}}ZQQu;nPuN0%FQe!@=hS6+V34$a)J8M+^F=xLIyBgR^_8I06Fbg>CcPBWmTq% z)@jPM$%-S^Stc5M;V|;%d^9>7>^(2F3w51eoaTLZ{OUVb5;j7Owy+)=f{Z=VL(Hd2 zX&5>G54z2&>jdnfaIS^6xyX}(=Nj=Yl^J9{JblZYBZ}|aS9AQ20L7_UKQ9=~^jTU3 zJxlK-Vz21EV_6J22a03YMY?AS_<8n$UE&Q;5j2@rMJ-9s&5yl-h%SLiZ8!FB+?<3& z&e-%k#^{nzQGcT)HVx){KWQAaWa_jWFZgqJ?pF&)0hT^O-2Sls>plPmblcBq02uj~ zZcy16-MN~k{O!>2Z*4&X{2#uF`6h@ZF-wuLKCuH6T}gGKB&9bd`(E|k`psSZlV7+a z%;3dOQ{LwtqCdL6ED9U^)%%YXAOJ*kE=>O$8DZ11t?Z7NP%D;lkN*1NA@Ozp9-z%% z7#il^AQ#)UxnVo#93@050`He>z1v@VVN->)@2{~BS3f;BH#9>gOlX9C{-Ur zWLx5Mi0HM()2}#o&NEePa3~597AbSC>eZfUPE54UkDJhG*g* zE!!0B^dgC%B7aR5u%wopNTs!+-myn!jlxHpG`77;3@rNyfn0_GESJihJFVDfNF2?iK7=~HI6wiLn{8@@$N?I{l$D{HD#!ph6uE`3W~KK&1M z4QPdOG{!28p;u@dDcVxz1#}0kR2355!)YN* zrfQ`i5jYvCvDf>BDm= z$2e#VOpBHjre0Gid7*~&tq%#wo*8BsAwZuHW!>Zx8|9N=8qbOVn}|gHZs*pdnsBd} zc{Ns5gw;+U`axrHVr5ONCy7R9#jcb@aa3lo>XvFYg{qMDfLj3xP9z$C3<%XVg+A>0 zFqi@#hhoRBTjqz$Rq1NHoZ+Du0xUdy^IC6|tu-mybUWOw#m0lcBzfIJ&wW64NNlcF;OeQ|i%n z-@@K{$2smr(}|^8+hl3mi=^9K#SyMrp3Vnfc;9;wa1hz}*y=v#SJM-uG<-9&?$zE`2=ce%&)t+>}&ijMF%o%znIN zD96w*ME+AA3M9|{8=_SQrzKM60{ymT5_wU2o|lsQ-gh%M&v&}o7QHjbD}3df#yA(T z!Rp9hFW>MJYdN|8Yq_JiAdNccZRk1)$P9nc%A^XCsczVA3w8+|3X zAYBB{lP5p1j+@Jy_N(?5m~eA*1G)JZ%T+_5g$Rv4Az{xp24n_`0T9n&vnT659$niv z`iM7}Yg=HeepvFYe4;}?j#d}Z~oiee(`(S<~v4v z?pW#1cB~UTe{BjV60fOKmdj}s-ElQR3X?r-=%2;Fhe}lW#I13bn@AC0vYdlqDir`2 zkcc-X0?Pn^okQN)Be+27`f#!aDE(%FwzPo>29j_zW#rJujE`2 z>Cd5Zv(MtsOb821cg;kyi&7_>Mvd{PZNbH@f4sh*&(3jDQ@UlvvW+Wa+QN!yZ;?pF zS{^-A94Cw~?)~)=yfxBVOxe^I2c!hb7x~wL@8+r$>I@g$2?fLzrOW?6v3c_Ua-xp@ zb8QU}H9YQwvBN}8&Z4jraZVzmPEMHUtHwtn$z(Uj?T3XBFL*ey!^E~aC*S_Z-gKSV zZ=Z=Vj?Q68BtDLckMX2l+e_!pkB8Sw$$jddbz~=@kyH?PVD#$M!1rR03qnf9ua7^T zAGDVIB;*O1a+QBoLmrDi1z#RlbpKeQ8i#Oy-|lSv4`x*q@33QTP-mWHKdeak%!6^% z-QmkRxozF29ox2#hg(O8S+&G^akAV1H{RhmVn}3p@l<(Hq#fpn^L9+lXq~pKRI4c~ zQRC5b7-phW;c+?*8^;&)%=U z_gctJ7)NwR7=?4+KkuIZ_GQP)(*eCxatnO?o^L4RxX>ynT%sFyD-x-txSqs z4Is!88^hzcj9u7ycdmuR7#`nWMdNj=-Nzd-G@L3gI=LR!aNG4dP1v|K*J}QUNSM&^ zh}`rr(}Np*O8B5MjkPu|HCtf>!rku|nT&C7Z|f_>K602xJym7Xaj+ zSVGTxrPQ$I&jDtZZ?hn^{FwC!1)`ouW zQw8zm(qM1e^B)WL)tqaa>+v^EU<$kmWp~e`c2jZATLbGgC1GKj(D!cl6?Df7_q`dh zrfTCv`>{FIcBP+AER<<0eH)#(1LDUwh9*ZwpYTI>c&_{~&VmS(Al zLT_jKRurI1hm|J5rFy#~43TJV+~o6u8WkQRGamREE?S8% z$)c9#-$$ZQfTB0M3f;#AG(nptKV{IsT>{#4OP9B|9UZ)Mf!@qke>>2?7I-gSpLHxe znEc3LAp2CJ7cVl!0rF5-@is zADf#AjmLEjbd_F?nR5ray+3dwA}O+bf?rMR+SVg}gU6|^X*2ri45764Sx zv}ms*8N+TujD_?mt@=#dDP0Y!w3;o!=L)5b*(SL!NsTFZO`=h*^MVB-^4#fmkh#ZKCrOxxZ4xJU<~ScSXkJ3R9&q;`r<`75txzk>wTY#oOKOy%8yY6E9=X6 zYZX5&s=5nK=sna?l`3URkz{R{I;x6$H?QkrR-sNG!j&`a-wP}l;*W8m!tb$RhX$gH zZ*Sdsqf&M|I7a1^9~8!$s4G)}>I&Z4`m&51RaBKaOtQA6NC|7DCB}j3z=8Cszv66$ zC2?A4B;??n2?4076=%D!gt@f?y9mM@c!2aq+7k4YsC?|dp{`Ux1diUyNpw;?>H11< z3&5Y}pFXKdc1UiH^fU$NdUVnY-7G5W*~1;4F0MkO_O<91Ohg5pT+VY8)zq4Dy;XKFoFrx%IEw?dxQltE(=z<~&@+T@v6N zp>T^rDud@2rmN$VQzH&PJl;^6Yfcu+!X<0XF>OQh&Bp1umd^Fl9oK?SbZ?Zqc&{k6 zsQuqhBFHljRfPiS&&Zd1dq?%TaD+Ge`*ZEKEX13-gKnA(q&wJ#DpzNAcw^6Lz+(i||T@YwSiqM=VUok6BoN zsLgIur6p4(uO&N5;`hrZzpdqETK}YgHS9Zws#&Y*S=ARb6dgtzdV0ltHZndZMkfqZ zr{s?Jm}kd+8@YXZZSQh_4c)p)7+ew<(cyPptL{>&|CVO1UUhNRsC{*2R{SRkAn-3n z6l16DSr7i)o`X=dQWJ10OGd!Hx`BicS!$nGu0s@^b3D`BF13^y(a@vM1>=rp9|P0S zQjE@S3xARPPY_oojZTB49`|)8_&=JN`Mo6Sxc`3x{Tg_i1fp_vT7E#(WrQCDo z64WND>{WsP>H7DpwT~(`p-1%8Sk1UNktejW>II&}pU8AyF_>*Eg~nK|J%o@V+_m=9PCFcvG|wm+3pD4BPs7(>F-zh zjSsthXA@`y)7!O_X4{+f4T$omzyhRKRij)LHh*=JnfSwgr@xV#YX>KdB*mvC3j zHPnr+9eox5wR&f%rOClO%-6oARyw(F?n^_X)7gL6KeH-LI>cPew-JLXAIksAUq9BD zGuYozifz69OKpaLlCQhCi_9vM5v%UleBteIW@Eo-7M-4lYBHdor5Lcv>X59_F@XGkW@laheSEn5H`)z547RZ-g|*DBM* zQv~6bY_CTooQbxYbFCZSVK?M%6dQjK80*SAo&oAtF*O4i~ZtiF&`H`&Aaz72$T? z2q(}i*FzmN7D%UuCJn!4xRK4sHei3(tZ#C9NLt`g5TAZPM8H5Tp;G)BN|}Dl#z(+7 zP&Pr7ejvUen0g&v=M(b7v!|p3G7y*~L`!oW^QV;gUQ>J$d72<9uq_D7-r&2}(Z=Ru zcl=!524w-QKzz*l6fqnN_s>Gh@{?w|lpBP&2!mFmsQ&GDZAn2Q18PuhRl|8+qK$j{ z(N9$Et&HFp#`#wal;tD?w^U?d@(em zE<_J1j&wLSXvdCD{N6rh+i0RNj{Zabju@(Us9k&#Rz*&htnpn0`{DRe=|jlP%v1Sb z%Mnn<7X8$^ff=V6x4Hwro7mtsjvuId?s5AzSwW0oecrDBPQ5fS+Z<}2eCjQHMgU3O z=g#Ng()gVh;TxykMtW$x=J}l5(v04+r4*Cs6~yaygoiP?HOSg?5h=5?mG4)}Ho6>M zyzzDa-s86yhXR^XTSaqxXR<@KCMF<`#SKkQICAT!O(DSjqWJzC)zdJ?MWeN|+4P;; zYTsi>*=~J+b9X0x8Rx|JD{r9|jo>gxt3!l_Y;Ok54aa8DlpacDCe97{Xa!1|zn6Nh zJYTo@-J9*uCCFhAn6lIS-K(udD-I`c4>HQ9H&&)71H#6gkM7%QJGBWtZDJZPK-SHy zZs^KR|06_xT*z1XDTTgVrHJdHcH@iq8o5R-DsdCkZtbnEompMKCN1^Zi-l_ip-N7q zfE}O^2QVUNtb!M%MpWb$TDNT#;IIw2+p04OZ`dAp>Qt=Vc7kY!|FrgYW6gE}@>&bF zHwXka)8@@3t2{w|x7F&7fSC3KlxR_1-N*ab7niV%KT|XEXM=e)FD@)H6o26hp7gt0xsVYf;yR~&uWXROP$^CHW5~{Z@L*_GTKD+F=M&{x1nmU1A_+%C9phin6 z>d5`_dfO^UJ-OH|+grQp=Hdgj0bt3g2mweG>8|j~vdgh)27-y;him&^E*}mb{OzAM z4dAQD7T$oRUC*2AU);m@ADnr_Kc;7{1N6RQ#p>D?a=gp;E zzd;d}@GX)0M~uN4zW<)u_&1RcqaVJGaYzs<7dH9}<4|6o0}=z=EDq%_T-Yd7IwZVy z{4#H1D2ambErFt#?oWpc55paUDh3N11>yIcgnUpPyXD*lXZe0{F2=mMl6MJS?$ zTQio9iBdvU@XZLkhiN1tZbc-1tz5dHi|E(N#C17)uVnpaR)5!-t9{NfH#c9Dr*&NA zNA?P;WPwPZphV(bCkgRowKL!EA^mST%!!VX!ZNh?4F9WZoL=UZ4Y^r6Mj`tWgLxWW zLw{#Owbj+j-rK&~8v6Iv~D2D{7H%ml=t6e zX`MZL?6b8#m)>HHu+!bh7UJoRtA?Za20Ahl{))vW{IZOnY=haRjC2Y6>}@=XZ*4*H zAAl@%O^fuu!*4R;rg@PoxxX7oFGy9K&Pf?c9`h!i z9=lCE@M8orY2WyND=NzyM96s(Sf+J@-4jw5b0T*CLSf6w!i|RZFHg< z?CebJA%qrU%$YEVt_@>x=&f@%pu4{s^WVYeK@P-vAo96LL5jq)yoY1mxkdt;P$*rW z(`!x>9EpWQN5ba;%QR+VfS@L{qIYXdbxdWAYZ0CGjKBs`s{K9uq=DE`DTz3V>3+6s zTnZ5i@CzZJnBzkJU@#?y8i*kMpj0CeNdz*?z`?L~D{Rib1bvgKyS*tv|1=G2Wk+!w zo}e0_20um`8e?^rK39_wTyMXmi>+z%4Gr^+4Y8(z{2(g!13-?Adf?b@n$jpow7s)* zI`|XVGJeA6kFEm7mMx5evCyuwmhQIHD5Eio+Rba;`Q(q^MIsuPwj8TCxTZBsyaN(h zb8sql*>>e3(O1T}6}&$_u8Y_;MjVTaAG3S(aR+`@4~=!%by+5mkJzISNHq>S5X8<& z2$j%?I6lrTq=Uq`Ob0pjn#1rBER4(mbXXFi-r&0nLzllna$`R|^AomP4qy8i!KruH z05HJ@cJ+2x1`9tu%Z-J68@fztmAG`fm5VE!|0W2Kr+PDs&35xO{6Cr1Y7Jd*u%@gL)Cgp0g6S-XOL%11D&^h)E6Wf|%Y6ZPMv-BxaL6_f ztS)F`l#Xcz9LPQtH4k&p>u<3b?O2<+Ao<>EDu5N8^LTmV3D0B5h2v`k4WM35H} zRS=6{!yBi|N2oC87FJ>X$AYWJS4b%;3r-VM<=LPlU?ib(OR7A=WU)^X2In!bAw!tE^La+IPUb??}!|+GZZjC$U zf{*Q3LHcY?8lWuR;)X?S7=?2@=>$TQ0R!xNs2%aj@?EQy3gMS9aet; zVTuFui{U^MmEqxDEgvi`RR??sxQGYY?);J;bf+r8L~z0~)n0pBR_156R?m$;uA@u# zqW78&mhS3eRQ;{3U3(P+R4`i`F!6r+=QiryvmFOT0p84M6=gpD;)LoDLLp2g1C|kl zeeuwRsfzisWbx`u&LdB?tgfZkoQM7nQuApVk^)B|XTj-%>4;)-j`ey0kLzD3D6U;6Z-PBO%O&3U zL~|Lk@KW;{&3&dgSC;i`zpJIXxjC-HboLvvegJ-`tR+zVA&t7{owwXnom_0^ZP>YV z4Je}cIGcY#JU=OZj_3)`dcqZK@krTsPxy=Q3Q;P3xL~z$0O{R(DCX_g$M!ntK@CRB zCDX%4I+A*QKs@Q5dXeXPlL$zy+noIR?H(wv{A*J=I`(m{kkZ1>P zoMHu()p}QbjCS?P(3i4Xb;yV8GcYrI) zB_c)Pz|k6I>A=h&4=X8tmzZfYco=YsfZ*kL9I{a0SN)AnYeE-Nh|v&?Q&&|oCsNws zwi}Cte!2R&y5z;;Pjag$a6X?M+?iEFCvOR}UN>_n;G;y$@8U-R z^bycAP%2>5KP=p5dYjg%hF3pNwyiyaE>JfD28a|<-FZ>iT#$#-nwCTanr#@9H7lia zqBwAq=w1Od2h@g&9oIF{DkqA-6|=;c9x6x#Tct%p0VbSU6mETtpSiOwbX0aIB;4rc z?PhV&+q={@Zf8gKth>eBO8ZaFni(=(5*F-?_j*RN3QbOf=&*md!qpOCM(0V_<4H7~kuQ&so0ajxpot z60t7uP5Mk}8vb6_LXZXd$`j)vbnl^4c_c$m|0g zA`_;UYP+?D+lhdhS(>*=`as5Q17YYYzOBzH@Pm{%(2xk-<&}iq&RJ-H4EIw*n|b}L zN#!&96xvti;pF$^U9EHE%%Qlm0&05@V&f$@x-hF$X4OnZd+)8rKd}l zIAE_DB4I?@%lY%=Gptf^t%panxa+cH!4?G_iMwrGXyA9jzYl?qTcj~ch>WLZ)GgUI zDui|B~uA%L}oOcmM72-F7qZ`cYv z@Q6?7SEx^7h#viS5+WjiBXA2^?Su9+^I{{*P*l>qd7wl?Gwqw%QsC6)w|X}O2~O4K z?Y#3^;U2#vsU3LDLg@hSvYh)4v0c8^MFy}e^dQAgTW zAGf2%&gYdbrkPod*?3vN>f3tWroL^Zv3h|-50JbSsB8jZUCy0eY;rlxiN^DgiFx@@5AzxJ!W;K2o5ARTR>igS=6 zYJfuj5cA}FY+&qi5D#pBXN}C@sDWnAyhyn|7_mMu(D0#uP8KQE*JqIScDHu$$LVgg z-%Mad=UlUMl929;P^p4t99}RUs^=n(M4s#1>m2KkzHzKKqr7~?j}a+cZT*o)nq0|p zP{XzQ_E*Q0oP^32*gq6iD^ z%;p2ZbEOPut_;bhdOKPp4kT1KYSDcw#dy^Svh|o*Kj;56Gy1td=voAH~dLuDf5ou!0 z!}Pk$kQ{mRLB;iJmS3$rfchcuAJF}da3~52!$J*euDAA<1iAE0y7y3$FJzW?vx=ll zt18pEH8U)k1xs?oV5(mD>9`LPt@M(D@6{Lf)Z8oW$!|IOdr9(_;@Y>db!>0M=@;?K zcah|-=#!>Cn#$Ur41O$eNXJM+z0P7^CU0Svr9yZTwNL&|PF9N6>G!&Bek;+gZne?< zQn7ETCTY1*-HQ!wAf{ct3XGrUp`igl%X}uo*Qz2tUs_T1Qi*5tG0lpU?_M!@IS&Pa zO{~eA_kwc|dQC>E9>bpZcw7->BD;(*s)3hv>n&C97|%E5w2;#pQyS7&A5! z#$UWbxH90)FzmcWvI;tmn!LV&+!QGCcn;-ZYD>Rv9j?amnH3CGH zZ{mqcVo|L=%U}J0^TFoc!@PPoN{h*4%VfqY<`}8xs=;!<>S_9!I9k|AY6wlF)ki<< zb4^R*Y}=k}4H}H4DFE6$Y+G zMy@F^w+o`__)(5%AfBpXbI3?%wDE5-s}Gl78S6h>#@)r=8YwT%A;D9- zf_HzL4B~~IM4lVKNSb>rpD-e6qwP`bQI9ON#H%PG7lHfD#1qQzUf6D~|S)VQA)`;I*{2 z?amWNy(b5vS1--(-DcCbA^1qD-wBUmrGm;>}+gQq1#l>9o6tsB)9$D<~S>D`x_fHtynla8<3(n zx0j2}9eC4qChbf7Prfu-;V=akF9kILY3WP`eS$C5Ia^37uGmKAv&1QIWWg`1$)eE)~p@5*#&%2tkHh4%)?0M%FsvWMa` zE8VImVJzxjVTC@%8#W1qM5Qlbdq#f7CRJf+#6ovL&NZQ!%k8TwQ@c1d!;9DH#`t1D zGh=P@nb7L2K6BcjCXUjLTD~~jJ*#OFU!Y=KT>`4bt#zA?vh8Y|jGyF}%R!Eo}`Cs~FIisLGy2 z^t}j@PZGWO;nKR(*W=G#>(5wk>w-2#U_9U}<->U_C;q}cS0d^*&&G%VdxWyEboZ+N zPh<&k{{0HSPKrA>g@eJ!`NC=+NII; zMe3K^M^MtnmYG1;6wlF0#GLn%sv0TrU~8{IcmZAQ9Z%pKXR(YNfDNk^2jM2|M}8;% zXZSeUn;eab-U<88-vpH98ppnOY5v-3qvhdy|FmXb8EWRHC94+!lTZgNWJT3IEetV0 zk(%Vay}EyCPSNvZWlEEOLWYwxiihz*BcL)N<)ybxxRbRi_tt;VP>acZxNukOK` z-Xz4nD=1bf{wNyb@J_tINj=6tN&%Dvh#++Fr6Y58BTt%`NXkM443)dszVlvCef>vJ zZ(+SpZN(FLzMTw`!SWqx2V-sumu7HwpZ+lRV3Nc^+wA5#wpNEPcav_XRelR7rstr} zk7JAa3x{x>@d+yIS@fvzjfEb-jDx?b!6}G(&w1L!5$F@W|HdEND}g(4#C4}UJG)$m zwr}yh=`n!0fP5C77!0lGw7-^;z<$zbxy4r1z!(r_D|)-HCu84g=Eju1LU#&AAT)&D z7XhvaSg1+#V7d#Pc&!`5`KK91t_r6!%9jregiwQPYYLu$S!4r=vGT{|vk_fbEj8lx zxoT;a!($vV-q`+*pi?)uB~*S{r@`AGiC088(U%yUW{xN}=bu1-F>somXgf;ZrrSsF z-S*oKJOYVINQ_h0zB^^Bky{bjd*ALnarOYvhn141hB@9HRe=YA>hN~iLc_P?<72iH z3w<#wV>bBW`8Mlke5nJR)8qX#w|&)cFeDnIAA#C%x2{{evm=7C-SGHP{Em)3{;UI(wAZ#hoR+@? z5xABTOs=J0Yywz^YzrRSs-^mPXiF8)B6xjYQ$SUtw4knX^ShfO_6vPq>UX}s)tj{u1ojJtL1xzi`Q^ql zd*KN!_Jg_WGwqMN`!p4MUEwTkt?^$-qrrXAYWgMdQ zR>$*pr)})gz^z*qpWp)PDv>GHYTt_!A-&eKw-lo?6H{8V5tamD~U@$<{P^ac+ zESa5R9pMB73>;^>vo3u<`(eUH^;UTnA4HFh#ObJmZrSm)Ze?7~a!lc&2N--0|c3nZ#Wkf3m39+@v|^q~mha zi7>eK$SJOs9jC`4JQw?%GrGv!yGxb4_U>Qpux4K4o28ht3;43*oRx}GAJ!C{;{JOG)i`}xKxh^fy# z!!md8uiN_jSHt1@Pa0syb$6*t%nsKU@9)9P;19>$jgW0{hit{TMZ+Lf&sz1{8BX4{f(Z)X=DH*H0fx9fho~t?CzApto9DAir$M{3=p`UI?PUbWn1ykNCI9Ckio}H!)mGptS!2j8 zdJdF}-wYYpO|@LB8uiUrgjX`j@Z$@A^Hk`lGT5ke(f2Bb+`fY^k_yUok}?vaDoUpK zK;r>7q}9v6)@`6vG1HAt@{HPUsB<5JKplyuaAQ?CShf1vFo2~3W?V|W`Vp-mbO_W; zS&z&2o!y5P@dg1Lj9*CaYhp)|N|W1($*>kRqw2*GDayza3M!r( zV{4`?&RbM1Wi$MHC3YL>v?4b-o}4&oxRED#i0|PobkS)owa`Dw`SKS3A&YI{CtHS5 zuv%^JsNcnLtp%eEGOI+7z&q zADY%V)-XVdX~IOs98y@4a6)$%3sXBW7`IQ?IP-WSJSD?KlI@Xxz>~?xX=#hsO;tD4 zjP=)bq{py~==T?bCl>2MZj{;z1V#~<3jT3&h@Yb>R7XA_EOmkQl!dUFYQetG4TKN~ z)NwC}!zoVH7K>7Z$$?OA!A6zCvsH5mZhlMWGbG99+(E}SlTP0FfggH0i2rc#y~!au z7)e-Z%2J;~5#7b5S)HUSooe<>u`n|7nv&TM@*xrJ;joN2T_Mcm`a$+29c&FFeceY; z0KrLzU;HlDu8nxs@Ou|DojFDjKVMZjo~CCj+Tn>fzQ?3rMg06dd=r+8B28}gC zIxaFu>QrrC)Z{XT&wcPf7Ml}$KW;l1{f)V#2NelL>n_HGgto`(&>vA9z=t#<`TafX zOWlN#eg8QWi#a`}qGPQ&H9>QIj`6!}Je#1Urn+&MxVJU%)a&6J=cJ?ScJ@645RV># zR{eTPTnRyZ{+!uQv9ezo4}z^4>@vD`&^(3mRxb{OWUGsE?%WS$Lr0$QO2kt2#QWCH zq4;dweyiYR_$dvfF<%nd49F5h%l9TFYWL23ko-kkviX6iJmN)<-+$GEXXTb5$7Rf5 zlI;AaHOjW9taekLQ|$she@3K^lo48@?DU zf@r37fiKz5Fu!hib%ayrR+0RDu2K@c((k5P-onAucx>~2Rk(B@rCpDrYec?W>76ct ztzX*xUMTRbbZh~|Qnrzlz&JeYpwm5aw2*5ARj;9)VXg|}@L!HW#eECbKWK>fx5C=ZMIOCb(`RxMM~NUT?5{ukf3PseaAVrAKx z^WSa6uG(z*Rw&}aU9hQSnW1zZy3R)z!vSweTsYij;dAQWrW@jND)_8*bfg~p+A7QP zbFGuWC5nEhCt;DBe3gEHocBIOpssT2cKhk#aGFQ*=?AWDpSQJ>j~oolWgup`d0!jQ zZkC5db7T|yThGw?))RDyI)|2ZQeVQ~rI7+JQW>mVJRs$rD5d=L8R?WOr(C6BXNV<~ z93@1Z&<&@hkvfgNV=^^m()FH8An@=Df5EI%zJqgr66NFzw?>)yr?SVT9Bou7Pe68b z)K2D;&Dq>15;*%*U{C;!v6VAyFmaQjY<5=u^{CeV1?^)0SR@Y@IK+A6s>_zB z$R-8Ib++mZQus|cz}fGENdA-Mz%{$T_ve9A0s&I4V-l&TF{GXFOU)GJv*Wv~ZLaAQmT^grN!6}FfsU$*A zeHTee1VE=AePk6Z9GsloQD+nuc98vSbg=LR)?-a>ss9n)<==}*Q2A%fBmM#o!P_Ct z%ZGF2>+_88VXFAo|4jIU|0lOyrEh;eqyBj5(0BudqqZNrq5~|tPZVCG)3!+aW!f~%H=U5@vc@MmnOF--GMulEx4 zY2*=XofNujekyYJ-}D$JSz1O37JZ{M$Id$*AG;=W3Pc|hpzuXxhRXxBolV6yr_Fn2 zc^P^XoZ{F#VU!fhNR0cFmm7F0C?w=of`HxbVd2;2=kFILeGoQ6*<=N|uYS6k7CRM( zNO2y47L#7of$Thdx8vqA_*5rO--l#1KkOhG{F`MqrzxgF4_z*2G>NW(*+7t1eA(ni z#hCWAgI#$v#TN|;K~{I#($Hvxm(*{E{(KA?rl7B;Ml=6tksbRBA`TB2ri zB_9b)tOuzC*bw((1l0qJ+S@n*$|Bo*`1|%tt$O^|$51(IEe}(HCjD+s(`_`o;QN`44 z`To$6^x1SgRz;4vYwy^t%lLX8%gf2k(o&fY1KLyD@m{>^4S^7jhQzY2s4){GKbV_W z*dkHAsj1IYD|Q!lXkKsB03dyS^&TE50CjS0>dLmg@83{gPM71iog(KzO5TLDFRPgi z4@Xp`pr@nM z>wj+ad;{H9#@I+SloOgdD3JKrW10?Jg;cb{8Q3KCk(jY==j@-eULkGS2Km0bE(5OR z(xw^#>H<8=iah6MpY~cfBaAhh2LiWPBHafKo3qU{ygs=8IFny7adA%D-eb!QPPURrI z-#^7yQLMUMy>d$oNIegeFNx+`+uE*$0Fe!RaV*BT1bGH^3!QLal>dA~(@k~7(mG(M z38TEJfdGhG&o_txtx^J`vK@~xAQeF2Fc;x~1b{I_{+=T`^7k1adHkBWBm^i4FI5(X_{3m0;O_(m%&5g@6S3sA%~bMqsA6BjbpJyHwVx?kkSrDmkSUYh5>@_`zX-IeS z2KBPv#*pY#<__Wbx-0D;3EPnB#oOj0w@qg^;_aG!dAsROY2kjI z*8X5UJ^Q=R>P5R`fR+%r1UKWd!5iztbWz!dB7!jP$^{2%R(kV;^!upWC|3w)S(TWv}rL!-=RuxLtHzPf~^DcD4Mp0@jJLA3@H5`_3n#%dP zLW-hF-nJnUazfd-x!KrkAT?4^tkf?fL2&2uS5@IMIBhxEA}#ON35Q2JweeO+)$tC( z-q1|MKKedO87&!e>D=Qisf+0?`w!rxYn@3_?*`P#8!RI4(;4YIhyXLb${Dtih8v=2 zYJ8zc-V2gWcJ-mRz!1w#I-F+m#2?-yb%`w0x{c+g;zy{?H#An$q;`#;dVT%zjY8OmR#^&d=>lXgr1C3k_44;W3WPK6nipyNB zEuyRQ3qpl{`aAsQ+Nl@Wo%gxis0NuCpbZ7=YCCTAtNOnsesbo8t+CX~2w4E`IA;v9r{YHn z3?+ZazM`KaWdFMFVSafDu%K+fkL4++s_&bJhM9NM^ev{%p_UDu%_Uwk92Gv-2w(nd zO*#!;Vb^KoPBmzcuz@!lolj;kWPIKR~5=XmELnYY)*%$ZgO=!pLIa6jym| z{=4TFcVRzvW*w4*p2TlRpf;sEGWqVN{XtQmd=im{Pj%CdrkCVX8lO|rb_a!loU#>mFBvWxC#Sli`oIEVbYF@a!?z|BK+0sfyRZoT^M2c=!sqs=&aac&A|;pO5f6L76OOPfE(}PQqVRM=e94Had!Ar|dJV&y`#Qq*8Jgh_=%>E7Kfy}J5%!GW+=43lSMMpEVm|cmMN-xn` zIw2E5z^KvZ@*K$G=A@Zd#er&f3b-2BI#3P)&VIB(_YXlQ=78rv4#edfxxx!~ zTPLJ71I^E-9a`PrgtL8<-yovZJTTgcFjrd2SM!J^GfBKS4|%%y6DzCDP`NK5U_cn2 z4Ss$BnHj~$=(so%$(dLuZKes9`m&5Ze_2ezqEGa2_*6vJKDwpFu8TDI2 z1}*okCFZ-0lgVSfV`z*E`6qndbMR@)Vs|Dw?Ey*@P;F{FUnb~)+~Q(Pi6w`B;#rb}7h|CL&>s`=hz&uAcPHFmu{3IKovZ zG-VOmU8j3P3%^RA^4jr0#4?>Jt8>Wlg~|g(e5@?7ph^zs^rXr+d$`)`M7EHCPS1dA z7xUv%y7%w)&CZAD#EV}3zYs3JE>N=lrHGqVWQx-fH zEr17RZal~|ksH34za)abTFq;K;*zk2rB!FZF1gKZl7~r`e;eP-`%YA&+JP(q8h{5b zf>#AaLQt&9e55y_uqx55NnAuRqz^g2 z@G5j}4!hrnCl-{~+xL>uls`Vb0fr3x!EV>ywJ)Zbq+P8PCBsA{jSoOqmtS9J_>_Hx zKy}yCQO;l|rS zL}KSil2;D0M&sF_<{essGp$J6;2z_R7huq$b6uZBgK<3k){Wj>=cfBJ&hv7ZS_LTe z)%13z@#zbe5J(VK3$*b39lhA8a96Tv78WqQCuRkU0s&K)XF5#!4%qy6wAy)Uc>>$e z!m;;{&N1}Bf-;~`C`-RMpf%y%mba_oDDKQwi=kAqYDgbnf?*9aXe-NTM=Gp$(ugcV zDUzk$DkzkjP2+`{BrgmL{&?8!RAB2(z7Rs>9_0tyB8;Mp63N|9$7bY{Zw?`omq5z3 zX9B3Pj&ysb$Fb}5;C8dMsEYT?E>pwQ%y{*2JUjQ%{WBe~6`nJM8U>=cA;ui@OU_gy zO9xC8h-I1IC{GoMTvttTNWvAv{~SM(XzzN}F0|{N1&LlkUOl7ECd2=L0awA`rpB7? zYvN1X|7<2Y$L$csvjYrPF77x)v)p#O+gX7H*SB-3D<9we3}AQk-$PBHJRL z1hqq5)qV)C)Nc7HJU4B~?8^p{sa=guO{eo0*wR zfEK&A2TQ1(BkZG2ksH3fufTsVIH|^qUSqk+NwQo$2AA-H&zeXcy5o}D1&j)HCLlw= za@M4hef6X6D5Y1el-d`|C#cX-g9cKYESPAP#`4t57totG0gsjDrFt#Uv)dV7Fzzeg zR$RdMe;%-_n~)q>3mJu>iIP)8b#1!EUdDDt?`*_Oy_Q(%?u*e%onXjNfxq77%LOm7 zOGh&xBY_Y}Ja*ObFKe&NCPV-UZq26VPN`KU{r$UnJFG71-cc3U>~U-n?2YW=$IBQ2 z`(U-2gJhmnJR|gNyf&`#I|y{E;YtQ%g6w3_lu6iezIzz9%))a!2cj2y^GF=^rL92yzd znp8aq?ul35B~~8edk;~_@GCVsiUlkNkk9uULP6xKKFntWXYbHSIP6-lq`%ajn0>C{#}HLTw6HVKO6jYt_+?aQxv$UF!dnHg{d!+kr$$@6zDZ}{#uT%;1 z9B$9vjlLC@EAa#S?vbnVc_#U!?&T`K&HEzyZR4F5Dg-}a7jBvIFWZ#LN)D&%A2`cq%{|4l}Gfi5N%*fMgOCEGmqS3 zD>&*w5}vslA^j6W*caH1FR@Y}%7MR6r2+C% z|JtP6>7P&S(7Ei?Ru#5TA`KGl?udFo_~Md1$!-_OD(Qv1CK;`K`toOzi2Cgzx=fqh zA`}rBrjm-wi_@X=<9ce$(UPDNo&%<#O60!C+{d---NY5LU$j!dx8F`d>r>j^$MSh! zXoO#V#<^d6HaugY_vD15Ul_5V8zxZFI)BPBW$Kw<6A(1UfK&zvKuWVva?$qh!hmAj z$kQgg_hwy}YH**+=Rd6-nnLqe=zB%f6j<&bE;&mi`T}=DT+kZZ;XV8SXf1^|&~S$| zc4#4>XEfc#X}o;f2~1S-i)m(%oI27W`_WwD+}>BB$IUiqH!gLNs}k7?VFv9v=PwTm zj(=bsX|ccnZA$3YMZl*4K{H3dR=(XE@0jSfaMp3h>ZY zymc|gEvi;4yeDK@8Fm!|j(McdU0(xXfHMRzP1AudJY#AVZz$>pXa2k@2AM9<Fw=XRaVSHTXB!&}O0Rzly6hPD}(M~%C6h`#ak}63`M@c;bF>t6`&D#O^#_F+~#w@-#7v{83CVOGxO{NAg zqBWc7;p8mrhI;|Oj`FqTFnseBpqxiZ?}+A%kzQyVXez;Qc3V9FAa!*_$NQM4h3aVo ziY3K6F%Sw!L8;Huz0dpXDB-fuM}BDe+yKz#p(&z)88Yydk+3*@&PC79Fb>8UQ(|OT zFtZMLEp>_$y(u3SZKaZtAG`_@{8TPZG>PIUE0`2@c#E;pm9^=NH{P(IW_Y~5|ndh^H%(>YN z$fe|2zwvwwt+k0RLHT1*<&if5e{0EsdqXIccB?So8X#l>TpG|r+tQbtWhxzyu?;HF zZJC`<0&n8{Ge*lSrS-Rm&Ppw@jemKVYYAC-m}rR(d>C$_N@TV3j%eYs-kgM4Ro&Dh zyhyI~N>;J&0>jVru`{wkaO~>zJ4*40hi+MUl{mkdUe#wXp2>*#vX~vF46fwGe9n24 zab@3+`A7Bgh?&Hp8+-lqz^D6%^YJZJvr8|2gmIe|e6T7rRCQ>W`Qfsd2!=p6seUwGIKp9eXnCp)f3J-25+zgbR&W!jfkMo}UG z(rMK)xA$GzdG&Jf0SGY!>-!HuB4BzzWB0>Nl?7N++-H zKmK=B<3`SHJUs&cl3Ub(SRqudWZlHo-EYC9UB%Wpc<$uUYf1e1WHz)J-Z_PrfMj_q*nLVk;ne(=X`#nmQ?7Q z-@>T-8U32~_#6;cF|uFJJf4(s1G`RacL?*!9RC4UFg^=hYSXibMzD{dFM<6?cji#o z!o$a^tFC(I)d$1JPXH0(c?`&XKa65N2 z;GtcQ>h3*;=pB!6uH$ytybSTk*~R7&nDz27bfH3r!a#7jhN|RJ4Oq;;y>kIC^O?V> z_bjCtOUY+rF5h;3ZRQ}Lmh_&G{Q58{J5sC0YKuQ;e77YfvVzkwY&p+Ol4o#vH;cmf znhItcbORJ7vY2pSDW<4%MP@zL){wD9+B`*I!CJ_1w&=wKjg8hT#Gy~%7^rg183t>O z=ELbNS!uE6bS@a-*!s!@juB$F#P&Ow#~%H+)MRC*c=&NOI<@&?Hgd<3^7ic=W}x-w z=PKB%9k{XtXXz4Od;MX0-2+LaMto&hF_hqtw|Sc};*JYV_aO?1pZ)DGzMXG%v?24} zaeEW^!n(qu{gXCvhwEuAI)d--7EnK^^8&jlJ1cS>rbRl;`(HlvBgaChB=;TfxID|B$k0%B-v!1*c!S#7914%K}No31ECyN%keYM42rJASjS zF#KQfD1M$FM{a3qd;w)0d~KTAGd*#*FxPT(R|TacMV@`MyaN-h3X!H354+*9wKUa9 zS}wpWitJDU`aXQiE-6j!|h%#kvdMsMIgMUH>WWeEQ#m_pnH}_5CkK2iNzx1OjBv!6z~C;>_cC0;xy6cK^eV&xj>{s; z16Sz$@-4}8z_->k-tC-F?YRi;{1Bqbn+NUj&IWWD7wIpM&r3R6Ne%r%1q+)889-GL z1F|jkRj@MdCf6xk1~9jrWM(L%DK@Zw_!2QW;3Rsd@hARShY@^8op5Pw-byy`&bND+pKSFtm zOn3@DSl1Hu^Es#W`yF|Ut4S6m1$|eIr24g&%P&^Gq>>$fNj}R_1%jO7h`{@r-xER2 zaU#;)%VMA|o9->cGB|`R2~v&=#IKs)v1PF^?-vI-xwU$OR~!$l2BlIf1}UDBM3Dh~ z=*j`PyU5P|Je77&wZ_OKDkRKmnW6A7o82F zbU$HKZQ*halnz{aKZ(xGhG8`aak*L7{R0ms(wa1#{q3>id6eW9&&pNO-@2H{)an`g zd)4}viv7L(rCwy5a-)1}hbO0ax%MmhyL1nPt^AiA!R1CGNpk=+B(&u52Vb_>xDHYp zukvhPLjH>6rM9${ejy_}@KBzNrrDnEbBvzJ-%;bP@!B4KY}e%eqh4~!^rSayq7dDT zKl{y#f^D=_{gQv?$7wmz3Rq(6ck*R&^9uogOxrJHN9a-+IEH}Eo3DTC=CjX*$bo@3 z8~3p_9?3j70WdwzoHO7n{(+&?)icueYo_F;#LJ#Q0a67hS>!yADPP>z^Y1mqrxe~b z1hE@eCK*^A{ZX}9Y3du7Fj6rrfn%$4sESwA?6)6(`Hk zi<4HgtgD+>Mlg({8AkvB1XzP%000pG4QTT+fdiRlc?3kod7?f+q~SmiX6DA`f75N( o-IM%8o*ehr=#Iq=Q0BvwUBdJ3D + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/img/docker-logos/docker_logo-01.svg b/app/img/docker-logos/docker_logo-01.svg new file mode 100644 index 0000000000..c5f6b41245 --- /dev/null +++ b/app/img/docker-logos/docker_logo-01.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/img/docker-logos/docker_logo-02.svg b/app/img/docker-logos/docker_logo-02.svg new file mode 100644 index 0000000000..381aa6456c --- /dev/null +++ b/app/img/docker-logos/docker_logo-02.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/img/docker-logos/docker_logo-03.svg b/app/img/docker-logos/docker_logo-03.svg new file mode 100644 index 0000000000..0e3c0e22ed --- /dev/null +++ b/app/img/docker-logos/docker_logo-03.svg @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/img/docker-logos/docker_logo-04.svg b/app/img/docker-logos/docker_logo-04.svg new file mode 100644 index 0000000000..e06ac3f06b --- /dev/null +++ b/app/img/docker-logos/docker_logo-04.svg @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/img/docker-logos/docker_logo-05.svg b/app/img/docker-logos/docker_logo-05.svg new file mode 100644 index 0000000000..4fbbf3671d --- /dev/null +++ b/app/img/docker-logos/docker_logo-05.svg @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/img/docker-logos/docker_logo-06.svg b/app/img/docker-logos/docker_logo-06.svg new file mode 100644 index 0000000000..cc0bccbdff --- /dev/null +++ b/app/img/docker-logos/docker_logo-06.svg @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/img/docker-logos/docker_logo-07.svg b/app/img/docker-logos/docker_logo-07.svg new file mode 100644 index 0000000000..6cb705a9bd --- /dev/null +++ b/app/img/docker-logos/docker_logo-07.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/img/docker-logos/docker_logo-08.svg b/app/img/docker-logos/docker_logo-08.svg new file mode 100644 index 0000000000..28734a80b3 --- /dev/null +++ b/app/img/docker-logos/docker_logo-08.svg @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/img/services/bitbucket-logo.png b/app/img/services/bitbucket-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f3c9a9aa9599ca9ac4df230e72b46208db3dd7c8 GIT binary patch literal 13742 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 CB;JGo literal 0 HcmV?d00001 diff --git a/app/img/services/github-logo.png b/app/img/services/github-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..582c451dac8f2077606eafe2d5170b1a65b55e33 GIT binary patch literal 34335 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

%;rltocs+9R7Nv9Og*<$DL1RM8|Y_$751| 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 literal 0 HcmV?d00001 diff --git a/app/robots.txt b/app/robots.txt new file mode 100644 index 0000000000..ee2cc216a6 --- /dev/null +++ b/app/robots.txt @@ -0,0 +1,3 @@ +# robotstxt.org/ + +User-agent: * diff --git a/app/scripts/actions/addAutoBuildPushTriggerItem.js b/app/scripts/actions/addAutoBuildPushTriggerItem.js new file mode 100644 index 0000000000..a21b202150 --- /dev/null +++ b/app/scripts/actions/addAutoBuildPushTriggerItem.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function(actionContext) { + actionContext.dispatch('ADD_AUTOBUILD_PUSH_TRIGGER_ITEM'); +} diff --git a/app/scripts/actions/addCollaborator.js b/app/scripts/actions/addCollaborator.js new file mode 100644 index 0000000000..37525ee890 --- /dev/null +++ b/app/scripts/actions/addCollaborator.js @@ -0,0 +1,29 @@ +'use strict'; +import { Repositories } from 'hub-js-sdk'; +const { addCollaborator, getCollaboratorsForRepo } = Repositories; +import has from 'lodash/object/has'; +const debug = require('debug')('hub:actions:addCollaborator'); + +export default function addCollaboratorAction(actionContext, {JWT, namespace, name, user}, done) { + actionContext.dispatch('ADD_COLLAB_START'); + addCollaborator(JWT, { namespace, name, user }, (err, res) => { + if(err) { + if(has(err.response.body, 'detail')) { + debug('failed'); + actionContext.dispatch('ADD_COLLAB_ERROR', err.response.body.detail); + } + } else { + debug('succeeded'); + actionContext.dispatch('ADD_COLLAB_SUCCESS'); + getCollaboratorsForRepo(JWT, `${namespace}/${name}`, (getErr, getRes) => { + if(getErr) { + // 'Org repositories do not have collaborators.' + actionContext.dispatch('COLLAB_RECEIVE_COLLABORATORS', {}); + } else { + actionContext.dispatch('COLLAB_RECEIVE_COLLABORATORS', getRes.body); + } + }); + } + done(); + }); +} diff --git a/app/scripts/actions/addPipeline.js b/app/scripts/actions/addPipeline.js new file mode 100644 index 0000000000..b25996c516 --- /dev/null +++ b/app/scripts/actions/addPipeline.js @@ -0,0 +1,58 @@ +'use strict'; + +import includes from 'lodash/collection/includes'; + +import createPipeline from '@dux/hub-sdk/webhooks/createPipeline'; +import MissingArgError from '@dux/hub-sdk/utils/MissingArgError'; +import ValidationError from '@dux/hub-sdk/utils/ValidationError'; + +function handleKnownErrors(err, dispatch) { + if(err instanceof MissingArgError) { + if(includes(err.missingArgs, 'namespace') || includes(err.missingArgs, 'name')) { + /** + * TODO: send something to bugsnag; The user doesn't control these values + * This can happen if an engineer forgets to pass in a required value that + * the user can't control + */ + dispatch('ADD_WEBHOOK_ERROR'); + } else { + dispatch('ADD_WEBHOOK_MISSING_ARGS', err.missingArgs); + } + } else if (err instanceof ValidationError) { + dispatch('ADD_WEBHOOK_VALIDATION_ERRORS', err.validationErrors); + } else { + // unknown error + dispatch('ADD_WEBHOOK_ERROR', err); + } +} + +export default function addPipeline({ dispatch, history }, + { + jwt, + namespace, + name, + pipelineName, + expectFinalCallback, + webhooks + }, + done) { + dispatch('ADD_WEBHOOK_START'); + createPipeline(jwt, + { + namespace, + name, + pipelineName, + expectFinalCallback, + webhooks + }, + (err, res) => { + if(err || !res.ok) { + handleKnownErrors(err, dispatch); + done(); + } else { + dispatch('ADD_WEBHOOK_SUCCESS'); + history.push(`/r/${namespace}/${name}/~/settings/webhooks/`); + done(); + } + }); +} diff --git a/app/scripts/actions/addRepoComment.js b/app/scripts/actions/addRepoComment.js new file mode 100644 index 0000000000..3c0a30cb6a --- /dev/null +++ b/app/scripts/actions/addRepoComment.js @@ -0,0 +1,24 @@ +'use strict'; + +var debug = require('debug')('hub:actions:addRepoComment'); + +import { Repositories } from 'hub-js-sdk'; + +var addRepoComment = function(actionContext, {jwt, repoShortName, comment}) { + Repositories.addCommentToRepo(jwt, repoShortName, comment, function(addErr, addRes) { + if (addErr) { + debug(addErr); + } else if (addRes.body && addRes.ok) { + Repositories.getCommentsForRepo(jwt, repoShortName, function(getErr, getRes) { + if (getErr) { + debug(getErr); + } else { + actionContext.dispatch('RECEIVE_REPO_COMMENTS', getRes.body); + } + }, 1); + } + }); + +}; + +module.exports = addRepoComment; diff --git a/app/scripts/actions/addTeamCollaborator.js b/app/scripts/actions/addTeamCollaborator.js new file mode 100644 index 0000000000..e9e178b067 --- /dev/null +++ b/app/scripts/actions/addTeamCollaborator.js @@ -0,0 +1,26 @@ +'use strict'; +import { + Repositories as R + } from 'hub-js-sdk'; +const debug = require('debug')('hub:actions:addCollaborator'); + +export default function addTeamCollaborator(actionContext, {JWT, namespace, name, id, permission}, done) { + actionContext.dispatch('ADD_COLLAB_START'); + R.addTeamCollaborator(JWT, { namespace, name, group_id: id, permission }, (err, res) => { + if(err) { + debug('failed'); + } else { + debug('succeeded'); + R.getTeamCollaboratorsForRepo(JWT, `${namespace}/${name}`, (getErr, getRes) => { + if (getErr) { + // 'User repository does not have any teams yet' + actionContext.dispatch('COLLAB_RECEIVE_TEAMS', {}); + } else { + actionContext.dispatch('COLLAB_RECEIVE_TEAMS', getRes.body); + } + }); + } + actionContext.dispatch('ADD_COLLAB_FINISH'); + done(); + }); +} diff --git a/app/scripts/actions/addTriggerLink.js b/app/scripts/actions/addTriggerLink.js new file mode 100644 index 0000000000..1df118c658 --- /dev/null +++ b/app/scripts/actions/addTriggerLink.js @@ -0,0 +1,23 @@ +'use strict'; +import _ from 'lodash'; +import { Autobuilds as AutoBuild } from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:addTriggerLink'); + +export default function(actionContext, { JWT, namespace, name, to_repo }) { + // to_repo needs to be a repo id + AutoBuild.addAutomatedBuildLink(JWT, namespace, name, to_repo, function(err, res) { + if (err) { + debug(err); + actionContext.dispatch('LINK_AUTOBUILD_ERROR'); + } else { + actionContext.dispatch('LINK_AUTOBUILD_SUCCESS'); + AutoBuild.getAutomatedBuildLinks(JWT, namespace, name, function(getErr, getRes){ + if (getErr) { + debug(err); + } else { + actionContext.dispatch('RECEIVE_AUTOBUILD_LINKS', getRes.body.results); + } + }); + } + }); +} diff --git a/app/scripts/actions/addUserEmail.js b/app/scripts/actions/addUserEmail.js new file mode 100644 index 0000000000..3f67808bde --- /dev/null +++ b/app/scripts/actions/addUserEmail.js @@ -0,0 +1,34 @@ +'use strict'; + +import { sortByOrder } from 'lodash'; +import { + Emails + } from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:addEmail'); + +module.exports = function(actionContext, + { + JWT, newEmail, user + }, + done) { + Emails.addEmailsForUser(JWT, user.username, newEmail, function(err, res) { + if (err) { + debug('error', res.body); + actionContext.dispatch('ADD_EMAIL_INVALID', res.body.email); + } else if (res.ok) { + actionContext.dispatch('ADD_EMAIL_SUCCESS', res.body.email); + Emails.getEmailsForUser(JWT, user.username, function(emailErr, emailRes){ + if (emailErr) { + return done(); + } + var emails = emailRes.body.results; + var sortedEmails = sortByOrder(emails, + ['primary', 'verified'], + [false, false]); + actionContext.dispatch('RECEIVE_EMAILS', { + emails: sortedEmails + }); + }); + } + }); +}; diff --git a/app/scripts/actions/addUserEmailChange.js b/app/scripts/actions/addUserEmailChange.js new file mode 100644 index 0000000000..3be02615c6 --- /dev/null +++ b/app/scripts/actions/addUserEmailChange.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function(actionContext, { email }) { + actionContext.dispatch('UPDATE_ADD_EMAIL', email); +} diff --git a/app/scripts/actions/addWebhookToPipeline.jsx b/app/scripts/actions/addWebhookToPipeline.jsx new file mode 100644 index 0000000000..a2605beda8 --- /dev/null +++ b/app/scripts/actions/addWebhookToPipeline.jsx @@ -0,0 +1,8 @@ +'use strict'; + +export default function addWebhookToPipeline({ dispatch }, + params, + done) { + dispatch('ADD_WEBHOOK_NEW_HOOK'); + done(); +} diff --git a/app/scripts/actions/associateGithubAccount.js b/app/scripts/actions/associateGithubAccount.js new file mode 100644 index 0000000000..caf33396a8 --- /dev/null +++ b/app/scripts/actions/associateGithubAccount.js @@ -0,0 +1,23 @@ +'use strict'; + +var debug = require('debug')('hub:actions:associateGithubAccount'); +import has from 'lodash/object/has'; +import { Builds } from 'hub-js-sdk'; + +export default function(actionContext, {jwt, code}) { + //TODO: immediately call the linked accounts status and update the authorized services page + Builds.associateGithubAccount(jwt, code, function(err, res) { + if (err) { + debug('error', err); + const { detail } = err.response.body; + if(detail) { + actionContext.dispatch('GITHUB_ASSOCIATE_ERROR', detail); + } + } else { + if (res.body) { + actionContext.dispatch('GITHUB_ASSOCIATE_SUCCESS', res.body); + } + } + }); + actionContext.dispatch(); +} diff --git a/app/scripts/actions/attemptChangeLongDescription.js b/app/scripts/actions/attemptChangeLongDescription.js new file mode 100644 index 0000000000..f976b9ad49 --- /dev/null +++ b/app/scripts/actions/attemptChangeLongDescription.js @@ -0,0 +1,56 @@ +/* @flow */ +'use strict'; + +import { Repositories as Repos } from 'hub-js-sdk'; +import async from 'async'; +import { PENDING_DELETE } from 'common/enums/RepoStatus'; +var debug = require('debug')('hub:actions:attemptChangeLongDescription'); + +export default function(actionContext, + {jwt, repoShortName, longDescription}, + done) { + actionContext.dispatch('LONG_DESCRIPTION_ATTEMPT_START'); + + var _updateLongDescription = function(cb) { + Repos.patchRepo(jwt, repoShortName, { + full_description: longDescription + }, function(err, res) { + if (err) { + if(res && res.badRequest) { + debug('error', err); + actionContext.dispatch('LONG_BAD_REQUEST', res.body); + cb(err); + } else { + actionContext.dispatch('DETAILS_ERROR'); + cb(err); + } + } else { + actionContext.dispatch('LONG_DESCRIPTION_SUCCESS'); + cb(null, res.body); + } + }); + }; + + var _getRepoDetails = function(cb) { + Repos.getRepo(jwt, repoShortName, function(err, res) { + const { status, detail } = res.body; + + if (err || status === PENDING_DELETE) { + actionContext.dispatch('REPO_NOT_FOUND', err); + cb(null, detail); + } else { + actionContext.dispatch('RECEIVE_REPOSITORY', res.body); + cb(null, res.body); + } + }); + }; + + async.series([ + _updateLongDescription, + _getRepoDetails + ], function (err, results) { + if(err) { + debug('error', err); + } + }); +} diff --git a/app/scripts/actions/attemptChangeShortDescription.js b/app/scripts/actions/attemptChangeShortDescription.js new file mode 100644 index 0000000000..725b7f5972 --- /dev/null +++ b/app/scripts/actions/attemptChangeShortDescription.js @@ -0,0 +1,58 @@ +/* @flow */ +'use strict'; + +import async from 'async'; +import { Repositories as Repos } from 'hub-js-sdk'; +import { PENDING_DELETE } from 'common/enums/RepoStatus'; +var debug = require('debug')('hub:actions:attemptChangeShortDescription'); + +export default function(actionContext, + {jwt, repoShortName, shortDescription}, + done) { + actionContext.dispatch('SHORT_DESCRIPTION_ATTEMPT_START'); + + var name = repoShortName.split('/')[1]; + var namespace = repoShortName.split('/')[0]; + var _updateShortDescription = function(cb) { + Repos.patchRepo(jwt, repoShortName, {description: shortDescription}, + function(err, res) { + if (err) { + if(res && res.badRequest) { + debug('error', err); + actionContext.dispatch('SHORT_BAD_REQUEST', res.body); + cb(err); + } else { + actionContext.dispatch('DETAILS_ERROR'); + cb(err); + } + } else { + actionContext.dispatch('SHORT_DESCRIPTION_SUCCESS'); + cb(null, res.body); + } + } + ); + }; + + var _getRepoDetails = function(cb) { + Repos.getRepo(jwt, repoShortName, function(err, res) { + const { status, detail } = res.body; + + if (err || status === PENDING_DELETE) { + actionContext.dispatch('REPO_NOT_FOUND', err); + cb(null, detail); + } else { + actionContext.dispatch('RECEIVE_REPOSITORY', res.body); + cb(null, res.body); + } + }); + }; + + async.series([ + _updateShortDescription, + _getRepoDetails + ], function (err, results) { + if(err) { + debug('error', err); + } + }); +} diff --git a/app/scripts/actions/attemptLogin.js b/app/scripts/actions/attemptLogin.js new file mode 100644 index 0000000000..f0c0fe707f --- /dev/null +++ b/app/scripts/actions/attemptLogin.js @@ -0,0 +1,147 @@ +'use strict'; + +import { parallel, waterfall } from 'async'; +import { Auth, + Repositories as Repos + } from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:attemptLogin'); +import { getActivityFeed } from 'hub-js-sdk/src/Hub/SDK/Notifications'; +import { getUser } from 'hub-js-sdk/src/Hub/SDK/JWT'; +import { + getOrgsForUser, + getUserSettings +} from 'hub-js-sdk/src/Hub/SDK/Users'; +import { getToken } from 'hub-js-sdk/src/Hub/SDK/Auth'; +import request from 'superagent'; + +function handleGetRepos({jwt, username, dispatch}) { + return function(callback) { + Repos.getReposForUser(jwt, username, function(err, res) { + if (err) { + callback(null, null); + } else { + dispatch('RECEIVE_REPOS', res.body); + } + }, 1); //get page 1 + }; +} + +function handleGetPrivateRepoStats({jwt, username, dispatch}) { + return function(callback) { + getUserSettings(jwt, username, function(err, res) { + if (res.ok) { + dispatch('RECEIVE_PRIVATE_REPOSTATS', res.body); + } + callback(null, null); + }); + }; +} + +//Get orgs for user +function _getOrgsForCurrentUser({jwt, username, dispatch}) { + return function(user, cb) { + getOrgsForUser(jwt, function(err, res) { + if (err) { + debug('error', err); + cb(null); + } else { + dispatch('RECEIVE_DASHBOARD_NAMESPACES', { + orgs: res.body, + user: user.username + }); + cb(null, user); + } + }); + }; +} + +function handleGetUserInfo({jwt, username, dispatch}, callback) { + waterfall([ + function(cb){ + getUser(jwt, function(err, res) { + if (err) { + cb(err, {}); + } else { + dispatch('RECEIVE_USER', res.body); + cb(null, res.body); + } + }); + }, + _getOrgsForCurrentUser({jwt, username, dispatch}) + ], function(err, user) { + callback(err, { user }); + }); +} + +function fetchDataForDashboard({ + jwt, username, dispatch, done +}) { + dispatch('RECEIVE_JWT', jwt); + dispatch('DASHBOARD_REPOS_STORE_ATTEMPTING_GET_REPOS'); + parallel([ + handleGetRepos({jwt, username, dispatch}), + handleGetPrivateRepoStats({jwt, username, dispatch}) + ], function(err, results) { + if (err) { + debug('error', err); + } + return done(); + }); +} + +module.exports = function({ dispatch, history }, + { username, password }, + done) { + dispatch('LOGIN_ATTEMPT_START'); + getToken(username, + password, + function(err, res) { + if (err) { + debug('error', err); + if (res.unauthorized) { + if(res.body && res.body.detail) { + /** + * This can happen if the user has not verified their email + */ + dispatch('LOGIN_UNAUTHORIZED_DETAIL', res.body); + } else { + dispatch('LOGIN_UNAUTHORIZED'); + } + } else if (res.badRequest){ + try { + dispatch('LOGIN_BAD_REQUEST', JSON.parse(res.text)); + } catch (error) { + dispatch('LOGIN_ERROR'); + } + } else { + // unhandled login error + dispatch('LOGIN_ERROR'); + } + } else { + debug('got token'); + if (res.body.token) { + request.post('/attempt-login/') + .send({jwt: res.body.token}) + .end((cookieErr, cookieRes) => { + handleGetUserInfo({ + jwt: res.body.token, + username, + dispatch + }, function(userErr, userRes) { + dispatch('LOGIN_CLEAR'); + dispatch('CURRENT_USER_CONTEXT', { + username: userRes.user.username + }); + history.pushState(null, '/'); + fetchDataForDashboard({ + jwt: res.body.token, + username: userRes.user.username, + dispatch, + done + }); + }); + }); + } + } + }); +}; diff --git a/app/scripts/actions/attemptSignup.js b/app/scripts/actions/attemptSignup.js new file mode 100644 index 0000000000..197e35bc5d --- /dev/null +++ b/app/scripts/actions/attemptSignup.js @@ -0,0 +1,30 @@ +'use strict'; + +import { Auth } from 'hub-js-sdk'; +import type FluxibleActionContext from '../../../flow-libs/fluxible'; +var debug = require('debug')('hub:actions:attemptSignup'); + +type SignupPayload = { + username: String; + password: String; + email: String; +}; + +module.exports = function(actionContext: FluxibleActionContext, + payload: SignupPayload, + done: Function) { + actionContext.dispatch('SIGNUP_ATTEMPT_START'); + Auth.signup(payload, function(err, res) { + if (err) { + debug('error', err); + if (res.badRequest){ + actionContext.dispatch('SIGNUP_BAD_REQUEST', res.body); + } else { + done(); + } + actionContext.dispatch('SIGNUP_CLEAR_PASSWORD'); + } else { + actionContext.dispatch('SIGNUP_SUCCESS'); + } + }); +}; diff --git a/app/scripts/actions/changePassword.js b/app/scripts/actions/changePassword.js new file mode 100644 index 0000000000..d38d26dede --- /dev/null +++ b/app/scripts/actions/changePassword.js @@ -0,0 +1,48 @@ +'use strict'; + +import { getToken, logout } from 'hub-js-sdk/src/Hub/SDK/Auth'; +import { changePassword } from 'hub-js-sdk/src/Hub/SDK/Users'; +import async from 'async'; +import request from 'superagent'; +var debug = require('debug')('hub:actions:changePassword'); + +var changePassAction = function({ dispatch, history }, + { + JWT, username, oldpassword, newpassword + }) { + changePassword( + JWT, + {username, oldpassword, newpassword}, + (err, res) => { + + if (err) { + debug('error', err); + dispatch('RESET_PASSWORD_ERROR', res.body); + } else if (res.ok) { + dispatch('CHANGE_PASS_SUCCESS'); + async.parallel([ + function(callback) { + logout(JWT, function(outErr, outRes) { + if (outErr) { + debug('outErr', outErr); + dispatch('LOGOUT_ERROR', outErr); + } else if (outRes.ok) { + dispatch('CHANGE_PASS_CLEAR', {}); + history.pushState(null, '/account/password-reset-confirm/success/'); + dispatch('LOGOUT'); + } + }); + }, + function(callback) { + request.post('/attempt-logout/') + .end(callback); + }], + function(asyncErr, asyncRes) { + + }); + } + } + ); +}; + +module.exports = changePassAction; diff --git a/app/scripts/actions/clearChangePasswordStore.js b/app/scripts/actions/clearChangePasswordStore.js new file mode 100644 index 0000000000..2ec0e9b123 --- /dev/null +++ b/app/scripts/actions/clearChangePasswordStore.js @@ -0,0 +1,8 @@ +/* @flow */ +'use strict'; + +import type FluxibleActionContext from '../../../flow-libs/fluxible'; + +module.exports = function(actionContext: FluxibleActionContext) { + actionContext.dispatch('CHANGE_PASS_CLEAR', {}); +}; diff --git a/app/scripts/actions/clearCloudCoupon.js b/app/scripts/actions/clearCloudCoupon.js new file mode 100644 index 0000000000..88147ed0f0 --- /dev/null +++ b/app/scripts/actions/clearCloudCoupon.js @@ -0,0 +1,5 @@ +'use strict'; + +export default (actionContext) => { + actionContext.dispatch('CLEAR_CLOUD_COUPON'); +}; diff --git a/app/scripts/actions/clearLoginForm.js b/app/scripts/actions/clearLoginForm.js new file mode 100644 index 0000000000..c677a394a0 --- /dev/null +++ b/app/scripts/actions/clearLoginForm.js @@ -0,0 +1,8 @@ +/* @flow */ +'use strict'; + +import type FluxibleActionContext from '../../../flow-libs/fluxible'; + +module.exports = function(actionContext: FluxibleActionContext) { + actionContext.dispatch('LOGIN_CLEAR', {}); +}; diff --git a/app/scripts/actions/clearMemberError.js b/app/scripts/actions/clearMemberError.js new file mode 100644 index 0000000000..6fab18e28e --- /dev/null +++ b/app/scripts/actions/clearMemberError.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function(actionContext) { + actionContext.dispatch('CLEAR_MEMBER_ERROR'); +} diff --git a/app/scripts/actions/cloudNamespaceChange.js b/app/scripts/actions/cloudNamespaceChange.js new file mode 100644 index 0000000000..2947f1bb80 --- /dev/null +++ b/app/scripts/actions/cloudNamespaceChange.js @@ -0,0 +1,78 @@ +'use strict'; + +const debug = require('debug')('hub:actions:cloudNamespaceChange'); +import async from 'async'; +import _ from 'lodash'; + +import { + Billing, + Users + } from 'hub-js-sdk'; + +//GETs current HUB subscription +function _getBillingSubscriptions({JWT, namespace}) { + return (callback) => { + Billing.getBillingSubscriptions(JWT, namespace, (err, res) => { + if(err) { + callback(null, {}); + } else { + let subscriptions = res.body; + + // the assumption is that there is at most one subscription right now + let subscription = _.head(subscriptions); + callback(null, subscription); + } + }); + }; +} + +function _getBillingAccount({JWT, namespace}) { + return (callback) => { + Billing.getBillingAccount(JWT, namespace, (err, res) => { + if(err) { + debug('getBillingAccount', 'no billing account connected'); + callback(null, {}); + } else { + callback(null, res.body); + } + }); + }; +} + +function _getBillingInfo({JWT, namespace}) { + return (callback) => { + Billing.getBillingInfo(JWT, namespace, (err, res) => { + if(err) { + debug('getBillingInfo', 'no billing account connected'); + callback(null, {}); + } else { + callback(null, res.body); + } + }); + }; +} + +export default function billingPlans(actionContext, {JWT, namespace}, done){ + actionContext.dispatch('RESET_CLOUD_BILLING_PLANS'); + async.parallel({ + userPlan: _getBillingSubscriptions({JWT, namespace}), + accountInfo: _getBillingAccount({JWT, namespace}), + billingInfo: _getBillingInfo({JWT, namespace}) + }, function(err, results){ + let { userPlan, accountInfo, billingInfo } = results; + actionContext.dispatch('RECEIVE_CLOUD_BILLING_INFO', { + billingInfo: billingInfo, + accountInfo: accountInfo, + currentPlan: userPlan + }); + let values = _.merge({}, billingInfo, { + account_first: accountInfo.first_name, + account_last: accountInfo.last_name, + company_name: accountInfo.company_name, + email: accountInfo.email + }); + // TODO: Need to differentiate btw billingInfo/accountInfo first/last names + actionContext.dispatch('ENTERPRISE_PAID_POPULATE_FORM', values); + return done(); + }); +} diff --git a/app/scripts/actions/common/onChangeUtil.js b/app/scripts/actions/common/onChangeUtil.js new file mode 100644 index 0000000000..5672dd0bac --- /dev/null +++ b/app/scripts/actions/common/onChangeUtil.js @@ -0,0 +1,48 @@ +'use strict'; + +import updateFormField from './updateFormField'; + +/** + * This function is a generic `onChange` Handler. Typical use is as follows: + * + * ``` + * import onChange from 'this/file/here'; + * + * createClass({ + * _onChange: onChange({ storePrefix: 'ENTERPRISE_TRIAL' }), + * render() { + * return ( + * + * ) + * } + * }); + * ``` + * + * `function setComponentOnChangeHandler` is the one that is `bind`ed. + * + * storePrefix is `ENTERPRISE_TRIAL` in the stores handlers object: + * + * ``` + * handlers: { + * ENTERPRISE_TRIAL_CLEAR_FORM: '_clearForm', + * ENTERPRISE_TRIAL_UPDATE_FIELD_WITH_VALUE: '_updateFieldWithValue', + * ENTERPRISE_TRIAL_ATTEMPT_START: '_enterpriseTrialAttemptStart', + * ENTERPRISE_TRIAL_BAD_REQUEST: '_badRequest', + * ENTERPRISE_TRIAL_SUCCESS: '_enterpriseTrialSuccess' + * } + * ``` + * + * e is the onChange event from the form field. + */ + +export default function({ storePrefix }) { + return function setComponentOnChangeHandler(fieldKey) { + return (e) => { + this.context.executeAction(updateFormField({ storePrefix }), { + fieldKey, + fieldValue: e.target.value + }); + }; + }; +} + diff --git a/app/scripts/actions/common/updateFormField.js b/app/scripts/actions/common/updateFormField.js new file mode 100644 index 0000000000..69eb40e138 --- /dev/null +++ b/app/scripts/actions/common/updateFormField.js @@ -0,0 +1,50 @@ +'use strict'; + +/** + * This function dispatches an event that updates a form backed by a form store. + * @param {string} storePrefix - the prefix for the form store events. This + * scopes the event to a particular store. + * + * The storePrefix usually takes the form of a shortened version of the store's + * name. In the case of the `EnterpriseTrialFormStore`, given handlers as such: + * + * ``` + * handlers: { + * ENTERPRISE_TRIAL_UPDATE_FIELD_WITH_VALUE: 'updateFormField' + * } + * ``` + * + * The store prefix for the preceeding example is `ENTERPRISE_TRIAL`. + * + * --- + * + * Usage of this module in a component might look like: + * + * ``` + * import updateFormField from 'wherever'; + * + * + * var Whatever = createClass({ + * _onChange(fieldKey) { + * return (e) => { + * this.context.executeAction(updateFormField({ + * storePrefix: 'ENTERPRISE_TRIAL' + * }), { + * fieldKey, + * fieldValue: e.target.value + * }); + * } + * }, + * render() { + * return ( + * + * ) + * } + * }); + */ +export default function({storePrefix}){ + return (actionContext, { fieldKey, fieldValue}) => { + actionContext.dispatch(`${storePrefix}_UPDATE_FIELD_WITH_VALUE`, { fieldKey, fieldValue }); + }; +} + diff --git a/app/scripts/actions/common/validateBillingInfo.js b/app/scripts/actions/common/validateBillingInfo.js new file mode 100644 index 0000000000..070f6eed95 --- /dev/null +++ b/app/scripts/actions/common/validateBillingInfo.js @@ -0,0 +1,7 @@ +'use strict'; + +export default function({storePrefix}){ + return (actionContext, fieldErrors) => { + actionContext.dispatch(`${storePrefix}_ERRORS`, fieldErrors); + }; +} diff --git a/app/scripts/actions/convertToOrganization.js b/app/scripts/actions/convertToOrganization.js new file mode 100644 index 0000000000..85a4ed4af5 --- /dev/null +++ b/app/scripts/actions/convertToOrganization.js @@ -0,0 +1,33 @@ +'use strict'; + +import { Users } from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:convertToOrganization'); + +module.exports = function(actionContext, {jwt, username, newOwner}, done) { + Users.convertToOrganization(jwt, username, newOwner, function(err, res) { + if (err) { + debug('error', err); + if (res.badRequest){ + let message; + if (res.body) { + message = res.body; + } else { + try { + message = JSON.parse(res.text); + } catch(e) { + message = { + error: 'Your account could not be converted. Make sure you are not a member of another group and that the new owner username exists' + }; + } + } + actionContext.dispatch('CONVERT_TO_ORG_BAD_REQUEST', message); + done(); + } else { + done(); + } + } else { + actionContext.history.push('/login/'); + actionContext.dispatch('LOGOUT', null); + } + }); +}; diff --git a/app/scripts/actions/createAutobuild.js b/app/scripts/actions/createAutobuild.js new file mode 100644 index 0000000000..4daa9ee69d --- /dev/null +++ b/app/scripts/actions/createAutobuild.js @@ -0,0 +1,97 @@ +'use strict'; +import { Autobuilds } from 'hub-js-sdk'; +const getRepository = require('hub-js-sdk').Repositories.getRepo; +import async from 'async'; +import has from 'lodash/object/has'; +import omit from 'lodash/object/omit'; +const debug = require('debug')('hub:actions:createAutobuild'); + +/** + * + * @param actionContext + * @param jwt + * @param autobuildConfig + * {name, namespace, description, active, is_automated, + * provider, is_private, dockerfileLocation, sourceName, sourceType} + */ +export default function(actionContext, {JWT, autobuildConfig}) { + /** + * CreateAutoBuildSerializer { + * vcs_repo_name (string), + * provider (choice) = ['github' or 'bitbucket'], + * dockerhub_repo_name (string), + * is_private (boolean), + * build_tags (array[string]) + * description? + * } + * @param cb + * @private + */ + var _createAutobuild = function(cb) { + var bTags = autobuildConfig.tags; + for (var i = 0; i < bTags.length; ++i) { + bTags[i] = omit(bTags[i], 'id'); + } + var ab = { + name: autobuildConfig.name, + namespace: autobuildConfig.namespace, + description: autobuildConfig.description, + vcs_repo_name: autobuildConfig.build_name, + provider: autobuildConfig.provider, + dockerhub_repo_name: autobuildConfig.namespace + '/' + autobuildConfig.name, + is_private: autobuildConfig.is_private, + active: autobuildConfig.active, + build_tags: bTags + }; + Autobuilds.createAutomatedBuild(JWT, ab, function(err, res) { + if (err) { + debug('createAutomatedBuild error', err); + if (err.response.badRequest) { + //Check fields and set a better response for fields + const { detail } = err.response.body; + if(detail) { + actionContext.dispatch('AUTOBUILD_BAD_REQUEST', detail); + } + } else if (err.response.unauthorized) { + actionContext.dispatch('AUTOBUILD_UNAUTHORIZED', err); + } else if (err.response.serverError) { + actionContext.dispatch('AUTOBUILD_ERROR', err); + } + cb(err); + } else if (res.body) { + var repoUrl = res.body.docker_url; + actionContext.dispatch('AUTOBUILD_SUCCESS'); + cb(null, repoUrl); + } + }); + }; + + /** + * + * @param repoUrl something like arunan/d3 + * @param cb + * @private + */ + var _getRepository = function(repoUrl, cb) { + getRepository(JWT, repoUrl, function(err, res) { + if (err) { + debug('getRepository error', err); + actionContext.dispatch('GET_REPOSITORY_ERROR'); + cb(err); + } else if (res.body) { + cb(null, res.body); + } + }); + }; + + actionContext.dispatch('ATTEMPTING_AUTOBUILD_CREATION'); + async.waterfall([ + _createAutobuild, + _getRepository + ], function(err, result) { + if (!err) { + actionContext.dispatch('RECEIVE_REPOSITORY', result); + } + }); + +} diff --git a/app/scripts/actions/createNewLicenseProduction.js b/app/scripts/actions/createNewLicenseProduction.js new file mode 100644 index 0000000000..4638e58142 --- /dev/null +++ b/app/scripts/actions/createNewLicenseProduction.js @@ -0,0 +1,82 @@ +'use strict'; + +import { Billing } from 'hub-js-sdk'; +const debug = require('debug')('hub:actions:createNewLicenseProduction'); + +export default function(actionContext, { + address1, + address2, + city, + country, + cvv, + first_name, + JWT, + last_name, + month, + number, + package_name, + partnervalue, + postal_code, + state, + username, + year +}, done) { + actionContext.dispatch('ENTERPRISE_PAID_ATTEMPT_START'); + try { + /** + * This will only run where window is defined. ie: the browser + * It throws an exception in node + */ + window.recurly.configure(process.env.RECURLY_PUBLIC_KEY); + } catch(e) { + debug('error', e); + } + + var recurlyData = { + first_name, + last_name, + month, + year, + cvv, + number, + address1, + address2, + city, + country, + postal_code, + state + }; + + window.recurly.token(recurlyData, function(recurlyErr, token) { + if (recurlyErr) { + debug('recurly error', recurlyErr.fields); + actionContext.dispatch('ENTERPRISE_PAID_GET_RECURLY_ERROR', recurlyErr.fields); + done(); + } else { + debug('creating License'); + Billing.createLicense(JWT, { + username, + package: package_name, + payment_token: token.id, + first_name, + last_name, + postal_code, + partner_value: partnervalue + }, (err, results) => { + if(err) { + if(err.response.badRequest) { + const { detail } = err.response.body; + if(detail) { + actionContext.dispatch('ENTERPRISE_PAID_BAD_REQUEST', detail); + } + } else { + actionContext.dispatch('ENTERPRISE_PAID_API_ERROR'); + } + } else { + actionContext.dispatch('ENTERPRISE_PAID_CLEAR_FORM'); + actionContext.history.push('/account/licenses/'); + } + }); + } + }); +} diff --git a/app/scripts/actions/createNewLicenseTrial.js b/app/scripts/actions/createNewLicenseTrial.js new file mode 100644 index 0000000000..09abbb3360 --- /dev/null +++ b/app/scripts/actions/createNewLicenseTrial.js @@ -0,0 +1,53 @@ +'use strict'; + +import { Billing } from 'hub-js-sdk'; +const debug = require('debug')('hub:actions:createNewLicenseTrial'); + +export default function(actionContext, { + JWT, + companyName, + country, + email, + firstName, + jobFunction, + lastName, + namespace, + packageName, + phoneNumber, + state +}) { + actionContext.dispatch('ENTERPRISE_TRIAL_ATTEMPT_START'); + const licenseData = { + company_name: companyName, + country, + email, + first_name: firstName, + job_function: jobFunction, + last_name: lastName, + package: packageName, + phone_number: phoneNumber, + username: namespace + }; + + // state is an optional field + if(state) { + licenseData.state = state; + } + + Billing.createLicense(JWT, licenseData, (err, results) => { + if(err) { + debug('error', err); + if(err.response.badRequest) { + const { detail } = err.response.body; + if(detail) { + actionContext.dispatch('ENTERPRISE_TRIAL_BAD_REQUEST', detail); + } + } else { + actionContext.dispatch('ENTERPRISE_TRIAL_FACEPALM'); + } + } else { + actionContext.dispatch('ENTERPRISE_TRIAL_SUCCESS'); + actionContext.history.push(`/enterprise/trial/success/?namespace=${namespace}&step=1`); + } + }); +} diff --git a/app/scripts/actions/createOrgTeam.js b/app/scripts/actions/createOrgTeam.js new file mode 100644 index 0000000000..a5371050ff --- /dev/null +++ b/app/scripts/actions/createOrgTeam.js @@ -0,0 +1,76 @@ +'use strict'; +import { Orgs } from 'hub-js-sdk'; +import async from 'async'; +const debug = require('debug')('hub:actions:createOrgTeam'); + +module.exports = function(actionContext, {jwt, orgName, team}) { + + var _createTeam = function(cb) { + Orgs.createTeam(jwt, orgName, team, function(err, res) { + if (err) { + debug('createTeam error', err); + cb(err); + var errRes = err.response; + if (errRes.badRequest) { + actionContext.dispatch('TEAM_BAD_REQUEST', err); + } else if (errRes.unauthorized) { + actionContext.dispatch('TEAM_UNAUTHORIZED', err); + } else { + actionContext.dispatch('TEAM_ERROR', err); + } + } else { + if (res.body) { + //send team name to get members for the team + actionContext.dispatch('CREATE_ORG_TEAM', res.body); + actionContext.dispatch('RECEIVE_DASHBOARD_ORG_TEAM', res.body); + cb(null, res.body.name); + } + } + }); + }; + + var _getMembers = function(teamName, cb) { + Orgs.getMembers(jwt, orgName, teamName, function(err, res) { + if (err) { + debug('getMembers error', err); + cb(err); + } else { + actionContext.dispatch('RECEIVE_DASHBOARD_TEAM_MEMBERS', res.body); + cb(null, 'done'); + } + }); + }; + + var _createTeamWrapper = function(cb) { + async.waterfall([ + _createTeam, + _getMembers + ], function(err, res) { + cb(null, res); + } + ); + }; + + var _getTeamsForOrg = function(cb) { + Orgs.getTeams(jwt, orgName, function(err, res) { + if (err) { + debug('getTeams error', err); + cb(err); + } else { + if (res.body) { + cb(null, res.body); + } + } + }); + }; + + async.series([ + _createTeamWrapper, + _getTeamsForOrg + ], function(err, results) { + if (results[0] && results[1]) { + actionContext.dispatch('RECEIVE_DASHBOARD_ORG_TEAMS', results[1]); + actionContext.history.push(`/u/${orgName}/dashboard/teams/?team=${team.name}`); + } + }); +}; diff --git a/app/scripts/actions/createOrganization.js b/app/scripts/actions/createOrganization.js new file mode 100644 index 0000000000..4e2e9d49bd --- /dev/null +++ b/app/scripts/actions/createOrganization.js @@ -0,0 +1,65 @@ +'use strict'; + +var debug = require('debug')('hub:actions:createOrganization'); +import async from 'async'; +import { Orgs, Users } from 'hub-js-sdk'; +//Organization Object +/* + { + id (string), + orgname (regex), + full_name (string), + location (string): Your Location on the world, + company (string): Your organization's name, + profile_url (url): Your place on the web, + gravatar_email (email): This address will define which picture of you is shown, + is_active (boolean): Designates whether user is active. Unselect this instead of deleting accounts., + date_joined (datetime), + gravatar_url (string) + } + */ +export default function(actionContext, {jwt, organization}) { + + var _createOrg = function(cb) { + Orgs.createOrg(jwt, organization, function(err, res) { + if (err) { + if(res && res.badRequest) { + debug('createOrg error', err); + actionContext.dispatch('ADD_ORG_BAD_REQUEST', res.body); + cb(err, res); + } else { + actionContext.dispatch('ADD_ORG_FACEPALM'); + cb(err, res); + } + } else { + cb(null, res.body); + } + }); + }; + + //Get orgs for user + var _getOrgsForUser = function(cb) { + Users.getOrgsForUser(jwt, function(err, res) { + if (err) { + debug('getOrgsForUser error', err); + cb(err, {}); + } else { + actionContext.dispatch('CURRENT_USER_ORGS', res.body.results); + cb(null, res.body.results); + } + }); + return {}; + }; + + async.series([ + _createOrg, + _getOrgsForUser + ], function (err, results) { + if(err) { + debug('final callback error', err); + } else { + actionContext.dispatch('CREATED_ORGANIZATION', {newOrg: results[0], userOrgs: results[1]}); + actionContext.history.push(`/u/${organization.orgname}/dashboard/teams/`); + } + }); +} diff --git a/app/scripts/actions/createRepository.js b/app/scripts/actions/createRepository.js new file mode 100644 index 0000000000..f2463a93dc --- /dev/null +++ b/app/scripts/actions/createRepository.js @@ -0,0 +1,30 @@ +/* @flow */ +'use strict'; + +var createRepo = require('hub-js-sdk').Repositories.createRepository; +var debug: Function = require('debug')('hub:actions:createRepository'); + +var createRepository = function(actionContext: {dispatch: Function}, + {jwt, repository}: {jwt: string; repository: any}) { + createRepo(jwt, repository, (err, res) => { + if (err) { + + if(res && res.badRequest) { + actionContext.dispatch('CREATE_REPO_BAD_REQUEST', res.body); + } else { + actionContext.dispatch('CREATE_REPO_ERROR', err); + } + + } else { + + if (res && res.ok) { + actionContext.dispatch('RECEIVE_REPOSITORY', res.body); + actionContext.dispatch('CREATE_REPO_CLEAR_FORM'); + actionContext.history.push(`/r/${repository.namespace}/${repository.name}/`); + } + + } + }); +}; + +module.exports = createRepository; diff --git a/app/scripts/actions/createSubscription.js b/app/scripts/actions/createSubscription.js new file mode 100644 index 0000000000..1c817d3ab3 --- /dev/null +++ b/app/scripts/actions/createSubscription.js @@ -0,0 +1,374 @@ +'use strict'; +const request = require('superagent'); +import { Billing } from 'hub-js-sdk'; +/*global UpdateBillingInfoPayload */ +import map from 'lodash/collection/map'; +import has from 'lodash/object/has'; +import merge from 'lodash/object/merge'; +import isString from 'lodash/lang/isString'; +import async from 'async'; +var debug = require('debug')('hub:actions:createBillingSubscription'); + +import _encodeForm from '../components/utils/encodeForm.js'; +import { + ACCOUNT, + BILLING, + BILLFORWARD_ACCOUNT_ID, + STRIPE_URL, + STRIPE_STAGE_TOKEN, + STRIPE_PROD_TOKEN, + BF_STAGE_URL, + BF_PROD_URL, + BF_STAGE_TOKEN, + BF_PROD_TOKEN, + v4BillingProfile +} from 'stores/common/Constants.js'; + +const handleResponse = ({ callback, dispatch, type }) => (err, res) => { + if (err) { + let message = 'There was an error creating your subscription. Please check your information and try again.'; + if (res && res.body) { + message = isString(res.body.detail) ? res.body.detail : res.body.message; + } + dispatch('BILLING_SUBMIT_ERROR', message); + callback(err, res); + } else if (res.ok) { + if (type === ACCOUNT) { + dispatch('BILLING_ACCOUNT_EXISTS'); + } else if (type === BILLING) { + dispatch('BILLING_INFO_EXISTS'); + } + const billforward_id = res.header[BILLFORWARD_ACCOUNT_ID]; + callback(null, { billforward_id }); + } +}; + +//-------------------------------------------------------------------------- +// CREATE A BILLING PAYMENT METHOD ON BILLFORWAD WITH STRIPE +//-------------------------------------------------------------------------- +/* + NOTE: Stripe's api only accepts x-www-form-urlencoded data + NOTE: 'billforwardCreatePayment' is chained to this function and requires + `billforward-id`. The `billforward-id` is being passed through to the + create payment function via the META here. +*/ +function _createCardToken({ + cvc, + exp_month, + exp_year, + name_first, + name_last, + number +}, cb) { + const stripeToken = process.env.ENV === 'production' ? + STRIPE_PROD_TOKEN : STRIPE_STAGE_TOKEN; + const card = { + name: `${name_first} ${name_last}`, + cvc, + number, + exp_month, + exp_year + }; + const encoded = _encodeForm({ card }); + request.post(STRIPE_URL) + .accept('application/json') + .type('application/x-www-form-urlencoded') + .set('Authorization', 'Bearer ' + stripeToken) + .send(encoded) + .end(cb); +} + +/* + NOTE: This is the call to billforward that actually adds a payment method + to a user's billing profile. + This call requires a billforward-id (accountID) which is DIFFERENT than the + docker_id - Hence why 'billingCreatePaymentMethod' is NOT being wrapped by + the getAccountFromNamespace decorator. +*/ +function _billforwardAddPaymentMethod({ + '@type': type, + accountID, + cardID, + defaultPaymentMethod, + gateway, + stripeToken +}, cb) { + const billforwardUrl = process.env.ENV === 'production' ? + BF_PROD_URL : BF_STAGE_URL; + const billforwardToken = process.env.ENV === 'production' ? + BF_PROD_TOKEN : BF_STAGE_TOKEN; + + request.post(billforwardUrl) + .accept('application/json') + .type('application/json') + .set('Authorization', 'Bearer ' + billforwardToken) + .send({ + '@type': type, + accountID, + cardID, + defaultPaymentMethod, + gateway, + stripeToken + }) + .end(cb); +} + +function billingStripeCreatePaymentMethod(dispatch, { + billforward_id, + cvc, + exp_month, + exp_year, + name_first, + name_last, + number +}, cb) { + const cardData = { + cvc, + exp_month, + exp_year, + name_first, + name_last, + number + }; + /* + NOTE: + Creating a payment method requires 2 parts + 1 - Generating a token from Stripe's api + 2 - Sending generated token to Billforward's api to attach payment method to + a relevant billing profile. + */ + _createCardToken(cardData, (stripeErr, stripeRes) => { + if (!stripeRes.ok) { + let message = 'There was an error submitting your card information. Please check your information and try again.'; + if (stripeRes.error && stripeRes.error.message) { + message = stripeRes.error.message; + } + dispatch('BILLING_SUBMIT_ERROR', message); + cb(message); + } else { + const tokenObject = stripeRes && stripeRes.body; + const stripeToken = tokenObject.id; + const cardID = tokenObject.card.id; + const accountID = billforward_id; + const bfData = { + '@type': 'StripeAuthCaptureRequest', + accountID, + cardID, + defaultPaymentMethod: true, + gateway: 'Stripe', + stripeToken + }; + _billforwardAddPaymentMethod(bfData, handleResponse({ callback: cb, dispatch, type: BILLING })); + } + }); +} + +//-------------------------------------------------------------------------- +// SAVE ADDRESS INFORMATION IN BILLFORWARD +//-------------------------------------------------------------------------- +const updateV4BillingProfile = ({ JWT, profileData, docker_id }, cb) => { + const v4BillingAPI = v4BillingProfile(docker_id); + request + .patch(v4BillingAPI) + .accept('application/json') + .type('application/json') + .set('Authorization', 'Bearer ' + JWT) + .send(profileData) + .end(cb); +}; + +//-------------------------------------------------------------------------- +// CREATE NEW BILLING ACCOUNT/PROFILE & SUBSCRIPTION +//-------------------------------------------------------------------------- +function createSubscription(actionContext, { + JWT, + user, + accountInfo, + billingInfo, + card, + isNewBillingAccount, + billforwardId: existingBfId, + plan_code, + package_code +}, done) { + actionContext.dispatch('BILLING_SUBMIT_START'); + const { + first_name, + last_name, + address1, + address2, + country, + state, + zip, + city + } = billingInfo; + const { + number, + cvv, + month, + year, + last_four, + type, + coupon_code, + coupon + } = card; + + let isOrg = false; + let username = ''; + if (has(user, 'username')) { + username = user.username; + } else if (has(user, 'orgname')) { + username = user.orgname; + isOrg = true; + } + + var subscriptionData = { + first_name, + last_name, + email: accountInfo.email, + username, + plan: plan_code, + package: package_code + }; + if (coupon_code) { + // coupon code is an optional field + subscriptionData.coupon_code = coupon_code; + } + + async.waterfall([ + function(callback) { // create billing profile + const account = merge({}, accountInfo, {username}); + /* + NOTE: + Can only get to this action IF + 1) You don't have a billing profile account (Create the billing account) + 2) You don't have any billing payment information - but you have a billing profile account (Update the account) + */ + if (isNewBillingAccount) { + Billing.createBillingAccount(JWT, account, handleResponse({callback, dispatch: actionContext.dispatch, type: ACCOUNT})); + // on success - callback(null, { billforward_id }) + } else { + Billing.updateBillingAccount(JWT, username, account, handleResponse({callback, dispatch: actionContext.dispatch, type: ACCOUNT})); + } + }, + function({ billforward_id }, callback) { + const bfId = billforward_id || existingBfId; + if (bfId) { + // NOTE: Save billing address information + const profileData = { + first_name, + last_name, + addresses: [ + { + address_line_1: address1, + address_line_2: address2, + city, + province: state, + country, + post_code: zip, + primary_address: true + } + ] + }; + updateV4BillingProfile({ + JWT, + profileData, + docker_id: user.id + }, (err, res) => { + if (err) { + let message = 'There was an error saving your address information. Please check your information and try again.'; + if (res && res.body) { + message = isString(res.body.detail) ? res.body.detail : res.body.message; + } + actionContext.dispatch('BILLING_SUBMIT_ERROR', message); + callback(null); + return; + } + callback(null, {...res.body, billforward_id }); + }); + return; + } + // NOTE: Unecessary for non-migrated accounts - Creation of billingprofile will update the account data + callback(null, { billforward_id }); + }, + function({ billforward_id }, callback) { + const bfId = billforward_id || existingBfId; + if (bfId) { + // NOTE: If we have a billforward id - create payment Method via stripe + billingStripeCreatePaymentMethod(actionContext.dispatch, { + billforward_id: bfId, + cvc: cvv, + exp_month: month, + exp_year: year, + name_first: first_name, + name_last: last_name, + number + }, callback); + return; + } + // NOTE: If we do NOT have a billforward id - tokenize via recurly + const recurlyData = { + first_name, + last_name, + address1, + address2, + country, + state, + zip, + city, + number, + cvv, + month, + year, + coupon_code + }; + try { + /** + * This will only run where window is defined. ie: the browser + * It throws an exception in node + */ + window.recurly.configure(process.env.RECURLY_PUBLIC_KEY); + } catch(e) { + debug('error', e); + } + window.recurly.token(recurlyData, function(recurlyErr, token) { + if (recurlyErr) { + debug('recurly token error', recurlyErr.message); + actionContext.dispatch('GET_RECURLY_ERROR', recurlyErr); + callback(recurlyErr); + return; + } + callback(null, { recurlyToken: token.id }); + }); + }, + function({ recurlyToken }, callback) { + // NOTE: append the recurly token to the subscriptionData object; + subscriptionData.payment_token = recurlyToken; + /* + NOTE: Creating billing subscription will either + A) Use default card if billing account is migrated and we get a billforward id + B) Subscription Data will have a recurly token if no billforward id + IF Billing Info already exists: + - Stripe: Adds a new default card + - Recurly: we're posting with the recurly token which will update it + */ + Billing.createBillingSubscription(JWT, subscriptionData, handleResponse({callback, dispatch: actionContext.dispatch, type: BILLING})); + } + ], + function(err, res) { + if (err) { + debug(err); + done(); + } else { + if (isOrg) { + actionContext.history.push(`/u/${username}/dashboard/billing/`); + } else { + actionContext.history.push('/account/billing-plans/'); + } + actionContext.dispatch('BILLING_SUBMIT_SUCCESS'); + done(); + } + }); +} + +module.exports = createSubscription; diff --git a/app/scripts/actions/createTeamMembers.js b/app/scripts/actions/createTeamMembers.js new file mode 100644 index 0000000000..eee9225bad --- /dev/null +++ b/app/scripts/actions/createTeamMembers.js @@ -0,0 +1,66 @@ +'use strict'; + +var debug = require('debug')('hub:actions:createTeamMembers'); +import async from 'async'; +import { Orgs } from 'hub-js-sdk'; + +export default function(actionContext, {jwt, orgname, teamname, members}) { + + var _createMember = function(cb) { + var _makeMemberFuncArray = function(member) { + return function() { + // member.username can be either a valid email or a username + Orgs.createMember(jwt, orgname, teamname, member.username, function(err, res) { + if (err) { + debug('createMember error', err); + if (res.badRequest) { + actionContext.dispatch('TEAM_MEMBER_BAD_REQUEST', err); + } else if (res.unauthorized) { + actionContext.dispatch('TEAM_MEMBER_UNAUTHORIZED', err); + } else { + actionContext.dispatch('TEAM_MEMBER_ERROR', err); + } + } else { + if (res.ok) { + actionContext.dispatch('ORG_TEAM_CLEAR_ERROR_STATES'); + cb(null, res.body); + } + } + }); + }; + }; + var funcArray = []; + for(var i = 0; i < members.length; ++i) { + funcArray.push(_makeMemberFuncArray(members[i])); + } + async.parallel(funcArray, function(err, results) { + if (err) { + cb(err); + } else { + cb(null, results); + } + }); + }; + + //Get members for team + var _getMembersForTeam = function(cb) { + Orgs.getMembers(jwt, orgname, teamname, function(err, res) { + if (err) { + debug('getMembers error', err); + cb(err, {}); + } else { + actionContext.dispatch('RECEIVE_DASHBOARD_TEAM_MEMBERS', res.body); + cb(null, res.body.results); + } + }); + }; + + async.series([ + _createMember, + _getMembersForTeam + ], function (err, results) { + if(err) { + debug('final callback error', err); + } + }); +} diff --git a/app/scripts/actions/createWebhook.js b/app/scripts/actions/createWebhook.js new file mode 100644 index 0000000000..0915fe4f11 --- /dev/null +++ b/app/scripts/actions/createWebhook.js @@ -0,0 +1,27 @@ +'use strict'; +import async from 'async'; +import request from 'superagent'; +const debug = require('debug')('createWebhook'); + +// TODO: REMOVE. This is deprecated in favor of AddPipeline +module.exports = function(actionContext, { JWT, namespace, name, webhookName }) { + + request.post(`${process.env.REGISTRY_API_BASE_URL}/v2/repositories/${namespace}/${name}/webhooks/`) + .accept('application/json') + .set('Authorization', `JWT ${JWT}`) + .send({ + name: webhookName + }) + .end((err, results) => { + if(err) { + debug(err); + if(err.response.badRequest) { + debug('badrequest'); + } else { + debug('facepalm'); + } + } else { + actionContext.history.push(`/r/${namespace}/${name}/~/settings/webhooks/`); + } + }); +}; diff --git a/app/scripts/actions/delCollaborator.js b/app/scripts/actions/delCollaborator.js new file mode 100644 index 0000000000..3ffce1abb2 --- /dev/null +++ b/app/scripts/actions/delCollaborator.js @@ -0,0 +1,24 @@ +'use strict'; +import { + Repositories as R + } from 'hub-js-sdk'; + +export default function delCollaborator(actionContext, { JWT, namespace, name, username }, done) { + actionContext.dispatch('DEL_COLLABORATORS_SET_LOADING', username); + R.delCollaborator(JWT, { namespace, name, username }, (err, res) => { + if(err) { + actionContext.dispatch('DEL_COLLABORATORS_SET_ERROR', username); + } else { + actionContext.dispatch('DEL_COLLABORATORS_SET_SUCCESS', username); + R.getCollaboratorsForRepo(JWT, `${namespace}/${name}`, (getErr, getRes) => { + if(getErr) { + // 'Org repositories do not have collaborators.' + actionContext.dispatch('COLLAB_RECEIVE_COLLABORATORS', {}); + } else { + actionContext.dispatch('COLLAB_RECEIVE_COLLABORATORS', getRes.body); + } + }); + } + done(); + }); +} diff --git a/app/scripts/actions/delTeamCollaborator.js b/app/scripts/actions/delTeamCollaborator.js new file mode 100644 index 0000000000..cda330a123 --- /dev/null +++ b/app/scripts/actions/delTeamCollaborator.js @@ -0,0 +1,24 @@ +'use strict'; +import { + Repositories as R + } from 'hub-js-sdk'; + +export default function delCollaborator(actionContext, { JWT, namespace, name, group_id }, done) { + actionContext.dispatch('DEL_COLLABORATORS_SET_LOADING', group_id); + R.delTeamCollaborator(JWT, { namespace, name, group_id }, (err, res) => { + if(err) { + actionContext.dispatch('DEL_COLLABORATORS_SET_ERROR', group_id); + } else { + actionContext.dispatch('DEL_COLLABORATORS_SET_SUCCESS', group_id); + R.getTeamCollaboratorsForRepo(JWT, `${namespace}/${name}`, (getErr, getRes) => { + if (getErr) { + // 'User repository does not have any teams yet' + actionContext.dispatch('COLLAB_RECEIVE_TEAMS', {}); + } else { + actionContext.dispatch('COLLAB_RECEIVE_TEAMS', getRes.body); + } + }); + } + done(); + }); +} diff --git a/app/scripts/actions/deleteAutoBuildPushTriggerItem.js b/app/scripts/actions/deleteAutoBuildPushTriggerItem.js new file mode 100644 index 0000000000..e3ff3c61bb --- /dev/null +++ b/app/scripts/actions/deleteAutoBuildPushTriggerItem.js @@ -0,0 +1,11 @@ +'use strict'; + +var debug = require('debug')('hub:actions:deleteAutoBuildPushTriggerItem'); + +export default function(actionContext, {isNew, index}) { + if (isNew) { + actionContext.dispatch('DELETE_AUTOBUILD_NEW_TAG_ITEM', index); + } else { + actionContext.dispatch('DELETE_AUTOBUILD_PUSH_TRIGGER_ITEM', index); + } +} diff --git a/app/scripts/actions/deleteEmail.js b/app/scripts/actions/deleteEmail.js new file mode 100644 index 0000000000..aa8db4b2f0 --- /dev/null +++ b/app/scripts/actions/deleteEmail.js @@ -0,0 +1,38 @@ +'use strict'; + +import sortByOrder from 'lodash/collection/sortByOrder'; +import { series, each } from 'async'; +import { + Emails + } from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:deleteEmail'); + +function updateEmailSettings({ dispatch }, + {JWT, delEmailID, username}, + done) { + dispatch('START_SAVE_ACTION'); + Emails.deleteEmailByID(JWT, + delEmailID, + (err, res) => { + if (err) { + return debug('deleteEmailByID error', err); + } + Emails.getEmailsForUser(JWT, username, function(emailErr, emailRes){ + if (emailErr) { + debug('getEmailsForUser error', emailErr); + dispatch('FINISH_SAVE_ACTION'); + return done(); + } + var emails = emailRes.body.results; + var sortedEmails = sortByOrder(emails, + ['primary', 'verified'], + [false, false]); + dispatch('RECEIVE_EMAILS', { + emails: sortedEmails + }); + dispatch('FINISH_SAVE_ACTION'); + }); + }); +} + +module.exports = updateEmailSettings; diff --git a/app/scripts/actions/deleteEmailNotifs.js b/app/scripts/actions/deleteEmailNotifs.js new file mode 100644 index 0000000000..3cae021514 --- /dev/null +++ b/app/scripts/actions/deleteEmailNotifs.js @@ -0,0 +1,46 @@ +'use strict'; + +var debug = require('debug')('hub:actions:deleteEmailNotifs'); +import async from 'async'; + +import { Notifications } from 'hub-js-sdk'; + +var deleteEmailNotifs = function(actionContext, {jwt, notificationID}) { + var _delNotificationSettings = function(cb) { + Notifications.deleteNotificationSubscription(jwt, notificationID, function(err, res) { + if (err) { + debug('deleteNotificationSubscription error', err); + cb(err); + } else if (res.ok) {//TODO:Weird that 204 no content is sent on success + return cb(null, res); + } + }); + }; + + var _getNotificationSettings = function(cb) { + //all good, do the next call to get the notifications + Notifications.getNotificationSubscriptions(jwt, function(err, res) { + if (err) { + debug('getNotificationSubscriptions error', err); + cb(err); + } else { + cb(null, res.body.results); + } + }); + }; + + async.series([ + _delNotificationSettings, + _getNotificationSettings + ], function (err, results) { + if (err) { + actionContext.dispatch('SAVE_NOTIFICATIONS_ERROR'); + debug('final callback error', err); + } else if (results[1]) { + actionContext.dispatch('SAVE_NOTIFICATIONS_SUCCESS'); + actionContext.dispatch('RECEIVE_NOTIFICATIONS', results[1]); + } + }); +}; + +module.exports = deleteEmailNotifs; diff --git a/app/scripts/actions/deletePipeline.js b/app/scripts/actions/deletePipeline.js new file mode 100644 index 0000000000..e04e8be1cb --- /dev/null +++ b/app/scripts/actions/deletePipeline.js @@ -0,0 +1,25 @@ +'use strict'; + +import request from 'superagent'; + +export default function deletePipeline({ + dispatch, history +}, { + jwt, namespace, name, slug +}, done) { + dispatch('DELETE_PIPELINE_ATTEMPTING'); + request.del(`${process.env.HUB_API_BASE_URL}/v2/repositories/${namespace}/${name}/webhook_pipeline/${slug}/`) + .set('Authorization', `JWT ${jwt}`) + .type('json') + .accept('json') + .end((err, res) => { + if(err) { + dispatch('DELETE_PIPELINE_FACEPALM'); + done(); + } else { + dispatch('DELETE_PIPELINE_SUCCESS'); + history.push(`/r/${namespace}/${name}/~/settings/webhooks/`); + done(); + } + }); +} diff --git a/app/scripts/actions/deleteRepo.js b/app/scripts/actions/deleteRepo.js new file mode 100644 index 0000000000..7f44b65c9e --- /dev/null +++ b/app/scripts/actions/deleteRepo.js @@ -0,0 +1,22 @@ +'use strict'; + +import { Repositories as Repos } from 'hub-js-sdk'; +const debug = require('debug')('hub:actions:deleteRepo'); + +export default function(actionContext, {jwt, repoShortName}) { + actionContext.dispatch('DELETE_REPO_ATTEMPT_START'); + Repos.deleteRepository(jwt, repoShortName, (err, res) => { + if (err) { + const { badRequest, body } = err.response; + if(badRequest) { + actionContext.dispatch('DELETE_REPO_BAD_REQUEST', body); + } else { + actionContext.dispatch('DELETE_REPO_ERROR', err); + } + } else { + if (res && res.ok) { + actionContext.history.push('/'); + } + } + }); +} diff --git a/app/scripts/actions/deleteRepoComment.js b/app/scripts/actions/deleteRepoComment.js new file mode 100644 index 0000000000..14b6c5e39d --- /dev/null +++ b/app/scripts/actions/deleteRepoComment.js @@ -0,0 +1,24 @@ +'use strict'; + +var debug = require('debug')('hub:actions:deleteRepoComment'); + +import { Repositories } from 'hub-js-sdk'; + +var deleteRepoComment = function(actionContext, {jwt, repoShortName, commentid}) { + Repositories.deleteRepoComment(jwt, repoShortName, commentid, function(delErr, delRes) { + if (delErr) { + debug('deleteRepoComment error', delErr); + } else if (delRes.ok) { + Repositories.getCommentsForRepo(jwt, repoShortName, function(getErr, getRes) { + if (getErr) { + debug('getCommentsForRepo error', getErr); + } else { + actionContext.dispatch('RECEIVE_REPO_COMMENTS', getRes.body); + } + }); + } + }); + +}; + +module.exports = deleteRepoComment; diff --git a/app/scripts/actions/downloadInvoice.js b/app/scripts/actions/downloadInvoice.js new file mode 100644 index 0000000000..edbd33b746 --- /dev/null +++ b/app/scripts/actions/downloadInvoice.js @@ -0,0 +1,24 @@ +'use strict'; +// Blob is a polyfill +require('vendor/Blob'); +import { saveAs } from 'vendor/FileSaver'; + +const debug = require('debug')('hub:actions:downloadInvoice'); + +module.exports = function(actionContext, { JWT, username, invoiceId }) { + const xhr = new XMLHttpRequest(); + xhr.open('GET', process.env.REGISTRY_API_BASE_URL + '/api/billing/v3/account/' + username + '/invoices/' + invoiceId + '/'); + xhr.setRequestHeader('Authorization', 'JWT ' + JWT); + xhr.responseType = 'blob'; + xhr.onload = function() { + if (xhr.status === 200) { + const blob = new Blob([xhr.response], { + type: 'application/pdf' + }); + saveAs(blob, 'docker_invoice_' + invoiceId + '.pdf'); + } else { + debug('error'); + } + }; + xhr.send(); +}; diff --git a/app/scripts/actions/downloadLicenseContent.js b/app/scripts/actions/downloadLicenseContent.js new file mode 100644 index 0000000000..fb823166d0 --- /dev/null +++ b/app/scripts/actions/downloadLicenseContent.js @@ -0,0 +1,31 @@ +'use strict'; + +const debug = require('debug')('hub:actions:downloadLicenseContent'); +import { Billing } from 'hub-js-sdk'; +// Blob is a polyfill +require('vendor/Blob'); +import { saveAs } from 'vendor/FileSaver'; + +export default function downloadLicenseContent(actionContext, { jwt, namespace, keyId }) { + actionContext.dispatch('ATTEMPTING_LICENSE_DOWNLOAD_START'); + Billing.getLicenseDownloadContent(jwt, { keyId, namespace }, (err, res) => { + if (err) { + debug('error', err); + if(err.response.badRequest) { + const { detail } = err.response.body; + if(detail) { + actionContext.dispatch('DOWNLOAD_LICENSE_CONTENT_BAD_REQUEST', detail); + } + } else { + actionContext.dispatch('DOWNLOAD_LICENSE_CONTENT_FACEPALM'); + } + } else { + actionContext.dispatch('RECEIVE_LICENSE_DOWNLOAD_CONTENT'); + //perform download as result of clicking download button + const blob = new Blob([res.text], { + type: 'text/plain;charset=utf-8' + }); + saveAs(blob, `docker_subscription.lic`); + } + }); +} diff --git a/app/scripts/actions/enterpriseAttemptLogin.js b/app/scripts/actions/enterpriseAttemptLogin.js new file mode 100644 index 0000000000..f8bbaa055d --- /dev/null +++ b/app/scripts/actions/enterpriseAttemptLogin.js @@ -0,0 +1,155 @@ +'use strict'; + +import { parallel, waterfall } from 'async'; +import sortBy from 'lodash/collection/sortBy'; +import { Auth, + Repositories as Repos, + Billing + } from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:enterpriseAttemptLogin'); +import { getActivityFeed } from 'hub-js-sdk/src/Hub/SDK/Notifications'; +import { getUser } from 'hub-js-sdk/src/Hub/SDK/JWT'; +import { + getNamespacesForUser +} from 'hub-js-sdk/src/Hub/SDK/Users'; +import { getToken } from 'hub-js-sdk/src/Hub/SDK/Auth'; +import request from 'superagent'; + +//Get orgs for user +function _getOrgsForCurrentUser({jwt, username, dispatch}) { + return function(user, cb) { + getNamespacesForUser(jwt, function(err, res) { + if (err) { + debug('getNamespacesForUser', err); + cb(null); + } else { + // brute force the namespace reception so we can use a single action for now + dispatch('ENTERPRISE_TRIAL_RECEIVE_ORGS', res.body.namespaces); + dispatch('ENTERPRISE_PAID_RECEIVE_ORGS', res.body.namespaces); + cb(null, user); + } + }); + }; +} + +function _getBillingPlans({jwt, dispatch}) { + return function(user, cb) { + Billing.getPlans(jwt, 'personal', (err, res) => { + if(err) { + debug('getPlans error', err); + cb(null); + } else { + let plansList = res.body; + let sortedPlans = sortBy(plansList, 'display_order'); + dispatch('RECEIVE_BILLING_PLANS', { + plansList: sortedPlans + }); + cb(null, user); + } + }); + }; +} +function _getBillingAccount({jwt, dispatch}) { + return function(user, cb) { + Billing.getBillingAccount(jwt, user.username, (err, res) => { + if(err) { + debug('no billing account connected'); + cb(err, {}); + } else { + dispatch('RECEIVE_BILLING_INFO', { + accountInfo: res.body + }); + cb(null, user); + } + }); + }; +} + +function _getBillingInfo({jwt, dispatch}) { + return (user, cb) => { + Billing.getBillingInfo(jwt, user.username, (err, res) => { + if(err) { + debug('no billing account connected'); + cb(err, {}); + } else { + dispatch('RECEIVE_BILLING_INFO', { + billingInfo: res.body + }); + cb(null, user); + } + }); + }; +} + + +function handleGetUserInfo({jwt, username, dispatch}, callback) { + waterfall([ + function(cb){ + getUser(jwt, function(err, res) { + if (err) { + cb(err, {}); + } else { + dispatch('RECEIVE_USER', res.body); //LOGIN USING JWT.getUser + cb(null, res.body); + } + }); + }, + _getOrgsForCurrentUser({jwt, username, dispatch}), + _getBillingPlans({jwt, dispatch}), + _getBillingAccount({jwt, dispatch}), + _getBillingInfo({jwt, dispatch}) //Waterfalling the user through each call. + ], function(err, user) { + callback(err, { user }); + }); +} + +module.exports = function({ dispatch }, + { username, password }, + done) { + dispatch('LOGIN_ATTEMPT_START'); + getToken(username, + password, + function(err, res) { + if (err) { + debug('getToken error', err); + if (res.unauthorized) { + if(res.body && res.body.detail) { + /** + * This can happen if the user has not verified their email + */ + dispatch('LOGIN_UNAUTHORIZED_DETAIL', res.body); + } else { + dispatch('LOGIN_UNAUTHORIZED'); + } + } else if (res.badRequest){ + try { + dispatch('LOGIN_BAD_REQUEST', JSON.parse(res.text)); + } catch (error) { + dispatch('LOGIN_ERROR'); + } + } else { + // unhandled login error + dispatch('LOGIN_ERROR'); + } + } else { + if (res.body.token) { + request.post('/attempt-login/') + .send({jwt: res.body.token}) + .end((cookieErr, cookieRes) => { + handleGetUserInfo({ + jwt: res.body.token, + username, + dispatch + }, function(userErr, userRes) { + /** + * CreateBillingSubscription requires having allPlans + * If loggedOut and JWT is populated first, it will attempt to populate form, BEFORE plans have been dispatched + */ + dispatch('RECEIVE_JWT', res.body.token); + dispatch('LOGIN_CLEAR'); + }); + }); + } + } + }); +}; diff --git a/app/scripts/actions/forgotPasswordSubmit.js b/app/scripts/actions/forgotPasswordSubmit.js new file mode 100644 index 0000000000..ae953cbe3a --- /dev/null +++ b/app/scripts/actions/forgotPasswordSubmit.js @@ -0,0 +1,18 @@ +/* @flow */ +'use strict'; +import { + Users + } from 'hub-js-sdk'; +const debug = require('debug')('hub:actions:forgotPasswordSubmit'); + +var forgotPasswordSubmit = function(actionContext:{ dispatch : Function }, { email }) { + Users.forgotPassword(email, function(err, res) { + if (err) { + debug('forgotPassword error', err); + } else { + actionContext.dispatch('FORGOT_PASSWORD_SENT', res.body); + } + }); +}; + +module.exports = forgotPasswordSubmit; diff --git a/app/scripts/actions/getAllReposForFiltering.js b/app/scripts/actions/getAllReposForFiltering.js new file mode 100644 index 0000000000..84b6662d0c --- /dev/null +++ b/app/scripts/actions/getAllReposForFiltering.js @@ -0,0 +1,40 @@ +'use strict'; +var debug = require('debug')('hub:actions:getAllReposForFiltering'); +import async from 'async'; +import isArray from 'lodash/lang/isArray'; +import { + Repositories as Repos +} from 'hub-js-sdk'; + +export default function getAllReposForFiltering(actionContext, {jwt, user}) { + + actionContext.dispatch('DASHBOARD_REPOS_STORE_ATTEMPTING_GET_ALL_REPOS'); + var _getAllRepos = function (cb) { + Repos.getAllReposForUser(jwt, user, function (err, res) { + if (err) { + cb(err); + } else { + cb(null, isArray(res.body) && res.body.length); + } + }); + }; + + //Get repos for user or org + var _getReposForUserOrOrg = function (pageSize, cb) { + Repos.getReposForUser(jwt, user, function (err, res) { + if (err) { + actionContext.dispatch('ERROR_RECEIVING_REPOS', err); + cb(); + } else { + actionContext.dispatch('DASHBOARD_REPOS_STORE_RECEIVE_ALL_REPOS_SUCCESS', res.body); + cb(); + } + }, 1, pageSize); + }; + + async.waterfall([ + _getAllRepos, + _getReposForUserOrOrg + ], function(error, response) { + }); +} diff --git a/app/scripts/actions/getPipelineHistory.js b/app/scripts/actions/getPipelineHistory.js new file mode 100644 index 0000000000..a1beeb9292 --- /dev/null +++ b/app/scripts/actions/getPipelineHistory.js @@ -0,0 +1,22 @@ +'use strict'; + +import request from 'superagent'; + +export default function getPipelineHistory({ + dispatch, history +}, { + jwt, namespace, name, slug +}, done) { + request.get(`${process.env.HUB_API_BASE_URL}/v2/repositories/${namespace}/${name}/webhook_pipeline/${slug}/history/`) + .set('Authorization', `JWT ${jwt}`) + .type('json') + .accept('json') + .end((err, res) => { + if (err) { + return done(); + } else { + dispatch('RECEIVE_PIPELINE_HISTORY', {slug, payload: res.body}); + return done(); + } + }); +} diff --git a/app/scripts/actions/getRepoComments.js b/app/scripts/actions/getRepoComments.js new file mode 100644 index 0000000000..d87ee52987 --- /dev/null +++ b/app/scripts/actions/getRepoComments.js @@ -0,0 +1,23 @@ +'use strict'; + +import _ from 'lodash'; +import { + Repositories as Repos + } from 'hub-js-sdk'; + +export default function repoComments(actionContext, payload) { + var token = payload.JWT; + + var namespace = payload.namespace; + if(payload.namespace === '_') { + namespace = 'library'; + } + var repoShortName = namespace + '/' + payload.repoName; + Repos.getCommentsForRepo(token, repoShortName, function(err, res) { + if (err) { + actionContext.dispatch('ERROR_RECEIVING_REPO_COMMENTS'); + } else { + actionContext.dispatch('RECEIVE_REPO_COMMENTS', res.body); + } + }, payload.pageNumber); +} diff --git a/app/scripts/actions/getSettingsData.js b/app/scripts/actions/getSettingsData.js new file mode 100644 index 0000000000..d8ae3fcf88 --- /dev/null +++ b/app/scripts/actions/getSettingsData.js @@ -0,0 +1,28 @@ +'use strict'; +import _ from 'lodash'; +import { + Users + } from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:getSettingsData'); + +var getSettingsData = function(actionContext, {JWT, username, repoType}) { + Users.getUserSettings(JWT, username, function(err, res) { + if (err){ + debug('getUserSettings', err); + } else { + if (repoType === 'regular') { + actionContext.dispatch('CREATE_REPO_UPDATE_FIELD_WITH_VALUE', { + fieldKey: 'is_private', + fieldValue: res.body.default_repo_visibility + }); + } else if (repoType === 'autobuild') { + actionContext.dispatch('AUTOBUILD_FORM_UPDATE_FIELD_WITH_VALUE', { + fieldKey: 'isPrivate', + fieldValue: res.body.default_repo_visibility + }); + } + } + }); +}; + +module.exports = getSettingsData; diff --git a/app/scripts/actions/getTeamMembers.js b/app/scripts/actions/getTeamMembers.js new file mode 100644 index 0000000000..9a88acb6a7 --- /dev/null +++ b/app/scripts/actions/getTeamMembers.js @@ -0,0 +1,17 @@ +'use strict'; + +import _ from 'lodash'; +import { + Orgs + } from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:getTeamMembers'); + +export default function(actionContext, {jwt, orgname, teamname}) { + Orgs.getMembers(jwt, orgname, teamname, function (err, res) { + if (err) { + debug('error', err); + } else { + actionContext.dispatch('RECEIVE_TEAM_MEMBERS', res.body); + } + }); +} diff --git a/app/scripts/actions/githubOauth.js b/app/scripts/actions/githubOauth.js new file mode 100644 index 0000000000..fada58ae49 --- /dev/null +++ b/app/scripts/actions/githubOauth.js @@ -0,0 +1,12 @@ +'use strict'; + +const debug = require('debug')('hub:actions:githubOauth'); +const _ = require('lodash'); +const request = require('superagent'); + +module.exports = function(actionContext, {stateString}) { + request.post('/oauth/github-attempt/') + .send( {ghk: stateString} ) + .end(function(err, res) { + }); +}; diff --git a/app/scripts/actions/linkBitbucket.js b/app/scripts/actions/linkBitbucket.js new file mode 100644 index 0000000000..ab634d805a --- /dev/null +++ b/app/scripts/actions/linkBitbucket.js @@ -0,0 +1,15 @@ +'use strict'; + +import { Builds } from 'hub-js-sdk'; +const debug = require('debug')('hub:actions:linkBitbucket'); + +module.exports = function(actionContext, jwt) { + Builds.getBitbucketAuthUrl(jwt, function(err, res) { + if (err) { + debug('error', err); + actionContext.dispatch('BITBUCKET_AUTH_URL_ERROR', err); + } else if (res.ok) { + actionContext.dispatch('RECEIVE_BITBUCKET_AUTH_URL', res.body); + } + }); +}; diff --git a/app/scripts/actions/linkGithub.js b/app/scripts/actions/linkGithub.js new file mode 100644 index 0000000000..2e410330f9 --- /dev/null +++ b/app/scripts/actions/linkGithub.js @@ -0,0 +1,15 @@ +'use strict'; + +import { Builds } from 'hub-js-sdk'; +const debug = require('debug')('hub:actions:linkGithub'); + +module.exports = function(actionContext, jwt) { + Builds.getGithubClientID(jwt, function(err, res) { + if (err) { + debug('error', err); + actionContext.dispatch('GITHUB_ID_ERROR', err); + } else if (res.ok) { + actionContext.dispatch('RECEIVE_GITHUB_ID', res.body); + } + }); +}; diff --git a/app/scripts/actions/loginUpdateFormField.js b/app/scripts/actions/loginUpdateFormField.js new file mode 100644 index 0000000000..d2a993ac58 --- /dev/null +++ b/app/scripts/actions/loginUpdateFormField.js @@ -0,0 +1,7 @@ +'use strict'; + +export default function({ dispatch }, + { fieldKey, fieldValue }, + done) { + dispatch('LOGIN_UPDATE_FIELD_WITH_VALUE', { fieldKey, fieldValue }); +} diff --git a/app/scripts/actions/logout.js b/app/scripts/actions/logout.js new file mode 100644 index 0000000000..abf325ae5a --- /dev/null +++ b/app/scripts/actions/logout.js @@ -0,0 +1,29 @@ +/* @flow */ +'use strict'; + +import type FluxibleActionContext from '../../../flow-libs/fluxible'; + +import { Auth } from 'hub-js-sdk'; +import request from 'superagent'; +import async from 'async'; +const debug = require('debug')('hub:actions:logout'); + +module.exports = function(actionContext: FluxibleActionContext, jwt) { + async.parallel([ + function(callback) { + Auth.logout(jwt, function(err, res) { + if (err) { + debug('error', err); + actionContext.dispatch('LOGOUT_ERROR', err); + } else if (res.ok) { + actionContext.dispatch('LOGOUT'); + actionContext.history.push('/'); + } + }); + }, + function(callback) { + request.post('/attempt-logout/') + .end(callback); + }], + function(err, results) {}); +}; diff --git a/app/scripts/actions/longDescriptionUpdateFormField.js b/app/scripts/actions/longDescriptionUpdateFormField.js new file mode 100644 index 0000000000..f3cad471e7 --- /dev/null +++ b/app/scripts/actions/longDescriptionUpdateFormField.js @@ -0,0 +1,12 @@ +'use strict'; + +export default function({ dispatch }, + { + fieldKey, + fieldValue + }, + done) { + dispatch('LONG_DESCRIPTION_UPDATE_FIELD_WITH_VALUE', { + fieldKey, fieldValue + }); +} diff --git a/app/scripts/actions/navigate.js b/app/scripts/actions/navigate.js new file mode 100644 index 0000000000..6be4f002be --- /dev/null +++ b/app/scripts/actions/navigate.js @@ -0,0 +1,186 @@ +'use strict'; + +var debug = require('debug')('hub:actions:navigate'); +import _ from 'lodash'; +import { + JWT, + Notifications, + Repositories as Repos, + Search, + Users, + Billing +} from 'hub-js-sdk'; +import accountSettings from './navigate/accountSettings'; +import addRepo from './navigate/addRepo'; +import billingPlans from './navigate/billingPlans'; +import bitbucketRedirect from './navigate/bitbucketRedirect'; +import bitbucketUsersAndRepos from './navigate/bitbucketUsersAndRepos'; +import buildsMain from './navigate/buildsMain'; +import buildLogs from './navigate/buildLogs'; +import autoBuildSettings from './navigate/autoBuildSettings'; +import collaborators from './navigate/repoSettingsCollaborators'; +import dashStars from './navigate/dashStars'; +import dashContribs from './navigate/dashContribs'; +import dockerfile from './navigate/dockerfile'; +import explore from './navigate/explore'; +import serverTrial from './navigate/serverTrial'; +import serverTrialSuccess from './navigate/serverTrialSuccess'; +import serverBilling from './navigate/serverBilling'; +import cloudBilling from './navigate/cloudBilling'; +import getNamespaces from './navigate/getNamespaces'; +import githubUsersAndRepos from './navigate/githubUsersAndRepos'; +import githubRedirect from './navigate/githubRedirect'; +import home from './navigate/home'; +import licenses from './navigate/licenses'; +import linkedAccountSettings from './navigate/linkedAccountsSettings'; +import notificationSettings from './navigate/notificationSettings'; +import orgDashBilling from './navigate/orgBilling'; +import orgDashTeams from './navigate/orgDashTeams'; +import orgHome from './navigate/orgHome'; +import orgSummary from './navigate/orgSummary'; +import orgSettings from './navigate/orgSettings'; +import repo from './navigate/repo'; +import repoDetailsTags from './navigate/repoDetailsTags'; +import repoDetailsScannedTag from './navigate/repoDetailsScannedTag'; +import repoOfficial from './navigate/repoOfficial'; +import repoSettings from './navigate/repoSettings'; +import resetPass from './navigate/resetPass'; +import search from './navigate/search'; +import toOrg from './navigate/toOrg.js'; +import UserStore from '../stores/UserStore'; +import user from './navigate/user'; +import userStars from './navigate/userStars'; +import webhooks from './navigate/webhooks'; + +function noop({actionContext, payload, done, maybeData}) { + done(); +} + +function routesHaveHandlerFor(route, routes){ + return _.has(routes, route); +} + +function withUser(actionContext, payload, cb) { + /** + * If we are on the server and payload.cookies.jwt is a + * jwt, use it + */ + if (payload.cookies && payload.cookies.jwt) { + let token = payload.cookies.jwt; + actionContext.dispatch('RECEIVE_JWT', token); + /** + * Use the JWT to get the JWT's user's data. + */ + JWT.getUser(token, function(err, res) { + if (err) { + debug('NOT REALLY EXPIRED. JUST AN ERROR'); + actionContext.dispatch('EXPIRED_SIGNATURE', null); + return cb(null, err); + } else { + var cbData = res.body; + cbData.isAdmin = res.body.is_admin; + actionContext.dispatch('RECEIVE_USER', res.body); + cb(null, {token: token, user: cbData}); + } + }); + } else if (payload.jwt) { + debug('payload has jwt'); + /** + * if we have access to a jwt already, use it instead and assume + * we already have the user data since we're likely on the client + * (and we fill in the user data when a user logs in on the client) + */ + cb(null, { + token: payload.jwt, + user: actionContext.getStore(UserStore).getState() + }); + } else { + debug('no jwt and payload has no cookies; This should not happen'); + /** + * We have no jwt and no error? This shouldn't happen. + */ + cb(null, {}); + } +} + +module.exports = function(actionContext, payload, done) { + var _done = done; + done = function() { + _done.apply(this, arguments); + }; + + if (!payload.location.pathname) { + /** + * if we don't have a pathname, react-router doesn't have a route. + * ignore it. There's nothing we can do. + */ + return done(); + } + + withUser(actionContext, payload, function(err, maybeData) { + if (err) { + debug(err); + return done(); + } + + let routeName = payload.routes[payload.routes.length - 1].name; + debug('routeName', routeName); + let routes = { + 'accountSettings': accountSettings, + 'addRepo': addRepo, + 'addWebhook': noop, + 'addAutoBuild': linkedAccountSettings, // Questionable navigate Route + 'authServicesRoot': linkedAccountSettings, + 'autobuildBitbucket': getNamespaces, + 'autobuildBitbucketOrgs': bitbucketUsersAndRepos, + 'autobuildGithub': getNamespaces, + 'autobuildGithubOrgs': githubUsersAndRepos, + 'autobuildSettings': autoBuildSettings, + 'billingPlans': billingPlans, + 'bitbucketRedirect': bitbucketRedirect, + 'buildLogs': buildLogs, + 'buildsMain': buildsMain, + 'cloudBilling': cloudBilling, + 'collaborators': collaborators, + 'createOrgSubscription': orgDashBilling, + 'createSubscription': billingPlans, + 'dashboardHome': home, + 'dashContribs': dashContribs, + 'dashStars': dashStars, + 'dockerfile': dockerfile, + 'explore': explore, + 'githubRedirect': githubRedirect, + 'licenses': licenses, + 'notifications': notificationSettings, + 'orgDashBilling': orgDashBilling, + 'orgDashHome': orgHome, + 'orgDashSettings': orgSettings, + 'orgDashTeams': orgDashTeams, + 'orgSummary': orgSummary, + 'repoDetailsInfo': repo, + 'repoDetailsTags': repoDetailsTags, + 'repoDetailsScannedTag': repoDetailsScannedTag, + 'repoOfficial': repoOfficial, + 'repoSettingsMain': repoSettings, + 'resetPass': resetPass, + 'search': search, + 'serverBilling': serverBilling, + 'serverTrial': serverTrial, + 'serverTrialSuccess': serverTrialSuccess, + 'toOrg': toOrg, + 'updateBillingInfo': billingPlans, + 'updateOrgBillingInfo': orgDashBilling, + 'user': user, + 'userRepos': user, //This route is a clone of /u/:user/ WHY DO WE HAVE THIS? + 'userStars': userStars, + 'webhooks': webhooks + }; + actionContext.dispatch('CHANGE_ROUTE', payload); + if(routesHaveHandlerFor(routeName, routes)){ + routes[routeName]({ actionContext, payload, done, maybeData }); + } else { + debug(`no handler for ${routeName}`, payload.routes); + done(); + } + }); +}; diff --git a/app/scripts/actions/navigate/accountSettings.js b/app/scripts/actions/navigate/accountSettings.js new file mode 100644 index 0000000000..e10642d3b9 --- /dev/null +++ b/app/scripts/actions/navigate/accountSettings.js @@ -0,0 +1,79 @@ +'use strict'; +const debug = require('debug')('navigate::accountSettings'); +import { + Emails, + Users +} from 'hub-js-sdk'; +import async from 'async'; +import _ from 'lodash'; + +function sortEmails(emails) { + return _.sortByOrder(emails, + ['primary', 'verified'], + [false, false]); +} + +function parseRes({res, actionContext}) { + let emails = res.body.results; + let sortedEmails = _.sortByOrder(emails, + ['primary', 'verified'], + [false, false]); + return sortedEmails; +} + +export default function accountSettings({ + actionContext, payload, done, maybeData +}){ + actionContext.dispatch('CHANGE_PASS_CLEAR'); + if (_.has(maybeData, 'token')) { + var { token, user } = maybeData; + async.parallel({ + emails: function(callback) { + debug('ACCOUNT SETTINGS EMAILS'); + if (user && user.isAdmin) { + Emails.getEmailsForUser(token, user.username, function(err, res){ + if (err) { + callback(); + } else { + let emails = parseRes({res, actionContext}); + actionContext.dispatch('RECEIVE_EMAILS', {emails: emails}); + callback(null, emails); + } + }); + } else { + Emails.getEmailsJWT(token, function(err, res){ + if (err) { + callback(); + } else { + let emails = parseRes({res, actionContext}); + actionContext.dispatch('RECEIVE_EMAILS', {emails: emails}); + callback(null, emails); + } + }); + } + }, + repoStats: function(callback) { + debug('GET REPO STATS'); + Users.getUserSettings(token, user.username, function(err, res) { + if (err) { + callback(); + } else { + actionContext.dispatch('RECEIVE_PRIVATE_REPOSTATS', res.body); + callback(null, res.body); + } + }); + } + }, function(err, res) { + if (err) { + debug('ERROR', err); + done(); + } else { + let { emails, repoStats } = res; + debug('SUCCESS'); + done(); + } + }); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/addRepo.js b/app/scripts/actions/navigate/addRepo.js new file mode 100644 index 0000000000..b70b6bb913 --- /dev/null +++ b/app/scripts/actions/navigate/addRepo.js @@ -0,0 +1,66 @@ +'use strict'; + +import has from 'lodash/object/has'; +import { + Users +} from 'hub-js-sdk'; +import async from 'async'; +var debug = require('debug')('navigate::ADD REPO'); + +export default function repo({actionContext, payload, done, maybeData}){ + + // Defining functions here so we have access to payload + const getUserSettings = (callback) => { + // Users.getUserSettings === Orgs.getOrgSettings - equivalent calls + let username = maybeData.user.username; + if (payload.location.query.namespace) { + username = payload.location.query.namespace; + } + Users.getUserSettings(maybeData.token, username, function(getErr, getRes) { + // This is to get default visibility. If this fails, we shouldn't block + if (getErr){ + callback(null, getErr); + } else { + callback(null, getRes.body); + } + }); + }; + + const getNamespace = (callback) => { + Users.getNamespacesForUser(maybeData.token, function(namespaceErr, namespaceRes) { + if (namespaceErr) { + // If we don't get back namespaces, we can't do anything, so no point in continuing with the other calls + callback(namespaceErr); + } else { + callback(null, namespaceRes.body); + } + }); + }; + + if (has(maybeData, 'token')) { + async.parallel({ + getNamespace, + getUserSettings + }, + function(err, res) { + actionContext.dispatch('CREATE_REPO_CLEAR_FORM'); + if (err) { + done(); + } else { + const is_private = has(res.getUserSettings, 'default_repo_visibility') ? res.getUserSettings.default_repo_visibility : true; + actionContext.dispatch('CREATE_REPO_UPDATE_FIELD_WITH_VALUE', {fieldKey: 'is_private', fieldValue: is_private}); + actionContext.dispatch('RECEIVE_PRIVATE_REPOSTATS', res.getUserSettings); + if (has(res.getNamespace, 'namespaces')) { + actionContext.dispatch('CREATE_REPO_RECEIVE_NAMESPACES', { + namespaces: res.getNamespace, + selectedNamespace: maybeData.user.username + }); + } + // No namespaces is already handled in AddRepo.jsx - Dispatch is unecessary + done(); + } + }); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/autoBuildSettings.js b/app/scripts/actions/navigate/autoBuildSettings.js new file mode 100644 index 0000000000..3d13720ad6 --- /dev/null +++ b/app/scripts/actions/navigate/autoBuildSettings.js @@ -0,0 +1,136 @@ +'use strict'; +const debug = require('debug')('navigate::repoBuildSettings'); +import { parallel, waterfall } from 'async'; +import { PENDING_DELETE } from 'common/enums/RepoStatus'; +import _ from 'lodash'; +import { + Repositories as Repos, + Autobuilds as AutoBuild + } from 'hub-js-sdk'; + +function getRepo({maybeToken, actionContext, user, splat}) { + return function(callback){ + Repos.getRepo(maybeToken, `${user}/${splat}`, function(err, res) { + let status; + if (res && res.body) { + status = res.body.status; + } + + if (err || status === PENDING_DELETE) { + debug('GET REPO ERR::', err); + actionContext.dispatch('REPO_NOT_FOUND', err); + return callback(err); + } else { + debug('GETTING REPOSITORY::', res.body); + actionContext.dispatch('RECEIVE_REPOSITORY', res.body); + return callback(null, res.body); + } + }); + }; +} + +function getAutobuildSettings({maybeToken, actionContext, user, splat}) { + return function(callback){ + AutoBuild.getAutomatedBuildSettings(maybeToken, user, splat, function(err, res) { + if (err) { + debug('GET AUTOBUILD SETTINGS ERR::', err); + return callback(null, null); + } + debug('AUTOBUILDSETTINGS', res.body); + actionContext.dispatch('RECEIVE_AUTOBUILD_SETTINGS', res.body); + //also dispatch to the triggerByTag store to initialize the status + const {build_tags} = res.body; + if (build_tags) { + actionContext.dispatch('INITIALIZE_AB_TRIGGERS', build_tags); + } + return callback(null, res.body); + }); + }; +} + +function getAutobuildLinks({maybeToken, actionContext, user, splat}) { + return function(callback) { + AutoBuild.getAutomatedBuildLinks(maybeToken, user, splat, function(err, res) { + if (err) { + debug('GET AUTOBUILD LINKS ERR::', err); + return callback(null, null); + } + debug('AUTOBUILDLINKS', res.body); + actionContext.dispatch('RECEIVE_AUTOBUILD_LINKS', res.body.results); + return callback(null, res.body); + }); + }; +} + +function getTriggerStatus({maybeToken, actionContext, user, splat}) { + return function(callback) { + AutoBuild.getTriggerStatus(maybeToken, user, splat, function(err, res) { + if (err) { + debug('GET TRIGGER STATUS ERR::', err); + const defaultStatus = { + token: '', + trigger_url: '', + active: false + }; + actionContext.dispatch('RECEIVE_TRIGGER_STATUS', defaultStatus); + return callback(null, null); + } + debug('AUTOBUILDTRIGGERS', res.body); + actionContext.dispatch('RECEIVE_TRIGGER_STATUS', res.body); + return callback(null, res.body); + }); + }; +} + +function getTriggerLogs({maybeToken, actionContext, user, splat}) { + return function(callback) { + AutoBuild.getTriggerLogs(maybeToken, user, splat, function(err, res) { + if (err) { + debug('GET TRIGGER LOGS ERROR', err.res); + return callback(null, null); + } + debug('AUTOBUILDTRIGGERLOGS', res.body); + actionContext.dispatch('RECEIVE_TRIGGER_LOGS', res.body.results); + return callback(null, res.body.results); + }); + }; +} + +function getRest(args) { + return function(repoDetails, cbk) { + if (repoDetails) { + parallel({ + getAutoBuild: getAutobuildSettings(args), + getAutoLinks: getAutobuildLinks(args), + getTriggerStatus: getTriggerStatus(args), + getTriggerLogs: getTriggerLogs(args) + }, function (err, res) { + cbk(null, res); + }); + } else { + cbk(null); + } + }; +} + +export default function repoSettingsBuilds({actionContext, payload, done, maybeData}) { + debug('maybeData:', maybeData); + if (_.has(maybeData, 'token')) { + let args = { + actionContext, + maybeToken: maybeData.token, + user: payload.params.user, + splat: payload.params.splat + }; + + waterfall([ + getRepo(args), + getRest(args) + ], function (e, r) { + done(); + }); + } else { + actionContext.dispatch('REPO_NOT_FOUND', null); + done(); + } +} diff --git a/app/scripts/actions/navigate/billingPlans.js b/app/scripts/actions/navigate/billingPlans.js new file mode 100644 index 0000000000..857edd4778 --- /dev/null +++ b/app/scripts/actions/navigate/billingPlans.js @@ -0,0 +1,145 @@ +'use strict'; + +const debug = require('debug')('navigate::billingPlans'); +import async from 'async'; +import _ from 'lodash'; +import { + BILLFORWARD_ACCOUNT_ID +} from 'stores/common/Constants.js'; + +import { + Billing +} from 'hub-js-sdk'; + +function _getPersonalPlans({token}) { + return (callback) => { + Billing.getPlans(token, 'personal', (err, res) => { + if(err) { + debug(err); + callback(null, []); + } else { + let plansList = res.body; + let sortedPlans = _.sortBy(plansList, 'display_order'); + callback(null, sortedPlans); + } + }); + }; +} + +function _getBillingSubscriptions({token, user}) { + return (callback) => { + Billing.getBillingSubscriptions(token, user.username, (err, res) => { + if(!res || res.status === 500) { + debug('SERVER ISSUE: getting subscriptions'); + callback('SERVER ISSUE'); + } else if (err) { + callback(null, res.body); + } else { + debug('GET USER PLANS', res.body); + let subscriptions = res.body; + + // the assumption is that there is at most one subscription right now + let subscription = _.head(subscriptions); + callback(err, subscription); + } + }); + }; +} + +function _getBillingAccount({token, user}) { + return (callback) => { + Billing.getBillingAccount(token, user.username, (err, res) => { + if(!res || res.status === 500) { + debug('SERVER ISSUE: getting billing account info'); + // NOTE: If this is a brand new billing account - set newBilling to true + callback(null, {account: { newBilling: true }}); + } else if (err) { + debug('NO BILLING ACCOUNT CONNECTED'); + // NOTE: If this is a brand new billing account - set newBilling to true + callback(null, {account: { newBilling: true }}); + } else { + debug('GET BILLING ACCOUNT', res.body); + const account = { ...res.body, newBilling: false }; + callback(err, { account, billforwardId: res.header[BILLFORWARD_ACCOUNT_ID] }); + } + }); + }; +} + +function _getBillingInfo({token, user}) { + return (callback) => { + Billing.getBillingInfo(token, user.username, (err, res) => { + if(!res || res.status === 500) { + debug('SERVER ISSUE: getting billing info'); + // NOTE: If this is a brand new billing profile - set newBilling to true + callback(null, { newBilling: true }); + } else if (err) { + debug('NO BILLING INFO CONNECTED'); + // NOTE: If this is a brand new billing profile - set newBilling to true + callback(null, { newBilling: true }); + } else { + debug('GET BILLING INFO', res.body); + callback(err, { ...res.body, newBilling: false }); + } + }); + }; +} + +function _getBillingInvoices({token, user}) { + return (callback) => { + Billing.getBillingInvoices(token, user.username, (err, res) => { + if(err) { + debug('NO BILLING ACCOUNT CONNECTED'); + callback(null, []); + } else { + debug('GET BILLING INVOICES', res.body); + callback(err, res.body); + } + }); + }; +} + +export default function billingPlans({actionContext, payload, done, maybeData}){ + if (maybeData.token && maybeData.user) { + let {token, user} = maybeData; + actionContext.dispatch('RESET_BILLING_PLANS'); + /* + NOTE: + None of the functions should pass an error into the callback or else it will + kill the rest of the calls and return before we're able to fetch all the data + */ + async.parallel({ + allPlans: _getPersonalPlans({token}), + userPlan: _getBillingSubscriptions({token, user}), + accountInfo: _getBillingAccount({token, user}), + billingInfo: _getBillingInfo({token, user}), + invoiceList: _getBillingInvoices({token, user}) + }, function(err, results){ + const { + allPlans, + userPlan, + accountInfo, + billingInfo, + invoiceList + } = results; + debug('BILLING PLANS', results); + // IF AN ACCOUNT HAS BEEN MIGRATED - ITS ACCOUNT INFO WILL HAVE PARAMETER 'payment_gateway' === 'stripe' + const gateway = accountInfo && accountInfo.account && accountInfo.account.payment_gateway; + const billforwardId = accountInfo && accountInfo.billforwardId; + actionContext.dispatch('RECEIVE_BILLING_PLANS', { + plansList: allPlans + }); + actionContext.dispatch('RECEIVE_BILLING_INFO', { + billingInfo: billingInfo, + accountInfo: accountInfo && accountInfo.account, + currentPlan: userPlan, + gateway, + billforwardId + }); + actionContext.dispatch('RECEIVE_INVOICES', {invoices: invoiceList}); + return done(); + }); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/bitbucketRedirect.js b/app/scripts/actions/navigate/bitbucketRedirect.js new file mode 100644 index 0000000000..d8e698dda3 --- /dev/null +++ b/app/scripts/actions/navigate/bitbucketRedirect.js @@ -0,0 +1,75 @@ +'use strict'; + +import async from 'async'; +import has from 'lodash/object/has'; +import { Builds } from 'hub-js-sdk'; +import linkedAccountSettingsAction from './linkedAccountsSettings'; +var debug = require('debug')('navigate::bitbucketRedirect'); + +/** + * This action is hit when the site gets redirected from the github oauth workflow + * @param actionContext + * @param payload + * @param done + * @param maybeData + */ +export default function bitbucketRedirect({actionContext, payload, done, maybeData}){ + + const SOURCES = { + GITHUB: 'github', + BITBUCKET: 'bitbucket' + }; + + debug('In Bitbucket Redirect Route Handler !'); + //If token is available the user is already logged in + var token; + if (has(maybeData, 'token')) { + token = maybeData.token; + var oauthVerifier = payload.location.query.oauth_verifier; + var oauthToken = payload.location.query.oauth_token; + + var _associateBitbucketAccount = function(cb) { + Builds.associateBitbucketAccount(token, {oauth_verifier: oauthVerifier, oauth_token: oauthToken}, function(err, res) { + if (err) { + debug(JSON.stringify(err)); + debug('ERROR ASSOCIATING BITBUCKET ACCOUNT: ' + err); + const { detail } = err.response.body; + if(detail) { + actionContext.dispatch('BITBUCKET_ASSOCIATE_ERROR', detail); + } + cb(err); + } else { + if (res.body) { + debug('Bitbucket account association Success: ' + res.body); + actionContext.dispatch('BITBUCKET_ASSOCIATE_SUCCESS', res.body); + cb(null, res.body); + } + } + }); + }; + + var _getLinkedAccounts = function(callback) { + debug('Getting linked account settings state.'); + linkedAccountSettingsAction( + { + actionContext: actionContext, + payload: payload, + done: callback, + maybeData: maybeData + } + ); + }; + + async.series([ + _associateBitbucketAccount, + _getLinkedAccounts + ], function(err, results) { + done(); + } + ); + } else { + token = ''; + //TODO: redirect to login page or test redirect happens automatically + done(); + } +} diff --git a/app/scripts/actions/navigate/bitbucketUsersAndRepos.js b/app/scripts/actions/navigate/bitbucketUsersAndRepos.js new file mode 100644 index 0000000000..365a8f28d6 --- /dev/null +++ b/app/scripts/actions/navigate/bitbucketUsersAndRepos.js @@ -0,0 +1,49 @@ +'use strict'; + +var debug = require('debug')('navigate::bitbucketRepos'); +import async from 'async'; +import { + Builds + } from 'hub-js-sdk'; +import has from 'lodash/object/has'; +import linkedAccountAction from './linkedAccountsSettings'; +var debug = require('debug')('navigate::bitbucketUsersAndRepos'); + +export default function getBitbucketRepos({actionContext, payload, done, maybeData}) { + debug('GET BITBUCKET REPOS'); + var _getLinkedAccountStatus = function(cb) { + linkedAccountAction({ + actionContext: actionContext, + payload: payload, + done: cb, + maybeData: maybeData}); + }; + + var _getSourceRepos = function(cb) { + Builds.getSourceRepos('bitbucket', maybeData.token, function (err, res) { + if (err) { + const { detail } = err.response.body; + if (detail) { + actionContext.dispatch('LINKED_REPO_SOURCES_ERROR', detail); + } + cb(null); + } else{ + cb(null, res.body); + } + }); + }; + + + if (has(maybeData, 'token')) { + async.parallel([ + _getLinkedAccountStatus, + _getSourceRepos + ], function(err, results) { + actionContext.dispatch('SET_LINKED_REPO_TYPE', 'bitbucket'); + actionContext.dispatch('RECEIVE_LINKED_REPO_SOURCES', results[1]); + done(); + }); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/buildLogs.js b/app/scripts/actions/navigate/buildLogs.js new file mode 100644 index 0000000000..21f0240a8e --- /dev/null +++ b/app/scripts/actions/navigate/buildLogs.js @@ -0,0 +1,105 @@ +'use strict'; + +import has from 'lodash/object/has'; +import { parallel, waterfall } from 'async'; +import request from 'superagent'; +import { PENDING_DELETE } from 'common/enums/RepoStatus'; +import { + Repositories as Repos, + Autobuilds +} from 'hub-js-sdk'; +const debug = require('debug')('buildLogs'); + +export default function buildLogs({actionContext, payload, done, maybeData}) { + var token; + if (has(maybeData, 'token')) { + token = maybeData.token; + } else { + token = ''; + } + + var namespace = payload.params.user; + if (payload.params.user === '_') { + namespace = 'library'; + } + var repoShortName = namespace + '/' + payload.params.splat; + const build_code = payload.params.build_code; + + var _getRepo = function (callback) { + Repos.getRepo(token, repoShortName, function (err, res) { + let status; + if (res && res.body) { + status = res.body.status; + } + + if (err || status === PENDING_DELETE) { + actionContext.dispatch('REPO_NOT_FOUND', err); + callback(err); + } else { + actionContext.dispatch('RECEIVE_REPOSITORY', res.body); + callback(null, res.body); + } + }); + }; + + var _getRest = function (repoDetail, cb) { + if (repoDetail) { + parallel([ + function (callback) { + Repos.getCommentsForRepo(token, repoShortName, function (err, res) { + if (err) { + callback(err); + } else { + callback(null, res.body); + } + }); + }, function (callback) { + request.get(process.env.REGISTRY_API_BASE_URL + '/v2/repositories/' + repoShortName + '/buildhistory/' + build_code + '/') + .accept('application/json') + .set('Authorization', 'JWT ' + token) + .end((err, res) => { + if(err) { + callback(); + } else { + debug('BUILD LOGS RECEIVE', res.body); + actionContext.dispatch('BUILD_LOGS_RECEIVE', res.body); + callback(); + } + }); + }, function (callback) { + if (repoDetail.is_automated) { + Autobuilds.getAutomatedBuildSettings(token, namespace, payload.params.splat, function (err, res) { + if (err) { + actionContext.dispatch('AUTOBUILD_REPO_NOT_FOUND'); + callback(err); + } else { + actionContext.dispatch('RECEIVE_AUTOBUILD_SETTINGS', res.body); + callback(); + } + }); + } else { + callback(); + } + } + ], + function (error, results) { + if (error) { + cb(); + } else { + actionContext.dispatch('RECEIVE_REPO_COMMENTS', results[0]); + cb(); + } + }); + } else { + cb(); + } + }; + + waterfall([ + _getRepo, + _getRest + ], function(err, res) { + done(); + }); + +} diff --git a/app/scripts/actions/navigate/buildsMain.js b/app/scripts/actions/navigate/buildsMain.js new file mode 100644 index 0000000000..5e2bc2b681 --- /dev/null +++ b/app/scripts/actions/navigate/buildsMain.js @@ -0,0 +1,99 @@ +'use strict'; + +import has from 'lodash/object/has'; +import { parallel, waterfall } from 'async'; +import { PENDING_DELETE } from 'common/enums/RepoStatus'; +import { + Repositories as Repos, + Autobuilds +} from 'hub-js-sdk'; + +export default function buildsMain({actionContext, payload, done, maybeData}) { + var token; + if (has(maybeData, 'token')) { + token = maybeData.token; + } else { + token = ''; + } + + var namespace = payload.params.user; + if (payload.params.user === '_') { + namespace = 'library'; + } + var repoShortName = namespace + '/' + payload.params.splat; + + var _getRepo = function (callback) { + Repos.getRepo(token, repoShortName, function (err, res) { + let status; + if (res && res.body) { + status = res.body.status; + } + + if (err || status === PENDING_DELETE) { + actionContext.dispatch('REPO_NOT_FOUND', err); + callback(err); + } else { + actionContext.dispatch('RECEIVE_REPOSITORY', res.body); + callback(null, res.body); + } + }); + }; + + var _getRest = function (repoDetail, cb) { + if (repoDetail) { + parallel([ + function (callback) { + Repos.getBuildHistory(token, { + namespace, + name: payload.params.splat + }, function (err, res) { + if (err) { + callback(); + } else { + actionContext.dispatch('RECEIVE_BUILD_HISTORY_FOR_REPOSITORY', res.body); + callback(); + } + }); + }, function(callback) { + if (repoDetail.is_automated) { + Autobuilds.getAutomatedBuildSettings(token, namespace, payload.params.splat, function (err, res) { + if (err) { + actionContext.dispatch('AUTOBUILD_REPO_NOT_FOUND'); + callback(null); + } else { + callback(null, res.body); + } + }); + } else { + callback(null); + } + } + ], + function (error, results) { + if (error) { + cb(); + } else { + if (results[1]) { + actionContext.dispatch('RECEIVE_AUTOBUILD_SETTINGS', results[1]); + //also dispatch to the triggerByTag store to initialize the status + const {build_tags} = results[1]; + if (build_tags) { + actionContext.dispatch('INITIALIZE_AB_TRIGGERS', build_tags); + } + } + cb(); + } + }); + } else { + cb(); + } + }; + + waterfall([ + _getRepo, + _getRest + ], function(err, res) { + done(); + }); + +} diff --git a/app/scripts/actions/navigate/cloudBilling.js b/app/scripts/actions/navigate/cloudBilling.js new file mode 100644 index 0000000000..4fbb8e1368 --- /dev/null +++ b/app/scripts/actions/navigate/cloudBilling.js @@ -0,0 +1,109 @@ +'use strict'; + +const debug = require('debug')('navigate::billingPlans'); +import async from 'async'; +import _ from 'lodash'; + +import { + Billing, + Users + } from 'hub-js-sdk'; + +//GETs current HUB subscription +function _getBillingSubscriptions({token, user}) { + return (callback) => { + Billing.getBillingSubscriptions(token, user.username, (err, res) => { + if(err) { + callback(null, {}); + } else { + debug('GET USER PLANS', res.body); + let subscriptions = res.body; + + // the assumption is that there is at most one subscription right now + let subscription = _.head(subscriptions); + callback(err, subscription); + } + }); + }; +} + +function _getBillingAccount({token, user}) { + return (callback) => { + Billing.getBillingAccount(token, user.username, (err, res) => { + if(err) { + debug('NO BILLING ACCOUNT CONNECTED'); + callback(null, {}); + } else { + debug('GET BILLING ACCOUNT', res.body); + callback(null, res.body); + } + }); + }; +} + +function _getBillingInfo({token, user}) { + return (callback) => { + Billing.getBillingInfo(token, user.username, (err, res) => { + if(err) { + debug('NO BILLING ACCOUNT CONNECTED'); + callback(null, {}); + } else { + debug('GET BILLING INFO', res.body); + callback(null, res.body); + } + }); + }; +} +/** + * ============================================= + * ^ GET SUBSCRIPTIONS/ACCOUNTINFO/BILLINGINFO + * Must re-get on change of namespace + * ============================================= + */ + +//GET namespaces for user +function _getNamespaces({token}) { + return (callback) => { + Users.getNamespacesForUser(token, function(err, res) { + if (err) { + callback(null, {}); + } else { + callback(null, res.body.namespaces); + } + }); + }; +} + +export default function billingPlans({actionContext, payload, done, maybeData}){ + if (maybeData.token && maybeData.user) { + const {token, user} = maybeData; + actionContext.dispatch('RESET_CLOUD_BILLING_PLANS'); + async.parallel({ + userPlan: _getBillingSubscriptions({token, user}), + accountInfo: _getBillingAccount({token, user}), + billingInfo: _getBillingInfo({token, user}), + namespaces: _getNamespaces({token}) + }, function(err, results){ + const { userPlan, accountInfo, billingInfo, namespaces } = results; + debug('CLOUD BILLING PLANS', results); + actionContext.dispatch('RECEIVE_CLOUD_BILLING_INFO', { + billingInfo: billingInfo, + accountInfo: accountInfo, + currentPlan: userPlan + }); + actionContext.dispatch('ENTERPRISE_PAID_RECEIVE_ORGS', namespaces); + const values = _.merge({}, billingInfo, { + account_first: accountInfo.first_name, + account_last: accountInfo.last_name, + company_name: accountInfo.company_name, + email: accountInfo.email + }); + debug('INITIALIZE ENTERPRISE BILLING FORM: ', values); + // Need to differentiate btw billingInfo/accountInfo first/last names + actionContext.dispatch('ENTERPRISE_PAID_POPULATE_FORM', values); + return done(); + }); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/dashContribs.js b/app/scripts/actions/navigate/dashContribs.js new file mode 100644 index 0000000000..45f607930e --- /dev/null +++ b/app/scripts/actions/navigate/dashContribs.js @@ -0,0 +1,78 @@ +'use strict'; +var debug = require('debug')('navigate::dashStars'); +import async from 'async'; +import _ from 'lodash'; +import { + Repositories as Repos, + Notifications, + Orgs, + Users + } from 'hub-js-sdk'; + +export default function home({actionContext, payload, done, maybeData}){ + if (_.has(maybeData, 'token')) { + + //This is always for current user + //Get contributed repos + var _getReposByFilterTypeContrib = function(cb) { + var username = maybeData.user.username; + Repos.getContributedReposForUser(maybeData.token, username, function (err, res) { + if (err) { + cb(); + } else { + actionContext.dispatch('RECEIVE_CONTRIB', res.body); + cb(); + } + }, payload.location.query.page); + }; + + + //Get orgs for user + var _getOrgsForCurrentUser = function(cb) { + Users.getOrgsForUser(maybeData.token, function(err, res) { + if (err) { + debug(err); + cb(); + } else { + actionContext.dispatch('RECEIVE_DASHBOARD_NAMESPACES', { + orgs: res.body, + user: maybeData.user.username + }); + cb(); + } + }); + }; + + //Get user settings for private repo stats + var _getUserSettings = function(cb) { + Users.getUserSettings(maybeData.token, maybeData.user.username, function(err, res) { + if (err) { + debug(err); + cb(); + } else { + actionContext.dispatch('RECEIVE_PRIVATE_REPOSTATS', res.body); + cb(); + } + }); + }; + + //This is executed only for the currently logged in user, so put in starred, contributed only here + var _doParallelCalls = function() { + async.parallel([ + _getOrgsForCurrentUser, + _getReposByFilterTypeContrib, + _getUserSettings + ], function(err, results) { + if (err) { + debug(err); + } + return done(); + }); + }; + + actionContext.dispatch('CURRENT_USER_CONTEXT', { username: maybeData.user.username }); + _doParallelCalls(); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/dashRepos.js b/app/scripts/actions/navigate/dashRepos.js new file mode 100644 index 0000000000..3aeffbdf48 --- /dev/null +++ b/app/scripts/actions/navigate/dashRepos.js @@ -0,0 +1,138 @@ +'use strict'; +var debug = require('debug')('navigate::dashRepos'); +import async from 'async'; +import _ from 'lodash'; +import { + Repositories as Repos, + Notifications, + Orgs, + Users +} from 'hub-js-sdk'; + +export default function home({actionContext, payload, done, maybeData}){ + if (_.has(maybeData, 'token')) { + + //Get repos for user or org + var _getReposForUserOrOrg = function(cb, userType) { + var userOrOrgName = payload.params.user || maybeData.user.username; + actionContext.dispatch('DASHBOARD_REPOS_STORE_ATTEMPTING_GET_REPOS'); + Repos.getReposForUser(maybeData.token, userOrOrgName, function(err, res) { + if (err) { + actionContext.dispatch('ERROR_RECEIVING_REPOS'); + cb(); + } else { + actionContext.dispatch('RECEIVE_REPOS', res.body); + cb(); + } + }, payload.location.query.page); + }; + + //Get orgs for user + var _getOrgsForCurrentUser = function(cb) { + Users.getOrgsForUser(maybeData.token, function(err, res) { + if (err) { + debug(err); + cb(); + } else { + actionContext.dispatch('CURRENT_USER_ORGS', res.body); + cb(); + } + }); + }; + + //Get user settings for private repo stats + var _getUserSettings = function(cb) { + Users.getUserSettings(maybeData.token, maybeData.user.username, function(err, res) { + if (err) { + debug(err); + cb(); + } else { + actionContext.dispatch('RECEIVE_PRIVATE_REPOSTATS', res.body); + cb(); + } + }); + }; + + //This is executed only for the currently logged in user, so put in starred, contributed only here + var _doParallelCalls = function() { + async.parallel([ + _getReposForUserOrOrg, + _getOrgsForCurrentUser, + _getUserSettings, + function(callback) { + Notifications.getActivityFeed(maybeData.token, function(err, res) { + if (res) { + actionContext.dispatch('RECEIVE_ACTIVITY_FEED', res.body); + } + callback(); + }); + } + ], function(err, results) { + if (err) { + debug(err); + } + return done(); + }); + }; + + //Get Organization by name + var _getOrgByName = function() { + Orgs.getOrg(maybeData.token, payload.params.user, function(err, res) { + if (err) { + debug(err); + } else { + var org = res.body; + if (!_.isEmpty(org)) { + return org; + } + } + }); + return {}; + }; + + //Get user by name + var _getUserByName = function() { + Users.getUser(maybeData.token, payload.params.user, function(err, res) { + if (err) { + debug(err); + } else { + var user = res.body; + if (!_.isEmpty(user)) { + return user; + } + } + }); + return {}; + }; + + if (payload.params.user) { + if (payload.params.user === maybeData.user.username) { + actionContext.dispatch('CURRENT_USER_CONTEXT', { username: payload.params.user }); + _doParallelCalls(); + } else { + //get Org by name, if success set userOrOrg = `org` else set it to `user` + async.series([ + function (callback) { + callback(null, _getOrgByName(payload.params.user)); + }, + function (callback) { + callback(null, _getUserByName(payload.params.user)); + } + ], function (err, results) { + if (err) { + debug(err); + } else { + debug('Results of Series Call: ' + JSON.stringify(results)); + actionContext.dispatch('CURRENT_USER_CONTEXT', { username: payload.params.user }); + _getReposForUserOrOrg(done); + } + }); + } + } else { + actionContext.dispatch('CURRENT_USER_CONTEXT', { username: maybeData.user.username }); + _doParallelCalls(); + } + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/dashStars.js b/app/scripts/actions/navigate/dashStars.js new file mode 100644 index 0000000000..5744f62161 --- /dev/null +++ b/app/scripts/actions/navigate/dashStars.js @@ -0,0 +1,77 @@ +'use strict'; +var debug = require('debug')('navigate::dashStars'); +import async from 'async'; +import _ from 'lodash'; +import { + Repositories as Repos, + Notifications, + Orgs, + Users +} from 'hub-js-sdk'; + +export default function home({actionContext, payload, done, maybeData}){ + if (_.has(maybeData, 'token')) { + + //This is always for current user + //Get starred repos + var _getReposByFilterTypeStarred = function(cb) { + var username = maybeData.user.username; + Repos.getStarredReposForUser(maybeData.token, username, function (err, res) { + if (err) { + cb(); + } else { + actionContext.dispatch('RECEIVE_STARRED', res.body); + cb(); + } + }, payload.location.query.page); + }; + + //Get orgs for user + var _getOrgsForCurrentUser = function(cb) { + Users.getOrgsForUser(maybeData.token, function(err, res) { + if (err) { + debug(err); + cb(); + } else { + actionContext.dispatch('RECEIVE_DASHBOARD_NAMESPACES', { + orgs: res.body, + user: maybeData.user.username + }); + cb(); + } + }); + }; + + //Get user settings for private repo stats + var _getUserSettings = function(cb) { + Users.getUserSettings(maybeData.token, maybeData.user.username, function(err, res) { + if (err) { + debug(err); + cb(); + } else { + actionContext.dispatch('RECEIVE_PRIVATE_REPOSTATS', res.body); + cb(); + } + }); + }; + + //This is executed only for the currently logged in user, so put in starred, contributed only here + var _doParallelCalls = function() { + async.parallel([ + _getOrgsForCurrentUser, + _getReposByFilterTypeStarred, + _getUserSettings + ], function(err, results) { + if (err) { + debug(err); + } + return done(); + }); + }; + + actionContext.dispatch('CURRENT_USER_CONTEXT', { username: maybeData.user.username }); + _doParallelCalls(); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/dockerfile.js b/app/scripts/actions/navigate/dockerfile.js new file mode 100644 index 0000000000..d43d6afda5 --- /dev/null +++ b/app/scripts/actions/navigate/dockerfile.js @@ -0,0 +1,90 @@ +'use strict'; + +import has from 'lodash/object/has'; +import { parallel, waterfall } from 'async'; +import { PENDING_DELETE } from 'common/enums/RepoStatus'; +import { + Repositories as Repos, + Autobuilds +} from 'hub-js-sdk'; + +export default function dockerfile({actionContext, payload, done, maybeData}){ + var token; + if (has(maybeData, 'token')) { + token = maybeData.token; + } else { + token = ''; + } + + var namespace = payload.params.user; + if(payload.params.user === '_') { + namespace = 'library'; + } + var repoShortName = namespace + '/' + payload.params.splat; + + var _getRepo = function (callback) { + Repos.getRepo(token, repoShortName, function (err, res) { + let status; + if (res && res.body) { + status = res.body.status; + } + + if (err || status === PENDING_DELETE) { + actionContext.dispatch('REPO_NOT_FOUND', err); + callback(err); + } else { + actionContext.dispatch('RECEIVE_REPOSITORY', res.body); + callback(null, res.body); + } + }); + }; + + var _getRest = function (repoDetail, cb) { + if (repoDetail) { + parallel([ + function (callback) { + Repos.getDockerfile(token, repoShortName, function (err, res) { + if (err) { + callback(); + } else { + actionContext.dispatch('RECEIVE_DOCKERFILE_FOR_REPOSITORY', res.body); + callback(); + } + }); + }, function(callback) { + if (repoDetail.is_automated) { + Autobuilds.getAutomatedBuildSettings(token, namespace, payload.params.splat, function (err, res) { + if (err) { + actionContext.dispatch('AUTOBUILD_REPO_NOT_FOUND'); + callback(null); + } else { + callback(null, res.body); + } + }); + } else { + callback(null); + } + } + ], + function (error, results) { + if (error) { + cb(); + } else { + if (results[1]) { + actionContext.dispatch('RECEIVE_AUTOBUILD_SETTINGS', results[1]); + } + cb(); + } + }); + } else { + cb(); + } + }; + + waterfall([ + _getRepo, + _getRest + ], function(err, res) { + done(); + }); +} diff --git a/app/scripts/actions/navigate/explore.js b/app/scripts/actions/navigate/explore.js new file mode 100644 index 0000000000..1167f1ef23 --- /dev/null +++ b/app/scripts/actions/navigate/explore.js @@ -0,0 +1,26 @@ +'use strict'; +var debug = require('debug')('navigate::home'); +import async from 'async'; +import _ from 'lodash'; +import { + Repositories as Repos, + Notifications, + Orgs, + Users +} from 'hub-js-sdk'; + +export default function explore({actionContext, payload, done, maybeData}){ + + //Get repos for library + // We have, hijacked the repos store. This might not be good + // in the long run + Repos.getReposForUser(maybeData.token, 'library', function(err, res) { + if (err) { + actionContext.dispatch('ERROR_RECEIVING_REPOS'); + done(); + } else { + actionContext.dispatch('RECEIVE_REPOS', res.body); + done(); + } + }, payload.location.query.page); +} diff --git a/app/scripts/actions/navigate/getNamespaces.js b/app/scripts/actions/navigate/getNamespaces.js new file mode 100644 index 0000000000..99376c1547 --- /dev/null +++ b/app/scripts/actions/navigate/getNamespaces.js @@ -0,0 +1,38 @@ +'use strict'; + +import _ from 'lodash'; +import { + Users + } from 'hub-js-sdk'; +var debug = require('debug')('navigate::getNamespaces'); + +export default function getNamespaces({actionContext, payload, done, maybeData}){ + var initialRepoName = payload.params.sourceRepoName; + var initialNamespace = payload.location.query.namespace || maybeData.user.username; + if (_.has(maybeData, 'token')) { + Users.getNamespacesForUser(maybeData.token, function(err, res) { + if (err) { + return done(); + } + Users.getUserSettings(maybeData.token, maybeData.user.username, function(settingsErr, settingsRes) { + if (settingsRes.body) { + actionContext.dispatch('RECEIVE_PRIVATE_REPOSTATS', settingsRes.body); + actionContext.dispatch('RECEIVE_NAMESPACES', res.body); + actionContext.dispatch('INITIALIZE_AUTOBUILD_FORM', {name: initialRepoName, namespace: initialNamespace}); + actionContext.dispatch('CLEAR_AUTOBUILD_FORM_ERRORS'); + if (payload.routes[payload.routes.length - 1].name === 'autobuildGithub') { + actionContext.dispatch('SET_LINKED_REPO_TYPE', 'github'); + } else if (payload.routes[payload.routes.length - 1].name === 'autobuildBitbucket') { + actionContext.dispatch('SET_LINKED_REPO_TYPE', 'bitbucket'); + } + return done(); + } else if (settingsErr) { + debug(settingsErr); + return done(); + } + }); + }); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/githubRedirect.js b/app/scripts/actions/navigate/githubRedirect.js new file mode 100644 index 0000000000..ab96875e57 --- /dev/null +++ b/app/scripts/actions/navigate/githubRedirect.js @@ -0,0 +1,84 @@ +'use strict'; + +import _ from 'lodash'; +import async from 'async'; +import { Builds } from 'hub-js-sdk'; +import request from 'superagent'; +var debug = require('debug')('navigate::githubRedirect'); +import GithubLinkStore from '../../stores/GithubLinkStore'; +import linkedAccountSettingsAction from './linkedAccountsSettings'; + +/** + * This action is hit when the site gets redirected from the github oauth workflow + * @param actionContext + * @param payload + * @param done + * @param maybeData + */ +export default function githubRedirect({actionContext, payload, done, maybeData}){ + + const SOURCES = { + GITHUB: 'github', + BITBUCKET: 'bitbucket' + }; + + debug('In Gihub Redirect Route Handler !'); + //If token is available the user is already logged in + var token; + if (_.has(maybeData, 'token')) { + token = maybeData.token; + var code = payload.location.query.code; + var state = payload.location.query.state; + + var _associateGithubAccount = function(cb) { + Builds.associateGithubAccount(token, code, function(err, res) { + if (err) { + debug(JSON.stringify(err)); + debug('ERROR ASSOCIATING GITHUB ACCOUNT: ' + err); + actionContext.dispatch('GITHUB_ASSOCIATE_ERROR', err); + cb(err); + } else { + if (res.body) { + debug('GitHub account association Success: ' + res.body); + actionContext.dispatch('GITHUB_ASSOCIATE_SUCCESS', res.body); + cb(null, res.body); + } + } + }); + }; + + var _getLinkedAccounts = function(callback) { + debug('Getting linked account settings state.'); + linkedAccountSettingsAction( + { + actionContext: actionContext, + payload: payload, + done: callback, + maybeData: maybeData + } + ); + }; + + debug('Payload Cookies: ' + payload.cookies); + //TODO: validate state before linking + if (payload.cookies && payload.cookies.ghOauthKey === state) { + async.series([ + _associateGithubAccount, + _getLinkedAccounts + ], function(err, results) { + request.post('/oauth/github-done/') + .end(function(e, r) { debug('github-oauth done or exited.'); }); + done(); + } + ); + } else { + //The validation of the state failed + actionContext.dispatch('GITHUB_SECURITY_ERROR', 'There was a security issue with your request. Please try again later.'); + done(); + } + } else { + token = ''; + actionContext.dispatch('GITHUB_ASSOCIATE_ERROR'); + done(); + } +} diff --git a/app/scripts/actions/navigate/githubUsersAndRepos.js b/app/scripts/actions/navigate/githubUsersAndRepos.js new file mode 100644 index 0000000000..da5bb49ded --- /dev/null +++ b/app/scripts/actions/navigate/githubUsersAndRepos.js @@ -0,0 +1,48 @@ +'use strict'; + +var debug = require('debug')('navigate::githubRepos'); +import async from 'async'; +import { + Builds + } from 'hub-js-sdk'; +import has from 'lodash/object/has'; +import linkedAccountAction from './linkedAccountsSettings'; + +export default function getGithubRepos({actionContext, payload, done, maybeData}) { + + var _getLinkedAccountStatus = function(cb) { + linkedAccountAction({ + actionContext: actionContext, + payload: payload, + done: cb, + maybeData: maybeData}); + }; + + var _getSourceRepos = function(cb) { + Builds.getSourceRepos('github', maybeData.token, function (err, res) { + if (err) { + const { detail } = err.response.body; + if (detail) { + actionContext.dispatch('LINKED_REPO_SOURCES_ERROR', detail); + } + cb(null); + } else{ + cb(null, res.body); + } + }); + }; + + + if (has(maybeData, 'token')) { + async.parallel([ + _getLinkedAccountStatus, + _getSourceRepos + ], function(err, results) { + actionContext.dispatch('SET_LINKED_REPO_TYPE', 'github'); + actionContext.dispatch('RECEIVE_LINKED_REPO_SOURCES', results[1]); + done(); + }); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/home.js b/app/scripts/actions/navigate/home.js new file mode 100644 index 0000000000..144c26efe9 --- /dev/null +++ b/app/scripts/actions/navigate/home.js @@ -0,0 +1,132 @@ +'use strict'; +var debug = require('debug')('navigate::home'); +import async from 'async'; +import _ from 'lodash'; +import { + Repositories as Repos, + Notifications, + Orgs, + Users +} from 'hub-js-sdk'; + +export default function home({actionContext, payload, done, maybeData}){ + if (_.has(maybeData, 'token')) { + + //Get repos for user or org + var _getReposForUserOrOrg = function(cb, userType) { + var userOrOrgName = payload.params.user || maybeData.user.username; + actionContext.dispatch('DASHBOARD_REPOS_STORE_ATTEMPTING_GET_REPOS'); + Repos.getReposForUser(maybeData.token, userOrOrgName, function(err, res) { + if (err) { + actionContext.dispatch('ERROR_RECEIVING_REPOS'); + cb(); + } else { + actionContext.dispatch('RECEIVE_REPOS', res.body); + cb(); + } + }, payload.location.query.page); + }; + + //Get orgs for user + var _getOrgsForCurrentUser = function(cb) { + Users.getOrgsForUser(maybeData.token, function(err, res) { + if (err) { + debug(err); + cb(); + } else { + actionContext.dispatch('RECEIVE_DASHBOARD_NAMESPACES', { + orgs: res.body, + user: maybeData.user.username + }); + cb(); + } + }); + }; + + //Get user settings for private repo stats + var _getUserSettings = function(cb) { + Users.getUserSettings(maybeData.token, maybeData.user.username, function(err, res) { + if (err) { + debug(err); + cb(); + } else { + actionContext.dispatch('RECEIVE_PRIVATE_REPOSTATS', res.body); + cb(); + } + }); + }; + + var _doParallelCalls = function() { + async.parallel([ + _getReposForUserOrOrg, + _getOrgsForCurrentUser, + _getUserSettings + ], function(err, results) { + if (err) { + debug(err); + } + return done(); + }); + }; + + //Get Organization by name + var _getOrgByName = function() { + Orgs.getOrg(maybeData.token, payload.params.user, function(err, res) { + if (err) { + debug(err); + } else { + var org = res.body; + if (!_.isEmpty(org)) { + return org; + } + } + }); + return {}; + }; + + //Get user by name + var _getUserByName = function() { + Users.getUser(maybeData.token, payload.params.user, function(err, res) { + if (err) { + debug(err); + } else { + var user = res.body; + if (!_.isEmpty(user)) { + return user; + } + } + }); + return {}; + }; + + if (payload.params.user) { + if (payload.params.user === maybeData.user.username) { + actionContext.dispatch('CURRENT_USER_CONTEXT', { username: payload.params.user }); + _doParallelCalls(); + } else { + async.series([ + function (callback) { + callback(null, _getOrgByName(payload.params.user)); + }, + function (callback) { + callback(null, _getUserByName(payload.params.user)); + } + ], function (err, results) { + if (err) { + debug(err); + } else { + debug('Results of Series Call: ' + JSON.stringify(results)); + //User context is defined as `type`, `name` and `status flag` + actionContext.dispatch('CURRENT_USER_CONTEXT', {username: payload.params.user }); + _getReposForUserOrOrg(done); + } + }); + } + } else { + actionContext.dispatch('CURRENT_USER_CONTEXT', { username: maybeData.user.username }); + _doParallelCalls(); + } + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/licenses.js b/app/scripts/actions/navigate/licenses.js new file mode 100644 index 0000000000..2735150419 --- /dev/null +++ b/app/scripts/actions/navigate/licenses.js @@ -0,0 +1,57 @@ +'use strict'; +var debug = require('debug')('navigate::licenses'); +import async from 'async'; +import request from 'superagent'; +import _ from 'lodash'; +import { + Repositories as Repos, + Notifications, + Orgs, + Users +} from 'hub-js-sdk'; + +function getLicenses({ userID, token, actionContext}, done) { + request(process.env.REGISTRY_API_BASE_URL + '/api/licensing/v3/license/' + userID + '/') + .accept('application/json') + .set('Authorization', 'JWT ' + token) + .end((err, res) => { + if (err) { + done(null, null); + } else { + + let licenses = _.map(res.body.licenses, function(obj) { + return _.merge({}, + obj, + { + orgname: userID + }); + }); + done(null, licenses); + } + }); +} + +export default function licensesFn({ + actionContext, payload, done, maybeData +}){ + + if(maybeData.token) { + Users.getNamespacesForUser(maybeData.token, function(err, res){ + async.map(res.body.namespaces, + function(item, cb) { + getLicenses({ + userID: item, + token: maybeData.token, + actionContext + }, cb); + }, + function(error, results) { + actionContext.dispatch('RECEIVE_LICENSES', _.compact(results)); + done(); + }); + }); + } else { + // user must be logged in; they aren't + done(); + } +} diff --git a/app/scripts/actions/navigate/linkedAccountsSettings.js b/app/scripts/actions/navigate/linkedAccountsSettings.js new file mode 100644 index 0000000000..5f93a8be21 --- /dev/null +++ b/app/scripts/actions/navigate/linkedAccountsSettings.js @@ -0,0 +1,118 @@ +'use strict'; + +var debug = require('debug')('navigate::linkedAccounts'); +import async from 'async'; +import { + Builds + } from 'hub-js-sdk'; +import _ from 'lodash'; + +const SOURCES = { + GITHUB: 'github', + BITBUCKET: 'bitbucket' +}; + +export default function linked({actionContext, payload, done, maybeData}){ + if (_.has(maybeData, 'token')) { + + var _checkGithub = function(cb) { + Builds.checkGithub(maybeData.token, function(err, res) { + if(err) { + debug(err); + cb(null, false); + } else { + debug('Github account exists'); + cb(null, true); + } + }); + }; + + var _checkBitbucket = function(cb) { + Builds.checkBitbucket(maybeData.token, function(err, res) { + if(err) { + debug(err); + cb(null, false); + } else { + cb(null, true); + } + }); + }; + + var _getGithubAccount = function(accountExists, cb) { + if(accountExists) { + Builds.getSourceAccount(SOURCES.GITHUB, maybeData.token, function (err, res) { + if (err) { + cb(null, err); + } else { + cb(null, res.body); + } + }); + } else { + cb(null, {detail: 'No associated Github user'}); + } + }; + + var _getBitbucketAccount = function(accountExists, cb) { + if (accountExists) { + Builds.getSourceAccount(SOURCES.BITBUCKET, maybeData.token, function (err, res) { + if(err) { + cb(null, err); + } else { + cb(null, res.body); + } + }); + } else { + Builds.getBitbucketAuthUrl(maybeData.token, function(err, res) { + if (err) { + debug(err); + actionContext.dispatch('BITBUCKET_AUTH_URL_ERROR', err); + } else if (res.ok) { + actionContext.dispatch('RECEIVE_BITBUCKET_AUTH_URL', res.body); + } + }); + cb(null, {detail: 'No associated Bitbucket user'}); + } + }; + + var _wfGetGithubAccount = function(cb) { + async.waterfall([ + _checkGithub, + _getGithubAccount + ], function(err, result) { + debug('Github WF - result', result); + if (!err) { + cb(null, result); + } + }); + }; + + var _wfGetBitbucketAccount = function(cb) { + async.waterfall([ + _checkBitbucket, + _getBitbucketAccount + ], function(err, result) { + debug('Bitbucket WF - result', result); + if (!err) { + cb(null, result); + } + }); + }; + + //Check github and bitbucket and then get the account + async.parallel({ + _wfGetGithubAccount, + _wfGetBitbucketAccount + }, function(err, results) { + debug('results: ', results); + let accounts = { + github: results._wfGetGithubAccount, + bitbucket: results._wfGetBitbucketAccount, + gitlab: {detail: 'No associated GitLab user'} + }; + actionContext.dispatch('RECEIVE_SOURCE_ACCOUNTS', accounts); + return done(); + }); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/notificationSettings.js b/app/scripts/actions/navigate/notificationSettings.js new file mode 100644 index 0000000000..787ee68396 --- /dev/null +++ b/app/scripts/actions/navigate/notificationSettings.js @@ -0,0 +1,62 @@ +'use strict'; +const debug = require('debug')('navigate::notificationSettings'); +import _ from 'lodash'; +import async from 'async'; +import { + Emails, Notifications + } from 'hub-js-sdk'; + +export default function notificationSettings({actionContext, payload, done, maybeData}){ + if (_.has(maybeData, 'token')) { + var {token, user} = maybeData; + async.parallel({ + subscriptions: function(callback) { + Emails.getEmailSubscriptions(token, user.username, function(err, res){ + if (err) { + debug(err); + callback(); + } else { + callback(null, res.body); + } + }); + }, + notifications: function(callback) { + Notifications.getNotificationSubscriptions(token, function(err, res) { + if (err) { + debug(err); + callback(); + } else { + callback(null, res.body.results); + } + }); + }, + emails: function(callback) { + Emails.getEmailsForUser(token, user.username, function(err, res){ + if (err) { + debug(err); + callback(); + } else { + let emails = res.body.results; + let sortedEmails = _.sortByOrder(emails, ['primary', 'verified'], [false, false]); + callback(null, sortedEmails); + } + }); + } + }, function(err, res) { + let {subscriptions, notifications, emails} = res; + var weeklyDigest, betaGroup; + if (subscriptions) { + weeklyDigest = subscriptions.DockerNewsMailingList; + betaGroup = subscriptions.DockerBetaGroupMailingList; + actionContext.dispatch('RECEIVE_EMAIL_SUBSCRIPTIONS', {weeklyDigest: weeklyDigest, betaGroup: betaGroup}); + } + if (notifications) { + actionContext.dispatch('RECEIVE_NOTIFICATIONS', notifications); + } + actionContext.dispatch('RECEIVE_EMAILS', {emails: emails}); + done(); + }); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/orgBilling.js b/app/scripts/actions/navigate/orgBilling.js new file mode 100644 index 0000000000..d85e68da1d --- /dev/null +++ b/app/scripts/actions/navigate/orgBilling.js @@ -0,0 +1,222 @@ +'use strict'; + +const debug = require('debug')('navigate::OrgBilling'); +import async from 'async'; +import _ from 'lodash'; +import { + BILLFORWARD_ACCOUNT_ID +} from 'stores/common/Constants.js'; + +import { + Billing, + Users, + Orgs + } from 'hub-js-sdk'; + +function _getOrgPlans(token) { + return (callback) => { + Billing.getPlans(token, 'personal', (err, res) => { + if(err) { + debug(err); + callback(null, []); + } else { + let plansList = res.body; + let sortedPlans = _.sortBy(plansList, 'display_order'); + debug(sortedPlans); + callback(null, sortedPlans); + } + }); + }; +} + +function _getBillingSubscriptions(token, username) { + return (callback) => { + Billing.getBillingSubscriptions(token, username, (err, res) => { + if(!res || res.status === 500) { + debug('SERVER ISSUE: getting subscriptions'); + callback('SERVER ISSUE'); + } else if (err) { + callback(null, res.body); + } else { + debug('GET USER PLANS', res.body); + let subscriptions = res.body; + + // the assumption is that there is at most one subscription right now + let subscription = _.head(subscriptions); + callback(err, subscription); + } + }); + }; +} + +function _getBillingAccount(token, username) { + return (callback) => { + Billing.getBillingAccount(token, username, (err, res) => { + if(!res || res.status === 500) { + debug('SERVER ISSUE: getting billing account info'); + // NOTE: If this is a brand new billing account - set newBilling to true + callback(null, {account: { newBilling: true }}); + } else if (err) { + debug('NO BILLING ACCOUNT CONNECTED'); + // NOTE: If this is a brand new billing account - set newBilling to true + callback(null, {account: { newBilling: true }}); + } else { + debug('GET BILLING ACCOUNT', res.body); + const account = { ...res.body, newBilling: false }; + callback(err, { account, billforwardId: res.header[BILLFORWARD_ACCOUNT_ID] }); + } + }); + }; +} + +function _getBillingInfo(token, username) { + return (callback) => { + Billing.getBillingInfo(token, username, (err, res) => { + if(!res || res.status === 500) { + debug('SERVER ISSUE: getting billing info'); + // NOTE: If this is a brand new billing profile - set newBilling to true + callback(null, { newBilling: true }); + } else if (err) { + debug('NO BILLING INFO CONNECTED'); + // NOTE: If this is a brand new billing profile - set newBilling to true + callback(null, { newBilling: true }); + } else { + debug('GET BILLING INFO', res.body); + callback(err, { ...res.body, newBilling: false }); + } + }); + }; +} + +function _getBillingInvoices(token, username) { + return (callback) => { + Billing.getBillingInvoices(token, username, (err, res) => { + if(err) { + debug('NO BILLING ACCOUNT INVOICES'); + callback(null, []); + } else { + debug('GET BILLING INVOICES', res.body); + callback(err, res.body); + } + }); + }; +} + +//Get orgs for user +function _getOrgsForCurrentUser(token) { + return (callback) => { + Users.getOrgsForUser(token, function(err, res) { + if (err) { + debug(err); + callback(); + } else { + debug('GET Orgs for current User', res.body); + callback(null, res.body); + } + }); + }; +} + +//Get org's settings since we are in the organization's home +function _getOrgSettings(token, username) { + return (callback) => { + Orgs.getOrg(token, username, function (err, res) { + if (err) { + callback(); + } else { + debug('GET Orgs Settings', res.body); + callback(null, res.body); + } + }); + }; +} + +//Get user settings for private repo stats +var _getOrgPrivateRepoSettings = function(ac, token, username) { + return (cb) => { + Orgs.getOrgSettings(token, username, function (err, res) { + if (err) { + debug(err); + ac.dispatch('PRIVATE_REPOSTATS_NO_PERMISSIONS', err); + cb(null, err); + } else { + ac.dispatch('RECEIVE_PRIVATE_REPOSTATS', res.body); + cb(null, res.body); + } + }); + }; +}; + +var _getNamespaces = function(actionContext, token, profileuser) { + return (callback) => { + Users.getNamespacesForUser(token, function(err, res) { + if (err) { + callback(); + } else { + callback(null, res.body); + actionContext.dispatch('CREATE_REPO_RECEIVE_NAMESPACES', { + namespaces: res.body, + selectedNamespace: profileuser + }); + } + }); + }; +}; + +export default function billingOrgPlans({actionContext, payload, done, maybeData}){ + if (maybeData.token && maybeData.user) { + let {token, user} = maybeData; + let username = payload.params.user; + actionContext.dispatch('RESET_BILLING_PLANS'); + /* + NOTE: + None of the functions should pass an error into the callback or else it will + kill the rest of the calls and return before we're able to fetch all the data + */ + async.parallel({ + allPlans: _getOrgPlans(token), + userPlan: _getBillingSubscriptions(token, username), + accountInfo: _getBillingAccount(token, username), + billingInfo: _getBillingInfo(token, username), + invoiceList: _getBillingInvoices(token, username), + getOrgs: _getOrgsForCurrentUser(token), + getOrgSettings: _getOrgSettings(token, username), + getPrivateRepoStats: _getOrgPrivateRepoSettings(actionContext, token, username), + getNamespaces: _getNamespaces(actionContext, token, user.username) + }, function(err, results){ + const { + allPlans, + userPlan, + accountInfo, + billingInfo, + invoiceList, + getOrgs, + getOrgSettings + } = results; + debug('BILLING PLANS', results); + const gateway = accountInfo && accountInfo.account && accountInfo.account.payment_gateway; + const billforwardId = accountInfo && accountInfo.billforwardId; + + actionContext.dispatch('CURRENT_USER_CONTEXT', { username: username }); + actionContext.dispatch('RECEIVE_BILLING_PLANS', { + plansList: allPlans + }); + actionContext.dispatch('RECEIVE_BILLING_INFO', { + billingInfo: billingInfo, + accountInfo: accountInfo && accountInfo.account, + currentPlan: userPlan, + gateway, + billforwardId + }); + actionContext.dispatch('RECEIVE_INVOICES', {invoices: invoiceList}); + actionContext.dispatch('RECEIVE_DASHBOARD_NAMESPACES', { + orgs: getOrgs, + user: user.username + }); + actionContext.dispatch('RECEIVE_ORGANIZATION', getOrgSettings); + return done(); + }); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/orgDashTeams.js b/app/scripts/actions/navigate/orgDashTeams.js new file mode 100644 index 0000000000..41987a8e12 --- /dev/null +++ b/app/scripts/actions/navigate/orgDashTeams.js @@ -0,0 +1,146 @@ +'use strict'; +var debug = require('debug')('navigate orgHome'); +import async from 'async'; +import _ from 'lodash'; +import { + Repositories as Repos, + Notifications, + Orgs, + Users +} from 'hub-js-sdk'; + +export default function home({actionContext, payload, done, maybeData}){ + if (_.has(maybeData, 'token')) { + const currentOrg = payload.params.user; + + //Get orgs for user + var _getOrgsForCurrentUser = function(cb) { + Users.getOrgsForUser(maybeData.token, function(err, res) { + if (err) { + debug(err); + cb(); + } else { + actionContext.dispatch('RECEIVE_DASHBOARD_NAMESPACES', { + orgs: res.body, + user: maybeData.user.username + }); + cb(); + } + }); + }; + + //Get user settings for private repo stats + var _getOrgPrivateRepoSettings = function(cb) { + Orgs.getOrgSettings(maybeData.token, currentOrg, function(err, res) { + if (err) { + debug(err); + actionContext.dispatch('PRIVATE_REPOSTATS_NO_PERMISSIONS', err); + actionContext.dispatch('TEAM_READ_ONLY', true); + cb(); + } else { + actionContext.dispatch('RECEIVE_PRIVATE_REPOSTATS', res.body); + actionContext.dispatch('TEAM_READ_ONLY', false); + cb(); + } + }); + }; + + //Get Teams for an org + var _getTeamsForOrg = function(cb) { + Orgs.getTeams(maybeData.token, currentOrg, function(err, res) { + if (err) { + debug(err); + cb(); + } else { + actionContext.dispatch('RECEIVE_DASHBOARD_ORG_TEAMS', res.body); + cb(); + } + }); + }; + + var _getNamespaces = function(cb) { + Users.getNamespacesForUser(maybeData.token, function(err, res) { + if (err) { + cb(); + } else { + cb(null, res.body); + actionContext.dispatch('CREATE_REPO_RECEIVE_NAMESPACES', { + namespaces: res.body, + selectedNamespace: maybeData.user.username + }); + } + }); + }; + + const currentTeam = payload.location.query.team; + var _getTeam = function(cb) { + if (currentTeam) { + Orgs.getTeam(maybeData.token, currentOrg, currentTeam, function(err, res) { + if (err) { + actionContext.dispatch('ORG_DASHBOARD_MEMBERS_ERROR', err); + cb(null, err); + } else { + actionContext.dispatch('RECEIVE_DASHBOARD_ORG_TEAM', res.body); + cb(null, res.body); + } + }); + } else { + cb(null, null); + } + }; + + var _getMembers = function(cb) { + if (currentTeam) { + Orgs.getMembers(maybeData.token, currentOrg, currentTeam, function(err, res) { + if (err) { + actionContext.dispatch('ORG_DASHBOARD_MEMBERS_ERROR', err); + cb(null, err); + } else { + actionContext.dispatch('RECEIVE_DASHBOARD_TEAM_MEMBERS', res.body); + cb(null, res.body); + } + }); + } else { + cb(null, null); + } + }; + + //This is executed only for the currently logged in user, so put in starred, contributed only here + var _doParallelCalls = function() { + async.parallel([ + _getOrgsForCurrentUser, + _getOrgPrivateRepoSettings, + _getTeamsForOrg, + _getNamespaces, + _getTeam, + _getMembers + ], function(err, results) { + if (err) { + debug(err); + } + return done(); + }); + }; + + //Get Organization by name + var _getOrgByName = function(name, cb) { + Orgs.getOrg(maybeData.token, name, function(err, res) { + if (err) { + debug(err); + cb({}); + } else { + var org = res.body; + cb(org); + } + }); + }; + + actionContext.dispatch('CURRENT_USER_CONTEXT', { + username: payload.params.user + }); + _doParallelCalls(); + + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/orgHome.js b/app/scripts/actions/navigate/orgHome.js new file mode 100644 index 0000000000..dc2a9bd106 --- /dev/null +++ b/app/scripts/actions/navigate/orgHome.js @@ -0,0 +1,143 @@ +'use strict'; +var debug = require('debug')('navigate orgHome'); +import async from 'async'; +import _ from 'lodash'; +import { + Repositories as Repos, + Notifications, + Orgs, + Users +} from 'hub-js-sdk'; + +export default function home({actionContext, payload, done, maybeData}){ + if (_.has(maybeData, 'token')) { + + //Get repos for user or org + var _getReposForUserOrOrg = function(cb, userType) { + actionContext.dispatch('DASHBOARD_REPOS_STORE_ATTEMPTING_GET_REPOS'); + Repos.getReposForUser(maybeData.token, payload.params.user, function(err, res) { + if (err) { + actionContext.dispatch('ERROR_RECEIVING_REPOS'); + cb(); + } else { + actionContext.dispatch('RECEIVE_REPOS', res.body); + cb(); + } + }, payload.location.query.page); + }; + + //Get contributed repos + var _getReposByFilterTypeContrib = function(cb) { + var username = maybeData.user.username; + Repos.getContributedReposForUser(maybeData.token, username, function (err, res) { + if (err) { + cb(); + } else { + var resultPayload = {type: 'contrib', results: res.body.results}; + actionContext.dispatch('RECEIVE_CONTRIB', resultPayload); + cb(); + } + }); + }; + + //Get orgs for user + var _getOrgsForCurrentUser = function(cb) { + Users.getOrgsForUser(maybeData.token, function(err, res) { + if (err) { + debug(err); + cb(); + } else { + actionContext.dispatch('RECEIVE_DASHBOARD_NAMESPACES', { + orgs: res.body, + user: maybeData.user.username + }); + cb(); + } + }); + }; + + //Get user settings for private repo stats + var _getOrgPrivateRepoSettings = function(cb) { + Orgs.getOrgSettings(maybeData.token, payload.params.user, function(err, res) { + if (err) { + debug(err); + actionContext.dispatch('PRIVATE_REPOSTATS_NO_PERMISSIONS', err); + actionContext.dispatch('TEAM_READ_ONLY', true); + cb(); + } else { + actionContext.dispatch('RECEIVE_PRIVATE_REPOSTATS', res.body); + actionContext.dispatch('TEAM_READ_ONLY', false); + cb(); + } + }); + }; + + //Get org's settings since we are in the organization's home + var _getOrgSettings = function(cb) { + Orgs.getOrg(maybeData.token, payload.params.user, function (err, res) { + if (err) { + cb(); + } else { + actionContext.dispatch('RECEIVE_ORGANIZATION', res.body); + cb(); + } + }); + }; + + var _getNamespaces = function(cb) { + Users.getNamespacesForUser(maybeData.token, function(err, res) { + if (err) { + cb(); + } else { + cb(null, res.body); + actionContext.dispatch('CREATE_REPO_RECEIVE_NAMESPACES', { + namespaces: res.body, + selectedNamespace: maybeData.user.username + }); + } + }); + }; + + //This is executed only for the currently logged in user, so put in starred, contributed only here + var _doParallelCalls = function() { + async.parallel([ + _getReposForUserOrOrg, + _getOrgsForCurrentUser, + _getReposByFilterTypeContrib, + _getOrgSettings, + _getOrgPrivateRepoSettings, + _getNamespaces + ], function(err, results) { + if (err) { + debug(err); + } + return done(); + }); + }; + + //Get Organization by name + var _getOrgByName = function(name, cb) { + Orgs.getOrg(maybeData.token, name, function(err, res) { + if (err) { + debug(err); + cb({}); + } else { + var org = res.body; + cb(org); + } + }); + }; + + if (payload.params.user) { + actionContext.dispatch('CURRENT_USER_CONTEXT', { username: payload.params.user }); + _doParallelCalls(); + } else { + debug('mark 5'); + actionContext.dispatch('CURRENT_USER_CONTEXT', { username: payload.params.user }); + _doParallelCalls(); + } + } else { + debug('mark 6'); + done(); + } +} diff --git a/app/scripts/actions/navigate/orgSettings.js b/app/scripts/actions/navigate/orgSettings.js new file mode 100644 index 0000000000..e0ff148a60 --- /dev/null +++ b/app/scripts/actions/navigate/orgSettings.js @@ -0,0 +1,66 @@ +'use strict'; + +import _ from 'lodash'; +import { + Users + } from 'hub-js-sdk'; +import async from 'async'; +var debug = require('debug')('navigate::orgSettings'); + +export default function orgs({actionContext, payload, done, maybeData}){ + debug('Organization Settings Navigate Token -> ' + maybeData.token); + debug('ORG SETTINGS PAYLOAD', payload); + let orgName = payload.params.user; + if (_.has(maybeData, 'token')) { + async.parallel({ + getOrgs: function(callback) { + Users.getOrgsForUser(maybeData.token, function(getErr, getRes) { + if (getErr) { + debug(getErr); + callback(); + } else { + actionContext.dispatch('RECEIVE_DASHBOARD_NAMESPACES', { + orgs: getRes.body, + user: maybeData.user.username + }); + actionContext.dispatch('CURRENT_USER_ORGS', getRes.body); + actionContext.dispatch('SELECT_ORGANIZATION', orgName); + actionContext.dispatch('CURRENT_USER_CONTEXT', { username: orgName }); + callback(null, getRes.body); + } + }); + }, + getUserSettings: function(callback) { + let username = payload.params.user; + Users.getUserSettings(maybeData.token, username, function(getErr, getRes) { + if (getErr){ + debug(getErr); + callback(); + } else { + let is_private = (getRes.default_repo_visibility); + actionContext.dispatch('CREATE_REPO_UPDATE_FIELD_WITH_VALUE', {fieldKey: 'is_private', fieldValue: is_private}); + actionContext.dispatch('RECEIVE_PRIVATE_REPOSTATS', getRes.body); + callback(null, getRes.body); + } + }); + }, + getNamespaces: function(callback) { + Users.getNamespacesForUser(maybeData.token, function(err, res) { + if (err) { + callback(); + } else { + callback(null, res.body); + actionContext.dispatch('CREATE_REPO_RECEIVE_NAMESPACES', { + namespaces: res.body, + selectedNamespace: maybeData.user.username + }); + } + }); + } + }, function(err, res){ + done(); + }); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/orgSummary.js b/app/scripts/actions/navigate/orgSummary.js new file mode 100644 index 0000000000..e385c69e4a --- /dev/null +++ b/app/scripts/actions/navigate/orgSummary.js @@ -0,0 +1,24 @@ +'use strict'; + +import _ from 'lodash'; +import { + Users + } from 'hub-js-sdk'; +var debug = require('debug')('navigate::orgSummary'); + +export default function orgs({actionContext, payload, done, maybeData}){ + debug('Organization Settings Navigate Token -> ' + maybeData.token); + if (_.has(maybeData, 'token')) { + Users.getOrgsForUser(maybeData.token, function(err, res) { + if (err) { + debug(err); + done(); + } else { + actionContext.dispatch('CURRENT_USER_ORGS', res.body); + done(); + } + }); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/repo.js b/app/scripts/actions/navigate/repo.js new file mode 100644 index 0000000000..6680ef4b72 --- /dev/null +++ b/app/scripts/actions/navigate/repo.js @@ -0,0 +1,100 @@ +'use strict'; + +import _ from 'lodash'; +import async from 'async'; +import { PENDING_DELETE } from 'common/enums/RepoStatus'; +import { + Repositories as Repos, + Autobuilds +} from 'hub-js-sdk'; + +export default function repo({actionContext, payload, done, maybeData}){ + var token; + if (_.has(maybeData, 'token')) { + token = maybeData.token; + } else { + token = ''; + } + + var namespace = payload.params.user; + if(payload.params.user === '_') { + namespace = 'library'; + } + var repoShortName = namespace + '/' + payload.params.splat; + + //1. Get repository details + //2. If successful, set valid repo and pass it along for the next set of calls + //3. If not valid, set repo to be not valid and dispatch repo not found + var _getRepo = function(cb) { + Repos.getRepo(token, repoShortName, function(err, res) { + var repoInfo = {}; + let status; + if (res && res.body) { + status = res.body.status; + } + + if (err || status === PENDING_DELETE) { + repoInfo.error = err; + repoInfo.isValid = false; + cb(null, repoInfo); + actionContext.dispatch('REPO_NOT_FOUND', err); + } else { + repoInfo.info = res.body; + actionContext.dispatch('RECEIVE_REPOSITORY', res.body); + repoInfo.isValid = true; + cb(null, repoInfo); + } + }); + }; + + var _getRepoDetails = function(repoInfo, cb) { + if (repoInfo.isValid) { + async.parallel([ + function(callback) { + Repos.getCommentsForRepo(token, repoShortName, function(err, res) { + if (err) { + callback(err); + } else { + callback(null, res.body); + } + }, 1); + }, function(callback) { + if (repoInfo.info.is_automated) { + Autobuilds.getAutomatedBuildSettings(token, namespace, payload.params.splat, function (err, res) { + if (err) { + actionContext.dispatch('AUTOBUILD_REPO_NOT_FOUND'); + callback(null); + } else { + callback(null, res.body); + } + }); + } else { + callback(null); + } + } + ], + function(error, results) { + if (error) { + cb(error); + } else { + cb(null, results); + } + }); + } else { + cb('repo not found'); + } + }; + + async.waterfall([ + _getRepo, + _getRepoDetails + ], function(e, finalResults) { + if (finalResults) { + actionContext.dispatch('RECEIVE_REPO_COMMENTS', finalResults[0]); + if (finalResults[1]) { + actionContext.dispatch('RECEIVE_AUTOBUILD_SETTINGS', finalResults[1]); + } + } + done(); + }); +} diff --git a/app/scripts/actions/navigate/repoDetailsScannedTag.js b/app/scripts/actions/navigate/repoDetailsScannedTag.js new file mode 100644 index 0000000000..dd7e9803d4 --- /dev/null +++ b/app/scripts/actions/navigate/repoDetailsScannedTag.js @@ -0,0 +1,114 @@ +'use strict'; + +import { parallel } from 'async'; +import { PENDING_DELETE } from 'common/enums/RepoStatus'; +import has from 'lodash/object/has'; +import merge from 'lodash/object/merge'; +import { Repositories as Repos } from 'hub-js-sdk'; +import { + RECEIVE_REPO, + RECEIVE_SCANNED_TAG_DATA, + ERROR +} from 'reduxConsts'; +const debug = require('debug')('navigate::repoDetailsScannedTagData'); +import request from 'superagent'; +import { normalize, arrayOf } from 'normalizr'; +import { scan } from 'normalizers'; + +const getRepo = ({maybeToken, actionContext, user, splat}) => (callback) => { + Repos.getRepo(maybeToken, `${user}/${splat}`, function(err, res) { + let status; + if (res && res.body) { + status = res.body.status; + } + + if (err || status === PENDING_DELETE) { + actionContext.dispatch('REPO_NOT_FOUND', err); + return callback(err); + } else { + return callback(null, res.body); + } + }); +}; + +/* + * Get nautilus scan info for the tag. + * TODO: Once this API is in it's final form for the jan release, move it to the SDK + */ +const getScanForTag = ({actionContext, maybeToken, payload, user, splat, tagname, done}) => (callback) => { + const namespace = user; + const name = splat; + const req = request.get(`${process.env.NAUTILUS_API_BASE_URL}/repositories/result?namespace=${namespace}&reponame=${name}&tag=${tagname}&detailed=1`); + if (maybeToken) { + req.set('Authorization', 'JWT ' + maybeToken); + } + req.timeout(7000); + req.end((err, res) => { + if (err) { + // NOTE: Suffixing the dispatch type with _STATUS means the status + // reducer will record this in the same way as our SDK calls + // via the middleware. + // When we move this to the SDK, the error will be dispatched automatically + actionContext.reduxStore.dispatch({ + type: `${RECEIVE_SCANNED_TAG_DATA}_STATUS`, + payload: { + status: ERROR, + statusKey: ['getScanForTag', namespace, name, tagname], + error: err + }, + error: true + }); + return callback(err); + } else { + // The API response contains a 'scan' resource within an object + // inside 'scan_details' + const { scan_details, image: { reponame, tag } } = res.body; + const { latest_scan_status } = res.body; + const result = { latest_scan_status, reponame, tag, ...scan_details }; + const normalized = normalize(result, scan); + return callback(null, normalized); + } + }); +}; + +export default function repoDetailsScannedTag({actionContext, payload, done, maybeData}){ + let token = ''; + if (has(maybeData, 'token')) { + token = maybeData.token; + } + const args = { + actionContext, + maybeToken: token, + user: payload.params.user, + splat: payload.params.splat, + tagname: payload.params.tagname + }; + + parallel({ + repo: getRepo(args), + tagScan: getScanForTag(args) + }, function(err, res){ + if (err) { + actionContext.dispatch('REPO_NOT_FOUND', err); + } else { + const { repo, tagScan } = res; + /* REPOS */ + //required for repository page header to display + actionContext.dispatch('RECEIVE_REPOSITORY', repo); + // We also need to dispatch to Redux; this will store the current repo + // within the repos reducer allowing us to find the namespace and repo + // name for the current route. + actionContext.reduxStore.dispatch({ + type: RECEIVE_REPO, + payload: repo + }); + + /* SCANS */ + actionContext.reduxStore.dispatch({ + type: RECEIVE_SCANNED_TAG_DATA, + payload: tagScan + }); + } + done(); + }); +} diff --git a/app/scripts/actions/navigate/repoDetailsTags.js b/app/scripts/actions/navigate/repoDetailsTags.js new file mode 100644 index 0000000000..576505e142 --- /dev/null +++ b/app/scripts/actions/navigate/repoDetailsTags.js @@ -0,0 +1,147 @@ +'use strict'; +const debug = require('debug')('navigate::repo'); +import { parallel } from 'async'; +import { PENDING_DELETE } from 'common/enums/RepoStatus'; +import has from 'lodash/object/has'; +import merge from 'lodash/object/merge'; +import request from 'superagent'; +import { + RECEIVE_NAUTILUS_TAGS_FOR_REPOSITORY, + RECEIVE_TAGS_FOR_REPOSITORY, + RECEIVE_REPO +} from 'reduxConsts.js'; +import { normalize, arrayOf } from 'normalizr'; +import { tag } from 'normalizers'; +import { + Repositories as Repos +} from 'hub-js-sdk'; + +const getRepo = ({maybeToken, actionContext, user, splat}) => (callback) => { + Repos.getRepo(maybeToken, `${user}/${splat}`, function(err, res) { + let status; + if (res && res.body) { + status = res.body.status; + } + + if (err || status === PENDING_DELETE) { + return callback(err); + } else { + return callback(null, res.body); + } + }); +}; + +// getTagsForRepo uses the hub API for loading tag information. This is used to +// show information about tags that are not scanned. +// +// We use this and the nautilus API because each API has incomplete information: +// - The nautilus API has vulnerability information +// - This API has the image size +// +// NOTE: This dispatches to Redux reducers and fluxible stores in the final callback +const getTagsForRepo = ({actionContext, maybeToken, user, splat}) => (callback) => { + const namespace = user; + const reponame = splat; + Repos.getTagsForRepo(maybeToken, `${user}/${splat}`, function(err, res) { + if (err) { + return callback(err); + } + const { results } = res.body; + // TODO: Assert normalize works as expected via jest/mocha + const tags = normalize(results, arrayOf(tag)); + return callback(null, { namespace, reponame, tags }); + }); +}; + +// getNautilusTagsForRepo uses the nautilus API to load tags and their +// vulnerability information via the nautilus API. +// +// NOTE: This dispatches to Redux reducers, not fluxible stores +const getNautilusTagsForRepo = ({actionContext, maybeToken, user, splat}) => (callback) => { + const namespace = user; + const reponame = splat; + const req = request.get(`${process.env.NAUTILUS_API_BASE_URL}/repositories/summaries/${namespace}/${reponame}`); + if (maybeToken) { + req.set('Authorization', 'JWT ' + maybeToken); + } + req.timeout(7000); + req.end((err, res) => { + if (err) { + // Nautilus call does NOT trigger an error page + return callback(null, null); + } + // TODO: Assert normalize works as expected via jest/mocha + const tags = normalize( + res.body, + arrayOf(tag), + { + // TODO: Add records + // NOTE: The nautius API uses a field called 'tag' to represent the + // tag name, whereas the HUB api uses 'name'. + // + // Our record, frontend code and normalizr key expects us to use + // the 'name' field. This normalizes the record to tag. + assignEntity: (obj, key, val) => { + obj[key] = val; + if (key === 'tag') { + obj.name = val; + delete obj.tag; + } + } + } + ); + return callback(null, { namespace, reponame, tags }); + }); +}; + +export default function repoDetailsTags({actionContext, payload, done, maybeData}) { + debug('maybeData:', maybeData); + let token = ''; + if (has(maybeData, 'token')) { + token = maybeData.token; + } + const { user, splat } = payload.params; + const args = { + actionContext, + maybeToken: token, + user, + splat + }; + + parallel({ + repo: getRepo(args), + tags: getTagsForRepo(args), + scans: getNautilusTagsForRepo(args) + }, (err, res) => { + if (err) { + // Tags or repo error + actionContext.dispatch('REPO_NOT_FOUND', err); + } else { + const { repo, tags, scans } = res; + /* REPO */ + actionContext.dispatch('RECEIVE_REPOSITORY', repo); + // We also need to dispatch to Redux; this will store the current repo + // within the repos reducer allowing us to find the namespace and repo + // name for the current route. + actionContext.reduxStore.dispatch({ + type: RECEIVE_REPO, + payload: repo + }); + + /* TAGS */ + actionContext.reduxStore.dispatch({ + type: RECEIVE_TAGS_FOR_REPOSITORY, + payload: tags + }); + + /* SCANS */ + if (scans) { + actionContext.reduxStore.dispatch({ + type: RECEIVE_NAUTILUS_TAGS_FOR_REPOSITORY, + payload: scans + }); + } + } + done(); + }); +} diff --git a/app/scripts/actions/navigate/repoOfficial.js b/app/scripts/actions/navigate/repoOfficial.js new file mode 100644 index 0000000000..9fcf0e3dba --- /dev/null +++ b/app/scripts/actions/navigate/repoOfficial.js @@ -0,0 +1,48 @@ +'use strict'; + +import _ from 'lodash'; +import async from 'async'; +import { PENDING_DELETE } from 'common/enums/RepoStatus'; +import { + Repositories as Repos +} from 'hub-js-sdk'; + +export default function repo({actionContext, payload, done, maybeData}){ + var token; + if (_.has(maybeData, 'token')) { + token = maybeData.token; + } else { + token = ''; + } + var repoShortName = 'library/' + payload.params.splat; + async.series([ + function(callback) { + Repos.getRepo(token, repoShortName, function(err, res) { + let status; + if (res && res.body) { + status = res.body.status; + } + + if (err || status === PENDING_DELETE) { + actionContext.dispatch('REPO_NOT_FOUND', err); + callback(err); + } else { + actionContext.dispatch('RECEIVE_REPOSITORY', res.body); + callback(null, res.body); + } + }); + }, function(callback) { + Repos.getCommentsForRepo(token, repoShortName, function(err, res) { + if (err) { + callback(err); + } else { + actionContext.dispatch('RECEIVE_REPO_COMMENTS', res.body); + callback(null, res.body); + } + }); + } + ], + function(error, results) { + done(); + }); +} diff --git a/app/scripts/actions/navigate/repoSettings.js b/app/scripts/actions/navigate/repoSettings.js new file mode 100644 index 0000000000..0af30fd929 --- /dev/null +++ b/app/scripts/actions/navigate/repoSettings.js @@ -0,0 +1,67 @@ +'use strict'; +const debug = require('debug')('navigate::repo'); +import { parallel, waterfall } from 'async'; +import { PENDING_DELETE } from 'common/enums/RepoStatus'; +import _ from 'lodash'; +import { + Repositories as Repos, + Users +} from 'hub-js-sdk'; + +function getRepo({maybeToken, actionContext, user, splat}) { + return function(callback){ + Repos.getRepo(maybeToken, `${user}/${splat}`, function(err, res) { + let status; + if (res && res.body) { + status = res.body.status; + } + + if (err || status === PENDING_DELETE) { + actionContext.dispatch('REPO_NOT_FOUND', res.body); + return callback(null, null); + } else { + actionContext.dispatch('RECEIVE_REPOSITORY', res.body); + return callback(null, res.body); + } + }); + }; +} + +function handleGetPrivateRepoStats({maybeToken, user, actionContext}) { + return function(repoDetails, callback) { + if (repoDetails) { + Users.getUserSettings(maybeToken, user, function (err, res) { + if (err) { + callback(); + } else { + actionContext.dispatch('RECEIVE_PRIVATE_REPOSTATS', res.body); + callback(); + } + }); + } else { + callback(null, null); + } + }; +} + +export default function repoSettingsMain({actionContext, payload, done, maybeData}){ + debug('maybeData:', maybeData); + if (_.has(maybeData, 'token')) { + let args = { + actionContext, + maybeToken: maybeData.token, + user: payload.params.user, + splat: payload.params.splat + }; + + waterfall([ + getRepo(args), + handleGetPrivateRepoStats(args) + ], function(err, res){ + done(); + }); + } else { + actionContext.dispatch('REPO_NOT_FOUND', null); + done(); + } +} diff --git a/app/scripts/actions/navigate/repoSettingsCollaborators.js b/app/scripts/actions/navigate/repoSettingsCollaborators.js new file mode 100644 index 0000000000..d6b5878d91 --- /dev/null +++ b/app/scripts/actions/navigate/repoSettingsCollaborators.js @@ -0,0 +1,97 @@ +'use strict'; +const debug = require('debug')('navigate::repo'); +import { parallel } from 'async'; +import { PENDING_DELETE } from 'common/enums/RepoStatus'; +import _ from 'lodash'; +import { + Repositories as Repos, + Orgs +} from 'hub-js-sdk'; + +function getRepo({maybeToken, actionContext, user, splat}) { + return function(callback){ + Repos.getRepo(maybeToken, `${user}/${splat}`, function(err, res) { + let status; + if (res && res.body) { + status = res.body.status; + } + + if (err || status === PENDING_DELETE) { + actionContext.dispatch('REPO_NOT_FOUND', null); + return callback(err); + } + actionContext.dispatch('RECEIVE_REPOSITORY', res.body); + return callback(); + }); +}; +} + +// GET's the collaborators for a user repo (which should be individuals) +function getCollaborators({maybeToken, actionContext, user, splat}) { + return function(cb) { + Repos.getCollaboratorsForRepo(maybeToken, `${user}/${splat}`, (err, res) => { + if(err) { + // 'Org repositories do not have collaborators.' + actionContext.dispatch('COLLAB_RECEIVE_COLLABORATORS', {}); + } else { + actionContext.dispatch('COLLAB_RECEIVE_COLLABORATORS', res.body); + } + cb(); + }); + }; +} + + //GET's the collaborators for an organization repo (which should be teams) +function getTeamCollaborators({maybeToken, actionContext, user, splat}) { + return function(cb) { + Repos.getTeamCollaboratorsForRepo(maybeToken, `${user}/${splat}`, (err, res) => { + if (err) { + // 'User repository does not have any teams yet' + actionContext.dispatch('COLLAB_RECEIVE_TEAMS', {}); + } else { + actionContext.dispatch('COLLAB_RECEIVE_TEAMS', res.body); + } + cb(); + }); + }; +} + +// GET's all teams for the organization +function getOrgTeams({maybeToken, actionContext, user, splat}) { + return function(cb) { + Orgs.getTeams(maybeToken, user, (err, res) => { + if (err) { + // 'No such organization' + actionContext.dispatch('COLLAB_RECEIVE_TEAMS', {}); + actionContext.dispatch('COLLAB_RECEIVE_ALL_TEAMS', {results: []}); + } else { + actionContext.dispatch('COLLAB_RECEIVE_ALL_TEAMS', res.body); + } + cb(); + }); + }; +} + +export default function repoSettingsMain({actionContext, payload, done, maybeData}){ + debug('maybeData:', maybeData); + if (_.has(maybeData, 'token')) { + let args = { + actionContext, + maybeToken: maybeData.token, + user: payload.params.user, + splat: payload.params.splat + }; + + parallel([ + getRepo(args), + getCollaborators(args), + getTeamCollaborators(args), + getOrgTeams(args) + ], function(err, res){ + done(); + }); + } else { + actionContext.dispatch('REPO_NOT_FOUND', null); + done(); + } +} diff --git a/app/scripts/actions/navigate/resetPass.js b/app/scripts/actions/navigate/resetPass.js new file mode 100644 index 0000000000..fa68db137a --- /dev/null +++ b/app/scripts/actions/navigate/resetPass.js @@ -0,0 +1,6 @@ +'use strict'; + +export default function resetPass({actionContext, payload, done, maybeData}){ + actionContext.dispatch('CHANGE_PASS_CLEAR'); + done(); +} diff --git a/app/scripts/actions/navigate/search.js b/app/scripts/actions/navigate/search.js new file mode 100644 index 0000000000..d0652a2ce4 --- /dev/null +++ b/app/scripts/actions/navigate/search.js @@ -0,0 +1,44 @@ +'use strict'; +var debug = require('debug')('navigate::search'); + +import { + Search +} from 'hub-js-sdk'; + +export default function search({actionContext, payload, done, maybeData}){ + debug('Hit /search:: Query = ' + JSON.stringify(payload.location.query)); + debug('Searching for: ' + payload.location.query.q); + //the filter param values are `0` because the python api accepts either `0` or `False`, we decided to use `0` + var searchQueryParams = { + query: payload.location.query.q || '', + page: payload.location.query.page || '', + isAutomated: payload.location.query.isAutomated || 0, + isOfficial: payload.location.query.isOfficial || 0, + starCount: payload.location.query.starCount || 0, + pullCount: payload.location.query.pullCount || 0 + }; + + //TODO: Maybe we should have a single dispatch here? + actionContext.dispatch('SUBMIT_SEARCH_QUERY', searchQueryParams.query); + actionContext.dispatch('UPDATE_SEARCH_PAGE', searchQueryParams.page); + actionContext.dispatch('UPDATE_SEARCH_OTHERFILTERS', searchQueryParams); + + //This is to search repositories + Search.searchRepos(maybeData.token, searchQueryParams, function(err, res) { + if (err) { + debug(err); + actionContext.dispatch('SEARCH_ERROR', err); + done(); + } else { + debug(res); + var queryResult = res.body; + //Query Result details (for paging) + if (queryResult) { + actionContext.dispatch('PROCESS_SEARCH_RESULTS', queryResult); + done(); + } else { + done(); + } + } + }); +} diff --git a/app/scripts/actions/navigate/serverBilling.js b/app/scripts/actions/navigate/serverBilling.js new file mode 100644 index 0000000000..00f6fcfb78 --- /dev/null +++ b/app/scripts/actions/navigate/serverBilling.js @@ -0,0 +1,31 @@ +'use strict'; +var debug = require('debug')('navigate::home'); +import async from 'async'; +import _ from 'lodash'; +import { + Users +} from 'hub-js-sdk'; + +export default function enterpriseTrial({actionContext, payload, done, maybeData}){ + + if(payload.location.query.partnervalue) { + actionContext.dispatch('ENTERPRISE_PARTNER_RECEIVE_CODE', { + code: payload.location.query.partnervalue + }); + } + + if(_.has(maybeData, 'token')){ + Users.getNamespacesForUser(maybeData.token, function(err, res) { + if (err) { + done(); + } else { + if(res.body && res.body.namespaces) { + actionContext.dispatch('ENTERPRISE_PAID_RECEIVE_ORGS', res.body.namespaces); + } + done(); + } + }); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/serverTrial.js b/app/scripts/actions/navigate/serverTrial.js new file mode 100644 index 0000000000..7aae21f284 --- /dev/null +++ b/app/scripts/actions/navigate/serverTrial.js @@ -0,0 +1,31 @@ +'use strict'; +var debug = require('debug')('navigate::home'); +import async from 'async'; +import _ from 'lodash'; +import { + Users +} from 'hub-js-sdk'; + +export default function enterpriseTrial({actionContext, payload, done, maybeData}){ + + if(payload.location.query.partnervalue) { + actionContext.dispatch('ENTERPRISE_PARTNER_RECEIVE_CODE', { + code: payload.location.query.partnervalue + }); + } + + if(_.has(maybeData, 'token')){ + Users.getNamespacesForUser(maybeData.token, function(err, res) { + if (err) { + done(); + } else { + if(res.body && res.body.namespaces) { + actionContext.dispatch('ENTERPRISE_TRIAL_RECEIVE_ORGS', res.body.namespaces); + } + done(); + } + }); + } else { + done(); + } +} diff --git a/app/scripts/actions/navigate/serverTrialSuccess.js b/app/scripts/actions/navigate/serverTrialSuccess.js new file mode 100644 index 0000000000..6c4bc1f200 --- /dev/null +++ b/app/scripts/actions/navigate/serverTrialSuccess.js @@ -0,0 +1,39 @@ +'use strict'; +const debug = require('debug')('navigate::serverTrialSuccess'); +import merge from 'lodash/object/merge'; +import find from 'lodash/collection/find'; +import { Billing } from 'hub-js-sdk'; + +export default function serverTrialSuccess({ + actionContext, payload, done, maybeData +}){ + const { namespace } = payload.location.query; + if(maybeData.token) { + Billing.getLicensesForNamespace(maybeData.token, { namespace }, (err, res) => { + if (err) { + debug(err); + if(err.response.badRequest) { + const { detail } = err.response.body; + if(detail) { + actionContext.dispatch('RECEIVE_TRIAL_LICENSE_BAD_REQUEST', detail); + } + } else { + actionContext.dispatch('RECEIVE_TRIAL_LICENSE_FACEPALM', err); + } + done(); + } else { + let license = find(res.body.licenses, (obj) => { + return obj.tier === 'Trial' || obj.alias === 'Trial'; + }); + license = merge({}, license, { namespace }); + actionContext.dispatch('RECEIVE_TRIAL_LICENSE', license); + done(); + } + }); + } else { + // user must be logged in; they aren't + const err = `You must be logged in to access your trial license`; + actionContext.dispatch('RECEIVE_TRIAL_LICENSE_BAD_REQUEST', err); + done(); + } +} diff --git a/app/scripts/actions/navigate/toOrg.js b/app/scripts/actions/navigate/toOrg.js new file mode 100644 index 0000000000..f1497b3af1 --- /dev/null +++ b/app/scripts/actions/navigate/toOrg.js @@ -0,0 +1,7 @@ +'use strict'; +var debug = require('debug')('navigate::toOrg'); + +export default function updateOrgOwner({actionContext, payload, done, maybeData}){ + actionContext.dispatch('UPDATE_TO_ORG_OWNER', {owner: ''}); + done(); +} diff --git a/app/scripts/actions/navigate/user.js b/app/scripts/actions/navigate/user.js new file mode 100644 index 0000000000..8dfe8eea64 --- /dev/null +++ b/app/scripts/actions/navigate/user.js @@ -0,0 +1,58 @@ +'use strict'; +var debug = require('debug')('navigate::home'); +import async from 'async'; +import _ from 'lodash'; +import { + Repositories as Repos, + Users +} from 'hub-js-sdk'; + +export default function home({actionContext, payload, done, maybeData}){ + // This works without a jwt + var token = null; + + if (_.has(maybeData, 'token')) { + token = maybeData.token; + } + + //Get repos for user or org + var _getReposForUser = function(cb) { + actionContext.dispatch('DASHBOARD_REPOS_STORE_ATTEMPTING_GET_REPOS'); + Repos.getReposForUser(token, payload.params.user, function(err, res) { + if (err) { + cb(); + } else { + actionContext.dispatch('RECEIVE_PROFILE_REPOS', res.body); + cb(); + } + }, payload.location.query.page); + }; + + var _getUserByName = function(cb) { + Users.getUser(token, payload.params.user, function(err, res) { + if (err) { + if(res && res.notFound) { + actionContext.dispatch('USER_PROFILE_404'); + cb(err, null); + } else { + debug(err); + cb(); + } + } else { + actionContext.dispatch('RECEIVE_PROFILE_USER', res.body); + cb(); + } + }); + }; + + //Get user by name + async.parallel([ + _getReposForUser, + _getUserByName + ], function(err, results) { + if (err) { + debug(err); + } + return done(); + }); +} diff --git a/app/scripts/actions/navigate/userStars.js b/app/scripts/actions/navigate/userStars.js new file mode 100644 index 0000000000..4e5e1d8f42 --- /dev/null +++ b/app/scripts/actions/navigate/userStars.js @@ -0,0 +1,57 @@ +'use strict'; +var debug = require('debug')('navigate::userStars'); +import async from 'async'; +import _ from 'lodash'; +import { + Repositories as Repos, + Users +} from 'hub-js-sdk'; + +export default function userStars({actionContext, payload, done, maybeData}){ + // This works without a jwt + var token = null; + + if (_.has(maybeData, 'token')) { + token = maybeData.token; + } + + //Get repos for user or org + var _getStarredReposForUser = function(cb) { + Repos.getStarredReposForUser(token, payload.params.user, function(err, res) { + if (err) { + cb(); + } else { + actionContext.dispatch('RECEIVE_PROFILE_STARRED_REPOS', res.body); + cb(); + } + }, payload.location.query.page); + }; + + var _getUserByName = function(cb) { + Users.getUser(token, payload.params.user, function(err, res) { + if (err) { + if(res && res.notFound) { + actionContext.dispatch('USER_PROFILE_404'); + cb(err, null); + } else { + debug(err); + cb(); + } + } else { + actionContext.dispatch('RECEIVE_PROFILE_USER', res.body); + cb(); + } + }); + }; + + //Get user by name + async.parallel([ + _getStarredReposForUser, + _getUserByName + ], function(err, results) { + if (err) { + debug(err); + } + return done(); + }); +} diff --git a/app/scripts/actions/navigate/webhooks.js b/app/scripts/actions/navigate/webhooks.js new file mode 100644 index 0000000000..930d0ce151 --- /dev/null +++ b/app/scripts/actions/navigate/webhooks.js @@ -0,0 +1,76 @@ +'use strict'; + +import _ from 'lodash'; +import { parallel } from 'async'; +import { PENDING_DELETE } from 'common/enums/RepoStatus'; +import { + Repositories as Repos +} from 'hub-js-sdk'; +import getPipelines from '@dux/hub-sdk/webhooks/getPipelines'; + +var debug = require('debug')('action::webhooks'); + +const fetchRepo = ({ token, namespace, name }) => callback => { + Repos.getRepo(token, `${namespace}/${name}`, (err, { body }) => { + const { status } = body; + if (err || status === PENDING_DELETE) { + // We should handle other possible errors here (500, etc) + return callback('REPO_NOT_FOUND'); + } else { + return callback(null, body); + } + }); +}; + +const fetchPipelines = ({ token, namespace, name }) => callback => { + getPipelines(token, { + namespace, + name + }, (err, res) => { + if (err) { + return callback(); + } else { + return callback(null, res.body); + } + }); +}; + +export default function fetchWebhooksPageData({ + actionContext: { dispatch }, + payload: { params }, + done, + maybeData: { token, user } +}) { + + if (!token) { + dispatch('REPO_NOT_FOUND', null); + return done(); + } + + debug(params); + const { + user: namespace, + splat: name + } = params; + + parallel({ + repository: fetchRepo({ token, namespace, name }), + pipelines: fetchPipelines({ token, namespace, name }) + }, + (err, { repository, pipelines }) => { + if(err) { + debug('err', err); + /** + * If there's an error, 404 by default, but handle other + * errors in the future + */ + dispatch('REPO_NOT_FOUND', null); + done(); + } else { + debug('receive', repository, pipelines); + dispatch('RECEIVE_REPOSITORY', repository); + dispatch('RECEIVE_WEBHOOKS', pipelines); + done(); + } + }); +} diff --git a/app/scripts/actions/onAddCollaboratorChange.js b/app/scripts/actions/onAddCollaboratorChange.js new file mode 100644 index 0000000000..8fb1d9f315 --- /dev/null +++ b/app/scripts/actions/onAddCollaboratorChange.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function onAddCollaboratorChange(actionContext, { collaborator }) { + actionContext.dispatch('ON_ADD_COLLAB_CHANGE', collaborator); +} diff --git a/app/scripts/actions/redux/tags.js b/app/scripts/actions/redux/tags.js new file mode 100644 index 0000000000..3ae1df4988 --- /dev/null +++ b/app/scripts/actions/redux/tags.js @@ -0,0 +1,22 @@ +'use strict'; + +import { Repositories as Repos } from 'hub-js-sdk'; +import { DELETE_REPO_TAG } from 'reduxConsts'; +const debug = require('debug')('hub:actions:redux:deleteRepoTag'); + +export const deleteRepoTag = ({ JWT, namespace, name, tagName }) => ({ + type: DELETE_REPO_TAG, + payload: { + namespace, + reponame: name, + tagName + }, + meta: { + sdk: { + call: Repos.deleteRepoTag, + args: [JWT, { namespace, name, tagName }], + callback: (err, res) => ({}), + statusKey: ['deleteRepoTag', tagName] + } + } +}); diff --git a/app/scripts/actions/regenTriggerToken.js b/app/scripts/actions/regenTriggerToken.js new file mode 100644 index 0000000000..d978f2fb2f --- /dev/null +++ b/app/scripts/actions/regenTriggerToken.js @@ -0,0 +1,27 @@ +'use strict'; +const debug = require('debug')('hub:actions:regenTriggerToken'); +import { + Autobuilds as AutoBuild + } from 'hub-js-sdk'; + +function getTriggerStatus(JWT, actionContext, namespace, name) { + AutoBuild.getTriggerStatus(JWT, namespace, name, function(err, res) { + if (err) { + debug('error', err); + } + if (res.ok) { + actionContext.dispatch('RECEIVE_TRIGGER_STATUS', res.body); + } + }); +} + +export default function regenTriggerToken(actionContext, {JWT, namespace, name}) { + AutoBuild.regenBuildTriggerToken(JWT, namespace, name, function(err, res) { + if (err) { + debug('error', err); + } + if (res.ok) { + getTriggerStatus(JWT, actionContext, namespace, name); + } + }); +} diff --git a/app/scripts/actions/removeTeam.js b/app/scripts/actions/removeTeam.js new file mode 100644 index 0000000000..3c506007f7 --- /dev/null +++ b/app/scripts/actions/removeTeam.js @@ -0,0 +1,26 @@ +'use strict'; + +var debug = require('debug')('hub:actions:removeTeam'); + +import { Orgs } from 'hub-js-sdk'; + +var removeTeam = function(actionContext, {jwt, orgname, teamname}) { + Orgs.deleteTeam(jwt, orgname, teamname, function(delErr, delRes) { + if (delErr) { + debug('error', delErr); + actionContext.dispatch('TEAM_ERROR', delErr); + } else if (delRes.ok) { + actionContext.dispatch('DELETE_DASHBOARD_TEAM_SUCCESS'); + actionContext.history.push(`/u/${orgname}/dashboard/teams/`); + Orgs.getTeams(jwt, orgname, function(err, res) { + if (err) { + debug('getTeams error', err); + } else { + actionContext.dispatch('RECEIVE_DASHBOARD_ORG_TEAMS', res.body); + } + }); + } + }); +}; + +module.exports = removeTeam; diff --git a/app/scripts/actions/removeTeamMember.js b/app/scripts/actions/removeTeamMember.js new file mode 100644 index 0000000000..5d6b6b298a --- /dev/null +++ b/app/scripts/actions/removeTeamMember.js @@ -0,0 +1,24 @@ +'use strict'; + +var debug = require('debug')('hub:actions:removeTeamMember'); + +import { Orgs } from 'hub-js-sdk'; + +var removeTeamMember = function(actionContext, {jwt, orgname, teamname, membername}) { + Orgs.deleteMember(jwt, orgname, teamname, membername, function(delErr, delRes) { + if (delErr) { + debug('error', delErr); + actionContext.dispatch('TEAM_MEMBER_ERROR', delErr); + } else if (delRes.ok) { + Orgs.getMembers(jwt, orgname, teamname, function(err, res) { + if (err) { + debug('getMembers error', err); + } else { + actionContext.dispatch('RECEIVE_DASHBOARD_TEAM_MEMBERS', res.body); + } + }); + } + }); +}; + +module.exports = removeTeamMember; diff --git a/app/scripts/actions/removeTriggerLink.js b/app/scripts/actions/removeTriggerLink.js new file mode 100644 index 0000000000..3a7d25f527 --- /dev/null +++ b/app/scripts/actions/removeTriggerLink.js @@ -0,0 +1,20 @@ +'use strict'; +import _ from 'lodash'; +import { Autobuilds as AutoBuild } from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:removeTriggerLink'); + +export default function(actionContext, { JWT, namespace, name, repo_id }) { + AutoBuild.deleteAutomatedBuildLink(JWT, namespace, name, repo_id, function(err, res) { + if (err) { + debug('error', err); + } else { + AutoBuild.getAutomatedBuildLinks(JWT, namespace, name, function(getErr, getRes){ + if (getErr) { + debug('getAutomatedBuildLinks error', err); + } else { + actionContext.dispatch('RECEIVE_AUTOBUILD_LINKS', getRes.body.results); + } + }); + } + }); +} diff --git a/app/scripts/actions/removeWebhookFromPipeline.js b/app/scripts/actions/removeWebhookFromPipeline.js new file mode 100644 index 0000000000..6f77808a66 --- /dev/null +++ b/app/scripts/actions/removeWebhookFromPipeline.js @@ -0,0 +1,8 @@ +'use strict'; + +export default function removeWebhookFromPipeline({ dispatch }, + params, + done) { + dispatch('ADD_WEBHOOK_REMOVE_HOOK'); + done(); +} diff --git a/app/scripts/actions/resendConfirmationEmail.js b/app/scripts/actions/resendConfirmationEmail.js new file mode 100644 index 0000000000..336762c181 --- /dev/null +++ b/app/scripts/actions/resendConfirmationEmail.js @@ -0,0 +1,20 @@ +'use strict'; +import { + Emails + } from 'hub-js-sdk'; +const debug = require('debug')('hub:actions:resendConfirmationEmail'); + +var resendConfirmationEmail = function(actionContext, {JWT, emailID}) { + actionContext.dispatch('RESEND_EMAIL_CONFIRMATION_ATTEMPT_START', emailID); + Emails.resendConfirmationEmail(JWT, emailID, function(err, res) { + if (err) { + debug('error', err); + actionContext.dispatch('RESEND_EMAIL_CONFIRMATION_FAILED', emailID); + } else { + actionContext.dispatch('RESEND_EMAIL_CONFIRMATION_SENT', emailID); + } + setTimeout(() => {actionContext.dispatch('RESEND_EMAIL_CONFIRMATION_CLEAR', emailID);}, 4000); + }); +}; + +module.exports = resendConfirmationEmail; diff --git a/app/scripts/actions/resetNotifications.js b/app/scripts/actions/resetNotifications.js new file mode 100644 index 0000000000..0eef639999 --- /dev/null +++ b/app/scripts/actions/resetNotifications.js @@ -0,0 +1,11 @@ +'use strict'; +import _ from 'lodash'; + +export default function(actionContext, slateArray) { + if (_.includes(slateArray, 'notifications')) { + actionContext.dispatch('RESET_EMAIL_NOTIFICATIONS_STORE'); + } + if (_.includes(slateArray, 'outbound')) { + actionContext.dispatch('RESET_OUTBOUND_EMAILS_STORE'); + } +} diff --git a/app/scripts/actions/resetPasswordSubmit.js b/app/scripts/actions/resetPasswordSubmit.js new file mode 100644 index 0000000000..d44247e627 --- /dev/null +++ b/app/scripts/actions/resetPasswordSubmit.js @@ -0,0 +1,21 @@ +/* @flow */ +'use strict'; +import { + Users + } from 'hub-js-sdk'; +const debug = require('debug')('hub:actions:resetPasswordSubmit'); + +var resetPasswordSubmit = function(actionContext:{ dispatch : Function }, { uidb64, reset_token, password_1, password_2 }) { + Users.resetPassword(uidb64, password_1, password_2, reset_token, function(err, res) { + if (err) { + debug('error', err); + actionContext.dispatch('RESET_PASSWORD_ERROR', res.body); + } else if (res.ok) { + actionContext.dispatch('RESET_PASSWORD_SUCCESSFUL'); + actionContext.history.push('/account/password-reset-confirm/success/'); + actionContext.dispatch('CHANGE_PASS_CLEAR', {}); + } + }); +}; + +module.exports = resetPasswordSubmit; diff --git a/app/scripts/actions/resetWebhookForm.js b/app/scripts/actions/resetWebhookForm.js new file mode 100644 index 0000000000..1de31e6100 --- /dev/null +++ b/app/scripts/actions/resetWebhookForm.js @@ -0,0 +1,8 @@ +'use strict'; + +export default function resetWebhookForm({ dispatch }, + params, + done) { + dispatch('ADD_WEBHOOK_RESET'); + done(); +} diff --git a/app/scripts/actions/saveEmailNotifs.js b/app/scripts/actions/saveEmailNotifs.js new file mode 100644 index 0000000000..3737bb7380 --- /dev/null +++ b/app/scripts/actions/saveEmailNotifs.js @@ -0,0 +1,51 @@ +'use strict'; + +var debug = require('debug')('hub:actions:saveEmailNotifs'); +import async from 'async'; + +import { Notifications } from 'hub-js-sdk'; + +var saveEmailNotifs = function(actionContext, {jwt, notification}) { + actionContext.dispatch('START_SAVE_ACTION'); + var _saveNotificationSettings = function(cb) { + Notifications.setNotificationSubscription(jwt, notification, function(err, res) { + if (err) { + debug('error', err); + cb(err); + } else if (res.body && res.ok) { + return cb(null, res.body); + } + }); + }; + + var _getNotificationSettings = function(cb) { + //all good, do the next call to get the notifications + Notifications.getNotificationSubscriptions(jwt, function(err, res) { + if (err) { + debug('getNotificationSubscriptions error', err); + cb(err); + } else { + cb(null, res.body.results); + } + }); + }; + + async.series([ + function (callback) { + _saveNotificationSettings(callback); + }, + function (callback) { + _getNotificationSettings(callback); + } + ], function (err, results) { + if (err) { + debug('async.series callback error', err); + actionContext.dispatch('SAVE_NOTIFICATIONS_ERROR'); + } else if (results[1]) { + actionContext.dispatch('SAVE_NOTIFICATIONS_SUCCESS'); + actionContext.dispatch('RECEIVE_NOTIFICATIONS', results[1]); + } + }); +}; + +module.exports = saveEmailNotifs; diff --git a/app/scripts/actions/saveOrgProfile.js b/app/scripts/actions/saveOrgProfile.js new file mode 100644 index 0000000000..37c6eed102 --- /dev/null +++ b/app/scripts/actions/saveOrgProfile.js @@ -0,0 +1,60 @@ +'use strict'; + +var debug = require('debug')('ACTION::saveOrgProfile'); +import async from 'async'; +import { Orgs } from 'hub-js-sdk'; +//Organization Object +/* + { + id (string), + orgname (regex), + full_name (string), + location (string): Your Location on the world, + company (string): Your organization's name, + profile_url (url): Your place on the web, + gravatar_email (email): This address will define which picture of you is shown, + is_active (boolean): Designates whether user is active. Unselect this instead of deleting accounts., + date_joined (datetime), + gravatar_url (string) + } + */ +export default function(actionContext, {jwt, orgname, organization}) { + + var _updateOrg = function(cb) { + Orgs.updateOrg(jwt, orgname, organization, function(err, res) { + if (err) { + debug(err); + actionContext.dispatch('UPDATE_ORG_ERROR', err); + cb(err, {}); + } else { + if (res.ok) { + cb(null, res.body); + } + } + }); + }; + + //Get orgs for user + var _getUpdatedOrg = function(cb) { + Orgs.getOrg(jwt, orgname, function(err, res) { + if (err) { + debug(err); + cb(err, {}); + } else { + cb(null, res.body); + actionContext.dispatch('UPDATE_ORG_SUCCESS'); + } + }); + }; + + async.series([ + _updateOrg, + _getUpdatedOrg + ], function (err, results) { + if(err) { + debug(err); + } else { + actionContext.dispatch('RECEIVE_ORGANIZATION', results[1]); + } + }); +} diff --git a/app/scripts/actions/saveOutbound.js b/app/scripts/actions/saveOutbound.js new file mode 100644 index 0000000000..fbcb25adba --- /dev/null +++ b/app/scripts/actions/saveOutbound.js @@ -0,0 +1,106 @@ +'use strict'; + +import { parallel } from 'async'; +import isEmpty from 'lodash/lang/isEmpty'; +import { + Emails + } from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:saveOutbound'); + +module.exports = function({ dispatch }, + { + JWT, + username, + weeklyDigest, + betaGroup + }) { + /*eslint-disable camelcase */ + var digestSubscribe = weeklyDigest.subscribed_emails; + var digestUnsubscribe = weeklyDigest.unsubscribed_emails; + var betaSubscribe = betaGroup.subscribed_emails; + var betaUnsubscribe = betaGroup.unsubscribed_emails; + /*eslint-enable camelcase */ + parallel({ + digestSubscribed: function (callback) { + Emails.subscribeEmails(JWT, username, { + /*eslint-disable camelcase */ + subscribed_emails: digestSubscribe, + mailing_list: 'DockerNewsMailingList' + /*eslint-enable camelcase*/ + }, function (err, res) { + if (err) { + callback(err); + } else { + callback(null, res); + } + }); + }, + betaSubscribed: function (callback) { + Emails.subscribeEmails(JWT, username, { + /*eslint-disable camelcase */ + subscribed_emails: betaSubscribe, + mailing_list: 'DockerBetaGroupMailingList' + /*eslint-enable camelcase */ + }, function (err, res) { + if (err) { + callback(err); + } else { + callback(null, res); + } + }); + }, + digestUnsubscribed: function (callback) { + if (!isEmpty(digestUnsubscribe)) { + Emails.unsubscribeEmails(JWT, username, { + /*eslint-disable camelcase */ + unsubscribed_emails: digestUnsubscribe, + mailing_list: 'DockerNewsMailingList' + /*eslint-enable camelcase */ + }, function (err, res) { + if (err) { + callback(err); + } else { + callback(null, res.body.unsubscribed); + } + }); + } else { + callback(null); + } + }, + betaUnsubscribed: function (callback) { + if (!isEmpty(betaUnsubscribe)) { + Emails.unsubscribeEmails(JWT, username, { + /*eslint-disable camelcase */ + unsubscribed_emails: betaUnsubscribe, + mailing_list: 'DockerBetaGroupMailingList' + /*eslint-enable camelcase */ + }, function (err, res) { + if (err) { + callback(err); + } else { + callback(null, res.body.unsubscribed); + } + }); + } else { + callback(null); + } + } + }, + function(err, res) { + if(err) { + debug(err); + dispatch('SAVE_OUTBOUND_ERROR'); + } else { + Emails.getEmailSubscriptions(JWT, username, function(error, response){ + if (error) { + return debug(error); + } + dispatch('RECEIVE_EMAIL_SUBSCRIPTIONS', { + weeklyDigest: response.body.DockerNewsMailingList, + betaGroup: response.body.DockerBetaGroupMailingList + }); + dispatch('SAVE_OUTBOUND_SUCCESS'); + }); + } + }); +}; diff --git a/app/scripts/actions/savePushAutoBuildSettings.js b/app/scripts/actions/savePushAutoBuildSettings.js new file mode 100644 index 0000000000..c20dee1a21 --- /dev/null +++ b/app/scripts/actions/savePushAutoBuildSettings.js @@ -0,0 +1,74 @@ +'use strict'; +import { + Autobuilds + } from 'hub-js-sdk'; +import has from 'lodash/object/has'; +import merge from 'lodash/object/merge'; +import sortBy from 'lodash/collection/sortBy'; +import async from 'async'; +var debug = require('debug')('hub:actions:savePushAutoBuildSettings'); + +function saveTag({JWT, namespace, name}) { + return (tag, callback) => { + if (tag.isNew && !tag.toDelete) { // toDelete unecessary now as tags with isNew && toDelete SHOULD be removed + var ab = merge({}, tag, {repoName: name, namespace: namespace}); + Autobuilds.createAutomatedBuildTags(JWT, ab, function(err, res) { + if (err) { + debug(err); + tag.error = true; + callback(null, { tag, err }); + } else { + callback(null, res.body); + } + }); + } else if (tag.toDelete && !!tag.id) { + Autobuilds.deleteAutomatedBuildTags(JWT, namespace, name, tag.id, function(err, res){ + if (err) { + debug(err); + tag.error = true; + callback(null, { tag, err }); + } else { + callback(null, null); + } + }); + } else { + Autobuilds.updateAutomatedBuildTags(JWT, namespace, name, tag.id, tag, function(err, res){ + if (err) { + debug(err); + tag.error = true; + callback(null, { tag, err }); + } else { + callback(null, res.body); + } + }); + } + }; +} + +export default function(actionContext, {JWT, namespace, name, tags}, done) { + let encounteredError = false; + async.map(tags, saveTag({ JWT, namespace, name }), function(error, results) { + results.forEach( (resultTag) => { + if (has(resultTag, 'tag')) { + const { tag, err } = resultTag; + //We are keeping track of only `update` docker tag errors and at the moment we get them in `non_field_errors` + const nonFieldErrors = err.response.body.non_field_errors; + if (has(tag, 'error')) { + actionContext.dispatch('SAVE_BUILD_TAGS_ERROR', {name: tag.name, error: nonFieldErrors}); + encounteredError = true; + } + } + }); + if (!encounteredError) { + //Gets here only if there are no errors + actionContext.dispatch('SAVE_BUILD_TAGS_SUCCESS'); + const sorted = sortBy(results, 'id'); + actionContext.dispatch('UPDATE_AUTO_BUILD_SETTINGS', { + field: 'autoBuildStore', + key: 'build_tags', + value: sorted + }); + } + done(); + }); +} diff --git a/app/scripts/actions/saveSettingsData.js b/app/scripts/actions/saveSettingsData.js new file mode 100644 index 0000000000..dee5615660 --- /dev/null +++ b/app/scripts/actions/saveSettingsData.js @@ -0,0 +1,22 @@ +'use strict'; +import { + Users, + JWT +} from 'hub-js-sdk'; +const debug = require('debug')('hub:actions:saveSettingsData'); + +var saveSettingsData = function(actionContext, payload) { + actionContext.dispatch('ACCOUNT_INFO_ATTEMPT_START'); + Users.updateUser(payload.JWT, payload.username, payload.updateData, function(err, res) { + if (err) { + debug(err); + actionContext.dispatch('ACCOUNT_INFO_BAD_REQUEST', err.response.body); + } else { + actionContext.dispatch('ACCOUNT_INFO_SUCCESS'); + setTimeout(() => {actionContext.dispatch('ACCOUNT_INFO_STATUS_CLEAR');}, 4000); + actionContext.dispatch('RECEIVE_USER', res.body); + } + }); +}; + +module.exports = saveSettingsData; diff --git a/app/scripts/actions/saveTeamProfile.js b/app/scripts/actions/saveTeamProfile.js new file mode 100644 index 0000000000..4630603723 --- /dev/null +++ b/app/scripts/actions/saveTeamProfile.js @@ -0,0 +1,53 @@ +'use strict'; + +var debug = require('debug')('hub:actions:saveTeamProfile'); +import async from 'async'; +import { Orgs } from 'hub-js-sdk'; +//Team Object +/* + { + id (string), + teamname (regex), + description (string) + } + */ +export default function(actionContext, {jwt, orgname, teamname, team}) { + + var _updateTeam = function(cb) { + Orgs.updateTeam(jwt, { orgname, teamname, team }, function(err, res) { + if (err) { + debug(err); + actionContext.dispatch('UPDATE_TEAM_ERROR', err); + cb(err, {}); + } else { + if (res.ok) { + actionContext.dispatch('UPDATE_TEAM_SUCCESS'); + cb(null, res.body); + } + } + }); + }; + + //Get Team for org + var _getUpdatedTeam = function(cb) { + Orgs.getTeam(jwt, orgname, team.name, function(err, res) { + if (err) { + debug(err); + cb(err, {}); + } else { + cb(null, res.body); + } + }); + }; + + async.series([ + _updateTeam, + _getUpdatedTeam + ], function (err, results) { + if(err) { + debug(err); + } else { + actionContext.dispatch('RECEIVE_ORG_TEAM', results[1]); + } + }); +} diff --git a/app/scripts/actions/selectOrganization.js b/app/scripts/actions/selectOrganization.js new file mode 100644 index 0000000000..ca2f46c77e --- /dev/null +++ b/app/scripts/actions/selectOrganization.js @@ -0,0 +1,8 @@ +/* @flow */ +'use strict'; + +//TODO: organization object needs to be documented in hub-js-sdk when available +module.exports = function(actionContext: {dispatch: Function}, + orgName: {orgName: string}) { + actionContext.dispatch('SELECT_ORGANIZATION', orgName); +}; diff --git a/app/scripts/actions/selectSourceRepoForAutobuild.js b/app/scripts/actions/selectSourceRepoForAutobuild.js new file mode 100644 index 0000000000..46cd52b208 --- /dev/null +++ b/app/scripts/actions/selectSourceRepoForAutobuild.js @@ -0,0 +1,6 @@ +'use strict'; + +//The source repository could be github, bitbucket or anything else in the future +export default function selectSourceRepoForAutobuild(actionContext, selectedSourceRepo) { + actionContext.dispatch('SELECT_SOURCE_REPO', selectedSourceRepo); +} diff --git a/app/scripts/actions/setNewPrimaryEmail.js b/app/scripts/actions/setNewPrimaryEmail.js new file mode 100644 index 0000000000..4ba49a370f --- /dev/null +++ b/app/scripts/actions/setNewPrimaryEmail.js @@ -0,0 +1,47 @@ +'use strict'; + +import { sortByOrder } from 'lodash'; +import { series, each } from 'async'; +import { + Emails + } from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:setNewPrimaryEmail'); + +function updateEmailSettings({ dispatch }, + { + JWT, username, emailId + }, + done) { + dispatch('START_SAVE_ACTION'); + series([ + function update(callback) { + debug('emailObject', emailId); + Emails.updateEmailByID(JWT, + emailId, + {primary: true}, + (err, res) => callback(null, res)); + } + ], + function afterUpdatingEmails(err, results) { + if (err) { + return debug(err); + } + Emails.getEmailsForUser(JWT, username, function(emailErr, res){ + if (emailErr) { + debug('emailErr', emailErr); + dispatch('FINISH_SAVE_ACTION'); + return done(); + } + var emails = res.body.results; + var sortedEmails = sortByOrder(emails, + ['primary', 'verified'], + [false, false]); + dispatch('RECEIVE_EMAILS', { + emails: sortedEmails + }); + dispatch('FINISH_SAVE_ACTION'); + }); + }); +} + +module.exports = updateEmailSettings; diff --git a/app/scripts/actions/shortDescriptionUpdateFormField.js b/app/scripts/actions/shortDescriptionUpdateFormField.js new file mode 100644 index 0000000000..3acb1f78c6 --- /dev/null +++ b/app/scripts/actions/shortDescriptionUpdateFormField.js @@ -0,0 +1,9 @@ +'use strict'; + +export default function({ dispatch }, + { fieldKey, fieldValue }, + done) { + dispatch('SHORT_DESCRIPTION_UPDATE_FIELD_WITH_VALUE', { + fieldKey, fieldValue + }); +} diff --git a/app/scripts/actions/signupUpdateFormField.js b/app/scripts/actions/signupUpdateFormField.js new file mode 100644 index 0000000000..1b63a9a684 --- /dev/null +++ b/app/scripts/actions/signupUpdateFormField.js @@ -0,0 +1,7 @@ +'use strict'; + +export default function(actionContext, { fieldKey, fieldValue }, done) { + actionContext.dispatch('SIGNUP_UPDATE_FIELD_WITH_VALUE', { + fieldKey, fieldValue + }); +} diff --git a/app/scripts/actions/signupValidations.js b/app/scripts/actions/signupValidations.js new file mode 100644 index 0000000000..95f19464b1 --- /dev/null +++ b/app/scripts/actions/signupValidations.js @@ -0,0 +1,59 @@ +'use strict'; + +var usernameValidation = function(actionContext, payload) { + var validationState; + var username = payload.unsafeUsername; + if (username.length > 3 && username.length <= 30 && username.match(/[a-z0-9\.\-_]+$/)) { + validationState = 'SUCCESS'; + } else if (username.length === 0) { + validationState = 'NOTHING'; + } else { + validationState = 'ERROR'; + } + actionContext.dispatch('VALIDATED_SIGNUP_USERNAME', { + username: username, + valState: validationState + }); +}; + +var passValidation = function(actionContext, payload) { + var validationState; + var password = payload.unsafePass; + if (password.length >= 5 && password.match(/[a-zA-Z]/) && password.match(/[0-9]/) && + password.match(/[\.-_!@#$%^&\*\(\)\[\]\{\}~:]/)) { + validationState = 'SUPERSUCCESS'; + } else if (password.length >= 5 && password.match(/[a-zA-Z]/) && password.match(/[0-9]/)) { + validationState = 'SUCCESS'; + } else if (password.length >= 5) { + validationState = 'WEAK'; + } else if (password.length === 0) { + validationState = 'NOTHING'; + } else if (password.length < 5) { + validationState = 'ERROR'; + } + actionContext.dispatch('VALIDATED_SIGNUP_PASSWORD', { + password: password, + valState: validationState + }); +}; +var emailValidation = function(actionContext, payload) { + var validationState; + var email = payload.unsafeEmail; + if (email.length > 3 && email.match(/.@./) && !email.match(/.\ ./)) { + validationState = 'SUCCESS'; + } else if (email.length === 0) { + validationState = 'NOTHING'; + } else { + validationState = 'ERROR'; + } + actionContext.dispatch('VALIDATED_SIGNUP_EMAIL', { + email: email, + valState: validationState + }); +}; + +module.exports = { + usernameValidation: usernameValidation, + passValidation: passValidation, + emailValidation: emailValidation +}; diff --git a/app/scripts/actions/toggleDeleteRepoNameConfirmBox.js b/app/scripts/actions/toggleDeleteRepoNameConfirmBox.js new file mode 100644 index 0000000000..d54621917b --- /dev/null +++ b/app/scripts/actions/toggleDeleteRepoNameConfirmBox.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function(actionContext) { + actionContext.dispatch('TOGGLE_DELETE_REPO_NAME_CONFIRM_BOX'); +} diff --git a/app/scripts/actions/toggleLongDescriptionEdit.js b/app/scripts/actions/toggleLongDescriptionEdit.js new file mode 100644 index 0000000000..0ebd88cdf3 --- /dev/null +++ b/app/scripts/actions/toggleLongDescriptionEdit.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function (actionContext, { isEditing }) { + actionContext.dispatch('TOGGLE_LONG_DESCRIPTION_EDIT', { isEditing }); +} diff --git a/app/scripts/actions/toggleShortDescriptionEdit.js b/app/scripts/actions/toggleShortDescriptionEdit.js new file mode 100644 index 0000000000..438bcb1792 --- /dev/null +++ b/app/scripts/actions/toggleShortDescriptionEdit.js @@ -0,0 +1,6 @@ +'use strict'; + +export default function (actionContext, { isEditing }) { + actionContext.dispatch('TOGGLE_SHORT_DESCRIPTION_EDIT', { isEditing }); +} + diff --git a/app/scripts/actions/toggleStarred.js b/app/scripts/actions/toggleStarred.js new file mode 100644 index 0000000000..11a3c342f6 --- /dev/null +++ b/app/scripts/actions/toggleStarred.js @@ -0,0 +1,30 @@ +'use strict'; + +import { + Repositories as Repos +} from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:toggleStarred'); + +export default function(actionContext, {jwt, repoShortName, status}) { + if(status) { + Repos.starRepo(jwt, repoShortName, + function(err, res) { + if (err) { + debug(err); + } else if (res.ok) { + actionContext.dispatch('TOGGLE_STARRED_STATE', status); + } + } + ); + } else { + Repos.unstarRepo(jwt, repoShortName, + function(err, res) { + if (err) { + debug(err); + } else if (res.ok) { + actionContext.dispatch('TOGGLE_STARRED_STATE', status); + } + } + ); + } +} diff --git a/app/scripts/actions/toggleTriggerStatus.js b/app/scripts/actions/toggleTriggerStatus.js new file mode 100644 index 0000000000..b23abf2a91 --- /dev/null +++ b/app/scripts/actions/toggleTriggerStatus.js @@ -0,0 +1,27 @@ +'use strict'; +const debug = require('debug')('hub:actions:toggleTriggerStatus'); +import { + Autobuilds as AutoBuild + } from 'hub-js-sdk'; + +function getTriggerStatus(JWT, actionContext, namespace, name) { + AutoBuild.getTriggerStatus(JWT, namespace, name, function(err, res) { + if (err) { + debug(err); + } + if (res.ok) { + actionContext.dispatch('RECEIVE_TRIGGER_STATUS', res.body); + } + }); +} + +export default function toggleTriggerStatus(actionContext, {JWT, namespace, name, active}) { + AutoBuild.toggleTriggerStatus(JWT, namespace, name, active, function(err, res) { + if (err) { + debug(err); + } + if (res.ok) { + getTriggerStatus(JWT, actionContext, namespace, name); + } + }); +} diff --git a/app/scripts/actions/toggleVisibility.js b/app/scripts/actions/toggleVisibility.js new file mode 100644 index 0000000000..4b296d9d03 --- /dev/null +++ b/app/scripts/actions/toggleVisibility.js @@ -0,0 +1,23 @@ +'use strict'; + +import { Users } from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:toggleVisibility'); + +module.exports = function(actionContext, {JWT, username, visibility}) { + actionContext.dispatch('START TOGGLE REPO VISIBILITY'); + Users.updateDefaultVisibility(JWT, { username, visibility }, function(err, res){ + if (err) { + actionContext.dispatch('UPDATE_ORG_ERROR', err); + } else if (res.ok) { + Users.getUserSettings(JWT, username, function(getErr, getRes) { + if (getErr) { + debug(getErr); + } else if (getRes.ok) { + actionContext.dispatch('RECEIVE_PRIVATE_REPOSTATS', getRes.body); + let is_private = (getRes.body.default_repo_visibility === 'private'); + actionContext.dispatch('CREATE_REPO_UPDATE_FIELD_WITH_VALUE', {fieldKey: 'is_private', fieldValue: is_private}); + } + }); + } + }); +}; diff --git a/app/scripts/actions/toggleVisibilityRepoNameConfirmBox.js b/app/scripts/actions/toggleVisibilityRepoNameConfirmBox.js new file mode 100644 index 0000000000..196a28bac2 --- /dev/null +++ b/app/scripts/actions/toggleVisibilityRepoNameConfirmBox.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function(actionContext) { + actionContext.dispatch('TOGGLE_VISIBILITY_REPO_NAME_CONFIRM_BOX'); +} diff --git a/app/scripts/actions/triggerBuild.js b/app/scripts/actions/triggerBuild.js new file mode 100644 index 0000000000..06bd11ee9d --- /dev/null +++ b/app/scripts/actions/triggerBuild.js @@ -0,0 +1,15 @@ +'use strict'; + +import { Autobuilds } from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:triggerBuild'); + +module.exports = function(actionContext, {JWT, name, namespace}) { + Autobuilds.triggerBuild(JWT, namespace, name, (err, res) => { + if (err) { + debug(err); + actionContext.dispatch('AB_TRIGGER_ERROR'); + } else { + actionContext.dispatch('AB_TRIGGER_SUCCESS'); + } + }); +}; diff --git a/app/scripts/actions/triggerBuildByTag.js b/app/scripts/actions/triggerBuildByTag.js new file mode 100644 index 0000000000..ba29f7bc59 --- /dev/null +++ b/app/scripts/actions/triggerBuildByTag.js @@ -0,0 +1,34 @@ +'use strict'; + +import { Autobuilds } from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:triggerBuildByTag'); + +module.exports = function(actionContext, {JWT, tag, triggerId}) { + let successStatus, errorStatus; + actionContext.dispatch('ATTEMPT_TRIGGER_BY_TAG', triggerId); + Autobuilds.triggerBuildByTag(JWT, tag, (err, res) => { + if (err) { + debug(err); + actionContext.dispatch('AB_TRIGGER_BY_TAG_ERROR', + { + error: 'Error triggering the build. Please check your source name.', + id: triggerId + }); + } else { + if (res.ok) { + switch(res.status) { + case 202: + successStatus = 'Successfully triggered a build.'; + break; + case 200: + successStatus = 'Attempted to trigger a build. Please check the build details page for more information.'; + //TODO: report this as error or success once it is clear what exactly this means + break; + default: + break; + } + actionContext.dispatch('AB_TRIGGER_BY_TAG_SUCCESS', {success: successStatus, id: triggerId}); + } + } + }); +}; diff --git a/app/scripts/actions/unlinkBitbucket.js b/app/scripts/actions/unlinkBitbucket.js new file mode 100644 index 0000000000..55a3a9e911 --- /dev/null +++ b/app/scripts/actions/unlinkBitbucket.js @@ -0,0 +1,26 @@ +'use strict'; + +import { Builds } from 'hub-js-sdk'; +const debug = require('debug')('hub:actions:unlinkBitbucket'); +import linkedAccountSettingsAction from './navigate/linkedAccountsSettings'; + +module.exports = function(actionContext, jwt) { + Builds.unlinkBitbucket(jwt, function(err, res) { + if (err) { + debug(err); + const { detail } = err.response.body; + if(detail) { + actionContext.dispatch('BITBUCKET_UNLINK_ERROR', detail); + } + } else if (res.ok) { + linkedAccountSettingsAction( + { + actionContext: actionContext, + payload: {}, + done: function() { debug('done unlinking bitbucket.'); }, + maybeData: {token: jwt} + } + ); + } + }); +}; diff --git a/app/scripts/actions/unlinkGithub.js b/app/scripts/actions/unlinkGithub.js new file mode 100644 index 0000000000..e5e7dbc021 --- /dev/null +++ b/app/scripts/actions/unlinkGithub.js @@ -0,0 +1,27 @@ +'use strict'; + +import { Builds } from 'hub-js-sdk'; +const debug = require('debug')('hub:actions:unlinkGithub'); +import has from 'lodash/object/has'; +import linkedAccountSettingsAction from './navigate/linkedAccountsSettings'; + +module.exports = function(actionContext, jwt) { + Builds.unlinkGithub(jwt, function(err, res) { + if (err) { + debug(err); + const { detail } = err.response.body; + if(detail) { + actionContext.dispatch('GITHUB_UNLINK_ERROR', detail); + } + } else if (res.ok) { + linkedAccountSettingsAction( + { + actionContext: actionContext, + payload: {}, + done: function() { debug('done unlinking github account.'); }, + maybeData: {token: jwt} + } + ); + } + }); +}; diff --git a/app/scripts/actions/updateAccountInfoFormField.js b/app/scripts/actions/updateAccountInfoFormField.js new file mode 100644 index 0000000000..a70ccb1a5d --- /dev/null +++ b/app/scripts/actions/updateAccountInfoFormField.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function(actionContext, { fieldKey, fieldValue}) { + actionContext.dispatch('ACCOUNT_INFO_UPDATE_FIELD_WITH_VALUE', { fieldKey, fieldValue }); +} diff --git a/app/scripts/actions/updateAddOrganizationFormField.js b/app/scripts/actions/updateAddOrganizationFormField.js new file mode 100644 index 0000000000..b11166861c --- /dev/null +++ b/app/scripts/actions/updateAddOrganizationFormField.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function(actionContext, { fieldKey, fieldValue}) { + actionContext.dispatch('ADD_ORG_UPDATE_FIELD_WITH_VALUE', { fieldKey, fieldValue }); +} diff --git a/app/scripts/actions/updateAddRepositoryFormField.js b/app/scripts/actions/updateAddRepositoryFormField.js new file mode 100644 index 0000000000..940c91053e --- /dev/null +++ b/app/scripts/actions/updateAddRepositoryFormField.js @@ -0,0 +1,7 @@ +'use strict'; + +export default function(actionContext, { fieldKey, fieldValue}) { + actionContext.dispatch('CREATE_REPO_UPDATE_FIELD_WITH_VALUE', { + fieldKey, fieldValue + }); +} diff --git a/app/scripts/actions/updateAutoBuildPushTriggerItem.js b/app/scripts/actions/updateAutoBuildPushTriggerItem.js new file mode 100644 index 0000000000..bd36a50333 --- /dev/null +++ b/app/scripts/actions/updateAutoBuildPushTriggerItem.js @@ -0,0 +1,12 @@ +/* @flow */ +/*global VisibilityFormFieldPayload */ +'use strict'; + +var debug = require('debug')('hub:actions:updateAutoBuildPushTriggerItem'); +export default function(actionContext, { isNew, index, fieldkey, value}) { + if (isNew) { + actionContext.dispatch('UPDATE_AUTOBUILD_NEW_TAG_ITEM', {index, fieldkey, value}); + } else { + actionContext.dispatch('UPDATE_AUTOBUILD_PUSH_TRIGGER_ITEM', {index, fieldkey, value}); + } +} diff --git a/app/scripts/actions/updateAutoBuildSettings.js b/app/scripts/actions/updateAutoBuildSettings.js new file mode 100644 index 0000000000..08fc59e2e9 --- /dev/null +++ b/app/scripts/actions/updateAutoBuildSettings.js @@ -0,0 +1,20 @@ +'use strict'; + +import { Autobuilds } from 'hub-js-sdk'; +var debug = require('debug')('hub:actions:updateAutoBuildSettings'); + +module.exports = function(actionContext, {JWT, namespace, name, data}) { + Autobuilds.updateAutomatedBuildSettings(JWT, namespace, name, data, function(err, res){ + if (err) { + debug(res.body); + } else if (res.ok) { + Autobuilds.getAutomatedBuildSettings(JWT, namespace, name, function(getErr, getRes) { + if (getErr) { + debug(getErr); + } else if (getRes.ok) { + actionContext.dispatch('RECEIVE_AUTOBUILD_SETTINGS', getRes.body); + } + }); + } + }); +}; diff --git a/app/scripts/actions/updateAutoBuildSettingsStore.js b/app/scripts/actions/updateAutoBuildSettingsStore.js new file mode 100644 index 0000000000..82fc8de4c3 --- /dev/null +++ b/app/scripts/actions/updateAutoBuildSettingsStore.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function(actionContext, { field, key, value}) { + actionContext.dispatch('UPDATE_AUTO_BUILD_SETTINGS', {field, key, value}); +} diff --git a/app/scripts/actions/updateAutobuildFormField.js b/app/scripts/actions/updateAutobuildFormField.js new file mode 100644 index 0000000000..6e06bc9486 --- /dev/null +++ b/app/scripts/actions/updateAutobuildFormField.js @@ -0,0 +1,7 @@ +'use strict'; + +export default function(actionContext, { fieldKey, fieldValue}) { + actionContext.dispatch('AUTOBUILD_FORM_UPDATE_FIELD_WITH_VALUE', { + fieldKey, fieldValue + }); +} diff --git a/app/scripts/actions/updateBillingInfoFormField.js b/app/scripts/actions/updateBillingInfoFormField.js new file mode 100644 index 0000000000..b386a3de83 --- /dev/null +++ b/app/scripts/actions/updateBillingInfoFormField.js @@ -0,0 +1,15 @@ +'use strict'; + +export default function(actionContext, { field, fieldKey, fieldValue}) { + if (field === 'card' && fieldKey === 'number') { + var type = window.recurly.validate.cardType(fieldValue.toString()); + actionContext.dispatch('BILLING_INFO_UPDATE_FIELD_WITH_VALUE', { + field: 'card', + fieldKey: 'type', + fieldValue: type + }); + } + actionContext.dispatch('BILLING_INFO_UPDATE_FIELD_WITH_VALUE', { + field, fieldKey, fieldValue + }); +} diff --git a/app/scripts/actions/updateBillingInformation.js b/app/scripts/actions/updateBillingInformation.js new file mode 100644 index 0000000000..669ae950bb --- /dev/null +++ b/app/scripts/actions/updateBillingInformation.js @@ -0,0 +1,87 @@ +'use strict'; +/*global UpdateBillingInfoPayload */ +import { Billing } from 'hub-js-sdk'; +import _ from 'lodash'; +import async from 'async'; +var debug = require('debug')('hub:actions:updateBillingInformation'); + +function updateBillingInformation(actionContext, {JWT, user, billingInfo, accountInfo, card}, done) { + actionContext.dispatch('BILLING_SUBMIT_START'); + var recurlyData = _.merge({}, billingInfo, card); + let isOrg = false; + let username = ''; + if (_.has(user, 'username')) { + username = user.username; + } else if (_.has(user, 'orgname')) { + username = user.orgname; + isOrg = true; + } + const account = _.merge({}, accountInfo, {user: username}); + + try { + /** + * This will only run where window is defined. ie: the browser + * It throws an exception in node + */ + window.recurly.configure(process.env.RECURLY_PUBLIC_KEY); + } catch(e) { + debug('error', e); + } + window.recurly.token(recurlyData, function(recurlyErr, token) { + if (recurlyErr) { + // SHOULD ONLY GET HERE IF RECURLY DECLINES THEIR INFO + debug('recurly error', recurlyErr); + actionContext.dispatch('GET_RECURLY_ERROR', recurlyErr); + done(); + } else { + async.series([ + function(callback){ + Billing.updateBillingAccount(JWT, username, account, function(accountErr, accountRes){ + if (accountErr) { + let message = 'There was an error updating your contact information. Please check your information and try again.'; + if (_.has(accountRes.body, 'detail') && _.isString(accountRes.body.detail)) { + message = accountRes.body.detail; + } + actionContext.dispatch('BILLING_SUBMIT_ERROR', message); + callback(accountErr, accountRes); + } else if (accountRes.ok) { + callback(null, accountRes.body); + } + }); + }, + function(callback) { + let updatedInfo = {username: username, payment_token: token.id}; + Billing.updateBillingInfo(JWT, username, updatedInfo, function(billErr, billRes) { + if (billErr) { + debug('updateBillingInfo error', billErr); + let message = 'There was an error submitting your billing information. Please check your information and try again.'; + if (_.has(billRes.body, 'detail') && _.isString(billRes.body.detail)) { + message = billRes.body.detail; + } + actionContext.dispatch('BILLING_SUBMIT_ERROR', message); + callback(billErr, billRes); + } else if (billRes.ok) { + callback(null, billRes.body); + } + }); + } + ], + function(err, res) { + if (err) { + done(); + } else { + if (isOrg) { + actionContext.history.push(`/u/${username}/dashboard/billing/`); + } else { + actionContext.history.push('/account/billing-plans/'); + } + actionContext.dispatch('RECEIVE_BILLING_INFO', {billingInfo: res[1], accountInfo: res[0]}); + actionContext.dispatch('BILLING_SUBMIT_SUCCESS'); + done(); + } + }); + } + }); +} + +module.exports = updateBillingInformation; diff --git a/app/scripts/actions/updateChangePassStore.js b/app/scripts/actions/updateChangePassStore.js new file mode 100644 index 0000000000..cdea3e35a4 --- /dev/null +++ b/app/scripts/actions/updateChangePassStore.js @@ -0,0 +1,7 @@ +'use strict'; + +var updateStore = function(actionContext, payload) { + actionContext.dispatch('CHANGE_PASS_UPDATE', payload); +}; + +module.exports = updateStore; diff --git a/app/scripts/actions/updateCloudBillingSubscription.js b/app/scripts/actions/updateCloudBillingSubscription.js new file mode 100644 index 0000000000..3341a87f51 --- /dev/null +++ b/app/scripts/actions/updateCloudBillingSubscription.js @@ -0,0 +1,35 @@ +'use strict'; +/** + * CLONE OF updateSubscriptionPlanOrPackage.js + * with Different dispatches + */ +import { Billing } from 'hub-js-sdk'; +import has from 'lodash/object/has'; +var debug = require('debug')('hub:actions:updateCloudBillingSubscription'); + +function updateBillingSubscriptions(actionContext, {JWT, username, subscription_uuid, package_code, coupon_code, isOrg}, done) { + actionContext.dispatch('ENTERPRISE_PAID_ATTEMPT_START'); + var data = { + package: package_code, + username, + coupon_code + }; + Billing.updateBillingSubscriptions(JWT, subscription_uuid, username, data, function(err, res) { + if (err) { + debug(err); + // If fails - There's nothing else we can do. Facepalm + actionContext.dispatch('ENTERPRISE_PAID_BAD_REQUEST', res.body.detail); + done(); + } else if (res.ok) { + actionContext.dispatch('ENTERPRISE_PAID_SUCCESS'); + if (isOrg) { + actionContext.history.push(`/u/${username}/dashboard/billing/`); + } else { + actionContext.history.push('/account/billing-plans/'); + } + done(); + } + }); +} + +module.exports = updateBillingSubscriptions; diff --git a/app/scripts/actions/updateEnterpriseTrialFormField.js b/app/scripts/actions/updateEnterpriseTrialFormField.js new file mode 100644 index 0000000000..481545ac79 --- /dev/null +++ b/app/scripts/actions/updateEnterpriseTrialFormField.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function(actionContext, {fieldKey, fieldValue}) { + actionContext.dispatch('ENTERPRISE_TRIAL_UPDATE_FIELD_WITH_VALUE', { fieldKey, fieldValue }); +} diff --git a/app/scripts/actions/updateNotifCheckbox.js b/app/scripts/actions/updateNotifCheckbox.js new file mode 100644 index 0000000000..26697d0aa2 --- /dev/null +++ b/app/scripts/actions/updateNotifCheckbox.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function(actionContext, cboxType) { + actionContext.dispatch('NOTIF_CHECKBOX_CLICK', cboxType); +} diff --git a/app/scripts/actions/updateOutbound.js b/app/scripts/actions/updateOutbound.js new file mode 100644 index 0000000000..cba8bae610 --- /dev/null +++ b/app/scripts/actions/updateOutbound.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function(actionContext, newList) { + actionContext.dispatch('UPDATE_OUTBOUND', newList); +} diff --git a/app/scripts/actions/updateRepoSettingsVisibilityField.js b/app/scripts/actions/updateRepoSettingsVisibilityField.js new file mode 100644 index 0000000000..38259ca559 --- /dev/null +++ b/app/scripts/actions/updateRepoSettingsVisibilityField.js @@ -0,0 +1,56 @@ +'use strict'; + +import async from 'async'; +var debug = require('debug')('hub:actions:updateRepoSettingsVisibilityField'); +import { Repositories as Repos, Users } from 'hub-js-sdk'; + +function updateRepoVisibility(actionContext, { jwt, isPrivate, repoShortName }) { + return (cb) => { + Repos.updateRepoVisibility(jwt, { isPrivate, repoShortName }, (err, res) => { + if (err) { + const { badRequest, body } = err.response; + if(badRequest) { + debug(err); + actionContext.dispatch('VISIBILITY_BAD_REQUEST', body); + cb(err); + } else if (res && res.body.error) { + actionContext.dispatch('VISIBILITY_ERROR', res.body); + cb(err); + } else { + actionContext.dispatch('VISIBILITY_ERROR'); + cb(err); + } + } else { + actionContext.dispatch('TOGGLE_VISIBILITY_SUCCESS', isPrivate); + cb(null, res.body); + } + }); + }; +} + +function getPrivateRepoStats(actionContext, { jwt, repoShortName }) { + return (cb) => { + const namespace = repoShortName.split('/')[0]; + Users.getUserSettings(jwt, namespace, function (err, res) { + if (err) { + cb(); + } else { + actionContext.dispatch('RECEIVE_PRIVATE_REPOSTATS', res.body); + cb(); + } + }); + }; +} + + +export default function(actionContext, { jwt, isPrivate, repoShortName }, done) { + actionContext.dispatch('TOGGLE_VISIBILITY_ATTEMPT_START'); + async.series([ + updateRepoVisibility(actionContext, { jwt, isPrivate, repoShortName }), + getPrivateRepoStats(actionContext, {jwt, repoShortName }) + ], function(err, results) { + if (err) { + debug(err); + } + }); +} diff --git a/app/scripts/actions/updateStripeBilling.js b/app/scripts/actions/updateStripeBilling.js new file mode 100644 index 0000000000..826f4eb6e5 --- /dev/null +++ b/app/scripts/actions/updateStripeBilling.js @@ -0,0 +1,292 @@ +'use strict'; +/*global UpdateBillingInfoPayload */ +const request = require('superagent'); +import { Billing } from 'hub-js-sdk'; +import has from 'lodash/object/has'; +import merge from 'lodash/object/merge'; +import map from 'lodash/collection/map'; +import find from 'lodash/collection/find'; +import isString from 'lodash/lang/isString'; +import async from 'async'; +var debug = require('debug')('hub:actions:updateBillingInformation'); + +import _encodeForm from '../components/utils/encodeForm.js'; +import { + ACCOUNT, + BILLING, + BILLFORWARD_ACCOUNT_ID, + STRIPE_URL, + STRIPE_STAGE_TOKEN, + STRIPE_PROD_TOKEN, + BF_STAGE_URL, + BF_PROD_URL, + BF_STAGE_TOKEN, + BF_PROD_TOKEN, + v4BillingProfile +} from 'stores/common/Constants.js'; + +const handleResponse = ({ callback, dispatch, type }) => (err, res) => { + if (err) { + let message; + if (type === ACCOUNT) { + message = 'There was an error updating your account profile information. Please check your information and try again.'; + } else if (type === BILLING) { + message = 'There was an error updating your billing information. Please check your information and try again.'; + } + if (res && res.body) { + message = isString(res.body.detail) ? res.body.detail : res.body.message; + } + dispatch('BILLING_SUBMIT_ERROR', message); + callback(err, res); + } else if (res.ok) { + if (type === ACCOUNT) { + dispatch('BILLING_ACCOUNT_EXISTS'); + } else if (type === BILLING) { + dispatch('BILLING_INFO_EXISTS'); + } + const billforward_id = res.header[BILLFORWARD_ACCOUNT_ID]; + callback(null, { ...res.body, billforward_id }); + } +}; + +/* + NOTE: Stripe's api only accepts x-www-form-urlencoded data + NOTE: 'billforwardCreatePayment' is chained to this function and requires + `billforward-id`. The `billforward-id` is being passed through to the + create payment function via the META here. +*/ +function _createCardToken({ + cvc, + exp_month, + exp_year, + name_first, + name_last, + number +}, cb) { + const stripeToken = process.env.ENV === 'production' ? + STRIPE_PROD_TOKEN : STRIPE_STAGE_TOKEN; + const card = { + name: `${name_first} ${name_last}`, + cvc, + number, + exp_month, + exp_year + }; + const encoded = _encodeForm({ card }); + request.post(STRIPE_URL) + .accept('application/json') + .type('application/x-www-form-urlencoded') + .set('Authorization', 'Bearer ' + stripeToken) + .send(encoded) + .end(cb); +} + +/* + NOTE: This is the call to billforward that actually adds a payment method + to a user's billing profile. + This call requires a billforward-id (accountID) which is DIFFERENT than the + docker_id - Hence why 'billingCreatePaymentMethod' is NOT being wrapped by + the getAccountFromNamespace decorator. +*/ +function _billforwardAddPaymentMethod({ + '@type': type, + accountID, + cardID, + defaultPaymentMethod, + gateway, + stripeToken +}, cb) { + const billforwardUrl = process.env.ENV === 'production' ? + BF_PROD_URL : BF_STAGE_URL; + const billforwardToken = process.env.ENV === 'production' ? + BF_PROD_TOKEN : BF_STAGE_TOKEN; + + request.post(billforwardUrl) + .accept('application/json') + .type('application/json') + .set('Authorization', 'Bearer ' + billforwardToken) + .send({ + '@type': type, + accountID, + cardID, + defaultPaymentMethod, + gateway, + stripeToken + }) + .end(cb); +} + +//-------------------------------------------------------------------------- +// CREATE A BILLING PAYMENT METHOD ON BILLFORWAD WITH STRIPE +// DUPLICATED FROM ./createStripeSubscription.js +//-------------------------------------------------------------------------- +function billingCreatePaymentMethod(dispatch, { + billforwardId, + cvc, + exp_month, + exp_year, + name_first, + name_last, + number +}, cb) { + const cardData = { + cvc, + exp_month, + exp_year, + name_first, + name_last, + number + }; + /* + NOTE: + Creating a payment method requires 2 parts + 1 - Generating a token from Stripe's api + 2 - Sending generated token to Billforward's api to attach payment method to + a relevant billing profile. + */ + _createCardToken(cardData, (stripeErr, stripeRes) => { + if (!stripeRes.ok) { + let message = 'There was an error submitting your card information. Please check your information and try again.'; + if (stripeRes.error && stripeRes.error.message) { + message = stripeRes.error.message; + } + dispatch('BILLING_SUBMIT_ERROR', message); + cb(message); + } else { + const tokenObject = stripeRes && stripeRes.body; + const stripeToken = tokenObject.id; + const cardID = tokenObject.card.id; + const accountID = billforwardId; + const bfData = { + '@type': 'StripeAuthCaptureRequest', + accountID, + cardID, + defaultPaymentMethod: true, + gateway: 'Stripe', + stripeToken + }; + _billforwardAddPaymentMethod(bfData, handleResponse({callback: cb, dispatch, type: BILLING})); + } + }); +} +//-------------------------------------------------------------------------- +// SAVE ADDRESS INFORMATION IN BILLFORWARD +//-------------------------------------------------------------------------- +const updateV4BillingProfile = ({ JWT, profileData, docker_id }, cb) => { + const v4BillingAPI = v4BillingProfile(docker_id); + request + .patch(v4BillingAPI) + .accept('application/json') + .type('application/json') + .set('Authorization', 'Bearer ' + JWT) + .send(profileData) + .end(cb); +}; + +//-------------------------------------------------------------------------- +// UPDATE STRIPE BILLING INFORMATION +// NOTE: This will just add a payment method - creating multiple cards +//-------------------------------------------------------------------------- +function updateBillingInformation(actionContext, { + JWT, + user, + billingInfo, + accountInfo, + card, + billforwardId +}, done) { + actionContext.dispatch('BILLING_SUBMIT_START'); + let isOrg = false; + let username = ''; + if (has(user, 'username')) { + username = user.username; + } else if (has(user, 'orgname')) { + username = user.orgname; + isOrg = true; + } + const { + email, + first_name, + last_name, + company_name + } = accountInfo; + const { + address1, + address2, + country, + state, + zip, + city, + first_name: billing_first, + last_name: billing_last + } = billingInfo; + const { + number, + cvv, + month, + year + } = card; + + async.series([ + function(callback){ + const account = merge({}, accountInfo, {user: username}); + Billing.updateBillingAccount(JWT, username, account, handleResponse({callback, dispatch: actionContext.dispatch, type: ACCOUNT})); + }, + function(callback) { + /* + NOTE: + THIS WILL CREATE A NEW PAYMENT METHOD ON EVERY CALL + - In billforward this could potentially save multiple versions of the same card + - Solution would be to check whether the card is the same and decide to create or not + */ + billingCreatePaymentMethod(actionContext.dispatch, { + billforwardId, + cvc: cvv, + exp_month: month, + exp_year: year, + name_first: billing_first, + name_last: billing_last, + number + }, callback); + }, + function(callback) { + const profileData = { + first_name, + last_name, + addresses: [ + { + address_line_1: address1, + address_line_2: address2, + city, + province: state, + country, + post_code: zip, + primary_address: true + } + ] + }; + updateV4BillingProfile({ + JWT, + profileData, + docker_id: user.id + }, handleResponse({callback, dispatch: actionContext.dispatch, type: ACCOUNT})); + } + ], + function(err, res) { + if (err) { + done(); + } else { + if (isOrg) { + actionContext.history.push(`/u/${username}/dashboard/billing/`); + } else { + actionContext.history.push('/account/billing-plans/'); + } + actionContext.dispatch('BILLING_SUBMIT_SUCCESS'); + done(); + } + }); + + +} + +module.exports = updateBillingInformation; diff --git a/app/scripts/actions/updateSubscriptionPlanOrPackage.js b/app/scripts/actions/updateSubscriptionPlanOrPackage.js new file mode 100644 index 0000000000..b4ea288715 --- /dev/null +++ b/app/scripts/actions/updateSubscriptionPlanOrPackage.js @@ -0,0 +1,66 @@ +'use strict'; +/*global UpdateBillingInfoPayload */ +import { Billing } from 'hub-js-sdk'; +import _ from 'lodash'; +const CLOUD_METERED = 'cloud_metered'; +var debug = require('debug')('hub:actions:updateSubscriptionPlanOrPackage'); + +function updateBillingSubscriptions(actionContext, { + coupon_code, + JWT, + package_code, + plan_code, + username, + subscription_uuid, + add_ons + }, done) { + actionContext.dispatch('UPDATE_PLAN_START', plan_code); + var data = { + username, + coupon_code, + add_ons + }; + + // we are either updating a plan or a package + if (plan_code) { + data.plan = plan_code; + } + if (package_code) { + data.package = package_code; + } + + // Explicitly remove all add ons (such as nautilus) when downgrading to + // a free account + if (plan_code === CLOUD_METERED) { + data.add_ons = []; + } + + if (!plan_code || plan_code === CLOUD_METERED) { + actionContext.dispatch('UNSUBSCRIBE_PLAN'); + } else if (!package_code) { + actionContext.dispatch('UNSUBSCRIBE_PACKAGE'); + } + Billing.updateBillingSubscriptions(JWT, subscription_uuid, username, data, function(err, res) { + if (err) { + debug(err); + const detail = err.response && err.response.body && err.response.body.detail; + const error = detail || 'Could not reach server.'; + actionContext.dispatch('UPDATE_PLAN_ERROR', error); + done(); + } else if (res.ok) { + Billing.getBillingSubscriptions(JWT, username, function(getErr, getRes) { + if (getErr) { + debug(getErr); + } else if (getRes.ok) { + let subscriptions = getRes.body; + let subscription = _.head(subscriptions); + // This will update your subscription in the store - while leaving the billing information the same + actionContext.dispatch('RECEIVE_BILLING_SUBSCRIPTION', {currentPlan: subscription}); + } + done(); + }); + } + }); +} + +module.exports = updateBillingSubscriptions; diff --git a/app/scripts/actions/updateToOrgOwner.js b/app/scripts/actions/updateToOrgOwner.js new file mode 100644 index 0000000000..9ea02666c0 --- /dev/null +++ b/app/scripts/actions/updateToOrgOwner.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function(actionContext, payload) { + actionContext.dispatch('UPDATE_TO_ORG_OWNER', payload); +} diff --git a/app/scripts/actions/validateCouponCode.js b/app/scripts/actions/validateCouponCode.js new file mode 100644 index 0000000000..0c3a8e57bc --- /dev/null +++ b/app/scripts/actions/validateCouponCode.js @@ -0,0 +1,45 @@ +'use strict'; +var debug = require('debug')('hub:actions:validateCouponCode'); + +module.exports = (actionContext, {coupon_code, plan}) => { + if (coupon_code) { + try { + /** + * This will only run where window is defined. ie: the browser + * It throws an exception in node + */ + window.recurly.configure(process.env.RECURLY_PUBLIC_KEY); + /* eslint-disable new-cap */ + var pricing = window.recurly.Pricing(); + /* eslint-enable new-cap*/ + pricing + .plan(plan, {quantity: 1}) + .coupon(coupon_code) + .catch(function(err) { + debug('ERROR', err); + actionContext.dispatch('BILLING_ERRORS', {fieldErrors: {coupon_code: true}}); + }) + .done(function(price) { + var discount = price.now.discount; + if (discount % 1 === 0) { + // remove the trailing decimals if its a whole number + discount = Math.round(discount); + } + actionContext.dispatch('UPDATE_COUPON_VALUE', discount); + if (discount <= 0) { + actionContext.dispatch('BILLING_ERRORS', {fieldErrors: {coupon_code: true}}); + } else { + actionContext.dispatch('BILLING_ERRORS', {fieldErrors: {coupon_code: false}}); + } + }); + } catch(e) { + debug('error', e); + actionContext.dispatch('BILLING_ERRORS', {fieldErrors: {coupon_code: true}}); + } + actionContext.dispatch('BILLING_INFO_UPDATE_FIELD_WITH_VALUE', {field: 'card', fieldKey: 'coupon_code', fieldValue: coupon_code}); + } else { + actionContext.dispatch('BILLING_ERRORS', {fieldErrors: {coupon_code: false}}); + actionContext.dispatch('BILLING_INFO_UPDATE_FIELD_WITH_VALUE', {field: 'card', fieldKey: 'coupon_code', fieldValue: ''}); + actionContext.dispatch('UPDATE_COUPON_VALUE', 0); + } +}; diff --git a/app/scripts/app.js b/app/scripts/app.js new file mode 100644 index 0000000000..5aaec97293 --- /dev/null +++ b/app/scripts/app.js @@ -0,0 +1,103 @@ +'use strict'; +const debug = require('debug')('hub:app'); +const Fluxible = require('fluxible'); + +let app = new Fluxible({ + component: require('./components/Routes.jsx'), + stores: [ + require('./stores/AccountInfoFormStore'), + require('./stores/AccountSettingsLicensesStore'), + require('./stores/AddOrganizationStore'), + require('./stores/AddTrialLicenseStore'), + require('./stores/AddWebhookFormStore'), + require('./stores/ApplicationStore'), + require('./stores/AutobuildConfigStore'), + require('./stores/AutoBuildSettingsStore'), + require('./stores/AutobuildSourceRepositoriesStore'), + require('./stores/AutobuildStore'), + require('./stores/AutobuildTagsStore'), + require('./stores/AutobuildTriggerByTagStore'), + require('./stores/BillingInfoFormStore'), + require('./stores/BillingPlansStore'), + require('./stores/BitbucketLinkStore'), + require('./stores/ChangePasswordStore'), + require('./stores/CloudCouponStore'), + require('./stores/CloudBillingStore'), + require('./stores/ConvertToOrgStore'), + require('./stores/CreateRepositoryFormStore'), + require('./stores/DashboardContribsStore'), + require('./stores/DashboardMembersStore'), + require('./stores/DashboardNamespacesStore'), + require('./stores/DashboardReposStore'), + require('./stores/DashboardStarsStore'), + require('./stores/DashboardStore'), + require('./stores/DashboardTeamsStore'), + require('./stores/DeletePipelineStore'), + require('./stores/DeleteRepoFormStore'), + require('./stores/EmailNotifStore'), + require('./stores/EmailsStore'), + require('./stores/EnterprisePaidFormStore'), + require('./stores/EnterprisePartnerTrackingStore'), + require('./stores/EnterpriseTrialFormStore'), + require('./stores/EnterpriseTrialSuccessStore'), + require('./stores/GithubLinkStore'), + require('./stores/JWTStore'), + require('./stores/LoginStore'), + require('./stores/NotifyStore'), + require('./stores/OrgTeamStore'), + require('./stores/OrganizationStore'), + require('./stores/OutboundCommunicationStore'), + require('./stores/PipelineHistoryStore'), + require('./stores/PlansStore'), + require('./stores/PrivateRepoUsageStore'), + require('./stores/RepoDetailsBuildLogs'), + require('./stores/RepoDetailsBuildsStore'), + require('./stores/RepoDetailsDockerfileStore'), + require('./stores/RepoDetailsLongDescriptionFormStore'), + require('./stores/RepoDetailsShortDescriptionFormStore'), + require('./stores/RepoDetailsVisibilityFormStore'), + require('./stores/RepoSettingsCollaborators'), + require('./stores/RepositoryCommentsStore'), + require('./stores/RepositoryPageStore'), + require('./stores/SearchStore'), + require('./stores/SignupStore'), + require('./stores/TriggerBuildStore'), + require('./stores/UserProfileReposStore'), + require('./stores/UserProfileStore'), + require('./stores/UserProfileStarsStore'), + require('./stores/UserStore'), + require('./stores/WebhooksSettingsStore') + ] +}); + +/** + * Add a plugin which adds the global redux store as .reduxStore to all flux + * actions. + * + * This allows us to call actionContext.reduxStore.dispatch() to dispatch + * actions from fluxible actions + */ +app.plug({ + name: 'ReduxActionIntegration', + plugContext(options, context) { + // Options should be passed reduxStore from the options passed into + // createContext + + return { + // Each action's context should also have the redux store that's defined + // within the app context. + plugActionContext(actionContext) { + // NOTE: Server-side rendering passes this in as options. + // Client-side rendering passes this in as context. + // Fluxible has no way to specify options within rehydration. + // We can only affect context. + + // This is defined in server.js within `server.use` for server-side + // rendering and within `app.rehydrate` in client.js + actionContext.reduxStore = options.reduxStore || context.reduxStore; + } + }; + } +}); + +export default app; diff --git a/app/scripts/bootstrapCreateElement.js b/app/scripts/bootstrapCreateElement.js new file mode 100644 index 0000000000..1f9ccce538 --- /dev/null +++ b/app/scripts/bootstrapCreateElement.js @@ -0,0 +1,21 @@ +'use strict'; + +import React from 'react'; +import provideContext from 'fluxible-addons-react/provideContext'; +const debug = require('debug')('hub:bootstrapCreateElement'); +/** + * We create a react element for the Router using this function, passing it to + * the `createElement` (func) property in . This will enable us to + * provide context for the Fluxible app and adds some context functions like + * `executeAction` and `getStore` to all components in our Routes. + * + * context is a Fluxible Context. + */ +export default (context) => { + return (component, props) => { + debug('setting context'); + props.context = context.getComponentContext(); + props.JWT = props.JWT || (props.cookies && props.cookies.JWT) || false; + return React.createElement(provideContext(component), props); + }; +}; diff --git a/app/scripts/client.js b/app/scripts/client.js new file mode 100644 index 0000000000..54cdf61f0a --- /dev/null +++ b/app/scripts/client.js @@ -0,0 +1,102 @@ +/*global window, process, require */ +'use strict'; + +// Needed to shim Object.assign (used by 3rd party libs) +import 'babel-core/polyfill'; + +import React from 'react'; +import { render } from 'react-dom'; +import { Router } from 'react-router'; +import FluxRouter from './fluxibleRouter'; +import createHistory from 'history/lib/createBrowserHistory'; +import app from './app'; +import navigateAction from './actions/navigate'; +import JWTStore from './stores/JWTStore'; +import bootstrapCreateElement from './bootstrapCreateElement'; + +// This renders a Provider for basic flux integration +import { Provider } from 'react-redux'; +import reducers from './reducers'; +import enhancedCreateStore from './reduxStore'; + +require('velocity-animate'); +require('velocity-animate/velocity.ui'); + +let oDebug = require('debug'); +if (process.env.ENV !== 'production') { + oDebug.enable('hub:*'); +} +const debug = oDebug('hub:client'); +const dehydratedState = window.App; // Sent from the server + +if (process.env.ENV !== 'production') { + window.React = React; // For chrome dev tool support +} + +let history = createHistory(); +let unlisten = history.listen(function (location) { + debug('unlisten', location.pathname); +}); + +// Plug a History into the actionContext +let pluginRouter = Router; +app.plug({ + name: 'HistoryPlugin', + plugContext() { + return { + plugActionContext(actionContext) { + actionContext.history = history; + } + }; + } +}); + +function onUpdate(context) { + return (state, callback) => { + debug('at least the second render'); + if (state) { + if (!state.jwt) { + let jwtStore = context.getComponentContext().getStore(JWTStore); + state.jwt = jwtStore.getJWT(); + } + context.executeAction(navigateAction, state, callback); + } + }; +} + +function renderApp(context) { + const mountNode = document.getElementById('app'); + const Routes = app.getComponent(); + + // context.reduxStore works client-side as we're setting this directly + // below in rehydrate. + const jsx = ( + + + + ); + + return render(jsx, mountNode, () => { debug('React Rendered'); }); +} + +// The callback is called after the app has rehydrated any plugins; +// our redux plugin neets to create the store itself. +app.rehydrate(dehydratedState, function(err, context) { + debug('rehydrating app'); + if (err) { + throw err; + } + + // Create a new store and save it to Fluxible's app context. + context.reduxStore = enhancedCreateStore(reducers); + + window.context = context; + debug('supposedly the first render'); + // Don't call the action on the first render on top of the server rehydration + // Otherwise there is a race condition where the action gets executed before + // render has been called, which can cause the checksum to fail. + renderApp(context); +}); diff --git a/app/scripts/components/AddRepo.css b/app/scripts/components/AddRepo.css new file mode 100644 index 0000000000..f70fa38675 --- /dev/null +++ b/app/scripts/components/AddRepo.css @@ -0,0 +1,5 @@ +@import 'dux/css/box.css'; + +.contentWrapper { + margin-top: var(--default-margin); +} diff --git a/app/scripts/components/AddRepo.jsx b/app/scripts/components/AddRepo.jsx new file mode 100644 index 0000000000..09767f177e --- /dev/null +++ b/app/scripts/components/AddRepo.jsx @@ -0,0 +1,256 @@ +'use strict'; + +import React, { createClass, PropTypes } from 'react'; +import _ from 'lodash'; +import connectToStores from 'fluxible-addons-react/connectToStores'; + +import CreateRepositoryFormStore from 'stores/CreateRepositoryFormStore'; +import DUXInput from './common/DUXInput.jsx'; +import SimpleTextArea from './common/SimpleTextArea.jsx'; +import Route404 from './common/RouteNotFound404Page.jsx'; +import PrivateRepoUsageStore from 'stores/PrivateRepoUsageStore.js'; +import RepositoryNameInput from 'common/RepositoryNameInput.jsx'; +import createRepository from 'actions/createRepository'; +import updateAddRepositoryFormField from 'actions/updateAddRepositoryFormField'; +import getSettingsData from 'actions/getSettingsData'; +import { STATUS } from 'stores/common/Constants'; +import { SplitSection } from 'common/Sections'; + +import Markdown from '@dux/element-markdown'; +import Card, { Block } from '@dux/element-card'; +import { PageHeader, Button } from 'dux'; +import styles from './AddRepo.css'; + +var debug = require('debug')('AddRepositoryForm'); + +var AddRepositoryForm = createClass({ + displayName: 'AddRepositoryForm', + contextTypes: { + executeAction: PropTypes.func.isRequired + }, + propTypes: { + JWT: PropTypes.string.isRequired, + createRepoFormStore: PropTypes.shape({ + fields: PropTypes.object.isRequired, + values: PropTypes.object.isRequired, + namespaces: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired, + globalFormError: PropTypes.string + }), + privateRepoUsage: PropTypes.shape({ + privateRepoAvailable: PropTypes.number.isRequired + }) + }, + getInitialState: function() { + return { + currentNamespace: this.props.createRepoFormStore.values.namespace + }; + }, + _handleCreate: function(e) { + e.preventDefault(); + + var newRepo = { + namespace: this.state.currentNamespace, + name: this.props.createRepoFormStore.values.name.toLowerCase(), + description: this.props.createRepoFormStore.values.description, + full_description: this.props.createRepoFormStore.values.full_description, + is_private: this.props.createRepoFormStore.values.is_private === 'private' + }; + + this.context.executeAction(createRepository, + { + jwt: this.props.JWT, + repository: newRepo + }); + }, + _onChange(fieldKey) { + let _this = this; + return (e) => { + if (fieldKey === 'namespace') { + this.setState({ + currentNamespace: e.target.value + }); + this.context.executeAction(getSettingsData, { + JWT: _this.props.JWT, + username: e.target.value, + repoType: 'regular' + }); + } + this.context.executeAction(updateAddRepositoryFormField, { + fieldKey, + fieldValue: e.target.value + }); + }; + }, + _getCurrentQueryNamespace() { + //Check if user has passed in namespace as query | verify if they have access to it + var currentNamespace = this.props.location.query.namespace; + if (!_.includes(this.props.createRepoFormStore.namespaces, currentNamespace)) { + currentNamespace = this.props.createRepoFormStore.values.namespace; + } + return currentNamespace; + }, + componentDidMount() { + this.setState({ + currentNamespace: this._getCurrentQueryNamespace() + }); + }, + _renderCreateForm() { + const { createRepoFormStore } = this.props; + + var globalFormError = (

); + if(createRepoFormStore.globalFormError) { + globalFormError = ( +
{createRepoFormStore.globalFormError}
+ ); + } + + var nameError = (

); + var nameClass = ''; + if(createRepoFormStore.fields.name.hasError) { + nameError = ( +

+ {createRepoFormStore.fields.name.error + + ' No spaces and special characters other than - and . are allowed. Repo names should not begin/end with a . or - .'} +

+ ); + nameClass = 'text-error'; + } + + var fullDescriptionError = (

); + var fullDescriptionClass = 'large-12 columns'; + if(createRepoFormStore.fields.full_description.hasError) { + fullDescriptionError = ( +

{createRepoFormStore.fields.full_description.error}

+ ); + fullDescriptionClass = 'large-12 columns form-error'; + } + + var descriptionError = (

); + var descriptionClass = 'large-12 columns'; + if(createRepoFormStore.fields.description.hasError) { + descriptionError = ( +

{createRepoFormStore.fields.description.error}

+ ); + descriptionClass = 'large-12 columns form-error'; + } + var defaultValue = createRepoFormStore.values.is_private ? 'private' : 'public'; + var errText = ''; + if (createRepoFormStore.fields.is_private.hasError) { + errText = + + {createRepoFormStore.fields.is_private.error} + ; + } + const subtitleContent = `1. Choose a namespace *(Required)* +2. Add a repository name *(Required)* +3. Add a short description +4. Add markdown to the full description field +5. Set it to be a private or public repository`; + + return ( + {subtitleContent}}> +
+ {globalFormError} +
+
+ + {nameError} +
+ +
+
+ + {descriptionError} +
+
+ +
+
+ + {fullDescriptionError} +
+
+ +
+
+ Visibility + + {errText} +
+
+ + + +
+
+
+ ); + }, + render() { + if (!this.props.JWT) { + return (); + } else { + let content = ( +
+ ); + if ( this.props.createRepoFormStore.namespaces && this.props.createRepoFormStore.namespaces.length > 0 ) { + content = ( +
+ {this._renderCreateForm()} +
+ ); + } + + return ( +
+ + { content } +
+ ); + } + } +}); + +export default connectToStores(AddRepositoryForm, + [ + CreateRepositoryFormStore + ], + function({ getStore }, props) { + return { + createRepoFormStore: getStore(CreateRepositoryFormStore).getState() + }; + }); diff --git a/app/scripts/components/Application.css b/app/scripts/components/Application.css new file mode 100644 index 0000000000..125199c54b --- /dev/null +++ b/app/scripts/components/Application.css @@ -0,0 +1,6 @@ +.main{ + display:flex; + flex-direction: column; + justify-content: flex-start; + min-height: 100vh; +} diff --git a/app/scripts/components/Application.jsx b/app/scripts/components/Application.jsx new file mode 100644 index 0000000000..8601467ed6 --- /dev/null +++ b/app/scripts/components/Application.jsx @@ -0,0 +1,75 @@ +'use strict'; + +const debug = require('debug')('Application'); +import ApplicationStore from '../stores/ApplicationStore'; +import JWTStore from '../stores/JWTStore'; +import UserStore from '../stores/UserStore.js'; +import React, { PropTypes, Component, cloneElement } from 'react'; +import Welcome from './Welcome.jsx'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import Spinner from './Spinner.jsx'; +import MainNav from './Nav.jsx'; +import styles from './Application.css'; +import _ from 'lodash'; + +class Application extends Component { + + render() { + //Destructure router and props + const { JWT, user, location, history, params } = this.props; + //We use !JWT to check if a user is in logged out state + debug(this.props); + if (!JWT && location.pathname === '/') { + debug('Out Home'); + return ( +
+ + +
+ ); + } else if (history.isActive('/login/') || history.isActive('/reset-password/')) { + debug('Application'); + return ( +
+ {this.props.children} +
+ ); + } else { + debug('Root'); + const ifJWT = JWT ? JWT : ''; + return ( +
+ + {this.props.children && cloneElement(this.props.children, { + JWT: ifJWT, + user, + location + })} +
+ ); + } + } +} + +export default connectToStores(Application, + [ + ApplicationStore, + JWTStore, + UserStore + ], + ({ getStore }, props) => { + return _.merge({}, + getStore(ApplicationStore).getState(), + { + JWT: getStore(JWTStore).getJWT(), + user: getStore(UserStore).getState() + }); + }); diff --git a/app/scripts/components/Badge.jsx b/app/scripts/components/Badge.jsx new file mode 100644 index 0000000000..254a2cf6eb --- /dev/null +++ b/app/scripts/components/Badge.jsx @@ -0,0 +1,17 @@ +'use strict'; + +import React from 'react'; + +var Badge = React.createClass({ + render: function() { + var name = this.props.name; + var category = this.props.category; + return ( +
+
{name}
+
+ ); + } +}); + +module.exports = Badge; diff --git a/app/scripts/components/CSEngineDownloadPage.css b/app/scripts/components/CSEngineDownloadPage.css new file mode 100644 index 0000000000..ef0891456a --- /dev/null +++ b/app/scripts/components/CSEngineDownloadPage.css @@ -0,0 +1,3 @@ +.pageWrapper { + padding-top: 1.25rem; +} \ No newline at end of file diff --git a/app/scripts/components/CSEngineDownloadPage.jsx b/app/scripts/components/CSEngineDownloadPage.jsx new file mode 100644 index 0000000000..a9741e14b3 --- /dev/null +++ b/app/scripts/components/CSEngineDownloadPage.jsx @@ -0,0 +1,20 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import CSEngineBox from 'common/CSEngineBox'; +import styles from './CSEngineDownloadPage.css'; + +//publicly accessible page for only CS engine download +export default class CSEngineDownloadPage extends Component { + render() { + return ( +
+
+
+ +
+
+
+ ); + } +} diff --git a/app/scripts/components/CreateButton.jsx b/app/scripts/components/CreateButton.jsx new file mode 100644 index 0000000000..458fe26762 --- /dev/null +++ b/app/scripts/components/CreateButton.jsx @@ -0,0 +1,24 @@ +'use strict'; +import React from 'react'; +import _ from 'lodash'; +import { FluxibleMixin } from 'fluxible'; + +var CreateButton = React.createClass({ + propTypes: { + what: React.PropTypes.string.isRequired + }, + getDefaultProps: function() { + return { + what: '' + }; + }, + render: function() { + return ( + + ); + } +}); + +module.exports = CreateButton; diff --git a/app/scripts/components/DashboardWrapper.css b/app/scripts/components/DashboardWrapper.css new file mode 100644 index 0000000000..d22ed0dc67 --- /dev/null +++ b/app/scripts/components/DashboardWrapper.css @@ -0,0 +1,4 @@ +.select { + margin-top: 6px; + min-width: 200px; +} diff --git a/app/scripts/components/DashboardWrapper.jsx b/app/scripts/components/DashboardWrapper.jsx new file mode 100644 index 0000000000..31627c12b6 --- /dev/null +++ b/app/scripts/components/DashboardWrapper.jsx @@ -0,0 +1,98 @@ +'use strict'; + +import React, { Component, PropTypes, cloneElement } from 'react'; +import { Link } from 'react-router'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import trunc from 'lodash/string/trunc'; +import PrivateReposBlock from './dashboards/PrivateRepoStatusBlock.jsx'; +import DashboardNamespacesStore from '../stores/DashboardNamespacesStore'; +import { SecondaryNav } from 'dux'; +import GravatarOption from './gravatar/GravatarOption'; +import GravatarValue from './gravatar/GravatarValue'; +import FA from './common/FontAwesome'; +import LiLink from './common/LiLink'; +import Select from 'react-select'; +import styles from './DashboardWrapper.css'; + +const { array, func, shape, string } = PropTypes; +const debug = require('debug')('DashboardWrapper'); + +class DashboardWrapper extends Component { + + static propTypes = { + //currentUserContext (dashboard user context, could be logged in user or one of the user's orgs) + //namespaces (all the namespaces that the user can look at) + dashboardNamespaces: shape({ + currentUserContext: string.isRequired, + namespaces: array.isRequired + }), + JWT: string, + user: shape({ + username: string + }) + } + + mkOptions = (arr) => { + return arr.map((namespace) => { + return {value: namespace, label: trunc(namespace, 16)}; + }); + }; + + changeContext = ({value: namespace, label}) => { + if (namespace) { + const { dashboardNamespaces, user, history, location } = this.props; + let currentPage = parseInt(location.query.page, 10); + if (dashboardNamespaces.currentUserContext === namespace) { + //do nothing + debug('doing nothing. Namespace is the same'); + } else if (user.username === namespace) { + //navigate to home + debug('navigate to home; its a user namespace'); + history.pushState(null, '/', {page: currentPage || 1}); + } else { + //navigate to org dashboard + debug('navigate to org dashboard'); + history.pushState(null, `/u/${namespace}/dashboard/`); + } + } + }; + + render() { + const { children, dashboardNamespaces, JWT, user } = this.props; + return ( +
+ +
    +
  • + +
  • + + Repositories + + + Teams + + { Billing } + { Settings } +
+ +
+ {cloneElement(children, { + JWT, + user: org, + isOwner, + currentUserContext + })} +
+ ); + } else { + return ( + + ); + } + } +} + +export default connectToStores(OrgDashboardWrapper, + [ + DashboardNamespacesStore, + OrganizationStore + ], + function({ getStore }, props) { + return merge( + {}, + getStore(DashboardNamespacesStore).getState(), + {org: getStore(OrganizationStore).getCurrentOrg()} + ); + }); diff --git a/app/scripts/components/Register.css b/app/scripts/components/Register.css new file mode 100644 index 0000000000..9a60f5fef6 --- /dev/null +++ b/app/scripts/components/Register.css @@ -0,0 +1,11 @@ +@import "dux/css/colors.css"; +@import "dux/css/box.css"; + +/* Upper Section */ +.header { + background: var(--docker-dark); + color: var(--smoke); + min-height: 560px; + height: 100%; + padding-top: 75px; +} diff --git a/app/scripts/components/Register.jsx b/app/scripts/components/Register.jsx new file mode 100644 index 0000000000..13b71b6b9f --- /dev/null +++ b/app/scripts/components/Register.jsx @@ -0,0 +1,23 @@ +'use strict'; + +import styles from './Register.css'; + +import React, { Component, PropTypes } from 'react'; +import SignupForm from './welcome/SignupForm.jsx'; +var debug = require('debug')('Register'); + +export default class Register extends Component { + render() { + return ( +
+
+ +
+ +
+ +
+
+ ); + } +} diff --git a/app/scripts/components/RepositoryPageWrapper.css b/app/scripts/components/RepositoryPageWrapper.css new file mode 100644 index 0000000000..87f9cfb4d5 --- /dev/null +++ b/app/scripts/components/RepositoryPageWrapper.css @@ -0,0 +1,31 @@ +@import "dux/css/colors.css"; + +.repoLabel { + text-transform: uppercase; + font-weight: 500; +} + +.repoHeader { + border-bottom: 1px solid #c1c9d1; + background-color: white; + padding-top: 1.6rem; + padding-bottom: 1.2rem; +} +.repoTitle { + color: #555; + margin-bottom: 0; + font-weight: 300; +} +.repoSubtitle { + color: var(--secondary-5); + display: block; +} + +.repoStar { + cursor: pointer; + color: var(--secondary-3); + margin-left: 1rem; + font-size: xx-large; +} + +.private {} \ No newline at end of file diff --git a/app/scripts/components/RepositoryPageWrapper.jsx b/app/scripts/components/RepositoryPageWrapper.jsx new file mode 100644 index 0000000000..dd3ca9bba8 --- /dev/null +++ b/app/scripts/components/RepositoryPageWrapper.jsx @@ -0,0 +1,184 @@ +'use strict'; + +import styles from './RepositoryPageWrapper.css'; +import React, { PropTypes, Component, cloneElement } from 'react'; +const { string, number, bool, shape, array, object, func } = PropTypes; +import { Link } from 'react-router'; +import _ from 'lodash'; +import includes from 'lodash/collection/includes'; +import merge from 'lodash/object/merge'; +import omit from 'lodash/object/omit'; +import words from 'lodash/string/words'; +import moment from 'moment'; +import FA from 'common/FontAwesome'; +const REPOSTATUS = require('../stores/repostore/Constants').STATUS; + +import RouteNotFound404Page from 'common/RouteNotFound404Page'; +import toggleStarred from '../actions/toggleStarred'; +import RepositoryPageStore from '../stores/RepositoryPageStore'; +import DashboardNamespacesStore from '../stores/DashboardNamespacesStore'; +import connectToStores from 'fluxible-addons-react/connectToStores'; + +var debug = require('debug')('RepositoryPageWrapper'); + +class Privacy extends Component { + static propTypes = { + isOfficial: bool.isRequired, + isPrivate: bool.isRequired, + isAutomated: bool.isRequired + } + render() { + const publicOrPrivate = this.props.isPrivate ? 'Private' : 'Public'; + if (this.props.isOfficial) { + return ( +
+
Official Repository
+
+ ); + } else if (this.props.isAutomated) { + return ( +
+
{publicOrPrivate} | Automated Build
+
+ ); + } else { + return ( +
+
{publicOrPrivate} Repository
+
+ ); + } + } +} + +class StarRepo extends Component { + static propTypes = { + hasStarred: bool.isRequired, + toggleStar: func.isRequired + } + render() { + const { toggleStar, hasStarred } = this.props; + + let toggle = toggleStar(true); + let icon = 'fa-star-o'; + + if (hasStarred) { + toggle = toggleStar(false); + icon = 'fa-star'; + } + + return ( + + + + ); + } +} + +class RepositoryPageWrapper extends Component { + static propTypes = { + description: string.isRequired, + fullDescription: string.isRequired, + hasStarred: bool.isRequired, + isPrivate: bool.isRequired, + isAutomated: bool.isRequired, + lastUpdated: string, + name: string.isRequired, + namespace: string.isRequired, + status: number.isRequired, + canEdit: bool.isRequired, + comments: shape({ + count: number.isRequired, + results: array.isRequired + }), + user: object, + JWT: string, + history: object.isRequired, + ownedNamespaces: array.isRequired, + namespaces: array, + currentUserContext: string + } + + static contextTypes = { + executeAction: func.isRequired + } + + _toggleStar = status => e => { + e.preventDefault(); + var repoShortName = this.props.namespace + '/' + this.props.name; + this.context.executeAction(toggleStarred, { + jwt: this.props.JWT, + repoShortName: repoShortName, + status: status + }); + }; + + render() { + if (this.props.STATUS === REPOSTATUS.REPO_NOT_FOUND) { + return ; + } + + let privacy; + + //Redirect to user profile page if public user, if org (and owner) redirect to dashboard, if public org, org profile page + let namespaceLink; + var {namespace, ownedNamespaces, user} = this.props; + if (includes(ownedNamespaces, this.props.namespace) && namespace !== user.username) { + namespaceLink = {this.props.namespace}; + } else { + namespaceLink = {this.props.namespace}; + } + const starRepo = ; + let repoShortName = ( +
+ {namespaceLink} + / + {this.props.name} + {starRepo} +
+ ); + if (this.props.isOfficial || this.props.namespace === 'library') { + repoShortName = ( +
+ {this.props.name} + {starRepo} +
+ ); + } + + let computedLastUpdated = 'never'; + if (this.props.lastUpdated) { + computedLastUpdated = moment(this.props.lastUpdated).fromNow(); + } + + return ( +
+
+
+
+ +

{repoShortName}

+ Last pushed: {computedLastUpdated} +
+
+
+ {this.props.children && cloneElement(this.props.children, omit(this.props, 'children'))} +
+ ); + } +} + +export default connectToStores(RepositoryPageWrapper, + [ + RepositoryPageStore, + DashboardNamespacesStore + ], + ({ getStore }, props) => { + return merge({}, + getStore(DashboardNamespacesStore).getState(), + getStore(RepositoryPageStore).getState()); + }); diff --git a/app/scripts/components/Routes.css b/app/scripts/components/Routes.css new file mode 100644 index 0000000000..2f483ab999 --- /dev/null +++ b/app/scripts/components/Routes.css @@ -0,0 +1,15 @@ +/** + * Adding global css in Routes.css to load class names as-is so we don't have local processed classes + * + * vendor overrides + * ---------------- + * 1. react-select [styles/vendor-overrides/react-select.css] + * 2. rc-tooltip [styles/vendor-overrides/rc-tooltip.css] + * + */ +:global { + @import '../../styles/vendor-overrides/react-select.css'; + /** Default styles from rc-tooltip which will be overwritten **/ + @import "rc-tooltip/assets/bootstrap_white.css"; + @import '../../styles/vendor-overrides/rc-tooltip.css'; +} diff --git a/app/scripts/components/Routes.jsx b/app/scripts/components/Routes.jsx new file mode 100644 index 0000000000..713b0d8100 --- /dev/null +++ b/app/scripts/components/Routes.jsx @@ -0,0 +1,212 @@ +'use strict'; + +import { + Route, Redirect, IndexRoute +} from 'react-router'; +import React from 'react'; +import styles from './Routes.css'; + +const Account = require('./account/Account'); +const AccountSettings = require('./account/AccountSettings'); +const AddOrganizationForm = require('./account/AddOrganizationForm'); +import AddRepo from './AddRepo'; +const Application = require('./Application'); +const Autobuild = require('./repositories/Autobuild'); +const AutobuildIndex = require('./repositories/AutobuildIndex.jsx'); +const AutoBuildSetupForm = require('./repositories/AutoBuildSetupForm'); +const BillingPlans = require('./account/BillingPlans'); +import UpdateBillingInfo from './account/UpdateBillingInfo'; +import ChangePassSuccess from './welcome/ChangePassSuccess'; +import CreateBillingSubscription from './account/CreateBillingSubscription'; +import ConvertToOrg from './account/ConvertToOrg'; +import CSEngineDownloadPage from './CSEngineDownloadPage'; +import DashboardContribs from './dashboards/Contribs'; +import DashboardWrapper from './DashboardWrapper'; +import DashboardRepos from './dashboards/Repos'; +import DashboardStars from './dashboards/Stars'; +import orgDashTeams from './orgdashboards/Teams'; +import Dockerfile from './repo/repo_details/Dockerfile'; +import Explore from './Explore'; +import EnterpriseSubscriptions from './enterprise/Enterprise'; +import ServerTrial from './enterprise/EnterpriseTrial'; +import EnterpriseTrialSuccess from './enterprise/EnterpriseTrialSuccess'; +import EULA from './EULA'; +import EnterpriseTrialTerms from './enterprise/EnterpriseTrialTerms.jsx'; +import ForgotPassword from './welcome/ForgotPass'; +import GithubLinkScopes from './account/services/GithubLinkScopes'; +import Help from './help/Help'; +import Licenses from './account/Licenses'; +const LinkedAccountSourcesForm = require('./repositories/LinkedAccountSourcesForm'); +const LinkedServices = require('./account/LinkedServices'); +import Login from './Login'; +import Members from './orgdashboards/Members'; +const NotificationsSettings = require('./account/NotificationsSettings'); +const OrganizationProfile = require('./account/orgs/OrganizationProfile'); +const OrganizationSettings = require('./account/OrganizationSettings'); +const OrganizationSummary = require('./account/OrganizationSummary'); +import OrgDashboardWrapper from './OrgDashboardWrapper'; +import Register from './Register'; +import RepositorySettingsBuilds from './repo/repoSettings/Builds'; +import RepositorySettingsCollaborators from './repo/repoSettings/CollaboratorsWrapper.jsx'; +import RepositorySettingsMain from './repo/repoSettings/SettingsMain'; +import RepositorySettingsWebhooks from './repo/repoSettings/webhooks'; +import RepositorySettingsWrapper from './repo/RepositorySettingsWrapper'; +import RepositoryDetailsBuildDetails from './repo/repo_details/BuildDetails'; +import RepositoryDetailsBuildLogs from './repo/repo_details/BuildLogs'; +import RepositoryDetailsInfo from './repo/repo_details/Info'; +import RepositoryDetailsTags from './repo/repo_details/Tags'; +import RepositoryDetailsScannedTag from './repo/repo_details/ScannedTag'; +import RepositoryDetailsWrapper from './repo/RepositoryDetailsWrapper'; +import RepositoryPageWrapper from './RepositoryPageWrapper'; +import ResetPassword from './welcome/ResetPass'; +import RouteNotFound404Page from './common/RouteNotFound404Page'; +const Search = require('./search/Search'); +const UserStars = require('./userWrapper/UserStars'); +const User = require('./Users'); //Unused +import UserProfileWrapper from './UserProfileWrapper'; +import UserProfileRepos from './userprofile/Repos'; + +// NOTE: Provider right now doesn't work easily with fluxible's render pipeline. +// Even though we add the as a root element to Routes.jsx: +// +// module.exports = ( +// +// { routes } +// +// ); +// +// Fluxible doesn't render the root Provider component; it renders the first +// component which connects to fluxibles stores. +// +// FIX: We've instead added as the base class that fluxibleRouter +// renders +// +// TODO: When we rip out Fluxible add as a top level component here. + +var routes = ( + + {/* Login and Password */} + + + + + + {/* Currently logged in user Dashboard */} + + + + + + + {/* Public user profile */} + + + + + + {/* Organization Dashboard */} + + + + + + + + + + {/* Organizations Summary and Add Route */} + + + + + + {/* Add a repository route */} + + + {/* Autobuild creation related routes */} + + + + + + + + + {/* Github linking related route | the scope selection screen */} + + + {/* Official repositories route | TODO: add library/:name */} + + + + + + + {/* THIS ROUTE IS A DUPLICATE OF /u/:user/. WHY IS THIS HERE??? */} + + + + + + + + + + + + + + + + + + + + + + {/* User Account Settings */} + + + + + + + + + + + + + + + + + {/* Billing/Enterprise/Subscription related routes */} + + + {/* TODO: @camacho 2/9/16 - remove routes after 1 week to give time for loaded clients to be updated*/} + + + + + + + + + + {/* Some publicly available routes to explore, search and ask for help */} + + + + + + {/* Handle 404 for bad routes | If no route matches, render a 404 page */} + + +); + +module.exports = routes; diff --git a/app/scripts/components/Spinner.jsx b/app/scripts/components/Spinner.jsx new file mode 100644 index 0000000000..9a90885587 --- /dev/null +++ b/app/scripts/components/Spinner.jsx @@ -0,0 +1,20 @@ +'use strict'; +const React = require('react'); + +var Spinner = React.createClass({ + render: function() { + return (
+
+
+
+
+
+
+
+
+
+
); + } +}); + +module.exports = Spinner; diff --git a/app/scripts/components/StatsComponent.jsx b/app/scripts/components/StatsComponent.jsx new file mode 100644 index 0000000000..f285424eba --- /dev/null +++ b/app/scripts/components/StatsComponent.jsx @@ -0,0 +1,26 @@ +'use strict'; +import React from'react'; + +//TODO: add to component, currently just use a placeholder docker icon +//
    +//
  • {this.props.value}
  • +//
  • {this.props.statsItemName}
  • +//
+ +var StatsComponent = React.createClass({ + displayName: 'StatsComponent', + propTypes: { + value: React.PropTypes.string.isRequired, + statsItemName: React.PropTypes.string.isRequired + }, + render: function() { + return ( +
+

{this.props.value}

+

{this.props.statsItemName}

+
+ ); + } +}); + +module.exports = StatsComponent; diff --git a/app/scripts/components/UserProfileWrapper.css b/app/scripts/components/UserProfileWrapper.css new file mode 100644 index 0000000000..4059138564 --- /dev/null +++ b/app/scripts/components/UserProfileWrapper.css @@ -0,0 +1,27 @@ +@import "dux/css/colors.css"; +@import "dux/css/box.css"; + +.heading { + padding-left: 1rem; +} + +.userinfo { + border-top: 1px solid var(--secondary-5); + border-bottom: 1px solid var(--secondary-5); + padding: 1rem; + margin-right: 1rem; + list-style-type: none; +} + + .item { + width: 260px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.gravatar { + border: 1px solid var(--secondary-5); + margin: 1rem 0; + border-radius: 3px; +} diff --git a/app/scripts/components/UserProfileWrapper.jsx b/app/scripts/components/UserProfileWrapper.jsx new file mode 100644 index 0000000000..f5b7186c93 --- /dev/null +++ b/app/scripts/components/UserProfileWrapper.jsx @@ -0,0 +1,124 @@ +'use strict'; + +import React, { PropTypes, createClass, cloneElement } from 'react'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import UserProfileStore from '../stores/UserProfileStore'; +import RepositoriesList from './common/RepositoriesList'; +import RouteNotFound404Page from './common/RouteNotFound404Page'; +import moment from 'moment'; +import { SecondaryNav } from 'dux'; +import FA from 'common/FontAwesome'; +import { Link } from 'react-router'; +import _ from 'lodash'; +import styles from './UserProfileWrapper.css'; + +var debug = require('debug')('UserProfileWrapper'); + +var UserShape = { + id: PropTypes.string.isRequired, + username: PropTypes.string, + orgname: PropTypes.string, + full_name: PropTypes.string.isRequired, + location: PropTypes.string.isRequired, + company: PropTypes.string.isRequired, + profile_url: PropTypes.string.isRequired, + date_joined: PropTypes.string.isRequired, + gravatar_url: PropTypes.string.isRequired +}; + +var ProfileCard = createClass({ + displayName: 'ProfileCard', + propTypes: UserShape, + render() { + var gravatar = this.props.gravatar_url; + /** + * If the gravatar has a size equal to 80 in the url, + * change it to 512. This is a HACK. + */ + if(this.props.gravatar_url && this.props.gravatar_url.match(/s=80/)) { + gravatar = gravatar.replace('s=80', 's=512'); + } + + var maybeLocation = null; + var maybeCompany = null; + var maybeProfileUrl = null; + + if (this.props.location) { + maybeLocation =
  • {this.props.location}
  • ; + } + if (this.props.maybeCompany) { + maybeCompany =
  • {this.props.company}
  • ; + } + if (this.props.profile_url) { + maybeProfileUrl =
  • {this.props.profile_url}
  • ; + } + + return ( +
    +
    +
    + +
    +
    +
    +

    {this.props.username || this.props.orgname}

    +

    {this.props.full_name}

    +
      + {maybeLocation} + {maybeCompany} + {maybeProfileUrl} +
    • Joined {moment(this.props.date_joined).format('MMMM YYYY')}
    • +
    +
    +
    + ); + } +}); + +var UserProfile = createClass({ + displayName: 'UserProfile', + propTypes: { + user: PropTypes.shape(UserShape) + }, + render() { + if(this.props.STATUS === '404' || _.isEmpty(this.props.user)) { + return (); + } else { + let namespace; + var maybeStars = null; + if(this.props.user.orgname) { + namespace = this.props.user.orgname; + } else { + namespace = this.props.user.username; + maybeStars = (
  • Stars
  • ); + } + return ( +
    + +
      +
    • Repos
    • + {maybeStars} +
    +
    +
    +
    + +
    +
    + {this.props.children && cloneElement(this.props.children, {user: this.props.user})} +
    +
    +
    + ); + } + } +}); + +export default connectToStores(UserProfile, + [ + UserProfileStore + ], + function({ getStore }, props) { + return getStore(UserProfileStore) + .getState(); + }); diff --git a/app/scripts/components/Users.jsx b/app/scripts/components/Users.jsx new file mode 100644 index 0000000000..1e173210da --- /dev/null +++ b/app/scripts/components/Users.jsx @@ -0,0 +1,60 @@ +'use strict'; +/** +TODO: UNUSED COMPONENTS. SHOULD REMOVE +*/ +import React from 'react'; +import { Link } from 'react-router'; + +var UserPage = React.createClass({ + getDefaultProps: function() { + return { + user: {}, + JWT: '' + }; + }, + render: function() { + return ( +
    + This will be the base wrapper of the 'Users' page where either your or another users profile will appear
    + This will let you see your public facing page at /u/username/ too
    + 'Your' homepage/dashboard will live at /home/
    + +
    + ); + } +}); + +var RootUser = React.createClass({ + render: function() { + return ( +
    +

    + This is root user page.
    + When not looking at a specific user or an owned image
    + This will show a list of repos/images owned by the root user
    + This could be a image box of some sort +

    + ); + } +}); + +var User = React.createClass({ + // This page should either be the users home page or the view page for other users + render: function() { + return ( +
    +

    + This is the UID: {this.props.params.uid}
    + This is main user page.
    + This will show a list of repos/images owned by the user
    + +

    + ); + } +}); + +module.exports = { + userpage: UserPage, + rootuser: RootUser, + user: User +}; diff --git a/app/scripts/components/Welcome.css b/app/scripts/components/Welcome.css new file mode 100644 index 0000000000..7c4be7573f --- /dev/null +++ b/app/scripts/components/Welcome.css @@ -0,0 +1,86 @@ +@import "dux/css/colors.css"; +@import "dux/css/box.css"; + +.flex{ + display:flex; + flex-direction: column; + justify-content: flex-start; + flex-grow: 1; +} + +.white { + background-color: var(--white); + flex-grow: 1; + padding-top: calc(var(--default-margin) * 1.5); +} + +.browse { + padding: .5rem 0; + text-align: center; +} + +/* Upper Section */ +.header { + background: var(--docker-dark); + color: var(--smoke); + min-height: 560px; + padding-top: 75px; +} + +.top { + padding: 0 var(--default-margin); +} + +.buildShipRun { + margin-top: 5rem; +} + +.subtext { + color: var(--white); +} + +.heading { + font-weight: 300; + color: var(--smoke); +} + +.headingHero { + composes: heading; + font-size: 3rem; + line-height: 0.8; +} + +.headingHeroAlt { + composes: headingHero; + color: var(--primary-color); +} + +/* Lower Section */ +.lowerHeading { + text-align: center; + margin-bottom: var(--default-margin); +} + +/* Company List */ +.companyRow { + padding: 1.5rem 0 .5rem 0; + margin-left: 0; + margin-right: 0; + margin-bottom: var(--default-margin); +} + +.companyLinkLi { + text-align: center; +} + +/* Footer */ +.footer { + text-align: center; + margin-top: var(--default-margin); +} + +.footerCopy { + color: var(--gray-3); + font-weight: 100; + font-size: .8rem; +} diff --git a/app/scripts/components/Welcome.jsx b/app/scripts/components/Welcome.jsx new file mode 100644 index 0000000000..5a9a95bb0e --- /dev/null +++ b/app/scripts/components/Welcome.jsx @@ -0,0 +1,113 @@ +'use strict'; + +import styles from './Welcome.css'; + +import React, { createClass, PropTypes } from 'react'; +import LoginForm from './welcome/LoginForm.jsx'; +import SignupForm from './welcome/SignupForm.jsx'; +import { Link } from 'react-router'; +import classnames from 'classnames'; +import Button from '@dux/element-button'; +var debug = require('debug')('Welcome'); + +let LowerSection = createClass({ + displayName: 'LowerSection', + propTypes: { + companyList: PropTypes.arrayOf(PropTypes.object) + }, + getDefaultProps() { + return { + companyList: [ + {logo: 'harvard'}, + {logo: 'sony'}, + {logo: 'nordstrom'}, + {logo: 'oracle'}, + {logo: 'zendesk'}, + {logo: 'gopro'}, + {logo: 'autodesk'}, + {logo: 'cisco'}, + {logo: 'zenefits'}, + {logo: 'dollar-shave-club'}, + {logo: 'zipcar'}, + {logo: 'gilt'}, + {logo: 'adp'}, + {logo: 'makerbot'}, + {logo: 'oculus'}, + {logo: 'adobe'} + ] + }; + }, + mkCompanyLi({name, url, logo}) { + let img = `/public/images/customers/${logo}.png`; + return ( +
  • + +
  • + ); + }, + render() { + + let companyClasses = classnames({ + 'small-block-grid-4': true, + [styles.companyRow]: true + }); + + return ( +
    +

    The most innovative companies use Docker

    +
    +
    +
      + {this.props.companyList.map(str => { return this.mkCompanyLi(str); })} +
    +
    +
    +
    + ); + } +}); + +var Welcome = React.createClass({ + displayName: 'WelcomePage', + transitionExplore: function(e){ + e.preventDefault(); + this.props.history.pushState(null, '/explore/'); + }, + render() { + + let buildShipRun = classnames({ + 'large-8 columns': true, + [styles.buildShipRun]: true + }); + + return ( +
    +
    +
    + +
    +

    Build, Ship, & Run

    +

    Any App, Anywhere

    +

    Dev-test pipeline automation, 100,000+ free apps, public and private registries

    +
    + +
    + +
    + +
    +
    +
    + Browse Thousands of the most popular software tools in the Docker Image Library +
    +
    +
    +

    © 2016 Docker Inc.

    +
    +
    +
    + ); + } +}); + +module.exports = Welcome; diff --git a/app/scripts/components/account/Account.jsx b/app/scripts/components/account/Account.jsx new file mode 100644 index 0000000000..0f30fa138b --- /dev/null +++ b/app/scripts/components/account/Account.jsx @@ -0,0 +1,127 @@ +'use strict'; + +import React, { PropTypes, cloneElement } from 'react'; +import { Link } from 'react-router'; +import FluxibleMixin from 'fluxible-addons-react/FluxibleMixin'; +import { SecondaryNav } from 'dux'; +import FA from 'common/FontAwesome'; +import LiLink from '../common/LiLink'; +import AccountSettingsLicensesStore from '../../stores/AccountSettingsLicensesStore'; +import EmailNotifStore from '../../stores/EmailNotifStore'; +import Route404 from '../common/RouteNotFound404Page.jsx'; + +let SettingNav = React.createClass({ + displayName: 'SettingsSecondaryNav', + mixins: [FluxibleMixin], + contextTypes: { + getStore: PropTypes.func.isRequired + }, + statics: { + storeListeners: { + onLicensesStoreChange: [AccountSettingsLicensesStore], + onNotifStoreChange: [EmailNotifStore] + } + }, + onLicensesStoreChange: function() { + let store = this.context.getStore(AccountSettingsLicensesStore); + this.setState({ + licenseAttempt: store.getAttempt() + }); + }, + onNotifStoreChange: function() { + let store = this.context.getStore(EmailNotifStore); + this.setState({ + notificationAttempt: store.getAttempt() + }); + }, + getInitialState() { + return { + licenseAttempt: false, + notificationAttempt: false + }; + }, + _showLicensesLoader() { + this.context.getStore(AccountSettingsLicensesStore).setAttempt(true); + this.setState({ + licenseAttempt: true + }); + }, + _showNotificationsLoader() { + this.context.getStore(EmailNotifStore).setAttempt(true); + this.setState({ + notificationAttempt: true + }); + }, + renderLicenses() { + var licensesElement; + if (!this.state.licenseAttempt) { + licensesElement = 'Licenses'; + } else { + licensesElement = (Licenses ); + } + return {licensesElement}; + }, + renderNotifications() { + var notificationsElement; + if (!this.state.notificationAttempt) { + notificationsElement = 'Notifications'; + } else { + notificationsElement = (Notifications ); + } + return {notificationsElement}; + }, + render() { + return ( + +
      + Account Settings + Billing & Plans + Linked Accounts & Services + {this.renderNotifications()} + {this.renderLicenses()} +
    +
    + ); + } +}); + +var Account = React.createClass({ + mixins: [FluxibleMixin], + propTypes: { + loggedOutElement: PropTypes.element + }, + contextTypes: { + getStore: PropTypes.func.isRequired + }, + render: function() { + + const { JWT, user, location } = this.props; + const path = location.pathname; + if (!JWT && path === '/account/billing-plans/create-subscription/') { + /* Handles the www.docker.com/pricing links to buy hub plans at URLs + * /account/billing-plans/create-subscription/?plan=index_personal_PLANSIZE + * when the user is logged out (has special redirects) + */ + return cloneElement(this.props.children, { + user: this.props.user, + JWT: this.props.JWT + }); + } else if (!JWT) { + return ( + + ); + } else { + return ( +
    + + {this.props.children && cloneElement(this.props.children, { + user: this.props.user, + JWT: this.props.JWT + })} +
    + ); + } + } +}); + +module.exports = Account; diff --git a/app/scripts/components/account/AccountSettings.css b/app/scripts/components/account/AccountSettings.css new file mode 100644 index 0000000000..f0a93fca61 --- /dev/null +++ b/app/scripts/components/account/AccountSettings.css @@ -0,0 +1,14 @@ +@import "dux/css/box"; +@import "dux/css/colors"; + +.body { + margin-top: var(--default-margin); +} + +.margin { + margin: var(--default-margin); +} + +.visibility { + color: var(--black); +} \ No newline at end of file diff --git a/app/scripts/components/account/AccountSettings.jsx b/app/scripts/components/account/AccountSettings.jsx new file mode 100644 index 0000000000..07193776eb --- /dev/null +++ b/app/scripts/components/account/AccountSettings.jsx @@ -0,0 +1,138 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +import { Link } from 'react-router'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import _ from 'lodash'; + +import styles from './AccountSettings.css'; +import EmailForm from './forms/EmailForm'; +import AccountInfoForm from './forms/AccountInfoForm'; +import ChangePassForm from './forms/ChangePassForm'; +import convertToOrgAction from '../../actions/convertToOrganization'; +import toggleVisibility from '../../actions/toggleVisibility.js'; +import PrivateRepoUsageStore from '../../stores/PrivateRepoUsageStore.js'; +import { PageHeader, Button } from 'dux'; +import classnames from 'classnames'; +import { SplitSection } from '../common/Sections.jsx'; + +var debug = require('debug')('AccountSettings'); + +var Settings = React.createClass({ + contextTypes: { + executeAction: React.PropTypes.func.isRequired + }, + getDefaultProps: function() { + return { + user: {}, + JWT: '' + }; + }, + render: function() { + + return ( +
    + +
    +
    + + + + + +
    +
    +
    + ); + } +}); + +var DefaultVisibility = React.createClass({ + displayName: 'DefaultVisibility', + PropTypes: { + defaultRepoVisibility: PropTypes.string.isRequired + }, + contextTypes: { + executeAction: React.PropTypes.func.isRequired + }, + toggleClick(visibility) { + const _this = this; + return (e) => { + e.preventDefault(); + this.context.executeAction(toggleVisibility, _.merge(visibility, {JWT: _this.props.JWT, username: _this.props.username})); + }; + }, + render: function() { + + return ( +
    + Update the default visibility for your repositories.

    }> +
    +
    +
      +
    • + +
    • +
    • + +
    • +
    +
    +
    +
    +
    + ); + } +}); + +var ToOrgForm = React.createClass({ + _toOrgClick: function(e) { + e.preventDefault(); + this.props.history.pushState(null, '/account/convert-to-org/'); + }, + render: function() { + + if (this.props.userType === 'Organization') { + return ( +
    +
    +
    This is an Organization account for:
    +
    {this.props.username}
    +
    +
    +
    + ); + } else { + return ( + To use organization features you must convert your account from a "User" to an "Organization"

    }> +
    + +
    +
    + ); + } + } +}); + +export default connectToStores(Settings, + [ + PrivateRepoUsageStore + ], + function({ getStore }, props) { + return getStore(PrivateRepoUsageStore).getState(); + }); diff --git a/app/scripts/components/account/AddOrganizationForm.css b/app/scripts/components/account/AddOrganizationForm.css new file mode 100644 index 0000000000..f70fa38675 --- /dev/null +++ b/app/scripts/components/account/AddOrganizationForm.css @@ -0,0 +1,5 @@ +@import 'dux/css/box.css'; + +.contentWrapper { + margin-top: var(--default-margin); +} diff --git a/app/scripts/components/account/AddOrganizationForm.jsx b/app/scripts/components/account/AddOrganizationForm.jsx new file mode 100644 index 0000000000..63e658d507 --- /dev/null +++ b/app/scripts/components/account/AddOrganizationForm.jsx @@ -0,0 +1,96 @@ +'use strict'; + +import React from 'react'; +import OrganizationStore from '../../stores/OrganizationStore'; +import AddOrganizationStore from '../../stores/AddOrganizationStore'; +import createOrganizationAction from '../../actions/createOrganization'; +import updateAddOrganizationFormField from '../../actions/updateAddOrganizationFormField'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +const debug = require('debug')('AddOrganizationForm'); +import SimpleInput from 'common/SimpleInput.jsx'; +import Button from '@dux/element-button'; +import styles from './AddOrganizationForm.css'; +import { SplitSection } from '../common/Sections.jsx'; + +var AddOrganizationForm = React.createClass({ + contextTypes: { + executeAction: React.PropTypes.func.isRequired + }, + propTypes: { + JWT: React.PropTypes.string.isRequired + }, + _onChange(fieldKey) { + return (e) => { + this.context.executeAction(updateAddOrganizationFormField, { + fieldKey, + fieldValue: e.target.value + }); + }; + }, + _handleCreate: function(e) { + e.preventDefault(); + /*eslint-disable camelcase */ + var newOrg = { + orgname: this.props.values.orgname.toLowerCase(), + full_name: this.props.values.full_name, + gravatar_email: this.props.values.gravatar_email, + company: this.props.values.company, + location: this.props.values.location, + profile_url: this.props.values.profile_url + /*eslint-enable camelcase */ + }; + this.context.executeAction(createOrganizationAction, { + jwt: this.props.JWT, + organization: newOrg + }); + }, + render: function() { + return ( +
    + + Organizations can have multiple Teams. Teams can have differing permissions. Namespace is + unique and this is where repositories for this organization will be created. +

    }> +
    +
    + + + + + + + + + +
    +
    + ); + } +}); + +export default connectToStores(AddOrganizationForm, + [ + AddOrganizationStore + ], + function({ getStore }, props) { + return getStore(AddOrganizationStore).getState(); + }); diff --git a/app/scripts/components/account/BillingPlans.css b/app/scripts/components/account/BillingPlans.css new file mode 100644 index 0000000000..d0d01aa909 --- /dev/null +++ b/app/scripts/components/account/BillingPlans.css @@ -0,0 +1,21 @@ +@import 'dux/css/colors.css'; + +.body { + margin-top: 2rem; +} + +.error { + background: var(--primary-5); + color:white; +} + +.plansQuestion { + margin-bottom: 2rem; +} + +.questionTitle { + font-weight: 500; + color: var(--secondary-1); +} + +/*.questionAnswer {}*/ diff --git a/app/scripts/components/account/BillingPlans.jsx b/app/scripts/components/account/BillingPlans.jsx new file mode 100644 index 0000000000..329daec409 --- /dev/null +++ b/app/scripts/components/account/BillingPlans.jsx @@ -0,0 +1,246 @@ +/*global MktoForms2*/ + +'use strict'; + +import React, { PropTypes } from 'react'; +const { string, array, object, func, shape } = PropTypes; +import { Link } from 'react-router'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import isEmpty from 'lodash/lang/isEmpty'; + +import BillingPlansStore from '../../stores/BillingPlansStore'; +import updateSubscriptionPlanOrPackage from '../../actions/updateSubscriptionPlanOrPackage.js'; + +import PlansTable from './billingplans/Plans'; +import EnterpriseSubscriptions from './billingplans/EnterpriseSubscriptions.jsx'; +import BillingInfo from './billingplans/BillingInfo.jsx'; +import InvoiceTables from './billingplans/InvoiceTables.jsx'; +import styles from './BillingPlans.css'; +import { FullSection } from '../common/Sections.jsx'; +import Route404 from '../common/RouteNotFound404Page.jsx'; +import { PageHeader } from 'dux'; + +/* Marketo constants for the marketing survey form */ +const mktoFormId = 1317; +const mktoFormElemId = 'mktoForm_' + mktoFormId; +const mktoFormBaseUrl = 'https://app-sj05.marketo.com'; +const mktoFormMunchkinId = '929-FJL-178'; + +var BillingInfoPage = React.createClass({ + + contextTypes: { + executeAction: func.isRequired + }, + + PropTypes: { + JWT: string, + user: object, + currentPlan: shape({ + id: string, + plan: string, + package: string + }), + accountInfo: shape({ + account_code: string, + username: string, + email: string, + first_name: string, + last_name: string, + company_name: string + }), + billingInfo: shape({ + city: string, + state: string, + zip: string, + first_name: string, + last_name: string, + address1: string, + address2: string, + country: string + }), + plansError: string, + invoices: array, + unsubscribing: string, + updatePlan: string + }, + + stopSubscription(subscriptionType) { + /** + * UPDATE 4/6/16 "cloud_metered" is the new "free" plan instead of deleting + * per ticket HUB-2219 + */ + return () => { + const { JWT, user, currentPlan } = this.props; + const namespace = user.username || user.orgname; + let subscriptionData = { + JWT, + username: namespace, + subscription_uuid: currentPlan.subscription_uuid + }; + if (subscriptionType === 'plan') { + subscriptionData.plan_code = 'cloud_metered'; + if (currentPlan.package) { + // preserve package (like cloud_starter) if it exists + subscriptionData.package_code = currentPlan.package; + } + } else if (subscriptionType === 'package') { + // If you are removing a package, leave the plan alone + subscriptionData.plan_code = currentPlan.plan; + // Explicitly set null to remove + subscriptionData.package_code = null; + } + this.context.executeAction(updateSubscriptionPlanOrPackage, subscriptionData); + }; + }, + + showSurveyModal(subscriptionType) { + return () => { + if (typeof MktoForms2 === 'object' && + typeof MktoForms2.loadForm === 'function') { + MktoForms2.loadForm( + mktoFormBaseUrl, + mktoFormMunchkinId, + mktoFormId, + (form) => { + form.onSubmit(this.stopSubscription(subscriptionType)); + // Don't refresh the page after a successful submission. + // React component will re-render itself. + form.onSuccess(() => false); + form.vals({'Email': this.props.accountInfo.email}); + MktoForms2.lightbox(form).show(); + }); + } else { + // If for any reason there is a problem with the Marketo script, + // we shouldn't block the user from stopping his/her subscription. + this.stopSubscription(subscriptionType); + } + }; + }, + + getSurveyModalHtml() { + return ( +
    +
    +
    + ); + }, + + render: function() { + let plansIntro; + let plansFooter; + let errorSection; + const { + accountInfo, + billingInfo, + currentPlan, + invoices, + isOwner, + JWT, + plansError, + unsubscribing, + updatePlan, + user, + history + } = this.props; + if (accountInfo.newBilling) { + plansIntro = ( + +
    + The Docker Hub Registry is free to use for public repositories. Plans with private repositories are + available in different sizes. All plans allow collaboration with unlimited people. +
    +
    + ); + plansFooter = ( + +
    +
    What types of payment do you accept?
    +
    Credit card (Visa, MasterCard, Discover, or American Express).
    +
    +
    +
    Do I have to pay to use your service?
    +
    No, you only have to pay if you require one or more private repository.
    +
    +
    +
    Can I change my plan at a later time?
    +
    Yes, you can upgrade or downgrade at any time.
    +
    +
    +
    What if I need a larger plan?
    +
    Please contact our Sales team at sales@docker.com or call us toll free at 888-214-4258.
    +
    +
    + ); + } else { + plansIntro = (
    ); + plansFooter = (
    ); + } + if (plansError) { + errorSection = ( + +
    + There was an error trying to update your subscription. Please contact the Docker support team.
    + {plansError} +
    +
    + ); + } + const username = user.username || user.orgname || ''; + const isOrg = !!user.orgname; + + if (isOrg && !isOwner) { + return ( + + ); + } else { + /* + accountInfo.newBilling / billingInfo.newBilling + Means this is a brand new account without any information saved to the backend + */ + return ( +
    + +
    + {plansIntro} + {errorSection} + + {plansFooter}
    +
    + + + +
    + {this.getSurveyModalHtml()} +
    + ); + } + } +}); + +export default connectToStores(BillingInfoPage, + [BillingPlansStore], + function({ getStore }, props) { + return getStore(BillingPlansStore).getState(); + }); diff --git a/app/scripts/components/account/ConvertToOrg.css b/app/scripts/components/account/ConvertToOrg.css new file mode 100644 index 0000000000..ace3d024ff --- /dev/null +++ b/app/scripts/components/account/ConvertToOrg.css @@ -0,0 +1,25 @@ +@import 'dux/css/colors.css'; + +.body { + margin-top: 1rem; +} + +.toOrgContent { + margin-bottom: 1rem; +} + +.warning { + color: var(--primary-5); +} + +.center { + text-align: center; + margin-bottom: 1rem; +} + +.form { + padding-top: 1rem; + div { + margin-bottom: 0; + } +} \ No newline at end of file diff --git a/app/scripts/components/account/ConvertToOrg.jsx b/app/scripts/components/account/ConvertToOrg.jsx new file mode 100644 index 0000000000..22545837e9 --- /dev/null +++ b/app/scripts/components/account/ConvertToOrg.jsx @@ -0,0 +1,145 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +import { Link } from 'react-router'; +import _ from 'lodash'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import classnames from 'classnames'; + +import DUXInput from '../common/DUXInput.jsx'; +import convertToOrgAction from '../../actions/convertToOrganization'; +import updateToOrgOwner from '../../actions/updateToOrgOwner.js'; +import ConvertToOrgStore from '../../stores/ConvertToOrgStore.js'; +import { PageHeader, Module } from 'dux'; +import Button from '@dux/element-button'; + +import { FullSection } from '../common/Sections.jsx'; + +import styles from './ConvertToOrg.css'; + +var debug = require('debug')('ConvertToOrg'); + +var _mkErrors = function(err, key) { + const errorClass = classnames({ + [ styles.center ]: true, + [ styles.warning ]: true + }); + return ( +
    + { err } +
    + ); +}; + +var ConvertToOrg = React.createClass({ + contextTypes: { + executeAction: PropTypes.func.isRequired + }, + propTypes: { + user: PropTypes.shape({ + username: PropTypes.string + }), + JWT: PropTypes.string, + convertError: PropTypes.bool.isRequired, + error: PropTypes.object + }, + getInitialState: function() { + return { + newOwner: '' + }; + }, + onChangeOwner: function(e) { + e.preventDefault(); + var newOwner = e.target.value; + this.context.executeAction(updateToOrgOwner, { newOwner: newOwner }); + }, + onCancelClick: function(e) { + e.preventDefault(); + this.props.history.pushState(null, '/account/settings/'); + }, + submitChangeOrg: function(e) { + e.preventDefault(); + debug('Change user to org'); + this.context.executeAction(convertToOrgAction, + {jwt: this.props.JWT, username: this.props.user.username, newOwner: this.props.newOwner}); + }, + render: function() { + var disabled = !this.props.newOwner; + var intent = this.props.convertError ? 'alert' : null; + let error = null; + if (this.props.convertError) { + error = ( +
    + { _.map(this.props.error, _mkErrors) } +
    + ); + } + return ( +
    + +
    +
    + +
    Your user account will be transformed into an organization account where all administrative duties are left to another user or group of users. You will no longer be able to login to this account.
    +
    + +
    Email addresses for this account will be removed, freeing them up to be used for any other accounts.
    +
    + +
    Converting your account removes any associations to other services like GitHub or Atlassian Bitbucket. You will be able to link your external accounts to another Docker Hub user.
    +
    + +
    Billing details and Private Repository plans will remain attached to this account after it is converted to an organization.
    +
    + +
    Repository namespaces and names remain unchanged. Any user collaborators that you have configured for these repositories will be removed and must be reconfigured using group collaborators.
    +
    + +
    Automated Builds for this account will be updated to appear as if they were originallly configured by the initial organization owner. Any user in a group with 'admin' level access to a repository will be able to edit Automated Build Configurations.
    +
    +
    +
    +
    WARNING
    +
    This account conversion operation can not be undone.
    +
    +
    +
    +
    +

    In order to complete the conversion of your account to an organization you will need to enter the Docker ID of an **existing** Docker Hub user account. + The user account you specify will become a member of the Owners group and will have full administrative privileges to manage the organization.

    + + { error } +
    +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + ); + } +}); + +export default connectToStores(ConvertToOrg, + [ConvertToOrgStore], + function({ getStore }, props) { + return getStore(ConvertToOrgStore).getState(); + }); diff --git a/app/scripts/components/account/CreateBillingSubscription.css b/app/scripts/components/account/CreateBillingSubscription.css new file mode 100644 index 0000000000..d7d63cbe3e --- /dev/null +++ b/app/scripts/components/account/CreateBillingSubscription.css @@ -0,0 +1,36 @@ +@import "dux/css/box"; +@import 'dux/css/colors.css'; + +.select { + width: 5rem; +} +.error { + color: var(--primary-5); +} + +.title { + font-weight: 700; + margin-top: 1.5rem; +} + +.subtitle { + color: var(--primary-2); + margin-bottom: .5rem; +} + +.preview { + composes: module from 'dux/dux/Module/Module.css'; + padding: 2rem 2rem 0; + margin-left: 1rem; +} + +.total { + margin-bottom: 35px; +} + +.couponCode { + margin-top: 2rem; +} +.price { + text-align: right; +} diff --git a/app/scripts/components/account/CreateBillingSubscription.jsx b/app/scripts/components/account/CreateBillingSubscription.jsx new file mode 100644 index 0000000000..972231444b --- /dev/null +++ b/app/scripts/components/account/CreateBillingSubscription.jsx @@ -0,0 +1,319 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +const { string, number, func, shape, object, array, oneOfType } = PropTypes; +import map from 'lodash/collection/map'; +import find from 'lodash/collection/find'; +import includes from 'lodash/collection/includes'; +import has from 'lodash/object/has'; +import merge from 'lodash/object/merge'; +import classnames from 'classnames'; +import { Link } from 'react-router'; +import connectToStores from 'fluxible-addons-react/connectToStores'; + +import BillingInfoForm from './billingplans/BillingInfoForm.jsx'; +import BillingInfoFormStore from '../../stores/BillingInfoFormStore.js'; +import PlansStore from '../../stores/PlansStore.js'; +import BillingPlansStore from '../../stores/BillingPlansStore.js'; +import DUXInput from '../common/DUXInput.jsx'; +import createBillingSubscription from '../../actions/createSubscription.js'; +import updateSubscriptionPlanOrPackage from '../../actions/updateSubscriptionPlanOrPackage.js'; +import updateBillingInfoFormField from '../../actions/updateBillingInfoFormField.js'; +import validateBillingInfo from '../../actions/common/validateBillingInfo.js'; +import validateCouponCode from '../../actions/validateCouponCode.js'; +import EnterpriseLoggedOutPage from '../enterprise/EnterpriseLoggedOutPage.jsx'; +import { Button, PageHeader } from 'dux'; +import styles from './CreateBillingSubscription.css'; + +var debug = require('debug')('createBillingSubscription'); + +function mkShortPlanIntervalUnit(unit) { + if (unit === 'months'){ + return 'mo'; + } else if (unit === 'years') { + return 'yr'; + } else { + return 'mo'; + } +} + +function _mkOptions(list_item) { + return ( + + ); +} + +var CreateBillingSubscription = React.createClass({ + displayName: 'CreateBillingSubscription', + contextTypes: { + getStore: func.isRequired, + executeAction: func.isRequired + }, + getInitialState: function() { + return { + couponCode: '', + selectedPlan: this.props.location.query.plan + }; + }, + propTypes: { + JWT: string.isRequired, + user: object.isRequired, + billingInfoForm: shape({ + billforwardId: string, + accountInfo: shape({ + account_code: string, + username: string, + email: string, + first_name: string, + last_name: string, + company_name: string + }), + billingInfo: shape({ + city: string, + state: string, + zip: string, + first_name: string, + last_name: string, + address1: string, + address2: string, + country: string + }), + card: shape({ + number: string, + cvv: string, + month: oneOfType([number, string]), + year: oneOfType([number, string]), + type: string, + coupon_code: string, + coupon: number + }), + errorMessage: string, + fieldErrors: object, + STATUS: string + }), + plans: shape({ + currentPlan: shape({ + subscription_uuid: string, + package: string + }), + plansList: array + }) + }, + createBillingSubscription(){ + const { JWT, user } = this.props; + const { billforwardId, accountInfo, billingInfo, card } = this.props.billingInfoForm; + const { currentPlan } = this.props.plans; + const { package: currentPackage, subscription_uuid } = currentPlan; + const { selectedPlan } = this.state; + const { executeAction } = this.context; + if (selectedPlan) { + // User has no billing profile account OR no billing payment information + var subscriptionData = { + JWT, + user, + accountInfo, + billingInfo, + card, + billforwardId, + isNewBillingAccount: accountInfo.newBilling, + plan_code: selectedPlan + }; + + return executeAction(createBillingSubscription, subscriptionData); + } else if (currentPackage) { + // User HAS a CLOUD plan - upgrade to hub plan WITH cloud subscription + // SHOULD NEVER REACH HERE ANYMORE - PACKAGES HAVE BEEN REMOVED!! + const namespace = user.username || user.orgname; + let updatePlanInfo = { + JWT, + username: namespace, + subscription_uuid: subscription_uuid, + plan_code: selectedPlan, + package_code: currentPackage, + coupon_code: card.coupon_code + }; + return executeAction(updateSubscriptionPlanOrPackage, updatePlanInfo); + } + return executeAction(validateBillingInfo({storePrefix: 'BILLING'})); + }, + getPlan(selectedPlan) { + const plans = [ + 'index_personal_micro', + 'index_personal_small', + 'index_personal_medium', + 'index_personal_large', + 'index_personal_xlarge', + 'index_personal_xxlarge' + ]; + if (selectedPlan && includes(plans, selectedPlan)) { + const { plansList } = this.props.plans; + const planObject = find(plansList, {plan_code: selectedPlan}); + const interval = has(planObject, 'plan_interval_unit') ? mkShortPlanIntervalUnit(planObject.plan_interval_unit) : 'mo'; + const price = parseInt(planObject.price_in_cents, 10) / 100; + return {planCode: planObject.plan_code, price: price, interval}; + } else { + return {price: 0, interval: 'mo', planCode: null}; + } + }, + _onChange(field, fieldKey) { + return (e) => { + this.context.executeAction(updateBillingInfoFormField, { + field, + fieldKey, + fieldValue: e.target.value + }); + }; + }, + _updateSelectPlan(e) { + e.preventDefault(); + let planCode = e.target.value; + const { card } = this.props.billingInfoForm; + this.setState({selectedPlan: planCode}); + this.props.history.pushState(null, this.props.location.pathname, {plan: planCode}); + if (card.coupon > 0 || this.state.couponCode) { + this.context.executeAction(validateCouponCode, {coupon_code: this.state.couponCode, plan: planCode}); + } + }, + _updateCoupon(e) { + e.preventDefault(); + this.setState({couponCode: e.target.value}); + }, + validateCoupon(plan) { + return (e) => { + e.preventDefault(); + this.context.executeAction(validateCouponCode, {coupon_code: this.state.couponCode, plan: plan}); + this.setState({couponCode: ''}); + }; + }, + render: function() { + const { plansList } = this.props.plans; + const { selectedPlan } = this.state; + const { JWT, user, history } = this.props; + + if(!JWT) { + //get plan type from end of '?plan=index_personal_PLANTYPE' + //default to micro plan if no query selected + const planType = selectedPlan ? selectedPlan.substring(15) : 'micro'; + return ; + } else { + const { accountInfo, billingInfo, card, fieldErrors, STATUS, errorMessage } = this.props.billingInfoForm; + const { price, interval, planCode } = this.getPlan(selectedPlan); + + var discount; + if (card.coupon > 0) { + discount = '- $' + card.coupon; + } else { + discount = '-----'; + } + let titleClass = classnames({ + [styles.title]: true, + [styles.error]: true + }); + let title = ( +
    + * Please select a plan:  + +
    + ); + + if (selectedPlan) { + title = ( +
    + You are subscribing to the   + +   plan at ${price}/{interval} +
    + ); + } + const namespace = user.username || user.orgname; + const isOrg = !!user.orgname; + + return ( +
    + + +
    +
    + { title } +
    Once your billing information has been processed, your account will be immediately upgraded.
    +
    Thank you for subscribing!
    +
    Your billing information can be updated at any time
    +
    +
    +
    +
    + +
    +
    +
    +
    + Plan Cost: +
    +
    + ${price} +
    +
    +
    +
    + Coupon: +
    +
    + {discount} +
    +
    +
    +
    +
    + Total Charge: +
    +
    + ${price - card.coupon} +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + ); + } + } +}); + +export default connectToStores(CreateBillingSubscription, + [BillingInfoFormStore, PlansStore], + function({ getStore }, props) { + return merge({}, + {plans: getStore(PlansStore).getState(), billingInfoForm: getStore(BillingInfoFormStore).getState()}); + }); diff --git a/app/scripts/components/account/Licenses.css b/app/scripts/components/account/Licenses.css new file mode 100644 index 0000000000..dda5c374ae --- /dev/null +++ b/app/scripts/components/account/Licenses.css @@ -0,0 +1,51 @@ +@import "dux/css/box"; +@import "dux/css/colors"; + +.license { + background: var(--white); + border: 1px solid var(--iron); + border-top-right-radius: var(--global-radius) 0; + border-top-left-radius: var(--global-radius) 0; + padding: 1rem 2rem; + margin: 1rem 0 0 0; +} + +.download { + background: var(--secondary-5); + color: var(--secondary-2); + border-bottom-right-radius: var(--global-radius) 0; + border-bottom-left-radius: var(--global-radius) 0; + text-align: center; + padding: .5rem; + line-height: 16px; + font-size: 14px; +} + +.downloadAlert { + background: var(--alert-color); + color: var(--secondary-5); + border-bottom-right-radius: var(--global-radius) 0; + border-bottom-left-radius: var(--global-radius) 0; + text-align: center; + padding: .5rem; +} + +.pageWrapper { + padding-top: 1.25rem; +} + +.legal { + font-size: 12px; + font-style: italic; + min-height: 48px; +} + +input.checkbox { + margin-bottom: 0; + margin-right: 4px; +} + +.finePrint { + font-size: 10px; + font-style: italic; +} diff --git a/app/scripts/components/account/Licenses.jsx b/app/scripts/components/account/Licenses.jsx new file mode 100644 index 0000000000..e7a724d8a7 --- /dev/null +++ b/app/scripts/components/account/Licenses.jsx @@ -0,0 +1,214 @@ +'use strict'; + +import React, { PropTypes, createClass, Component } from 'react'; +import _ from 'lodash'; +import moment from 'moment'; +import classnames from 'classnames'; +import { Link } from 'react-router'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import request from 'superagent'; + +// Blob is a polyfill +require('vendor/Blob'); +import { saveAs } from 'vendor/FileSaver'; +import FA from 'common/FontAwesome'; + +import { PageHeader } from 'dux'; +import AccountSettingsLicensesStore from '../../stores/AccountSettingsLicensesStore'; +import Row from '../common/Row'; +import CSEngineBox from 'common/CSEngineBox'; + +import styles from './Licenses.css'; + +var debug = require('debug')('AccountSettingsLicenses'); + +class LicenseBox extends Component { + + state = { + hasAcceptedTerms: false, + hasError: false, + isDownloading: false, + // Paid licenses require terms + // https://github.com/docker/dhe-license-server/blob/master/tiers/tiers.go + requiresAcceptedTerms: this.props.tier !== 'Trial' && this.props.tier !== 'Evaluation' + } + + onCheckboxChange = () => { + this.setState({ + hasAcceptedTerms: !this.state.hasAcceptedTerms + }); + } + + onClick = (e) => { + this.setState({ + isDownloading: true, + hasError: false + }); + request.get(process.env.REGISTRY_API_BASE_URL + + '/api/licensing/v3/license/' + + this.props.orgname + + '/' + + this.props.keyId + + '/') + .set('Authorization', 'JWT ' + this.props.JWT) + .end((err, res) => { + if(err) { + this.setState({ + isDownloading: false, + hasError: true + }); + } else { + + this.setState({ + isDownloading: false, + hasError: false + }); + + const blob = new Blob([res.text], { + type: 'text/plain;charset=utf-8' + }); + saveAs(blob, `docker_subscription.lic`); + } + + }); + } + + render() { + const { expiration, alias, orgname, end, tier, maxEngines } = this.props; + const { requiresAcceptedTerms, hasAcceptedTerms } = this.state; + const exp = moment(expiration).fromNow(); + // This is a temporary work around until we can enable click to accept + // in Store + let maybeTermsAndConditions =
    ; + if (requiresAcceptedTerms) { + const EUSALink = 'https://www.docker.com/docker-software-end-user-subscription-agreement'; + const checkbox = ( + + ); + maybeTermsAndConditions = ( +
    + { checkbox } + I agree to Docker's subscription terms +
    This will not override any pre-negotiated terms.
    +
    + ); + } + + const preventDownload = requiresAcceptedTerms && !hasAcceptedTerms; + let icon; + let onClick; + if (preventDownload) { + icon = 'Please accept terms to download'; + onClick = () => {}; + } else { + icon = ; + onClick = this.onClick; + if(this.state.isDownloading) { + icon = ; + } + } + + const classes = classnames({ + 'large-3 columns': true, + 'end': end + }); + + const downloadClasses = classnames({ + [styles.download]: !this.state.hasError, + [styles.downloadAlert]: this.state.hasError + }); + return ( +
    +
    +

    {alias}

    +

    Organization: {orgname}

    +

    Engines: {maxEngines}

    +

    Expires: {exp}

    + { maybeTermsAndConditions } +
    + +
    {icon}
    +
    + ); + } +} + +class Licenses extends Component { + contextTypes: { + executeAction: React.PropTypes.func.isRequired + } + + propTypes: { + JWT: PropTypes.string.isRequired, + licenses: PropTypes.array.isRequired + } + + state = { + rpm: { + isDownloading: false, + hasError: false + }, + deb: { + isDownloading: false, + hasError: false + } + } + + + render() { + if(this.props.licenses.length <= 0) { + return ( +
    + + +
    You don't seem to have any + licenses; Get a + Trial. +
    +
    +
    + ); + } else { + const { rpm, deb } = this.state; + + const icon = ; + const iconDownloading = ; + + const rpmIcon = rpm.isDownloading ? iconDownloading : icon; + const debIcon = deb.isDownloading ? iconDownloading : icon; + + const rpmIntent = rpm.hasAlert ? 'alert' : null; + const debIntent = deb.hasAlert ? 'alert' : null; + + return ( +
    + +
    +
    +
    + +
    +
    +
    + {this.props.licenses.map((license, i, arr) => { return ; } )} +
    +
    +
    + ); + } + } +} + +export default connectToStores(Licenses, + [ + AccountSettingsLicensesStore + ], + function({ getStore }, props) { + return getStore(AccountSettingsLicensesStore).getState(); + }); diff --git a/app/scripts/components/account/LinkedServices.css b/app/scripts/components/account/LinkedServices.css new file mode 100644 index 0000000000..e8b35530b3 --- /dev/null +++ b/app/scripts/components/account/LinkedServices.css @@ -0,0 +1,44 @@ +@import 'dux/css/colors.css'; +@import 'dux/css/box.css'; + +.body { + margin-top: 2rem; +} + +.icon { + width: 100px; + height: 100px; +} + +.name { + font-weight: 700; + margin: 0 var(--default-margin); +} + +.access { + margin: .5rem 0; + text-align: left; +} + +.service { + composes: base from 'dux/dux/Module/Module.css'; + color: var(--secondary-4); + padding: 1.8rem; + text-align: center; + transition: border .2s; + i { + font-size: 5rem; + margin-bottom: 1rem; + } + &:hover { + background: #f4f9fc; + color: var(--secondary-4); + cursor: pointer; + } + &.link:hover { + border: 1px solid var(--primary-2); + } + &.unlink:hover { + border: 1px solid var(--primary-5); + } +} \ No newline at end of file diff --git a/app/scripts/components/account/LinkedServices.jsx b/app/scripts/components/account/LinkedServices.jsx new file mode 100644 index 0000000000..4a93cf086e --- /dev/null +++ b/app/scripts/components/account/LinkedServices.jsx @@ -0,0 +1,174 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import { PageHeader } from 'dux'; + +import AutobuildStore from '../../stores/AutobuildStore'; +import BitbucketLinkStore from '../../stores/BitbucketLinkStore'; +import GithubLinkStore from '../../stores/GithubLinkStore'; +import GithubLinkAction from '../../actions/linkGithub'; +import BitbucketLinkAction from '../../actions/linkBitbucket'; +import GithubUnlinkAction from '../../actions/unlinkGithub'; +import BitbucketUnlinkAction from '../../actions/unlinkBitbucket'; +import { Button, Module } from 'dux'; +import { SplitSection } from '../common/Sections.jsx'; +import FA from '../common/FontAwesome'; +import classnames from 'classnames'; +import styles from './LinkedServices.css'; +import merge from 'lodash/object/merge'; + +const { string, array, object, func } = PropTypes; + +class LinkedServices extends Component { + + static contextTypes = { + executeAction: func.isRequired + } + + static propTypes = { + JWT: string.isRequired, + githubAccount: object, + githubRepos: array, + bitbucketAccount: object, + bitbucketRepos: array, + gitlabAccount: object, + gitlabRepos: array, + bitbucketError: string, + bbAuthUrl: string, + githubError: string + } + + authServiceClick = (e) => { + e.preventDefault(); + } + + render() { + var github = {service: 'Github', account: this.props.githubAccount}; + var bitbucket = {service: 'Bitbucket', account: this.props.bitbucketAccount}; + var gitlab = {service: 'Gitlab', account: this.props.gitlabAccount}; + let maybeError; + const errorMsg = this.props.githubError || this.props.bitbucketError; + if (errorMsg) { + maybeError = {errorMsg}; + } + return ( +
    + +
    +
    + + These account links are currently used for Automated Builds, + so that we can access your project lists and help you configure your Automated Builds. +   Please note: A github/bitbucket account can be connected to only one docker hub account at a time.

    }> +
    + + +
    +
    + {maybeError} +
    +
    +
    +
    + ); + } +} + +class LinkedAccount extends Component { + static propTypes = { + data: object, + bbAuthUrl: string, + JWT: string, + history: object.isRequired + } + + static contextTypes = { + executeAction: PropTypes.func.isRequired + } + + linkAction = (provider, e) => { + e.preventDefault(); + if (provider.service.toLowerCase() === 'github') { + this.context.executeAction(GithubLinkAction, this.props.JWT); + this.props.history.pushState(null, '/account/authorized-services/github-permissions/'); + } else if (provider.service.toLowerCase() === 'bitbucket') { + const bbWin = window.open(); + bbWin.location = this.props.bbAuthUrl; + } + } + + unlinkAction = (provider, e) => { + e.preventDefault(); + if (provider.service.toLowerCase() === 'github') { + this.context.executeAction(GithubUnlinkAction, this.props.JWT); + } else if (provider.service.toLowerCase() === 'bitbucket') { + this.context.executeAction(BitbucketUnlinkAction, this.props.JWT); + } + } + + render() { + var service = this.props.data.service; + var icon; + if (service.toLowerCase() === 'github') { + icon = 'fa-github'; + } else if (service.toLowerCase() === 'bitbucket') { + icon = 'fa-bitbucket'; + } + var account = this.props.data.account; + let linkClass = classnames({ + [styles.service]: true, + [styles.unlink]: account, + [styles.link]: !account + }); + if (account) { + return ( +
    +
    +
    +
    + +
    +
    + {account.login}:
    + read/write access +
    +

    + Unlink {service} +
    +
    + ); + } else { + return ( +
    +
    +
    + Link {service} +
    +
    + ); + } + } +} + +export default connectToStores(LinkedServices, + [ + AutobuildStore, + BitbucketLinkStore, + GithubLinkStore + ], + function({ getStore }, props) { + return merge( + {}, + getStore(AutobuildStore).getState(), + { bitbucketError: getStore(BitbucketLinkStore).getState().error, + bbAuthUrl: getStore(BitbucketLinkStore).getState().authURL, + githubError: getStore(GithubLinkStore).getState().error } + ); + }); diff --git a/app/scripts/components/account/NotificationsSettings.css b/app/scripts/components/account/NotificationsSettings.css new file mode 100644 index 0000000000..1a3cebfd7a --- /dev/null +++ b/app/scripts/components/account/NotificationsSettings.css @@ -0,0 +1,36 @@ +@import 'dux/css/colors.css'; + +.body { + margin-top: 2rem; +} + +.button { + margin-bottom: -1rem; +} + +.success { + border: 1px solid var(--primary-2); +} + +.formError { + border: 1px solid var(--primary-5); +} + +.notification { + margin-bottom: 1rem; + word-wrap: break-word; +} +.notification:hover { + cursor: pointer; + cursor: hand; +} +.unverifiedNotif { + margin-bottom: 1rem; + word-wrap: break-word; + color: var(--secondary-4); + cursor: default; +} + +.checkbox { + padding-top: .5rem; +} diff --git a/app/scripts/components/account/NotificationsSettings.jsx b/app/scripts/components/account/NotificationsSettings.jsx new file mode 100644 index 0000000000..f0fdfc0046 --- /dev/null +++ b/app/scripts/components/account/NotificationsSettings.jsx @@ -0,0 +1,236 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +import _ from 'lodash'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import classnames from 'classnames'; + +import { Button, PageHeader } from 'dux'; +import OutboundCommunicationStore from '../../stores/OutboundCommunicationStore'; +import EmailsStore from '../../stores/EmailsStore'; +import resetNotifications from '../../actions/resetNotifications.js'; +import saveOutbound from '../../actions/saveOutbound'; +import UpdateOutbound from '../../actions/updateOutbound.js'; +import EmailNotifForm from './notificationSettings/EmailNotifForm.jsx'; +var debug = require('debug')('NotificationSettings'); + +import { SplitSection } from './../common/Sections.jsx'; +import styles from './NotificationsSettings.css'; + +var Notifications = React.createClass({ + displayName: 'Notifications', + contextTypes: { + executeAction: PropTypes.func.isRequired + }, + propTypes: { + user: PropTypes.shape({ + username: PropTypes.string + }), + JWT: PropTypes.string + }, + getDefaultProps: function() { + return { + user: {}, + JWT: '' + }; + }, + onOutboundClick: function(e) { + debug('onOutboundClick'); + var email = e.currentTarget.getAttribute('data-email'); + var list = e.currentTarget.getAttribute('data-list'); + var unsubscribedIndex; + var subscribedIndex; + var newSubscribed; + var newUnsubscribed; + var newList; + if (list === 'weekly') { + /*eslint-disable camelcase */ + unsubscribedIndex = this.props.weeklyDigest.unsubscribed_emails.indexOf(email); + subscribedIndex = this.props.weeklyDigest.subscribed_emails.indexOf(email); + newUnsubscribed = _.clone(this.props.weeklyDigest.unsubscribed_emails); + newSubscribed = _.clone(this.props.weeklyDigest.subscribed_emails); + if (unsubscribedIndex > -1 && subscribedIndex === -1) { + newUnsubscribed.splice(unsubscribedIndex, 1); + newSubscribed.push(email); + } else { + newSubscribed.splice(subscribedIndex, 1); + newUnsubscribed.push(email); + } + newList = { + subscribed_emails: newSubscribed, + unsubscribed_emails: newUnsubscribed + }; + this.context.executeAction(UpdateOutbound, {list: 'weekly', data: newList}); + /*eslint-enable camelcase */ + } else if (list === 'beta') { + unsubscribedIndex = this.props.betaGroup.unsubscribed_emails.indexOf(email); + subscribedIndex = this.props.betaGroup.subscribed_emails.indexOf(email); + newUnsubscribed = _.clone(this.props.betaGroup.unsubscribed_emails); + newSubscribed = _.clone(this.props.betaGroup.subscribed_emails); + if (unsubscribedIndex > -1 && subscribedIndex === -1) { + newUnsubscribed.splice(unsubscribedIndex, 1); + newSubscribed.push(email); + } else { + newSubscribed.splice(subscribedIndex, 1); + newUnsubscribed.push(email); + } + newList = { + unsubscribed_emails: newUnsubscribed, + subscribed_emails: newSubscribed + }; + this.context.executeAction(UpdateOutbound, {list: 'beta', data: newList}); + } + }, + onOutboundSubmit: function(e) { + e.preventDefault(); + let _this = this; + let weeklyUns = []; + let betaUns = []; + let weekly = _.clone(this.props.weeklyDigest); + let beta = _.clone(this.props.betaGroup); + /* eslint-disable camelcase */ + weekly.unsubscribed_emails.forEach(function(email) { + if (_this.isVerified(email)) { + weeklyUns.push(email); + } + }); + weekly.unsubscribed_emails = weeklyUns; + beta.unsubscribed_emails.forEach(function(email) { + if (_this.isVerified(email)) { + betaUns.push(email); + } + }); + beta.unsubscribed_emails = betaUns; + /* eslint-enable camelcase */ + var outboundData = { + JWT: this.props.JWT, + username: this.props.user.username, + weeklyDigest: weekly, + betaGroup: beta + }; + this.context.executeAction(saveOutbound, outboundData); + }, + onOutboundCancel: function(e) { + debug('resetting outbound communication'); + this.context.executeAction(resetNotifications, ['outbound']); + }, + sortEmails: function(emailArray) { + var _this = this; + return (_.sortBy(emailArray, + function(email) { + return !(_this.isVerified(email)); + }) + ); + }, + isVerified: function(email) { + return _.pluck(_.filter(this.props.emails, {email: email}), 'verified')[0]; + }, + render: function() { + var digestEmails = this.sortEmails(this.props.digestEmails); + var betaEmails = this.sortEmails(this.props.betaEmails); + return ( +
    + +
    +
    + + + The following settings will control how Docker communicates news, new products, new features, and more.

    }> +
    + +
    Docker Weekly
    +

    Docker weekly is a newsletter which contains the latest news, updates, and information on releases and other exciting stuff. Sign up!

    +
    + +
    Docker Beta Group
    +

    Become part of our Docker Beta Group and get early access to some Docker products and/or features.

    +

    Please select which email address (or addresses) you'd like to subscribe:

    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    +
    + ); + } +}); + +var OutboundList = React.createClass({ + contextTypes: { + executeAction: PropTypes.func.isRequired + }, + propTypes: { + emailGroups: PropTypes.shape({ + subscribed_emails: PropTypes.array, + unsubscribed_emails: PropTypes.array + }), + emailList: PropTypes.array, + emails: PropTypes.array, + onOutboundClick: PropTypes.func.isRequired, + type: PropTypes.string.isRequired + }, + render: function() { + let _this = this; + return ( +
    +
    +
    + {this.props.children} +
    +
    + {this.props.emailList.map(function(email) { + if (_this.props.isVerified(email)) { + return ( +
    +
    + +
    +
    + {email} +
    +
    + ); + } else { + return ( +
    +
    + +
    +
    + {email} - unverified +
    +
    + ); + } + })} +
    + ); + } +}); + +export default connectToStores(Notifications, + [OutboundCommunicationStore, EmailsStore], function({ getStore }, props) { + return _.merge({}, getStore(OutboundCommunicationStore).getState(), getStore(EmailsStore).getEmails()); + }); diff --git a/app/scripts/components/account/OrganizationSettings.jsx b/app/scripts/components/account/OrganizationSettings.jsx new file mode 100644 index 0000000000..592cbcaef0 --- /dev/null +++ b/app/scripts/components/account/OrganizationSettings.jsx @@ -0,0 +1,59 @@ +'use strict'; + +import React, { cloneElement } from 'react'; +import { Link } from 'react-router'; +import FluxibleMixin from 'fluxible-addons-react/FluxibleMixin'; +import OrganizationStore from '../../stores/OrganizationStore'; +import { PageHeader } from 'dux'; +import FA from '../common/FontAwesome'; +const debug = require('debug')('OrganizationSettings'); + +var OrganizationSettings = React.createClass({ + displayName: 'OrganizationSettings', + mixins: [FluxibleMixin], + getInitialState: function() { + return { + orgs: this.context.getStore(OrganizationStore).getOrgs() + }; + }, + statics: { + storeListeners: { + onOrgStoreChange: [OrganizationStore] + } + }, + onOrgStoreChange: function() { + this.setState({ + orgs: this.context.getStore(OrganizationStore).getOrgs() + }); + }, + componentDidMount: function() { + this.setState({ + orgs: this.context.getStore(OrganizationStore).getOrgs() + }); + }, + render: function() { + + var maybeCreateOrgBtn; + var pathname = this.props.location.pathname; + if (pathname.indexOf('/add/') === -1) { + maybeCreateOrgBtn = Create Organization ; + } + + return ( +
    + + {maybeCreateOrgBtn} + +
    + {cloneElement(this.props.children, { + user: this.props.user, + JWT: this.props.JWT, + orgs: this.state.orgs + })} +
    +
    + ); + } +}); + +module.exports = OrganizationSettings; diff --git a/app/scripts/components/account/OrganizationSummary.css b/app/scripts/components/account/OrganizationSummary.css new file mode 100644 index 0000000000..65001dbfb0 --- /dev/null +++ b/app/scripts/components/account/OrganizationSummary.css @@ -0,0 +1,23 @@ +@import "dux/css/box.css"; + +.orgGridItem { + composes: module from "dux/dux/Module/Module.css"; + text-align: center; + &:hover { + cursor: pointer; + } +} +.orgSummary { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.orgAvatar { + width: 3rem; + height: 3rem; + border-radius: 100%; + padding: 5px; +} +.orgListItem { + list-style: none; +} diff --git a/app/scripts/components/account/OrganizationSummary.jsx b/app/scripts/components/account/OrganizationSummary.jsx new file mode 100644 index 0000000000..554dbbca17 --- /dev/null +++ b/app/scripts/components/account/OrganizationSummary.jsx @@ -0,0 +1,62 @@ +'use strict'; + +import styles from './OrganizationSummary.css'; +import classnames from 'classnames'; +import React, { Component, PropTypes } from 'react'; +const { bool, string } = PropTypes; +import { Link } from 'react-router'; +import selectOrganizationAction from '../../actions/selectOrganization'; +import { mkAvatarForNamespace } from 'utils/avatar'; + +const debug = require('debug')('OrganizationSummary'); + + +class OrgItem extends Component { + + static propTypes = { + orgname: string.isRequired, + end: bool + } + + render() { + const { orgname, end } = this.props; + const classes = classnames( + styles.orgListItem, + 'medium-3', + 'columns', + { + 'end': end + } + ); + return ( +
  • + +
    + +
    {orgname}
    +
    + +
  • + ); + } +} + +export default class OrganizationSummary extends Component { + static contextTypes = { + executeAction: React.PropTypes.func.isRequired + } + static propTypes = { + user: React.PropTypes.object.isRequired, + JWT: React.PropTypes.string.isRequired, + orgs: React.PropTypes.array.isRequired + } + render() { + const orgItems = this.props.orgs.map((org, i, array) => { return ; }); + + return ( +
      + {orgItems} +
    + ); + } +} diff --git a/app/scripts/components/account/UpdateBillingInfo.css b/app/scripts/components/account/UpdateBillingInfo.css new file mode 100644 index 0000000000..b2ee158666 --- /dev/null +++ b/app/scripts/components/account/UpdateBillingInfo.css @@ -0,0 +1,11 @@ +@import "dux/css/box"; +@import "dux/css/colors"; + +.body { + margin-top: var(--default-margin); +} + +.subtitle { + color: var(--primary-2); + margin-bottom: .5rem; +} diff --git a/app/scripts/components/account/UpdateBillingInfo.jsx b/app/scripts/components/account/UpdateBillingInfo.jsx new file mode 100644 index 0000000000..1b7baf22e2 --- /dev/null +++ b/app/scripts/components/account/UpdateBillingInfo.jsx @@ -0,0 +1,131 @@ +'use strict'; +import React, { PropTypes } from 'react'; +const { string, number, func, shape, object, array, oneOfType } = PropTypes; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import updateBillingInformation from '../../actions/updateBillingInformation.js'; +import updateStripeBilling from '../../actions/updateStripeBilling.js'; +import BillingInfoFormStore from '../../stores/BillingInfoFormStore.js'; +import BillingInfoForm from './billingplans/BillingInfoForm.jsx'; +import { Link } from 'react-router'; +import classnames from 'classnames'; +import styles from './UpdateBillingInfo.css'; +import { PageHeader, Module } from 'dux'; +var debug = require('debug')('UpdateBillingInfo:'); + +var updateBillingInfoPage = React.createClass({ + displayName: 'UpdateBillingInfo', + contextTypes: { + getStore: func.isRequired, + executeAction: func.isRequired + }, + propTypes: { + JWT: string.isRequired, + user: object.isRequired, + billforwardId: string, + accountInfo: shape({ + account_code: string, + username: string, + email: string, + first_name: string, + last_name: string, + company_name: string + }), + billingInfo: shape({ + city: string, + state: string, + zip: string, + first_name: string, + last_name: string, + address1: string, + address2: string, + country: string + }), + card: shape({ + number: string, + cvv: string, + month: oneOfType([number, string]), + year: oneOfType([number, string]), + type: string + }), + errorMessage: string, + fieldErrors: object, + STATUS: string + }, + updateBillingInfoSubmit(){ + const { + JWT, + user, + accountInfo, + billingInfo, + card, + billforwardId, + location + } = this.props; + if (billforwardId) { + // If we have a billforwardID then we will update via stripe + this.context.executeAction(updateStripeBilling, { + JWT, + user, + accountInfo, + billingInfo, + billforwardId, + card + }); + } else { + // If we do not have a billforward ID then we go through the original recurly update flow + this.context.executeAction(updateBillingInformation, { + JWT, + user, + accountInfo, + billingInfo, + card + }); + } + }, + render: function() { + const { + user, + history, + accountInfo, + billingInfo, + card, + fieldErrors, + STATUS, + errorMessage + } = this.props; + const namespace = user.username || user.orgname; + let isOrg = !!user.orgname; + return ( +
    + +
    +
    +
    Billing information is required for changing or upgrading subscriptions
    +
    You may update your billing information at any time
    +
    +
    +
    +
    + +
    +
    +
    + ); + } +}); + +export default connectToStores(updateBillingInfoPage, + [BillingInfoFormStore], + function({ getStore }, props) { + return getStore(BillingInfoFormStore).getState(); + }); diff --git a/app/scripts/components/account/billingplans/BillingInfo.css b/app/scripts/components/account/billingplans/BillingInfo.css new file mode 100644 index 0000000000..246b626169 --- /dev/null +++ b/app/scripts/components/account/billingplans/BillingInfo.css @@ -0,0 +1,7 @@ +@import 'dux/css/colors.css'; + +.infoContent { + border-left: 1px solid var(--iron); + padding: 0 3rem; + margin: .5rem 0; +} diff --git a/app/scripts/components/account/billingplans/BillingInfo.jsx b/app/scripts/components/account/billingplans/BillingInfo.jsx new file mode 100644 index 0000000000..5b5f210f25 --- /dev/null +++ b/app/scripts/components/account/billingplans/BillingInfo.jsx @@ -0,0 +1,132 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +import { Link } from 'react-router'; + +import Button from '@dux/element-button'; +import { SplitSection } from '../../common/Sections.jsx'; +import FA from '../../common/FontAwesome.jsx'; +import styles from './BillingInfo.css'; + +var BillingInfo = React.createClass({ + propTypes: { + currentPlan: PropTypes.shape({ + id: PropTypes.string, + plan: PropTypes.string + }), + accountInfo: PropTypes.shape({ + account_code: PropTypes.string, + username: PropTypes.string, + email: PropTypes.string, + first_name: PropTypes.string, + last_name: PropTypes.string, + company_name: PropTypes.string + }), + billingInfo: PropTypes.shape({ + city: PropTypes.string, + state: PropTypes.string, + zip: PropTypes.string, + first_name: PropTypes.string, + last_name: PropTypes.string, + address1: PropTypes.string, + address2: PropTypes.string, + country: PropTypes.string + }), + invoices: PropTypes.array, + isOrg: PropTypes.bool.isRequired, + username: PropTypes.string.isRequired + }, + _updateClick: function(e) { + e.preventDefault(); + if (this.props.isOrg) { + this.props.history.pushState(null, `/u/${this.props.username}/dashboard/billing/update-info/`); + } else { + this.props.history.pushState(null, '/account/billing-plans/update/'); + } + }, + render: function() { + const { + accountInfo, + billingInfo, + currentPlan + } = this.props; + if (accountInfo.newBilling) { + return ( +
    + ); + } + let subtitle = ( +
    +
    +

    * fields required to complete a billing transaction

    +
    +
    +
    + +
    +
    +
    + ); + let cardInfo; + if (billingInfo.card_type && billingInfo.last_four) { + cardInfo = ( +
    +
    Card Info:
    +
    + {billingInfo.first_name} {billingInfo.last_name}
    + {billingInfo.card_type} card ending with x{billingInfo.last_four}
    + Expiration: {billingInfo.month}/{billingInfo.year} +
    +
    + ); + } + let addressInfo; + if (billingInfo.address1 && billingInfo.country) { + addressInfo = ( +
    +
    Billing Address:
    +
    + {billingInfo.address1}
    + {billingInfo.address2}
    + {billingInfo.city} {billingInfo.state} {billingInfo.zip}
    + {billingInfo.country} +
    +
    + ); + } + return ( + +
    +
    +
    Name:
    +
    +
    +
    {accountInfo.first_name} {accountInfo.last_name}
    +
    +
    +
    +
    +
    Email:
    +
    +
    +
    {accountInfo.email}
    +
    +
    +
    +
    +
    Company:
    +
    +
    +
    {accountInfo.company_name}
    +
    +
    + { cardInfo } + { addressInfo } +
    + ); + } +}); + +module.exports = BillingInfo; diff --git a/app/scripts/components/account/billingplans/BillingInfoForm.css b/app/scripts/components/account/billingplans/BillingInfoForm.css new file mode 100644 index 0000000000..07b96a3836 --- /dev/null +++ b/app/scripts/components/account/billingplans/BillingInfoForm.css @@ -0,0 +1,36 @@ +@import 'dux/css/colors.css'; +@import 'dux/css/box.css'; + +.marginBottom { + margin-bottom: var(--default-margin); +} + +.form { + padding: 0 var(--default-margin); +} + +.billingDropdown { + width: 100%; + margin-bottom: 1.5rem; +} + +.error { + border: 1px solid var(--primary-5); +} + +.billingFormSection { + margin-bottom: 1.5rem; +} + +.dateText { + text-align: center; + height: 2rem; + display: flex; + align-items: center; + margin-bottom: 2rem; +} + +.globalError { + color: var(--primary-5); + padding-bottom: 1rem; +} \ No newline at end of file diff --git a/app/scripts/components/account/billingplans/BillingInfoForm.jsx b/app/scripts/components/account/billingplans/BillingInfoForm.jsx new file mode 100644 index 0000000000..80fb22eb19 --- /dev/null +++ b/app/scripts/components/account/billingplans/BillingInfoForm.jsx @@ -0,0 +1,380 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +const { string, number, object, bool, func, shape, oneOfType } = PropTypes; +import { Link } from 'react-router'; +import includes from 'lodash/collection/includes'; +import map from 'lodash/collection/map'; +import classnames from 'classnames'; + +import DUXInput from '../../common/DUXInput.jsx'; +import FA from '../../common/FontAwesome.jsx'; +import acceptedCards from '../../common/data/acceptedCards.js'; +import updateBillingInfoFormField from '../../../actions/updateBillingInfoFormField.js'; +import validateBillingInfo from '../../../actions/common/validateBillingInfo.js'; +import { STATUS } from 'stores/billingformstore/Constants.js'; +import { Button } from 'dux'; +import Card, { Block } from '@dux/element-card'; + +var countries = require('common/data/countries.js'); +var states = require('common/data/states.js'); +var months = require('common/data/months.js'); +var years = require('common/data/years.js'); + +import styles from './BillingInfoForm.css'; +var debug = require('debug')('BillingInfoForm:'); + +var _mkOptions = function(list_item){ + return ( + + ); +}; + +var _mkCountryOptions = function(country) { + return ( + + ); +}; + +var BillingInfoForm = React.createClass({ + contextTypes: { + getStore: func.isRequired, + executeAction: func.isRequired + }, + propTypes: { + isOrg: bool.isRequired, + username: string.isRequired, + accountInfo: shape({ + account_code: string, + username: string, + email: string, + first_name: string, + last_name: string, + company_name: string + }), + billingInfo: shape({ + city: string, + state: string, + zip: string, + first_name: string, + last_name: string, + address1: string, + address2: string, + country: string + }), + card: shape({ + number: string, + cvv: string, + month: oneOfType([number, string]), + year: oneOfType([number, string]), + type: string + }), + fieldErrors: object.isRequired, + errorMessage: string, + STATUS: string.isRequired, + history: object.isRequired + }, + _onChange(field, fieldKey) { + return (e) => { + this.context.executeAction(updateBillingInfoFormField, { + field, + fieldKey, + fieldValue: e.target.value + }); + }; + }, + _onSelectChange(field, fieldKey) { + return (e) => { + var fieldValue = e.target.options[e.target.selectedIndex].value; + if (fieldKey === 'month' || fieldKey === 'year') { + fieldValue = parseInt(fieldValue, 10); + } + this.context.executeAction(updateBillingInfoFormField, { + field, + fieldKey, + fieldValue: fieldValue + }); + }; + }, + _onBackClick(e) { + e.preventDefault(); + if (this.props.isOrg) { + this.props.history.pushState(null, `/u/${this.props.username}/dashboard/billing/`); + } else { + this.props.history.pushState(null, '/account/billing-plans/'); + } + }, + _mkIconFromCardType(cardType) { + const icon = acceptedCards[cardType]; + if (icon) { + return (); + } + }, + formSubmit(e){ + e.preventDefault(); + const billing = this.props.billingInfo; + let validate = window.recurly.validate; + const fieldErrors = { + number: !validate.cardNumber(this.props.card.number), + expiry: !validate.expiry(this.props.card.month, this.props.card.year), + cvv: !validate.cvv(this.props.card.cvv), + first_name: !billing.first_name, + last_name: !billing.last_name, + city: !billing.city, + address1: !billing.address1, + country: !billing.country + }; + const accountErr = { hasError: !this.props.accountInfo.email }; + if (includes(fieldErrors, true) || accountErr.hasError ) { + const hasError = { fieldErrors, accountErr }; + this.context.executeAction(validateBillingInfo({storePrefix: 'BILLING'}), hasError); + } else { + this.props.submitAction(); + } + }, + render: function() { + const { card } = this.props; + const cardIcon = card.number ? this._mkIconFromCardType(card.type) : null; + var expiryClass = classnames({ + [styles.error]: this.props.fieldErrors.expiry, + [styles.billingDropdown]: true + }); + var countryClass = classnames({ + [styles.billingDropdown]: true, + [styles.error]: this.props.fieldErrors.country + }); + let submit = 'Submit'; + if (this.props.STATUS === STATUS.ATTEMPTING) { + submit = ( +
    + Submitting +
    + ); + } + var intent; + if (this.props.STATUS === STATUS.SUCCESS) { + intent = 'success'; + submit = ( +
    + Redirecting +
    + ); + } else if (this.props.STATUS === STATUS.FORM_ERROR) { + intent = 'alert'; + } + const submitButton = ( + + ); + return ( + + +
    +
    +
    Contact Info:
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    Billing Info:
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    + {cardIcon} +
    +
    +
    +
    + Expires +
    +
    + +
    +
    + / +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + { this.props.errorMessage } +
    +
    +
    + { submitButton } +
    +
    + +
    +
    +
    +
    +
    + ); + } +}); + +var PostalComponent = React.createClass({ + propTypes: { + billingInfo: shape({ + city: string, + state: string, + zip: string, + first_name: string, + last_name: string, + address1: string, + address2: string, + country: string + }), + onChange: func.isRequired, + onSelectChange: func.isRequired + }, + render: function() { + var countryState; + var country = this.props.billingInfo.country; + var stateClass = this.props.fieldErrors.state ? 'billing-dropdown error' : 'billing-dropdown'; + //IF US TERRITORY - ADD STATES SELECT + if (includes(['US', 'UM'], country)) { + countryState = ( +
    + +
    + ); + } else { + countryState = ( +
    + +
    + ); + } + return ( +
    + {countryState} +
    + +
    +
    + ); + } +}); + +export default BillingInfoForm; diff --git a/app/scripts/components/account/billingplans/EnterpriseSubscriptions.css b/app/scripts/components/account/billingplans/EnterpriseSubscriptions.css new file mode 100644 index 0000000000..0dffb51685 --- /dev/null +++ b/app/scripts/components/account/billingplans/EnterpriseSubscriptions.css @@ -0,0 +1,98 @@ +@import 'dux/css/colors.css'; +@import 'dux/css/box.css'; + +.cancel { + float: right; + color: var(--primary-5); +} +.cancel:hover { + color: color(var(--primary-5) blackness(15%)); +} + +.title { + color: var(--primary-1); + i { + color: var(--secondary-5); + } +} +.title:hover { + cursor: pointer; + color: color(var(--primary-1) blackness(55%)); + i { + color: color(var(--secondary-5) blackness(55%)); + } +} + +.cloudStarter { + margin-left: var(--default-margin); +} + +.centerText { + text-align: center; +} + +.check { + color: var(--primary-2); +} + +.download { + margin-right: var(--default-margin);; +} + +.curlHelp { + font-size: .875rem; + font-weight: 500; + margin-bottom: 1rem; +} + +.curlWrap { + width: 100%; +} + +.curlCommand { + resize: none; + overflow: hidden; + height: inherit; +} + +.clipboard { + height: 3rem; + display:flex; + flex-direction: row; + align-items: center; +} + +.downloadFlexItem { + display: flex; + flex-flow: row nowrap; + flex-grow: 4; + flex-basis: 0; + padding: 0 1rem; + word-break: break-word; + max-width: 100%; +} + +.flexbox { + display: flex; + flex-flow: column; +} + +.flexRow { + min-height: 9rem; + padding: 1rem; + display: flex; + align-items: center; + background-color: var(--white); + border: 1px solid var(--secondary-5); + border-radius: 3px; + margin-bottom: .5rem; +} + +.flexItem { + display: flex; + flex-flow: row nowrap; + flex-grow: 1; + flex-basis: 0; + padding: 0.7em 1rem 0.7em 1rem; + word-break: break-word; +} diff --git a/app/scripts/components/account/billingplans/EnterpriseSubscriptions.jsx b/app/scripts/components/account/billingplans/EnterpriseSubscriptions.jsx new file mode 100644 index 0000000000..8e9710c501 --- /dev/null +++ b/app/scripts/components/account/billingplans/EnterpriseSubscriptions.jsx @@ -0,0 +1,160 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +const { string, shape, object, func } = PropTypes; +import { Link } from 'react-router'; +import { FullSection } from '../../common/Sections.jsx'; +import FA from '../../common/FontAwesome'; +import styles from './EnterpriseSubscriptions.css'; +import CopyCodeBox from 'common/CopyCodeBox'; +import classnames from 'classnames'; +import {DEB, RPM} from 'common/data/csEngineInstructions'; +const debug = require('debug')('EnterpriseSubscriptions'); + +var EnterpriseSubscriptions = React.createClass({ + propTypes: { + currentPlan: shape({ + id: string, + plan: string + }), + stopSubscription: func.isRequired, + unsubscribing: string, + user: object, + history: object.isRequired + }, + getInitialState() { + return { + confirmAction: '' + }; + }, + selectAction(plan) { + return (e) => { + e.preventDefault(); + this.setState({confirmAction: plan}); + }; + }, + cancelSelectPlan: function(e) { + e.preventDefault(); + this.setState({confirmAction: ''}); + }, + moreInfo: function(e) { + e.preventDefault(); + this.props.history.pushState(null, '/enterprise/'); + }, + purchaseCloud: function(e) { + e.preventDefault(); + this.props.history.pushState(null, '/enterprise/cloud-starter/'); + }, + render: function() { + let owned; + let price; + let subInfo; + let cloudActionButton; + let curlBody; + + // Hide Cloud Starter for anyone who has not already purchased it + if (this.props.currentPlan.package !== 'cloud_starter') { + return null; + } + + owned = ( +
    Currently Subscribed 
    + ); + if (this.state.confirmAction === 'cloud') { + cloudActionButton = ( +
    + Confirm or  + Cancel +
    + ); + } else { + cloudActionButton = ( + + ); + } + if (this.props.unsubscribing === 'package' || this.props.unsubscribing === 'subscription') { + cloudActionButton = (
    Removing Subscription
    ); + } + + let cloudStarter = ( +
    +
    +

     Cloud Starter

    + {owned} +
    +
    + ); + + if (this.state.confirmAction === 'download') { + cloudActionButton = null; + cloudStarter = null; + curlBody = ( +
    +
    +
    +
    + * Copy and run either the RPM or the DEB specific instructions in your terminal. + +
    +
    +
    +
    + RPM + +
    +
    +
    +
    + DEB + + + + For more details about this installation,  + + view our documentation + + +
    +
    +
    +
    + ); + } else { + price = ( +
    $150/mo
    + ); + subInfo = ( +
    +
    + 20 Private Repositories
    + 10 Docker Engines
    + Email Support +
    +
    + ); + } + return ( + +
    +
    + {cloudStarter} + {price} + {subInfo} + {cloudActionButton} + {curlBody} +
    +
    +
    + ); + } +}); + +module.exports = EnterpriseSubscriptions; diff --git a/app/scripts/components/account/billingplans/InvoiceTables.jsx b/app/scripts/components/account/billingplans/InvoiceTables.jsx new file mode 100644 index 0000000000..fab6841bda --- /dev/null +++ b/app/scripts/components/account/billingplans/InvoiceTables.jsx @@ -0,0 +1,73 @@ +'use strict'; +import React, { PropTypes } from 'react'; +import { Link } from 'react-router'; +import _ from 'lodash'; +import moment from 'moment'; +import { FullSection } from '../../common/Sections.jsx'; +import { FlexTable, FlexRow, FlexHeader, FlexItem } from '../../common/FlexTable.jsx'; +import downloadInvoice from '../../../actions/downloadInvoice.js'; +const debug = require('debug')('COMPONENT:INVOICE_TABLE'); + +let mkInvoiceTable = function(invoice) { + var subtotal = '$' + (parseInt(invoice.subtotal_in_cents, 10) / 100); + var total = '$' + (parseInt(invoice.total_in_cents, 10) / 100); + var date = moment.utc(invoice.created_at).format('MMM Do YYYY'); + debug('CREATED_AT: ', invoice.created_at); + debug('CREATED_AT_MOMENT: ', date); + return ( + + {date} + {invoice.invoice_number} + {invoice.state} + {total} + + Download Invoice + + + ); +}; + +var InvoiceTables = React.createClass({ + contextTypes: { + executeAction: React.PropTypes.func.isRequired + }, + propTypes: { + invoices: PropTypes.array, + username: PropTypes.string, + JWT: PropTypes.string + }, + downloadInvoice(id) { + return (e) => { + e.preventDefault(); + this.context.executeAction(downloadInvoice, {JWT: this.props.JWT, username: this.props.username, invoiceId: id}); + }; + }, + render: function() { + if (!this.props.JWT || _.isEmpty(this.props.invoices)) { + return ( +
    + ); + } else { + return ( + +
    + + + Date + Invoice # + State + Total + Download + + {this.props.invoices.map(mkInvoiceTable, this)} + +
    +
    + ); + } + } +}); + +module.exports = InvoiceTables; diff --git a/app/scripts/components/account/billingplans/Plans.css b/app/scripts/components/account/billingplans/Plans.css new file mode 100644 index 0000000000..700f88f13b --- /dev/null +++ b/app/scripts/components/account/billingplans/Plans.css @@ -0,0 +1,58 @@ +@import 'dux/css/colors.css'; +@import 'dux/css/box.css'; + +.cancel { + color: var(--primary-5); +} +.cancel:hover { + color: color(var(--primary-5) blackness(15%)); +} + +.shield { + margin-right: 0.5rem; +} + +.nautilusUpsellRow { + display: flex; + width: 100%; + padding: 0.3rem; + background: #f1f6fb; +} + +.nautilusUpsell { + width: 100%; + margin: 0.75rem; + background: var(--white); + border: 1px solid var(--secondary-5); + border-radius: var(--global-radius); + + label { + display: flex; + align-items: center; + padding: 0.5rem; + font-size: 1rem; + font-weight: 400; + line-height: 1rem; + color: var(--secondary-2); + } +} + +.nautilusEnabled { + border-color: #22b8eb; +} + +.enableNautilus { + display: flex; + align-items: center; + margin: 0 0.5rem; + + input { + margin: 0; + } +} + +.monitoredWithNautilus { + display: flex; + align-items: center; + margin: 0.5rem; +} diff --git a/app/scripts/components/account/billingplans/Plans.jsx b/app/scripts/components/account/billingplans/Plans.jsx new file mode 100644 index 0000000000..72d6ef7eb4 --- /dev/null +++ b/app/scripts/components/account/billingplans/Plans.jsx @@ -0,0 +1,355 @@ +'use strict'; +/*eslint-disable camelcase*/ +import React, { PropTypes } from 'react'; +import { Link } from 'react-router'; +import PlansStore from '../../../stores/PlansStore'; +import updateSubscriptionPlanOrPackage from '../../../actions/updateSubscriptionPlanOrPackage.js'; +import defaultPlans from 'common/data/plans.js'; +/** +* Used for the public pricing page (/billing-plans/) +* We should either find a workaround for defaultPlans or remove this route altogether +*/ +import FA from '../../common/FontAwesome.jsx'; +import _ from 'lodash'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import { FullSection } from '../../common/Sections.jsx'; +import { FlexTable, FlexRow, FlexHeader, FlexItem } from '../../common/FlexTable.jsx'; +import styles from './Plans.css'; +const CLOUD_METERED = 'cloud_metered'; +const debug = require('debug')('Plans:'); +const NAUTILUS = 'nautilus'; +import Tooltip from 'rc-tooltip'; +import classnames from 'classnames'; + + +function mkShortPlanIntervalUnit(unit) { + if (unit === 'months'){ + return 'mo'; + } else if (unit === 'years') { + return 'yr'; + } else { + return 'mo'; + } +} + +let mkPricingElement = function(plan) { + var action; + var shortInterval = mkShortPlanIntervalUnit(plan.plan_interval_unit); + var price = parseInt(plan.price_in_cents, 10) / 100; + var pricePerInterval = {price: price, interval: shortInterval}; + + var currentPlanName = this.props.currentPlan.plan || 'free'; + var currentSize = this.getPlanSize(currentPlanName); + debug(currentSize); + if (this.props.JWT) { + if (!!this.props.currentPlan && currentPlanName === plan.plan_code) { + action = 'Current Plan'; + } else if (this.state.confirmPlan === plan.plan_code) { + action = ( +
    + Confirm or  + Cancel +
    + ); + } else if (this.props.updatePlan === plan.plan_code) { + action = ( +
    + Processing +
    + ); + } else if (!!this.props.currentPlan && currentSize > plan.num_private_repos) { + action = (Downgrade Plan); + } else { + action = (Upgrade Plan); + } + } else { + action = ( +
    + Sign up or Log in +
    + ); + } + + return ( + + ); +}; + +function isNautilusEnabled(currentPlan) { + const { add_ons } = currentPlan; + if (!add_ons) { + return false; + } + return _.indexOf(add_ons, NAUTILUS) >= 0; +} + + +var PlanRow = React.createClass({ + displayName: 'PlanRow', + propTypes: { + is_active: PropTypes.bool.isRequired, + num_private_repos: PropTypes.number.isRequired, + name: PropTypes.string.isRequired, + + pricePerInterval: PropTypes.shape({ + price: PropTypes.number.isRequired, + interval: PropTypes.string.isRequired + }), + action: PropTypes.oneOfType([ + PropTypes.string.isRequired, + PropTypes.object.isRequired + ]) + }, + render() { + if (!this.props.is_active) { + return null; + } else { + var ppi = this.props.pricePerInterval; + return ( + + {this.props.name} + ${ppi.price}/{ppi.interval} + {this.props.num_private_repos} + {this.props.num_private_repos} + {this.props.action} + + ); + } + } +}); + +var PlansTable = React.createClass({ + displayName: 'PlansTable', + + contextTypes: { + getStore: React.PropTypes.func.isRequired, + executeAction: React.PropTypes.func.isRequired + }, + + propTypes: { + JWT: PropTypes.string, + username: PropTypes.oneOfType([ + PropTypes.string, PropTypes.bool + ]), + history: PropTypes.object.isRequired, + user: PropTypes.object, + plansList: PropTypes.array.isRequired, + currentPlan: PropTypes.shape({ + subscription_uuid: PropTypes.string, + plan: PropTypes.string, + package: PropTypes.string + }), + stopSubscription: PropTypes.func.isRequired, + billingInfo: PropTypes.object.isRequired, + isNewBilling: PropTypes.bool.isRequired, + updatePlan: PropTypes.string + }, + + getInitialState() { + return { + confirmPlan: '', + hasNautilus: isNautilusEnabled(this.props.currentPlan) + }; + }, + + getPlanSize(plan_code) { + return (_.result(_.find(this.props.plansList, {plan_code: plan_code}), 'num_private_repos')); + }, + + selectConfirmPlan(plan) { + return (e) => { + e.preventDefault(); + this.setState({confirmPlan: plan.plan_code}); + }; + }, + + cancelSelectPlan: function(e) { + e.preventDefault(); + this.setState({confirmPlan: ''}); + }, + + _stopSubscription: function(e) { + e.preventDefault(); + this.setState({confirmPlan: ''}); + this.props.stopSubscription(); + }, + + updateSubscriptionsPlan(plan) { + return (e) => { + e.preventDefault(); + this.setState({confirmPlan: ''}); + if (this.props.isNewBilling) { + // IF USER HAS NO BILLING ACCOUNT OR NO BILLING PAYMENT INFORMATION + // GO TO CREATION PAGE + if (_.has(this.props.user, 'username')) { + this.props.history.pushState(null, '/account/billing-plans/create-subscription/', {plan: plan.plan_code}); + } else if (_.has(this.props.user, 'orgname')) { + this.props.history.pushState(null, `/u/${this.props.user.orgname}/dashboard/billing/create-subscription/`, {plan: plan.plan_code}); + } + } else { + // IF USER HAS BILLING INFORMATION - THEN WE CAN JUST UPGRADE + this.context.executeAction(updateSubscriptionPlanOrPackage, + {JWT: this.props.JWT, + username: this.props.username, + subscription_uuid: this.props.currentPlan.subscription_uuid, + plan_code: plan.plan_code, + package_code: this.props.currentPlan.package + }); + } + }; + }, + + toggleNautilus() { + const { currentPlan, username, JWT } = this.props; + const { plan, subscription_uuid } = currentPlan; + const { hasNautilus } = this.state; + const add_ons = hasNautilus ? [] : [NAUTILUS]; + const data = { + plan_code: plan, + username, + add_ons, + subscription_uuid, + JWT + }; + + this.context.executeAction(updateSubscriptionPlanOrPackage, data); + this.setState({ hasNautilus: !hasNautilus }); + }, + + renderNautilusUpsell() { + const { currentPlan } = this.props; + const isFreePlan = !currentPlan || !currentPlan.plan + || currentPlan.plan === CLOUD_METERED; + let text; + const shield = ( + + + + + + + + + ); + if (isFreePlan) { + text = 'Enable security scanning when you upgrade your plan.'; + const url = 'https://docs.docker.com/docker-cloud/builds/image-scan/'; + const link = ( + + Learn more about Docker Security Scanning + + ); + return ( +
    +
    + {shield} + {text} {link} +
    +
    + ); + } + + var nautilusUpsellClasses = classnames({ + [styles.nautilusUpsell]: true, + [styles.nautilusEnabled]: this.state.hasNautilus + }); + + text = [ + 'Monitor with Docker Security Scanning - available for your private ', + 'repositories for free while in preview.' + ].join(''); + return ( +
    + +
    + ); + }, + + render() { + const {JWT, currentPlan, updatePlan, plansList, isOrg} = this.props; + var action; + if (!JWT) { + action = ( +
    + Sign up or Log in +
    + ); + } else if (!currentPlan.plan || currentPlan.plan === CLOUD_METERED) { + action = 'Current Plan'; + } else if (updatePlan === CLOUD_METERED) { + action = ( +
    Removing Plan
    + ); + } else if (this.state.confirmPlan === 'free') { + action = ( +
    + Confirm or  + Cancel +
    + ); + } else { + action = Downgrade Plan; + } + let allPlans = defaultPlans; + if (!_.isEmpty(plansList)) { + allPlans = _.clone(plansList); + } + const privateRepos = isOrg ? '0' : '1'; + return ( + +
    + + + + Plan + + + Price + + + Private Repositories + + + Parallel Builds + + + + + Free + $0/mo + {privateRepos} + {privateRepos} + {action} + + {allPlans.map(mkPricingElement, this)} +
    + {this.renderNautilusUpsell()} +
    +
    +
    +
    + ); + } +}); + +export default connectToStores(PlansTable, + [PlansStore], + function({ getStore }, props) { + return getStore(PlansStore).getState(); + }); diff --git a/app/scripts/components/account/forms/AccountInfoForm.css b/app/scripts/components/account/forms/AccountInfoForm.css new file mode 100644 index 0000000000..72cf57abed --- /dev/null +++ b/app/scripts/components/account/forms/AccountInfoForm.css @@ -0,0 +1,21 @@ +@import 'dux/css/colors.css'; + +.accountForm { + lost-flex-container: row; +} +.lostFormInputs { + lost-column: 2/3; +} +.accountButtonWrapper { + lost-column: 1/3; + align-self: flex-end; + > * { + lost-column: 1/2; + margin-bottom: 1rem; + } +} + +.error { + color: var(--primary-5); + margin-bottom: 0.3rem; +} diff --git a/app/scripts/components/account/forms/AccountInfoForm.jsx b/app/scripts/components/account/forms/AccountInfoForm.jsx new file mode 100644 index 0000000000..72f34c38cc --- /dev/null +++ b/app/scripts/components/account/forms/AccountInfoForm.jsx @@ -0,0 +1,133 @@ +'use strict'; + +import React from 'react'; +import classnames from 'classnames'; +import connectToStores from 'fluxible-addons-react/connectToStores'; + +import AccountInfoFormStore from '../../../stores/AccountInfoFormStore'; +import SimpleInput from 'common/SimpleInput.jsx'; +import SaveSettings from '../../../actions/saveSettingsData'; +import updateAccountInfoFormField from '../../../actions/updateAccountInfoFormField'; +import Button from '@dux/element-button'; +import { SplitSection } from '../../common/Sections.jsx'; + +import styles from './AccountInfoForm.css'; +import FA from 'common/FontAwesome.jsx'; +import {STATUS as BASE_STATUS} from 'stores/common/Constants.js'; + +var AccountInfoForm = React.createClass({ + contextTypes: { + executeAction: React.PropTypes.func.isRequired + }, + _onChange(fieldKey) { + return (e) => { + this.context.executeAction(updateAccountInfoFormField, { + fieldKey, + fieldValue: e.target.value + }); + }; + }, + onSubmit: function(e) { + e.preventDefault(); + this.context.executeAction(SaveSettings, { + JWT: this.props.JWT, + username: this.props.user.username, + updateData: this.props.values + }); + }, + renderButton: function(STATUS) { + switch (STATUS) { + case BASE_STATUS.SUCCESSFUL: + return ( + + ); + case BASE_STATUS.ERROR: + return ( + + ); + case BASE_STATUS.ATTEMPTING: + return ( + + ); + default: + return ( + + ); + } + }, + render: function() { + const { + full_name, + company, + location, + profile_url, + gravatar_email + } = this.props.fields; + return ( + This information will be visible to all users of Docker Hub.

    }> +
    + +
    +
    + {full_name.error} +
    + + +
    + {company.error} +
    + + +
    + {location.error} +
    + + +
    + {profile_url.error} +
    + + +
    + {gravatar_email.error} +
    + +
    + +
    + { this.renderButton(this.props.STATUS) } +
    + +
    +
    + ); + } +}); + +export default connectToStores(AccountInfoForm, + [ + AccountInfoFormStore + ], + function({ getStore }, props) { + return getStore(AccountInfoFormStore).getState(); + }); diff --git a/app/scripts/components/account/forms/ChangePassForm.css b/app/scripts/components/account/forms/ChangePassForm.css new file mode 100644 index 0000000000..5afebc5a6e --- /dev/null +++ b/app/scripts/components/account/forms/ChangePassForm.css @@ -0,0 +1,31 @@ +@import 'dux/css/colors.css'; +@import 'dux/css/box'; + +.changePassSave { + display: flex; + align-items: flex-end; +} + +.label { + color: #7a8491; +} + +.error { + color: var(--primary-5); + margin-bottom: 0.3rem; +} + +.wrapper { + lost-flex-container: row; +} +.buttons { + lost-column: 1/3; + align-self: flex-end; + > * { + margin-bottom: 1rem; + lost-column: 1/2; + } +} +.lostFormInputs { + lost-column: 2/3; +} diff --git a/app/scripts/components/account/forms/ChangePassForm.jsx b/app/scripts/components/account/forms/ChangePassForm.jsx new file mode 100644 index 0000000000..3e10e2fb7a --- /dev/null +++ b/app/scripts/components/account/forms/ChangePassForm.jsx @@ -0,0 +1,163 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import _ from 'lodash'; +import classnames from 'classnames'; + +import ChangePasswordStore from '../../../stores/ChangePasswordStore'; +import SimpleInput from 'common/SimpleInput.jsx'; +import changePass from '../../../actions/changePassword'; +import updateChangePassStore from '../../../actions/updateChangePassStore'; +import Button from '@dux/element-button'; +import { SplitSection } from '../../common/Sections.jsx'; + +import styles from './ChangePassForm.css'; + +var debug = require('debug')('ChangePassForm'); + +var ChangePassForm = React.createClass({ + contextTypes: { + getStore: PropTypes.func.isRequired, + executeAction: PropTypes.func.isRequired + }, + getDefaultProps: function() { + return { + JWT: '', + username: '' + }; + }, + getInitialState: function() { + return { + confpassErr: '' + }; + }, + onStoreChange: function() { + var store = this.context.getStore(ChangePasswordStore); + this.setState(store.getState()); + }, + oldPassChange: function(e) { + e.preventDefault(); + var oldpass = e.target.value; + var payload = { + oldpass: oldpass, + newpass: this.props.changePasswordStore.newpass, + confpass: this.props.changePasswordStore.confpass + }; + this.context.executeAction(updateChangePassStore, payload); + }, + newPassChange: function(e) { + e.preventDefault(); + var newpass = e.target.value; + var payload = { + oldpass: this.props.changePasswordStore.oldpass, + newpass: newpass, + confpass: this.props.changePasswordStore.confpass + }; + this.context.executeAction(updateChangePassStore, payload); + }, + confirmChange: function(e) { + var confpass = e.target.value; + var payload = { + oldpass: this.props.changePasswordStore.oldpass, + newpass: this.props.changePasswordStore.newpass, + confpass: confpass + }; + this.context.executeAction(updateChangePassStore, payload); + this.setState({ + confpassErr: false + }); + }, + onSubmit: function(e) { + e.preventDefault(); + var store = this.props.changePasswordStore; + if (store.confpass === store.newpass) { + var payload = { + JWT: this.props.JWT, + username: this.props.username, + oldpassword: this.props.changePasswordStore.oldpass, + newpassword: this.props.changePasswordStore.newpass + }; + this.context.executeAction(changePass, payload); + } else { + debug('passwords do not match'); + this.setState({ + confpassErr: true + }); + } + }, + render: function() { + var store = this.props.changePasswordStore; + var oldHasErr = _.has(store.err, 'old_password') || _.has(store.err, 'non_field_errors'); + var oldError; + var newHasErr = _.has(store.err, 'new_password'); + var newError; + if (oldHasErr) { + if (_.has(store.err, 'old_password')) { + oldError = store.err.old_password[0]; + } else { + oldError = store.err.non_field_errors[0]; + } + } + if (newHasErr) { + newError = store.err.new_password[0]; + } + + return ( + Please choose a password which is longer than 6 characters.

    }> +
    +
    +
    + + +
    + { oldError } +
    + + + +
    + { newError } +
    + + + +
    + { this.state.confpassErr ? 'Make sure passwords are identical' : '' } +
    + + +
    +
    + +
    +
    +
    +
    + ); + } +}); + +export default connectToStores(ChangePassForm, + [ChangePasswordStore], + function({ getStore }, props) { + return { + changePasswordStore: getStore(ChangePasswordStore).getState() + }; + }); diff --git a/app/scripts/components/account/forms/EmailForm.css b/app/scripts/components/account/forms/EmailForm.css new file mode 100644 index 0000000000..8a176e8033 --- /dev/null +++ b/app/scripts/components/account/forms/EmailForm.css @@ -0,0 +1,17 @@ +@import 'dux/css/colors.css'; +@import 'dux/css/box'; + +.addError { + padding: .5rem .5rem 0 .5rem; + color: var(--primary-5); +} + +.noBottomMargin { + width: 100%; + input { + margin-bottom: 0; + } + > * { + margin-bottom: 0; + } +} diff --git a/app/scripts/components/account/forms/EmailForm.jsx b/app/scripts/components/account/forms/EmailForm.jsx new file mode 100644 index 0000000000..4e98950483 --- /dev/null +++ b/app/scripts/components/account/forms/EmailForm.jsx @@ -0,0 +1,121 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +import has from 'lodash/object/has'; +import classnames from 'classnames'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import Button from '@dux/element-button'; +import Card, { Block } from '@dux/element-card'; + +import { SplitSection } from 'common/Sections.jsx'; +import { FlexTable, FlexRow, FlexHeader, FlexItem } from 'common/FlexTable.jsx'; +import SimpleInput from 'common/SimpleInput'; +import EmailElement from './email/EmailElement.jsx'; +import addUserEmail from 'actions/addUserEmail.js'; +import addUserEmailChange from 'actions/addUserEmailChange.js'; +import setNewPrimaryEmail from 'actions/setNewPrimaryEmail'; +import EmailsStore from 'stores/EmailsStore'; + +import styles from './EmailForm.css'; + +var debug = require('debug')('EmailForm'); + +var EmailForm = React.createClass({ + + contextTypes: { + executeAction: React.PropTypes.func.isRequired + }, + propTypes: { + user: PropTypes.object.isRequired, + JWT: PropTypes.string.isRequired, + emails: PropTypes.array.isRequired, + addEmail: PropTypes.string, + addError: PropTypes.string, + emailConfirmations: PropTypes.object + }, + onAddEmailChange: function(e) { + e.preventDefault(); + this.context.executeAction(addUserEmailChange, {email: e.target.value}); + }, + saveNewEmail: function(e) { + e.preventDefault(); + this.context.executeAction(addUserEmail, { + JWT: this.props.JWT, + newEmail: this.props.addEmail, + user: this.props.user + }); + }, + setNewPrimary(id) { + return (e) => { + e.preventDefault(); + var payload = { + JWT: this.props.JWT, + username: this.props.user.username, + emailId: id + }; + this.context.executeAction(setNewPrimaryEmail, payload); + }; + }, + _mkEmailElement({id, user, primary, email, verified}) { + const {emailConfirmations} = this.props; + let emailStatus = ''; + if (has(emailConfirmations, id)) { + emailStatus = emailConfirmations[id]; + } + return (); + }, + render: function() { + const buttonVariant = !this.props.addError ? 'primary' : 'alert'; + let errorMsg; + if (this.props.addError) { + errorMsg = (
    {this.props.addError}
    ); + } + return ( +

    This email address will be used for all notifications and correspondence from Docker.

    +

    If you wish to designate a different email address as primary, first add a new address to your account and then click "make primary".

    )}> + + + +
    + + {errorMsg} + +
    + +
    + +
    +
    +
    + {this.props.emails.map(this._mkEmailElement)} +
    + + ); + } +}); + +export default connectToStores(EmailForm, + [ + EmailsStore + ], function({ getStore }, props) { + return getStore(EmailsStore).getState(); + }); diff --git a/app/scripts/components/account/forms/email/DeleteEmailElement.jsx b/app/scripts/components/account/forms/email/DeleteEmailElement.jsx new file mode 100644 index 0000000000..64c16fdb85 --- /dev/null +++ b/app/scripts/components/account/forms/email/DeleteEmailElement.jsx @@ -0,0 +1,44 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +import deleteEmail from 'actions/deleteEmail.js'; +import { FlexItem } from 'common/FlexTable.jsx'; +import styles from './EmailComponents.css'; +import FA from 'common/FontAwesome.jsx'; + +export default React.createClass({ + displayName: 'deleteEmailElement', + propTypes: { + isPrimaryEmail: PropTypes.bool.isRequired, + emailid: PropTypes.number.isRequired, + user: PropTypes.string.isRequired, + JWT: PropTypes.string.isRequired + }, + contextTypes: { + executeAction: PropTypes.func.isRequired + }, + deleteEmail: function(e) { + e.preventDefault(); + var payload = { + JWT: this.props.JWT, + username: this.props.user, + delEmailID: this.props.emailid + }; + this.context.executeAction(deleteEmail, payload); + }, + render() { + if(this.props.isPrimaryEmail) { + return ( + + ); + } else { + return ( + + + + + + ); + } + } +}); diff --git a/app/scripts/components/account/forms/email/EmailComponents.css b/app/scripts/components/account/forms/email/EmailComponents.css new file mode 100644 index 0000000000..dc8c95a9c0 --- /dev/null +++ b/app/scripts/components/account/forms/email/EmailComponents.css @@ -0,0 +1,24 @@ +@import 'dux/css/colors.css'; + +.emailAddress { + word-wrap: break-word; +} + +.emphasis { + color: var(--secondary-3); + font-weight: 800; +} + +.failed { + color: var(--primary-5); +} + +.remove { + color: var(--primary-5); + transition: color .15s ease; + align-self: center; +} + +.remove:hover { + color: var(--secondary-1); + } diff --git a/app/scripts/components/account/forms/email/EmailElement.jsx b/app/scripts/components/account/forms/email/EmailElement.jsx new file mode 100644 index 0000000000..3fee719c9e --- /dev/null +++ b/app/scripts/components/account/forms/email/EmailElement.jsx @@ -0,0 +1,56 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +import { FlexTable, FlexRow, FlexHeader, FlexItem } from 'common/FlexTable.jsx'; +import styles from './EmailComponents.css'; +import PrimaryEmail from './PrimaryEmail'; +import VerifiedOrResend from './VerifiedOrResend'; +import DeleteEmailElement from './DeleteEmailElement'; + +export default React.createClass({ + displayName: 'EmailElement', + propTypes: { + user: PropTypes.string.isRequired, + isPrimaryEmail: PropTypes.bool.isRequired, + emailid: PropTypes.number.isRequired, + email: PropTypes.string.isRequired, + isVerified: PropTypes.bool.isRequired, + JWT: PropTypes.string.isRequired, + setNewPrimary: PropTypes.func.isRequired, + STATUS: PropTypes.string + }, + render(){ + const { + JWT, + user, + isVerified, + email, + emailid, + isPrimaryEmail, + setNewPrimary, + STATUS + } = this.props; + return ( + + +
    {email}
    +
    + + + +
    + ); + } +}); diff --git a/app/scripts/components/account/forms/email/PrimaryEmail.jsx b/app/scripts/components/account/forms/email/PrimaryEmail.jsx new file mode 100644 index 0000000000..991d7f130a --- /dev/null +++ b/app/scripts/components/account/forms/email/PrimaryEmail.jsx @@ -0,0 +1,37 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +import { FlexItem } from 'common/FlexTable.jsx'; +import styles from './EmailComponents.css'; + +export default React.createClass({ + displayName: 'PrimaryEmail', + propTypes: { + isVerified: PropTypes.bool.isRequired, + isPrimaryEmail: PropTypes.bool.isRequired, + emailID: PropTypes.number.isRequired, + setNewPrimary: PropTypes.func.isRequired + }, + contextTypes: { + executeAction: PropTypes.func.isRequired + }, + render() { + if (!this.props.isVerified) { + return ( + + ); + } else if (this.props.isPrimaryEmail) { + return ( + + primary + + ); + } else { + return ( + + make primary + + ); + } + } +}); diff --git a/app/scripts/components/account/forms/email/VerifiedOrResend.jsx b/app/scripts/components/account/forms/email/VerifiedOrResend.jsx new file mode 100644 index 0000000000..3bfb874368 --- /dev/null +++ b/app/scripts/components/account/forms/email/VerifiedOrResend.jsx @@ -0,0 +1,53 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +import resendConfirmationEmail from 'actions/resendConfirmationEmail'; +import { FlexItem } from 'common/FlexTable.jsx'; +import styles from './EmailComponents.css'; +import FA from 'common/FontAwesome.jsx'; +import { EMAILSTATUS } from 'stores/emailsstore/Constants'; + +export default React.createClass({ + displayName: 'VerifiedOrResend', + propTypes: { + isVerified: PropTypes.bool.isRequired, + email: PropTypes.string.isRequired, + emailid: PropTypes.number.isRequired, + STATUS: PropTypes.string + }, + contextTypes: { + executeAction: PropTypes.func.isRequired + }, + _resendConfirmation(e) { + e.preventDefault(); + this.context.executeAction(resendConfirmationEmail, { + JWT: this.props.JWT, + emailID: this.props.emailid + }); + }, + render() { + const { STATUS } = this.props; + if(this.props.isVerified){ + return ( + verified + ); + } else if (STATUS === EMAILSTATUS.ATTEMPTING) { + return (Sending ); + } else if (STATUS === EMAILSTATUS.SUCCESS) { + return (Email Sent!); + } else if (STATUS === EMAILSTATUS.FAILED) { + return ( + +
    Failed
    +
    + ); + } else { + return ( + + Resend Email + + ); + } + } +}); diff --git a/app/scripts/components/account/notificationSettings/EmailNotifForm.css b/app/scripts/components/account/notificationSettings/EmailNotifForm.css new file mode 100644 index 0000000000..4fc8366809 --- /dev/null +++ b/app/scripts/components/account/notificationSettings/EmailNotifForm.css @@ -0,0 +1,25 @@ +@import 'dux/css/colors.css'; + +.button { + margin-bottom: -1rem; +} + +.success { + border: 1px solid var(--primary-2); +} + +.formError { + border: 1px solid var(--primary-5); +} + +.checkbox { + padding-top: .5rem; +} + +.notification { + margin-bottom: 1rem; +} +.notification:hover { + cursor: pointer; + cursor: hand; +} diff --git a/app/scripts/components/account/notificationSettings/EmailNotifForm.jsx b/app/scripts/components/account/notificationSettings/EmailNotifForm.jsx new file mode 100644 index 0000000000..0b229c47dd --- /dev/null +++ b/app/scripts/components/account/notificationSettings/EmailNotifForm.jsx @@ -0,0 +1,158 @@ +'use strict'; +import React, { PropTypes } from 'react'; +import _ from 'lodash'; +import classnames from 'classnames'; +import connectToStores from 'fluxible-addons-react/connectToStores'; + +import styles from './EmailNotifForm.css'; + +import EmailNotifStore from '../../../stores/EmailNotifStore.js'; +import deleteEmailNotifs from '../../../actions/deleteEmailNotifs'; +import resetNotifications from '../../../actions/resetNotifications.js'; +import saveEmailNotifs from '../../../actions/saveEmailNotifs'; +import updateNotifCheckbox from '../../../actions/updateNotifCheckbox.js'; +import { Button } from 'dux'; +import { SplitSection } from '../../common/Sections'; +var debug = require('debug')('EmailNotifForm'); + +var EmailNotifForm = React.createClass({ + displayName: 'EmailNotifForm', + contextTypes: { + executeAction: PropTypes.func.isRequired, + getStore: PropTypes.func.isRequired + }, + propTypes: { + user: PropTypes.object.isRequired, + JWT: PropTypes.string.isRequired + }, + onNotifCheckboxClick: function(cboxType, evt) { + this.context.executeAction(updateNotifCheckbox, cboxType); + }, + //TODO: Fix this when we have time to change the backend API. This sucks atm. + _getNotificationPayload: function(type) { + var nType = ''; + switch (type) { + case 'auto': + nType = 'trusted_build_fail'; + break; + case 'star': + nType = 'new_repo_star'; + break; + case 'comment': + nType = 'new_repo_comment'; + break; + } + return { + 'user': this.props.user.username, + 'notification': nType, + 'last_occurrence': '1970-01-01T00:00:00Z' + }; + }, + _getNotificationDeletePayload: function(type) { + switch (type) { + case 'auto': + return this.props.autoBuildNotificationID; + case 'star': + return this.props.starNotificationID; + case 'comment': + return this.props.imgCommentNotificationID; + default: + break; + } + }, + onNotifSubmit: function(e) { + e.preventDefault(); + var store = this.context.getStore(EmailNotifStore); + var changed = store.hasChanged.bind(store); + //TODO: this NEEDS refactoring once we discuss a better way to handle notification settings! eek. + if (changed('star')) { + if (this.props.starNotification) { + var nStar = this._getNotificationPayload('star'); + this.context.executeAction(saveEmailNotifs, {jwt: this.props.JWT, notification: nStar}); + } else { + var nStarDel = this._getNotificationDeletePayload('star'); + if(nStarDel > 0) { + this.context.executeAction(deleteEmailNotifs, {jwt: this.props.JWT, notificationID: nStarDel}); + } + } + } + if (changed('comment')) { + if (this.props.imgCommentNotification) { + var nComment = this._getNotificationPayload('comment'); + this.context.executeAction(saveEmailNotifs, {jwt: this.props.JWT, notification: nComment}); + } else { + var nCommentDel = this._getNotificationDeletePayload('comment'); + if(nCommentDel > 0) { + this.context.executeAction(deleteEmailNotifs, {jwt: this.props.JWT, notificationID: nCommentDel}); + } + } + } + if (changed('auto')) { + if (this.props.autoBuildNotification) { + var nAuto = this._getNotificationPayload('auto'); + this.context.executeAction(saveEmailNotifs, {jwt: this.props.JWT, notification: nAuto}); + } else { + var nAutoDel = this._getNotificationDeletePayload('auto'); + if(nAutoDel > 0) { + this.context.executeAction(deleteEmailNotifs, {jwt: this.props.JWT, notificationID: nAutoDel}); + } + } + } + }, + onNotifCancel: function(e) { + debug('resetting email notifications'); + this.context.executeAction(resetNotifications, ['notifications']); + }, + render: function() { + return ( + The following settings will control how email is sent based on the occurrence of specific events.

    }> +
    +
    +
    + +
    +
    + Notify me when my Repositories get starred +
    +
    +
    +
    + +
    +
    + Notify me when a comment is posted on my Repositories +
    +
    +
    +
    + +
    +
    + Notify me when an automated build fails +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + ); + } +}); + +export default connectToStores(EmailNotifForm, + [EmailNotifStore], function({ getStore }, props) { + return getStore(EmailNotifStore).getState(); + }); diff --git a/app/scripts/components/account/orgs/OrganizationAddTeam.jsx b/app/scripts/components/account/orgs/OrganizationAddTeam.jsx new file mode 100644 index 0000000000..a703271d72 --- /dev/null +++ b/app/scripts/components/account/orgs/OrganizationAddTeam.jsx @@ -0,0 +1,86 @@ +'use strict'; +import React, {Component, PropTypes} from 'react'; +import DUXInput from 'common/DUXInput.jsx'; +import createOrgTeamAction from '../../../actions/createOrgTeam'; +import OrgTeamStore from '../../../stores/OrgTeamStore'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import Button from '@dux/element-button'; +import styles from './TeamProfile.css'; + +import { STATUS as ORG_STATUS } from '../../../stores/orgteamstore/Constants'; +const { string, array, func, object } = PropTypes; + +class OrganizationAddTeam extends Component { + static contextTypes = { + executeAction: func.isRequired + } + + static propTypes = { + JWT: string.isRequired, + onCancel: func, + name: string, + description: string, + members: array, + errorDetails: object, + success: string, + STATUS: string + } + + state = { + teamname: '', + teamdesc: '', + members: [] + } + + _handleCreateTeam = (e) => { + e.preventDefault(); + this.context.executeAction(createOrgTeamAction, + { + jwt: this.props.JWT, + orgName: this.props.params.user, + team: {name: this.state.teamname, description: this.state.teamdesc} }); + } + + _handleReset = (e) => { + e.preventDefault(); + } + + teamNameChange = (e) => { + this.setState({teamname: e.target.value}); + } + + teamDescChange = (e) => { + this.setState({teamdesc: e.target.value}); + } + + render() { + let maybeError; + if (this.props.errorDetails.detail) { + maybeError = {this.props.errorDetails.detail}; + } + return ( +
    +
    + + +
    + + +
    + {maybeError} + +
    + + ); + } +} + +export default connectToStores(OrganizationAddTeam, + [ + OrgTeamStore + ], + function({ getStore }, props) { + return getStore(OrgTeamStore).getState(); + }); diff --git a/app/scripts/components/account/orgs/OrganizationProfile.css b/app/scripts/components/account/orgs/OrganizationProfile.css new file mode 100644 index 0000000000..f0e10ae231 --- /dev/null +++ b/app/scripts/components/account/orgs/OrganizationProfile.css @@ -0,0 +1,12 @@ +@import "dux/css/colors"; + +.visibility { + color: var(--black); + &, > input { + cursor: pointer; + } +} + +.label { + color: #7a8491; +} diff --git a/app/scripts/components/account/orgs/OrganizationProfile.jsx b/app/scripts/components/account/orgs/OrganizationProfile.jsx new file mode 100644 index 0000000000..6c721405d0 --- /dev/null +++ b/app/scripts/components/account/orgs/OrganizationProfile.jsx @@ -0,0 +1,175 @@ +'use strict'; + +import React from 'react'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import _ from 'lodash'; + +import saveOrgProfileAction from '../../../actions/saveOrgProfile'; +import toggleVisibility from '../../../actions/toggleVisibility.js'; +import OrganizationStore from '../../../stores/OrganizationStore'; +import PrivateRepoUsageStore from '../../../stores/PrivateRepoUsageStore.js'; +import SimpleInput from 'common/SimpleInput.jsx'; +import { SplitSection } from '../../common/Sections.jsx'; +import Route404 from '../../common/RouteNotFound404Page.jsx'; +import Button from '@dux/element-button'; +import styles from './OrganizationProfile.css'; + +var OrganizationProfile = React.createClass({ + contextTypes: { + executeAction: React.PropTypes.func.isRequired + }, + propTypes: { + currentOrg: React.PropTypes.shape({ + orgname: React.PropTypes.string, + full_name: React.PropTypes.string, + location: React.PropTypes.string, + company: React.PropTypes.string, + profile_url: React.PropTypes.string + }), + isOwner: React.PropTypes.bool.isRequired, + JWT: React.PropTypes.string, + error: React.PropTypes.string, + success: React.PropTypes.string, + defaultVisibility: React.PropTypes.oneOf(['public', 'private']) + }, + getInitialState: function() { + return { + orgname: this.props.currentOrg.orgname, + fullName: this.props.currentOrg.full_name, + location: this.props.currentOrg.location, + company: this.props.currentOrg.company, + profileUrl: this.props.currentOrg.profile_url, + gravatarEmail: this.props.currentOrg.gravatar_email, + defaultVisibility: this.props.defaultVisibility + }; + }, + onSubmit: function(e) { + e.preventDefault(); + var updatedOrg = { + full_name: this.state.fullName, + location: this.state.location, + company: this.state.company, + profile_url: this.state.profileUrl, + gravatar_email: this.state.gravatarEmail + }; + this.context.executeAction(saveOrgProfileAction, { + jwt: this.props.JWT, + orgname: this.state.orgname, + organization: updatedOrg + }); + this.context.executeAction(toggleVisibility, { + JWT: this.props.JWT, + username: this.state.orgname, + visibility: this.state.defaultVisibility + }); + }, + orgFullNameChange: function(e) { + this.setState({fullName: e.target.value}); + }, + orgCompanyChange: function(e) { + this.setState({company: e.target.value}); + }, + locationChange: function(e) { + this.setState({location: e.target.value}); + }, + profileUrlChange: function(e) { + this.setState({profileUrl: e.target.value}); + }, + gravatarEmailChange: function(e) { + this.setState({gravatarEmail: e.target.value}); + }, + toggleClick: function({ visibility }) { + return (e) => { + this.setState({defaultVisibility: visibility}); + }; + }, + render: function() { + var maybeError = ; + var maybeSuccess = ; + if (this.props.error) { + maybeError = {this.props.error}; + } else if(this.props.success) { + //TODO: this could be an alert box with a close icon that can be closed when the user wants to dismiss + //Or time out after some time (ideally i would like to see this as a notification and that's it) + maybeSuccess =

    {this.props.success}
    ; + } + if (this.props.isOwner) { + return ( +
    +
    + This information is private to users with access to this organization.

    }> +
    +
    +
    +
    + Default Visibility: +
    +
      +
    • + +
    • +
    • + +
    • +
    +
    + + + + + + + + + + + + + + + + + + {maybeError} + {maybeSuccess} + +
    +
    + ); + } else { + return ( + + ); + } + } +}); + +export default connectToStores(OrganizationProfile, + [ + OrganizationStore, + PrivateRepoUsageStore + ], + function({ getStore }, props) { + return _.merge({}, getStore(OrganizationStore).getState(), {defaultVisibility: getStore(PrivateRepoUsageStore).getState().defaultRepoVisibility}); + }); diff --git a/app/scripts/components/account/orgs/TeamProfile.css b/app/scripts/components/account/orgs/TeamProfile.css new file mode 100644 index 0000000000..b7cdc43037 --- /dev/null +++ b/app/scripts/components/account/orgs/TeamProfile.css @@ -0,0 +1,7 @@ +@import "dux/css/box.css"; + +.addTeamButtonGroup { + button[type="submit"] { + margin-right: var(--default-margin); + } +} diff --git a/app/scripts/components/account/orgs/TeamProfile.jsx b/app/scripts/components/account/orgs/TeamProfile.jsx new file mode 100644 index 0000000000..5fed357741 --- /dev/null +++ b/app/scripts/components/account/orgs/TeamProfile.jsx @@ -0,0 +1,102 @@ +'use strict'; + +import React, {PropTypes, Component} from 'react'; +import saveTeamProfileAction from '../../../actions/saveTeamProfile'; +import deleteTeamProfileAction from '../../../actions/removeTeam'; +import DUXInput from 'common/DUXInput.jsx'; +import styles from './TeamProfile.css'; +import Button from '@dux/element-button'; +import _ from 'lodash'; + +const { string, object, bool, func } = PropTypes; + +export default class TeamProfile extends Component { + + static contextTypes = { + executeAction: func.isRequired + } + + static propTypes = { + JWT: string, + history: object.isRequired, + error: string, + success: string, + orgname: string, + clearError: func, + onDeleteTeam: func, + onUpdateTeam: func, + team: object + } + + state = { + teamName: this.props.team.name, + teamDesc: this.props.team.description + } + + onSubmit = (e) => { + e.preventDefault(); + var updatedTeam = { + name: this.state.teamName, + description: this.state.teamDesc + }; + this.context.executeAction(saveTeamProfileAction, { + jwt: this.props.JWT, + orgname: this.props.orgname, + teamname: this.props.team.name, + team: updatedTeam + }); + } + + onDelete = (e) => { + e.preventDefault(); + this.context.executeAction(deleteTeamProfileAction, { + jwt: this.props.JWT, + orgname: this.props.orgname, + teamname: this.props.team.name + }); + } + + teamNameChange = (e) => { + if (this.state.teamName !== 'owners') { + this.setState({teamName: e.target.value}); + } else { + this.setState({teamName: 'owners'}); + } + } + + teamDescChange = (e) => { + this.setState({teamDesc: e.target.value}); + } + + render() { + var maybeError = ; + var maybeSuccess = ; + if (this.props.error) { + maybeError = {this.props.error}; + } else if(this.props.success) { + //TODO: this could be an alert box with a close icon that can be closed when the user wants to dismiss + //Or time out after some time (ideally i would like to see this as a notification and that's it) + maybeSuccess =

    {this.props.success}
    ; + } + var maybeDeleteBtn; + if (this.state.teamName !== 'owners' && this.props.team.name === this.state.teamName) { + maybeDeleteBtn = (); + } + return ( +
    + + +
    + + {maybeDeleteBtn} +
    + {maybeError} + {maybeSuccess} + + ); + } +} diff --git a/app/scripts/components/account/services/GithubLinkScopes.jsx b/app/scripts/components/account/services/GithubLinkScopes.jsx new file mode 100644 index 0000000000..b4b56f52b0 --- /dev/null +++ b/app/scripts/components/account/services/GithubLinkScopes.jsx @@ -0,0 +1,86 @@ +'use strict'; + +import React from 'react'; +import GithubLinkStore from '../../../stores/GithubLinkStore'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +const debug = require('debug')('COMPONENT:GithubLinkScopes'); +import githubOathAction from '../../../actions/githubOauth'; + +import { SplitSection } from '../../common/Sections'; +import { Button } from 'dux'; + +var GithubLinkScopes = React.createClass({ + displayName: 'GithubLinkScopes', + contextTypes: { + executeAction: React.PropTypes.func.isRequired + }, + _generateGHStateString: function() { + //Generate random string + return Math.random().toString(36).substring(8); + }, + _limitedScope: function(evt) { + evt.preventDefault(); + var ss = this._generateGHStateString(); + window.open( + 'https://github.com/login/oauth/authorize?client_id=' + + this.props.githubClientID + + '&state=' + + ss, '_blank'); + this.context.executeAction(githubOathAction, {stateString: ss}); + }, + _recommendedScope: function(evt) { + evt.preventDefault(); + var ss = this._generateGHStateString(); + window.open( + 'https://github.com/login/oauth/authorize?client_id=' + + this.props.githubClientID + + '&scope=repo' + + '&state=' + + ss, '_blank'); + this.context.executeAction(githubOathAction, {stateString: ss}); + }, + render: function() { + return ( +
    +
    + +
    +
    +
    Public and Private (Recommended)
    +
      +
    • Read and Write access to public and private repositories. + (We only use write access to add service hooks and add deploy keys)
    • +
    • Required if you want to setup an Automated Build from a private GitHub repository.
    • +
    • Required if you want to use a private GitHub organization.
    • +
    • We will automatically configure the service hooks and deploy keys for you.
    • +
    +
    +
    + +
    +
    +
    Limited Access
    +
      +
    • Public read only access.
    • +
    • Only works with public repositories and organizations.
    • +
    • You will need to manually make changes to your repositories in order to use Automated Build.
    • +
    +
    +
    + +
    +
    +
    +
    + ); + } +}); + +export default connectToStores(GithubLinkScopes, + [ + GithubLinkStore + ], + function({ getStore }, props) { + return getStore(GithubLinkStore).getState(); + }); diff --git a/app/scripts/components/common/AlertBox.jsx b/app/scripts/components/common/AlertBox.jsx new file mode 100644 index 0000000000..3a5d5f9f82 --- /dev/null +++ b/app/scripts/components/common/AlertBox.jsx @@ -0,0 +1,34 @@ +'use strict'; + +import React, { Component, PropTypes } from 'react'; +const { oneOf, func } = PropTypes; +import { intents } from 'dux/dux/utils/props'; +import classnames from 'classnames'; +import _ from 'lodash'; + +export default class AlertBox extends Component { + static propTypes = { + intent: oneOf(intents), + onClick: func + } + + static defaultProps = { + onClick() {} + } + + render() { + const { intent } = this.props; + + const classes = classnames({ + 'alert-box': true, + [intent]: _.includes(intents, intent) + }); + + return ( +
    + {this.props.children} +
    + ); + } +} diff --git a/app/scripts/components/common/BlankSlate.css b/app/scripts/components/common/BlankSlate.css new file mode 100644 index 0000000000..67bb58242c --- /dev/null +++ b/app/scripts/components/common/BlankSlate.css @@ -0,0 +1,27 @@ +@import 'dux/css/colors.css'; +.blankSlates { + background: #fff; + padding: 2.5rem; + h1 { + color: var(--secondary-7); + font-size: 2rem; + font-weight: 300; + } +} + +.link { + background: transparent; + border-radius: 3px; + border: 1px solid var(--silver); + color: var(--secondary-4); + margin: 0 .3rem .3rem 0; + padding: 1.8rem; + i { + font-size: 2.5em; + margin-bottom: 1rem; + } + &:hover { + background: #f4f9fc; + color: var(--secondary-4); + } +} diff --git a/app/scripts/components/common/BlankSlate.jsx b/app/scripts/components/common/BlankSlate.jsx new file mode 100644 index 0000000000..28bf52acf7 --- /dev/null +++ b/app/scripts/components/common/BlankSlate.jsx @@ -0,0 +1,73 @@ +'use strict'; + +import styles from './BlankSlate.css'; +import React, { PropTypes, Component } from 'react'; +import { Link } from 'react-router'; +import FA from './FontAwesome'; +import classnames from 'classnames'; + +const { string, object } = PropTypes; + +/* + * Blankslate + * + * Usage: + * + * + * + * + * + */ + +export class BlankSlates extends Component { + + static propTypes = { + title: string + } + + render() { + return ( +
    +
    +
    +

    {this.props.title}

    +

    {this.props.subtext}

    +
    +
    + {this.props.children} +
    +
    +
    + ); + } +} + +export class BlankSlate extends Component { + static defaultProps = { + query: {} + } + + render() { + const linkClasses = classnames({ + 'button': true, + [styles.link]: true + }); + + const { link, query, icon, title } = this.props; + return ( + +
    {title} + + ); + } +} + +BlankSlate.propTypes = { + link: string.isRequired, + icon: string.isRequired, + title: string, + subtext: string, + query: object +}; diff --git a/app/scripts/components/common/CSEngineBox.css b/app/scripts/components/common/CSEngineBox.css new file mode 100644 index 0000000000..2cd6281e00 --- /dev/null +++ b/app/scripts/components/common/CSEngineBox.css @@ -0,0 +1,24 @@ +@import "dux/css/colors"; + +.downloadFlexItem { + background: var(--white); + border: 1px solid var(--iron); + display: flex; + flex-flow: row nowrap; + flex-grow: 4; + flex-basis: 0; + padding: 1rem 1rem; + word-break: break-word; +} + +.curlHelp { + font-size: .875rem; + font-weight: 500; + margin-bottom: 1rem; +} + +.curlWrap { + width: 100%; + padding-left: 1rem; +} + diff --git a/app/scripts/components/common/CSEngineBox.jsx b/app/scripts/components/common/CSEngineBox.jsx new file mode 100644 index 0000000000..8cfb33ea39 --- /dev/null +++ b/app/scripts/components/common/CSEngineBox.jsx @@ -0,0 +1,47 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import CopyCodeBox from 'common/CopyCodeBox'; +import { DEB, RPM } from 'common/data/csEngineInstructions'; +import styles from './CSEngineBox.css'; + +export default class CSEngineBox extends Component { + render() { + return ( +
    +
    +

    Install CS Engine

    +
    +
    + * Copy and run either the RPM or the DEB specific instructions in your terminal. +
    +
    +
    +
    + RPM + +
    +
    +
    +
    + DEB + + + + For more details about this installation,  + + view our documentation + + +
    +
    +
    +
    + ); + } +} diff --git a/app/scripts/components/common/Code.css b/app/scripts/components/common/Code.css new file mode 100644 index 0000000000..0a5a8f177d --- /dev/null +++ b/app/scripts/components/common/Code.css @@ -0,0 +1,83 @@ +.code { + font-family: Consolas, Liberation Mono, Courier, monospace; + /** + * We scope everything rendered in markdown by the above computed + * class. Using :global ensures that we don't have to modify the parser + * to add classes (which would be a turrible idea) in that it styles + * everything *inside of* .code. + */ + :global { + + /** + * Syntax Highlighting + * + * Five-color theme from a single blue hue. + */ + .hljs, pre code[class*="lang-"] { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #eaeef3; + -webkit-text-size-adjust: none; + white-space: pre; + } + + .hljs, + .hljs-list .hljs-built_in { + color: #00193a; + } + + .hljs-keyword, + .hljs-title, + .hljs-important, + .hljs-request, + .hljs-header, + .hljs-doctag { + font-weight: bold; + } + + .hljs-comment, + .hljs-chunk { + color: #738191; + } + + .hljs-string, + .hljs-title, + .hljs-parent, + .hljs-built_in, + .hljs-literal, + .hljs-filename, + .hljs-value, + .hljs-addition, + .hljs-tag, + .hljs-argument, + .hljs-link_label, + .hljs-blockquote, + .hljs-header, + .hljs-name { + color: #0048ab; + } + + .hljs-decorator, + .hljs-prompt, + .hljs-subst, + .hljs-symbol, + .hljs-doctype, + .hljs-regexp, + .hljs-preprocessor, + .hljs-pragma, + .hljs-pi, + .hljs-attribute, + .hljs-attr_selector, + .hljs-xmlDocTag, + .hljs-deletion, + .hljs-shebang, + .hljs-string .hljs-variable, + .hljs-link_url, + .hljs-bullet, + .hljs-sqbracket, + .hljs-phony { + color: #4c81c9; + } + } +} \ No newline at end of file diff --git a/app/scripts/components/common/Code.jsx b/app/scripts/components/common/Code.jsx new file mode 100644 index 0000000000..99ab0adedc --- /dev/null +++ b/app/scripts/components/common/Code.jsx @@ -0,0 +1,30 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import hljs from 'highlight.js'; +const debug = require('debug')('Code'); +import styles from './Code.css'; + +function renderCode(str) { + const { value } = hljs.highlightAuto(str); + return value; +} + +export default class Code extends Component { + render() { + if(!this.props.children) { + return null; + } + + const html = { + __html: renderCode(this.props.children) + }; + + return ( +
    +
    +
    + ); + } +} diff --git a/app/scripts/components/common/CopyCodeBox.css b/app/scripts/components/common/CopyCodeBox.css new file mode 100644 index 0000000000..377eb21c63 --- /dev/null +++ b/app/scripts/components/common/CopyCodeBox.css @@ -0,0 +1,37 @@ +@import "dux/css/box"; +@import "dux/css/colors"; + +.copyBox { + display: flex; + flex-flow: row; + flex-basis: 95%; + margin-right: 1rem; + margin-bottom: 1rem; + overflow-x: auto; + border: 1px solid var(--iron); + border-radius: var(--global-radius); + padding: 0.5rem; +} + +.code { + font-family: monospace; + font-size: .8125em; +} +.contentBox { + composes: code; + white-space: pre; +} + +.dollarBox { + composes: code; + font-weight: 600; + white-space: pre; + user-select: none; +} + +.wrapper { + display: flex; + flex-flow: row nowrap; + align-items: flex-start; + width: 100%; +} \ No newline at end of file diff --git a/app/scripts/components/common/CopyCodeBox.jsx b/app/scripts/components/common/CopyCodeBox.jsx new file mode 100644 index 0000000000..f1e7dfa9de --- /dev/null +++ b/app/scripts/components/common/CopyCodeBox.jsx @@ -0,0 +1,75 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import { findDOMNode } from 'react-dom'; +import styles from './CopyCodeBox.css'; +import Button from '@dux/element-button'; +const debug = require('debug')('CopyCodeBox'); +import repeat from 'lodash/string/repeat'; +const { bool, number, string } = PropTypes; + +export default class CopyCodeBox extends Component { + static propTypes = { + content: string.isRequired, + dollar: bool, + lines: number + } + + static defaultProps = { + dollar: false, + lines: 1 + } + + selectContents = (e) => { + const content = findDOMNode(this.refs.content); + let range; + if ( document.selection ) { + range = document.body.createTextRange(); + range.moveToElementText(content); + range.select(); + } else if ( window.getSelection ) { + range = document.createRange(); + range.selectNodeContents(content); + window.getSelection().removeAllRanges(); + window.getSelection().addRange(range); + } + } + + copyContentsToClipboard = (e) => { + /* Works in Chrome and Firefox 41.x + * TODO: Does not work in Safari + */ + this.selectContents(e); + try { + const success = document.execCommand('copy'); + debug(`Copy worked: ${success}`); + } catch (err) { + debug('Cannot copy.'); + } + } + render() { + const { content, dollar, lines } = this.props; + let dollarDiv; + const button = ( + + ); + if (dollar) { + const inner = repeat('$ \n', lines); + dollarDiv = ( +
    {inner}
    + ); + } + return ( +
    +
    + {dollarDiv} +
    {content}
    +
    + {button} +
    + ); + } +} diff --git a/app/scripts/components/common/DUXInput-b.css b/app/scripts/components/common/DUXInput-b.css new file mode 100644 index 0000000000..c5e308bfe3 --- /dev/null +++ b/app/scripts/components/common/DUXInput-b.css @@ -0,0 +1,9 @@ +@import "dux/css/colors"; + +:root { + --input-text-color: var(--white); + --label-color: var(--secondary-5); + --highlight-color: var(--primary-color); +} + +@import "./DUXInput-base.css"; \ No newline at end of file diff --git a/app/scripts/components/common/DUXInput-base.css b/app/scripts/components/common/DUXInput-base.css new file mode 100644 index 0000000000..d43814cea0 --- /dev/null +++ b/app/scripts/components/common/DUXInput-base.css @@ -0,0 +1,101 @@ +/* + * API: + * --label-color + * --input-text-color + * --alert-color + * --highlight-color + */ + +input.duxInput { + padding: 10px 10px 10px 5px; + border: none; + border-bottom: 1px solid gray; + margin: 0; + color: var(--input-text-color); +} +.duxInput:focus { + outline: none; +} + +.group { + position: relative; + margin-bottom: 35px; +} + +.hasError { + border-bottom-color: var(--alert-color); +} + +.hasError .label { + color: var(--alert-color); +} + +.hasError .bar:before, .hasError .bar:after { + background: var(--alert-color); +} + +.label { + color: var(--label-color); + font-weight: normal; + position: absolute; + pointer-events: none; + top: -20px; + transition: 0.2s ease all; +} + +/* BOTTOM BARS ================================= */ +.bar { + position:relative; + display:block; + +} +.bar:before, .bar:after { + content: ''; + height: 2px; + width: 0; + bottom: 0; + position: absolute; + background: var(--highlight-color); + transition: 0.2s ease all; + } +.bar:before { + left: 50%; +} +.bar:after { + right: 50%; +} + +/* HIGHLIGHTER ================================== */ +.highlight { + position: absolute; + height: 60%; + width: 100px; + top: 25%; + left: 0; + pointer-events: none; + transition: 0.2s ease all; + opacity: 0.5; +} + +.duxInput:focus ~ .bar:before { + width: 50%; +} +.duxInput:focus ~ .bar:after { + width: 50%; +} + +.duxInput:focus ~ .highlight { + -webkit-animation: inputHighlighter 0.3s ease; +} + +/* ANIMATIONS ================ */ +@-webkit-keyframes inputHighlighter { + from { + background: var(--highlight-color); + } + to { + width:0; + background:transparent; + } +} + diff --git a/app/scripts/components/common/DUXInput.css b/app/scripts/components/common/DUXInput.css new file mode 100644 index 0000000000..fe01e15184 --- /dev/null +++ b/app/scripts/components/common/DUXInput.css @@ -0,0 +1,9 @@ +@import "dux/css/colors"; + +:root { + --input-text-color: var(--black); + --label-color: var(--secondary-3); + --highlight-color: var(--primary-color); +} + +@import "./DUXInput-base.css" diff --git a/app/scripts/components/common/DUXInput.jsx b/app/scripts/components/common/DUXInput.jsx new file mode 100644 index 0000000000..722f984db7 --- /dev/null +++ b/app/scripts/components/common/DUXInput.jsx @@ -0,0 +1,130 @@ +'use strict'; + +import variantA from './DUXInput.css'; +import variantB from './DUXInput-b.css'; + +import React, { + Component, + PropTypes +} from 'react'; +import { findDOMNode } from 'react-dom'; +const { any, func, string, bool, oneOf } = PropTypes; +import classnames from 'classnames'; +import _ from 'lodash'; +import AlertBox from 'common/AlertBox'; +const debug = require('debug')('DUXInput'); + +export default class DUXInput extends Component { + + static propTypes = { + className: string, + error: string, + hasError: bool.isRequired, + name: string, + onChange: func.isRequired, + success: string, + type: oneOf('hidden text password email search'.split(' ')), + value: string, + variant: string + } + + static defaultProps = { + onChange() { + debug('No onChange function set for Input'); + }, + value: '', + hasError: false, + error: '', + type: 'text', + success: '', + name: '' + } + + focusInput = () => { + findDOMNode(this.refs.input).focus(); + } + + state = { + value: '' + } + + _onChange = (e) => { + // Set local state + const { value } = e.target; + this.setState({ value }); + + // Pass control to onChange controller. Usually a form. + this.props.onChange(e); + } + + componentWillReceiveProps(props) { + /** + * State should be tracked globally in a parent component. As + * such, we need to check the passed in prop against the current + * (local) state value to avoid overwriting the input value. + * + * This prevents a bug which resulted in the cursor being "jumped" + * to the end of an input after every character. + */ + if (props.value !== this.state.value) { + this.setState({ + value: props.value + }); + } + } + + render() { + /** + * Theme variant is accepted through the props. + */ + const { variant, name } = this.props; + const styles = variant !== 'b' ? variantA : variantB; + + /** + * If there is an error, display it + */ + let maybeError = ; + if(this.props.hasError && this.props.error) { + maybeError = {this.props.error}; + } + + /** + * If there is a success message, display it + */ + let maybeSuccess = ; + if(this.props.success) { + /** + * TODO: This shouldn't be a property of the input in the way + * that it currently exists. A field-level success state should + * be very minimal. + * + * OLD_TODO: this could be an alert box with a close icon that can be + * closed when the user wants to dismiss or time out after some + * time (ideally i would like to see this as a notification and + * that's it) + */ + maybeSuccess = {this.props.success}; + } + + const groupClasses = classnames({ + [styles.group]: true, + [styles.hasError]: this.props.hasError + }); + + return ( +
    + + + + {maybeError} + {maybeSuccess} +
    + ); + } +} diff --git a/app/scripts/components/common/FancyInput.css b/app/scripts/components/common/FancyInput.css new file mode 100644 index 0000000000..44264aa907 --- /dev/null +++ b/app/scripts/components/common/FancyInput.css @@ -0,0 +1,76 @@ +@import "dux/css/colors.css"; +@import "dux/css/box.css"; + +.inputDiv { + width: 100%; + margin-bottom: 2rem; + > input.default { + padding: 10px 10px 10px 5px; + border: none; + border-bottom: 1px solid #cbcbcb; + margin: 0; + color: #465f77; + &:focus { + outline: none; + } + &:focus::placeholder { + transition: opacity .5s ease; + opacity: .5; + } + } + &.hasError > input { + border-bottom: 1px solid var(--alert-color); + } +} + +.white { + > input.default { + color: var(--white); + border-bottom: 1px solid #465f77; + &::placeholder { + color: #7891b0; + } + } +} + +.hasError { + border-bottom-color: var(--alert-color); + border-radius: var(--global-radius); +} + +.hasError .bar:before, .hasError .bar:after { + background: var(--alert-color); +} + +.bar { + position:relative; + display:block; +} +.bar:before, .bar:after { + content: ''; + height: 2px; + width: 0; + bottom: 0; + position: absolute; + background: var(--primary-color); + transition: 0.2s ease all; + } +.bar:before { + left: 50%; +} +.bar:after { + right: 50%; +} +.default:focus ~ .bar:before { + width: 50%; +} +.default:focus ~ .bar:after { + width: 50%; +} + +.error { + position: absolute; + color: var(--alert-color); + font-weight: 200; + margin: 0 .5rem; +} diff --git a/app/scripts/components/common/FancyInput.jsx b/app/scripts/components/common/FancyInput.jsx new file mode 100644 index 0000000000..dd851a808f --- /dev/null +++ b/app/scripts/components/common/FancyInput.jsx @@ -0,0 +1,99 @@ +'use strict'; + +import React, { + Component, + PropTypes +} from 'react'; +import { findDOMNode } from 'react-dom'; +import classnames from 'classnames'; +import styles from './FancyInput.css'; +const { any, func, string, bool, oneOf } = PropTypes; +const debug = require('debug')('SimpleInput'); + +export default class FancyInput extends Component { + static propTypes = { + autoFocus: bool, + hasError: bool, + error: string, + name: string, + onChange: func.isRequired, + placeholder: string, + readOnly: bool, + type: oneOf('hidden text password email search'.split(' ')), + value: any.isRequired, + variant: oneOf(['white']) + } + + static defaultProps = { + hasError: false, + error: '', + onChange() { + debug('No onChange function set for Input'); + }, + value: '', + placeholder: '', + type: 'text', + name: '' + } + + state = { + value: '' + } + + _onChange = (e) => { + // Set local state + const { value } = e.target; + this.setState({ value }); + + // Pass control to onChange controller. Usually a form. + this.props.onChange(e); + } + + componentWillReceiveProps(props) { + /** + * State should be tracked globally in a parent component. As + * such, we need to check the passed in prop against the current + * (local) state value to avoid overwriting the input value. + * + * This prevents a bug which resulted in the cursor being "jumped" + * to the end of an input after every character. + */ + if (props.value !== this.state.value) { + this.setState({ + value: props.value + }); + } + } + + render() { + const { hasError, + error, + name, + placeholder, + readOnly, + type, + value, + variant, + autofocus } = this.props; + const groupClass = classnames({ + [styles.inputDiv]: true, + [styles.white]: variant === 'white', + [styles.hasError]: hasError + }); + + return ( +
    + + +
    {error}
    +
    + ); + } +} diff --git a/app/scripts/components/common/FlexTable.css b/app/scripts/components/common/FlexTable.css new file mode 100644 index 0000000000..c05d32354c --- /dev/null +++ b/app/scripts/components/common/FlexTable.css @@ -0,0 +1,92 @@ +@import 'dux/css/colors.css'; +@import 'dux/css/box.css'; + +.defaultBorder { + border: 1px solid var(--secondary-5); +} + +.inACardBorder { + border-bottom: 1px solid var(--secondary-5); +} + +.flexTable { + border-radius: 3px; + color: var(--secondary-2); + display: flex; + flex-flow: column; + justify-content: center; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + margin-bottom: 1.25rem; +} + +.flexHeader { + background: #f1f6fb; + border-bottom: 1px solid var(--secondary-5); + border-top-left-radius: var(--global-radius); + border-top-right-radius: var(--global-radius); + display: flex; + font-weight: 400; + font-size: 1rem; + padding: 0.3rem; + width: 100%; +} + +.flexRow { + background: var(--white); + border-bottom: 1px solid #e5e5e5; + display: flex; + padding: 0.3rem; + width: 100%; +} + +.flexRow:nth-child(2n+1) { + background: #f9f9f9; +} + +.flexRow:last-child { + border-bottom: 0; + border-bottom-right-radius: var(--global-radius); + border-bottom-left-radius: var(--global-radius); +} + +.selectableFlexRow { + composes: flexRow; + &:hover { + background: var(--silver); + cursor: pointer; + } +} + +.flexItem { + display: flex; + flex-flow: row nowrap; + flex-basis: 0; + padding-left: 1rem; + padding-right: 1rem; + word-break: break-word; +} + +.flexItemPadding { + padding-top: .75rem; + padding-bottom: .75rem; +} + +.flexEnd { + justify-content: flex-end; +} + +@each $num in 1, 2, 3, 4, 5, 6 { + .flexItemGrow$(num) { + flex-grow: $num; + } +} + +.error { + border: 1px solid var(--primary-5); +} + +.success { + border: 1px solid var(--primary-2); +} diff --git a/app/scripts/components/common/FlexTable.jsx b/app/scripts/components/common/FlexTable.jsx new file mode 100644 index 0000000000..e7882200db --- /dev/null +++ b/app/scripts/components/common/FlexTable.jsx @@ -0,0 +1,106 @@ +'use strict'; + +import React, { Component, PropTypes } from 'react'; +const { number, bool, func, string } = PropTypes; +import includes from 'lodash/collection/includes'; +import styles from './FlexTable.css'; +import classnames from 'classnames'; + +export class FlexTable extends Component { + static propTypes = { + success: bool, + error: bool, + isWrappedInACard: bool + }; + + static defaultProps = { + isWrappedInACard: false + }; + + render() { + const { error, isWrappedInACard, success } = this.props; + const tableClass = classnames({ + [styles.flexTable]: true, + [styles.defaultBorder]: !isWrappedInACard, + [styles.inACardBorder]: isWrappedInACard, + [styles.success]: success, + [styles.error]: error + }); + + return ( +
    + {this.props.children} +
    + ); + } +} + +export class FlexRow extends Component { + static propTypes = { + onMouseOver: func, + onMouseLeave: func, + onClick: func, + selectable: bool + } + + render() { + const { + onClick, + onMouseOver, + onMouseLeave, + selectable + } = this.props; + return ( +
    + {this.props.children} +
    + ); + } +} + +export class FlexHeader extends Component { + + render() { + return ( +
    + {this.props.children} +
    + ); + } +} + +export class FlexItem extends Component { + + static propTypes = { + grow: number, + end: bool, + noPadding: bool + } + + static defaultProps = { + grow: 1, + noPadding: false + } + + render() { + //Optional itemClass usually used for setting widths + //noPadding removes top and bottom padding + const { grow, end, noPadding } = this.props; + + const itemClass = classnames({ + [styles.flexItem]: true, + [styles.flexEnd]: end, + [styles.flexItemPadding]: !noPadding, + [styles[`flexItemGrow${grow}`]]: includes([1, 2, 3, 4, 5, 6], grow) + }); + + return ( +
    + {this.props.children} +
    + ); + } +} diff --git a/app/scripts/components/common/FontAwesome.jsx b/app/scripts/components/common/FontAwesome.jsx new file mode 100644 index 0000000000..7a09848dd1 --- /dev/null +++ b/app/scripts/components/common/FontAwesome.jsx @@ -0,0 +1,54 @@ +'use strict'; + +import React, { Component, PropTypes } from 'react'; +const { oneOf, string, bool } = PropTypes; +import classnames from 'classnames'; +import _ from 'lodash'; +var debug = require('debug')('FontAwesomeIcon'); + +const sizes = ['lg', '2x', '3x', '4x', '5x']; +const animations = ['spin', 'pulse']; +const flips = ['horizontal', 'vertical']; +const rotations = [90, 180, 270]; + +export default class FontAwesome extends Component { + static propTypes = { + icon: string.isRequired, + + animate: oneOf(animations), + fixedWidth: bool, + flip: oneOf(flips), + invert: bool, + rotate: oneOf(rotations), + size: oneOf(sizes), + stack: bool + } + render() { + + const { + animate, + fixedWidth, + flip, + icon, + invert, + rotate, + size, + stack + } = this.props; + + const classes = classnames({ + 'fa': true, + 'fa-fw': fixedWidth, + 'fa-inverse': invert, + [icon]: true, + [`fa-${animate}`]: _.includes(animations, animate), + [`fa-${size}`]: _.includes(sizes, size) && !stack, + [`fa-flip-${flip}`]: _.includes(flips, flip), + [`fa-rotate-${rotate}`]: _.includes(rotations, rotate), + [`fa-stack-${size}`]: _.includes(sizes, size) && stack + }); + + return (); + } +} + diff --git a/app/scripts/components/common/LiLink.jsx b/app/scripts/components/common/LiLink.jsx new file mode 100644 index 0000000000..e97162573f --- /dev/null +++ b/app/scripts/components/common/LiLink.jsx @@ -0,0 +1,17 @@ +'use strict'; + +import React from 'react'; +const debug = require('debug')('LiLink: '); +import { Link } from 'react-router'; + +export default class LiLink extends Link { + isActive() { + const { to, query, onlyActiveOnIndex } = this.props; + return this.context.history.isActive(to, query, onlyActiveOnIndex); + } +//In order to show active state on nav links, we need the active class on the li element +//Dependant on Foundation .active class + render() { + return
  • {super.render()}
  • ; + } +} diff --git a/app/scripts/components/common/ListSelector.css b/app/scripts/components/common/ListSelector.css new file mode 100644 index 0000000000..fb0cfaa9e4 --- /dev/null +++ b/app/scripts/components/common/ListSelector.css @@ -0,0 +1,32 @@ +@import "dux/css/colors.css"; +@import "dux/css/box.css"; + +.header { + font-weight: 400; + padding: 0.5rem; + margin: 0; + background-color: var(--silver); + border: 1px solid var(--secondary-5); + border-top-left-radius: var(--global-radius); + border-top-right-radius: var(--global-radius); +} + +.listSelectorItems { + background: #fff; + list-style: none; + padding: 0; + margin: 0; + border: 1px solid var(--secondary-5); + border-bottom-left-radius: var(--global-radius); + border-bottom-right-radius: var(--global-radius); +} + +.listSelectorItems li { + padding: .5rem; + border-bottom: 1px solid var(--secondary-5); +} + +.listSelectorItems li:hover { + background-color: var(--silver); + cursor: pointer; +} \ No newline at end of file diff --git a/app/scripts/components/common/ListSelector.jsx b/app/scripts/components/common/ListSelector.jsx new file mode 100644 index 0000000000..b6fc7f132c --- /dev/null +++ b/app/scripts/components/common/ListSelector.jsx @@ -0,0 +1,33 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import { StrippedModule } from 'dux'; +import styles from './ListSelector.css'; +import _ from 'lodash'; + +const { string, arrayOf, node } = PropTypes; + +export default class ListSelector extends Component { + + static propTypes = { + header: node, + items: arrayOf(node) + } + + render() { + var header = null; + if (_.isString(this.props.header)) { + header = (
    {this.props.header}
    ); + } else if (_.isObject(this.props.header)) { + header =
    {this.props.header}
    ; + } + + return ( + + {header} +
      + {this.props.items} +
    +
    ); + } +} diff --git a/app/scripts/components/common/Pagination.jsx b/app/scripts/components/common/Pagination.jsx new file mode 100644 index 0000000000..213cc40157 --- /dev/null +++ b/app/scripts/components/common/Pagination.jsx @@ -0,0 +1,119 @@ +'use strict'; + +import React, { + PropTypes, + createClass +} from 'react'; +import classnames from 'classnames'; +import _ from 'lodash'; +var debug = require('debug')('Pagination'); + +function noop(e) { + e.preventDefault(); +} + +var Page = createClass({ + displayName: 'Page', + propTypes: { + _onClick: PropTypes.func.isRequired, + pageNumber: PropTypes.number.isRequired, + currentPage: PropTypes.number.isRequired + }, + render() { + var classes = classnames({ + 'current': this.props.currentPage === this.props.pageNumber + }); + + return ( +
  • + {this.props.pageNumber} +
  • + ); + } +}); + +function mkPage(pageNumber) { + return ( + + ); +} + +export default createClass({ + displayName: 'Pagination', + propTypes: { + next: PropTypes.string, + prev: PropTypes.string, + currentPage: PropTypes.number.isRequired, + pageSize: PropTypes.number.isRequired, + onChangePage: PropTypes.func.isRequired + }, + _onClick(pageNumber) { + return (e) => { + //Check if currentPage is to the right of ellipsis and the last from the beginning or the end + //based on whether it is the beginning side or end side, update the page ranges + e.preventDefault(); + this.props.onChangePage(pageNumber); + }; + }, + render() { + var paginationComponent; + // is there a page before this one? + var previousPageExists = !!this.props.prev; + // is there a page after this one? + var nextPageExists = !!this.props.next; + var currentPage = [this.props.currentPage].map(mkPage, this); + var prevClasses = classnames({ + 'arrow': true, + 'unavailable': !previousPageExists + }); + + var nextClasses = classnames({ + 'arrow': true, + 'unavailable': !nextPageExists + }); + + var prevPage = null; + if (previousPageExists) { + prevPage = [( +
  • «
  • + ), ( +
  • {this.props.currentPage - 1}
  • + )]; + } + + var nextPage = null; + if (nextPageExists) { + nextPage = [( +
  • {this.props.currentPage + 1}
  • + ), ( +
  • »
  • + )]; + } + + if (nextPageExists || previousPageExists) { + paginationComponent = ( +
      + {prevPage} + {currentPage} + {nextPage} +
    + ); + } + + return ( +
    + {paginationComponent} +
    + ); + } +}); diff --git a/app/scripts/components/common/PendingDeleteRepositoryItem.css b/app/scripts/components/common/PendingDeleteRepositoryItem.css new file mode 100644 index 0000000000..ba66ee2e53 --- /dev/null +++ b/app/scripts/components/common/PendingDeleteRepositoryItem.css @@ -0,0 +1,84 @@ +@import "dux/css/colors.css"; +@import "dux/css/box.css"; + +.pendingDeleteItem { + background: var(--white); + border: 1px solid var(--secondary-5); + border-radius: var(--global-radius); + color: var(--secondary-2); + display: flex; + flex-flow: row; + margin: 1rem 0; + font-weight: 500; + cursor: not-allowed; + + &:hover { + border-color: var(--primary-5); + .action { + background-color: var(--primary-1); + color: white; + border-color: var(--primary-1); + } + } +} + +.repoName { + color: var(--primary-1); +} +.avatar { + width: 50px; + height: 50px; + border-radius: var(--global-radius); +} +.officialAvatar { + background: var(--primary-color); +} + +/* sections */ +.section { + display: flex; + border-left: 1px solid var(--secondary-5); + padding: 1rem; +} +.head { + composes: section; + flex-grow: 1; + flex-flow: row; + &:first-child { + border-left: 0; + } +} + +.action { + composes: section; + background-color: var(--secondary-5); + color: var(--secondary-4); + flex-flow: column; + i { + position: relative; + top: 0.5rem; + left: 1.2rem; + } +} +.text { + margin-top: 1.2rem; + margin-left: 0.4rem; + font-size: 0.7rem; +} + +/* "Visibility" Classes */ +.title { + padding-left: 1rem; + padding-right: 1rem; +} +.labels { + color: var(--secondary-4); +} +.pendingDelete { + color: var(--primary-5); +} +/* utility */ +.flexible { + display: flex; + flex: 1; +} diff --git a/app/scripts/components/common/PendingDeleteRepositoryItem.jsx b/app/scripts/components/common/PendingDeleteRepositoryItem.jsx new file mode 100644 index 0000000000..228864aa0d --- /dev/null +++ b/app/scripts/components/common/PendingDeleteRepositoryItem.jsx @@ -0,0 +1,58 @@ +'use strict'; + +import styles from './PendingDeleteRepositoryItem.css'; +import React, { PropTypes, Component } from 'react'; +let { func, string } = PropTypes; +import classnames from 'classnames'; +import FA from 'common/FontAwesome'; +import { mkAvatarForNamespace, isOfficialAvatarURL } from 'utils/avatar'; + +/** + * PendingDeleteRepositoryItem will show only the name and namespace + */ + +export default class PendingDeleteRepositoryItem extends Component { + + static propTypes = { + namespace: string.isRequired, + name: string.isRequired + } + + render() { + + const { + name, + namespace + } = this.props; + + const repoDisplayName = namespace + '/' + name; + const avatar = mkAvatarForNamespace(namespace, name); + const avatarClass = classnames({ + [styles.avatar]: true, + [styles.officialAvatar]: isOfficialAvatarURL(avatar) + }); + + return ( +
  • +
    +
    +
    +
    +
    +
    { repoDisplayName }
    + Deleting... +
    +
    +
    +
    + +
    DETAILS
    +
    +
    +
  • + ); + } +} diff --git a/app/scripts/components/common/RepositoriesList.jsx b/app/scripts/components/common/RepositoriesList.jsx new file mode 100644 index 0000000000..a8511c69c4 --- /dev/null +++ b/app/scripts/components/common/RepositoriesList.jsx @@ -0,0 +1,113 @@ +'use strict'; + +import React, { PropTypes, createClass } from 'react'; +const { array, bool, element, func, oneOfType } = PropTypes; +import PendingDeleteRepositoryItem from './PendingDeleteRepositoryItem'; +import RepositoryListItem from './RepositoryListItem'; +import { PENDING_DELETE } from 'common/enums/RepoStatus'; +import has from 'lodash/object/has'; + +var debug = require('debug')('RepositoriesList'); + +function mkRepoListItem(repo) { + + const { + is_automated, + is_official, + is_private, + name, + namespace, + pull_count, + repo_name, + star_count, + status + } = repo; + /** + * TODO: after snakecase to camelcase in hub-js-sdk is done remove + * explicit props + */ + if(has(repo, 'is_private')) { + repo.isPrivate = is_private; + } + if(has(repo, 'is_official')) { + repo.isOfficial = is_official; + } + if(has(repo, 'is_offical')) { + // This is a legit typo in the ES results + repo.isOfficial = repo.is_offical; + } + if(has(repo, 'repo_name')) { + repo.repoName = repo_name; + } + + let key = repo_name || (namespace + '/' + name); + + if (status === PENDING_DELETE) { + return ( + + ); + } else { + return ( + + ); + } +} + +var BlankSlate = createClass({ + displayName: 'BlankSlate', + render() { + return ( +
    +
    +
    +

    No Repositories Yet.

    + Create Repository +
    +
    +
    + ); + } +}); + +export default createClass({ + displayName: 'RepositoriesList', + propTypes: { + blankSlate: element, + repos: array.isRequired + }, + getDefaultProps() { + return { + blankSlate: (), + repos: [] + }; + }, + render() { + const { + blankSlate, + repos + } = this.props; + + let content = blankSlate; + + if(repos && repos.length > 0) { + content = ( +
    +
      + {repos.map(mkRepoListItem, this)} +
    +
    + ); + } + + return ( +
    + {content} +
    + ); + } +}); diff --git a/app/scripts/components/common/RepositoryListItem.css b/app/scripts/components/common/RepositoryListItem.css new file mode 100644 index 0000000000..c1ee0eeca1 --- /dev/null +++ b/app/scripts/components/common/RepositoryListItem.css @@ -0,0 +1,111 @@ +@import "dux/css/colors.css"; +@import "dux/css/box.css"; + +.repositoryListItem { + background: var(--white); + border: 1px solid var(--secondary-5); + border-radius: var(--global-radius); + color: var(--secondary-2); + display: flex; + flex-flow: row; + margin: 1rem 0; + font-weight: 500; + + &:hover { + border-color: var(--primary-1); + .action { + background-color: var(--primary-1); + color: white; + border-color: var(--primary-1); + } + } +} +.repoName { + color: var(--primary-color); +} +.avatar { + width: 60px; + height: 60px; + border-radius: var(--global-radius); + display: flex; +} +.img { + align-self: center; +} +.officialAvatar { + background: var(--primary-color); +} + +/* sections */ +.section { + display: flex; + border-left: 1px solid var(--secondary-5); + padding: 1rem; +} +.head { + composes: section; + flex-grow: 1; + flex-flow: row; + &:first-child { + border-left: 0; + } +} +.stats { + composes: section; + min-width: 100px; + text-align: center; + flex-flow: row; +} +.action { + composes: section; + background-color: var(--secondary-5); + color: var(--secondary-4); + flex-flow: column; + i { + position: relative; + top: 0.5rem; + left: 1.2rem; + } +} +.text { + margin-top: 1.2rem; + margin-left: 0.4rem; + font-size: 0.7rem; +} +/* Stats Boxes */ +.labelValue { + padding-top: 0.25rem; + margin: 0 auto; +} +.value { + margin-bottom: 0.25rem; + color: var(--secondary-4); +} +.subLabel { + color: var(--secondary-4); +} +/* "Visibility" Classes */ +.title { + padding-left: 1rem; + padding-right: 1rem; +} +.labels { + color: var(--secondary-4); +} +/*.official { + color: var(--primary-1); +}*/ +.public { + color: color(var(--primary-1) blackness(50%)); +} +.private { + color: var(--secondary-4); +} +.automated { + color: var(--secondary-4); +} +/* utility */ +.flexible { + display: flex; + flex: 1; +} diff --git a/app/scripts/components/common/RepositoryListItem.jsx b/app/scripts/components/common/RepositoryListItem.jsx new file mode 100644 index 0000000000..fbedea3372 --- /dev/null +++ b/app/scripts/components/common/RepositoryListItem.jsx @@ -0,0 +1,326 @@ +'use strict'; + +import styles from './RepositoryListItem.css'; +import React, { PropTypes, createClass, Component } from 'react'; +let { string, number } = PropTypes; +import { Link } from 'react-router'; +import classnames from 'classnames'; +import FA from 'common/FontAwesome'; +import numeral from 'numeral'; +import { mkAvatarForNamespace, isOfficialAvatarURL } from 'utils/avatar'; +import isFinite from 'lodash/lang/isFinite'; + +var debug = require('debug')('RepositoryListItem'); + +/* TODO: Should dedupe these render methods */ + +/** + * RepositoryListItem has to handle two versions of a Repository data + * structure. One comes from ElasticSearch, and one comes from Postgres + * + * ElasticSearch: + * + * -- Official + * { + * "repo_name": "ubuntu", + * "is_offical": true, + * "is_automated": false, + * "short_description": "", + * "repo_owner": null, + * "pull_count": 9, + * "star_count": 2 + * } + * + * -- Normal + * { + * "repo_name": "cpuguy83/ubuntu", + * "is_offical": false, + * "is_automated": false, + * "short_description": "ubuntu but more awesome", + * "repo_owner": null, + * "pull_count": 2, + * "star_count": 0 + * } + * + * Postgres: + * + * --Official + * --Normal + * { + * "last_updated": null, + * "pull_count": 9, + * "star_count": 2, + * "can_edit": true, + * "is_automated": false, + * "is_private": false, + * "full_description": null, + * "description": "", + * "status": 1, + * "namespace": "library", + * "name": "ubuntu", + * "user": "jlhawn" + * } + */ + +class Stats extends Component { + static propTypes: { + title: string, + value: number, + inBuckets: bool + } + + formatNumber(n) { + if (n < 1000) { + return numeral(n).format('0a'); + } + return numeral(n).format('0.0a').toUpperCase(); + } + + /** + * Buckets to format the number: + * 10M + + * 5M + + * 1M + + * 500k + + * 100k + + * 50k + + * 10k + + */ + formatBucketedNumber(n) { + if (n < 10000) { + return this.formatNumber(n); + } else if(n < 50000) { + return '10K+'; + } else if(n < 100000) { + return '50K+'; + } else if(n < 500000) { + return '100K+'; + } else if(n < 1000000) { + return '500K+'; + } else if(n < 5000000) { + return '1M+'; + } else if(n < 10000000) { + return '5M+'; + } else { + return '10M+'; + } + } + + render() { + const { value, title, inBuckets } = this.props; + + let statValue; + + if (isFinite(value)) { + if (inBuckets) { + statValue = this.formatBucketedNumber(value); + } else { + statValue = this.formatNumber(value); + } + } else { + return null; + } + + return ( +
    +
    +
    {statValue}
    +
    {title.toUpperCase()}
    +
    +
    + ); + } +} + +var PostgresRepo = createClass({ + displayName: 'PostgresRepo', + propTypes: { + namespace: PropTypes.string.isRequired, + name: PropTypes.string.isRequired, + status: PropTypes.number, + description: PropTypes.string, + fullDescription: PropTypes.string, + isPrivate: PropTypes.bool, + isAutomated: PropTypes.bool, + isOfficial: PropTypes.bool, + starCount: PropTypes.number, + pullCount: PropTypes.number + }, + render() { + /** + * Since Official Repos don't show their namespace (library), + * we use this to chop that part off if we need to by redefining + * this variable. + */ + var repoDisplayName = this.props.namespace + '/' + this.props.name; + var linkTo = `/r/${repoDisplayName}/`; + + /** + * visibility can be 'official', 'public' or 'private', with an + * appropriate class to match. + */ + var visibility = null; + var visibilityClasses = {}; + /** + * autobuild is set if this repository is an automated build, otherwise + * we rely on `null` to render nothing. + */ + var autobuild = null; + + if(this.props.isOfficial || this.props.namespace === 'library') { + + visibility = 'official'; + visibilityClasses = classnames({ + [styles.official]: true + }); + repoDisplayName = this.props.name || this.props.repo_name; + linkTo = `/_/${this.props.name}/`; + + } else { + + visibility = 'private'; + if(!this.props.isPrivate) { + visibility = 'public'; + } + visibilityClasses = classnames({ + [styles.public]: !this.props.isPrivate, + [styles.private]: this.props.isPrivate + }); + + if(this.props.isAutomated) { + autobuild = | automated build; + } + } + + const avatar = mkAvatarForNamespace(this.props.namespace, this.props.name); + const avatarClass = classnames({ + [styles.avatar]: true, + [styles.officialAvatar]: isOfficialAvatarURL(avatar) + }); + + return ( +
  • + +
    +
    +
    +
    +
    {repoDisplayName}
    + {visibility} + {autobuild}
    +
    +
    + + +
    + +
    DETAILS
    +
    + +
  • + ); + } +}); + + +var ElasticRepo = createClass({ + displayName: 'ElasticRepo', + propTypes: { + repoName: PropTypes.string.isRequired, + isOfficial: PropTypes.bool.isRequired, + isAutomated: PropTypes.bool.isRequired, + pullCount: PropTypes.number.isRequired, + starCount: PropTypes.number.isRequired + }, + render() { + var repoDisplayName = this.props.repoName; + var linkTo; + + /** + * visibility can be 'official', 'public' or 'private', with an + * appropriate class to match. + */ + var visibility = null; + var visibilityClasses = {}; + /** + * autobuild is set if this repository is an automated build, otherwise + * we rely on `null` to render nothing. + */ + var autobuild = null; + + if(this.props.isOfficial) { + + visibility = 'official'; + visibilityClasses = classnames({ + [styles.official]: true + }); + linkTo = `/_/${this.props.repoName}/`; + + } else { + + let [namespace, splat] = this.props.repoName.split('/'); + linkTo = `/r/${namespace}/${splat}/`; + + if(this.props.isPrivate) { + visibility = 'private'; + } else { + visibility = 'public'; + } + visibilityClasses = classnames({ + [styles.public]: !this.props.isPrivate, + [styles.private]: this.props.isPrivate + }); + + if(this.props.isAutomated) { + autobuild = | automated build; + } + } + + const avatar = mkAvatarForNamespace(this.props.namespace, this.props.repoName); + const avatarClass = classnames({ + [styles.avatar]: true, + [styles.officialAvatar]: isOfficialAvatarURL(avatar) + }); + + return ( +
  • + +
    +
    +
    +
    {repoDisplayName}
    +
    + {visibility} + {autobuild}
    +
    +
    + + +
    + +
    DETAILS
    +
    + +
  • + ); + } +}); + +export default class RepositoryListItem extends Component { + render() { + debug(this.props); + if(this.props.repoName) { + // Render a repo from ElasticSearch + return ( + + ); + } else { + // Render a repo from Postgres + return ( + + ); + } + } +} diff --git a/app/scripts/components/common/RepositoryNameInput.jsx b/app/scripts/components/common/RepositoryNameInput.jsx new file mode 100644 index 0000000000..4a53602878 --- /dev/null +++ b/app/scripts/components/common/RepositoryNameInput.jsx @@ -0,0 +1,42 @@ +'use strict'; + +import React, { Component, PropTypes } from 'react'; +import SimpleInput from './SimpleInput'; +const {array, func, string} = PropTypes; + +export default class RepositoryNameInput extends Component { + static propTypes = { + namespaces: array.isRequired, + selectedNamespace: string.isRequired, + repoName: string.isRequired, + onRepoNameChange: func.isRequired, + onNamespaceChange: func.isRequired, + inputClass: string + } + + render() { + + var namespaceOptions = this.props.namespaces.map(function(item, idx) { + return (); + }); + + return ( +
    +
    + +
    +
    + +
    +
    + ); + } +} diff --git a/app/scripts/components/common/RouteNotFound404Page.css b/app/scripts/components/common/RouteNotFound404Page.css new file mode 100644 index 0000000000..e1f73119e0 --- /dev/null +++ b/app/scripts/components/common/RouteNotFound404Page.css @@ -0,0 +1,40 @@ +@import 'dux/css/colors.css'; +.wrap { + background: var(--docker-dark); + height: 100%; + text-align: center; +} + +.messageModule { + animation: fadein 0.3s; + padding: 1.5rem 0 0 0; + margin: 4rem 0; + width: 800px; +} + +@keyframes fadein { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +.heading { + color: #71859d; + font-size: 6rem; + font-weight: 400; +} + +.subheading { + color: #cbd5df; + font-weight: 400; +} + +.message { + color: #71859d; + margin: 0 auto; + padding: .5rem; + font-size: 1.1rem; +} diff --git a/app/scripts/components/common/RouteNotFound404Page.jsx b/app/scripts/components/common/RouteNotFound404Page.jsx new file mode 100644 index 0000000000..1eb6acedff --- /dev/null +++ b/app/scripts/components/common/RouteNotFound404Page.jsx @@ -0,0 +1,26 @@ +'use strict'; + +import React from 'react'; +import { Module } from 'dux'; +import styles from './RouteNotFound404Page.css'; + +var RouteNotFound404Page = React.createClass({ + displayName: 'RouteNotFound404Page', + render: function() { + return ( +
    +
    +
    +
    +

    404

    +

    Page Not Found

    +

    Sorry, but the page you were trying to view does not exist.

    +
    +
    +
    +
    + ); + } +}); + +module.exports = RouteNotFound404Page; diff --git a/app/scripts/components/common/Row.jsx b/app/scripts/components/common/Row.jsx new file mode 100644 index 0000000000..7d73456638 --- /dev/null +++ b/app/scripts/components/common/Row.jsx @@ -0,0 +1,12 @@ +'use strict'; + +import React, { createClass } from 'react'; + +export default createClass({ + displayName: 'Row', + render() { + return ( +
    {this.props.children}
    + ); + } +}); diff --git a/app/scripts/components/common/Sections.css b/app/scripts/components/common/Sections.css new file mode 100644 index 0000000000..7c52eabcbb --- /dev/null +++ b/app/scripts/components/common/Sections.css @@ -0,0 +1,3 @@ +.section { + padding: 1rem 2rem; +} diff --git a/app/scripts/components/common/Sections.jsx b/app/scripts/components/common/Sections.jsx new file mode 100644 index 0000000000..57ed33e7b7 --- /dev/null +++ b/app/scripts/components/common/Sections.jsx @@ -0,0 +1,67 @@ +'use strict'; + +import React, { Component, PropTypes } from 'react'; +const { string, node, object, oneOfType, bool } = PropTypes; +import Card, { Block } from '@dux/element-card'; +import styles from './Sections.css'; + +export class SplitSection extends Component { + static propTypes = { + title: string, + subtitle: node, + /** + * module is a props passthrough for precision control over how + * Module displays. An example is setting the `intent` on a module. + */ + module: oneOfType([object, bool]) + }; + static defaultProps = { + module: true + }; + + render() { + var children; + if (this.props.module) { + children = ( + + + {this.props.children} + + + ); + } else { + children = this.props.children; + } + + return ( +
    +
    +
    {this.props.title}
    +
    + {this.props.subtitle} +
    +
    +
    + { children } +
    +
    + ); + } +} + +export class FullSection extends Component { + static propTypes = { + title: string + }; + + render() { + return ( +
    +
    +
    {this.props.title}
    +
    + {this.props.children} +
    + ); + } +} diff --git a/app/scripts/components/common/SimpleInput.css b/app/scripts/components/common/SimpleInput.css new file mode 100644 index 0000000000..562b6227f7 --- /dev/null +++ b/app/scripts/components/common/SimpleInput.css @@ -0,0 +1,23 @@ +@import "dux/css/colors.css"; +@import "dux/css/box.css"; + +input.default { + background-color: var(--white); + border-radius: var(--global-radius); +&:focus { + border: 1px solid var(--primary-1); + background-color: var(--white); + } +} + +input.error { + border: 1px solid var(--primary-5); + border-radius: var(--global-radius); +&:focus { + border: 1px solid var(--primary-5); + } +} + +.inputDiv { + width: 100%; +} \ No newline at end of file diff --git a/app/scripts/components/common/SimpleInput.jsx b/app/scripts/components/common/SimpleInput.jsx new file mode 100644 index 0000000000..bf8af06b4c --- /dev/null +++ b/app/scripts/components/common/SimpleInput.jsx @@ -0,0 +1,100 @@ +'use strict'; + +import React, { + Component, + PropTypes +} from 'react'; +import { findDOMNode } from 'react-dom'; +import styles from './SimpleInput.css'; +const { any, func, string, bool, oneOf } = PropTypes; +const debug = require('debug')('SimpleInput'); + +/* + * A simpler version of DUXInput without errors / alert boxes + * that is a full field (not a line) + */ +export default class SimpleInput extends Component { + static propTypes = { + autoFocus: bool, + hasError: bool, + name: string, + onChange: func.isRequired, + placeholder: string, + readOnly: bool, + type: oneOf('hidden text password email search'.split(' ')), + value: any.isRequired + } + + static defaultProps = { + hasError: false, + onChange() { + debug('No onChange function set for Input'); + }, + value: '', + placeholder: '', + type: 'text', + name: '' + } + + focusInput = () => { + findDOMNode(this.refs.input).focus(); + } + + state = { + value: '' + } + + _onChange = (e) => { + // Set local state + const { value } = e.target; + this.setState({ value }); + + // Pass control to onChange controller. Usually a form. + this.props.onChange(e); + } + + componentWillReceiveProps(props) { + /** + * State should be tracked globally in a parent component. As + * such, we need to check the passed in prop against the current + * (local) state value to avoid overwriting the input value. + * + * This prevents a bug which resulted in the cursor being "jumped" + * to the end of an input after every character. + */ + if (props.value !== this.state.value) { + this.setState({ + value: props.value + }); + } + } + + componentDidMount() { + const { autoFocus } = this.props; + if (autoFocus) { + this.focusInput(); + } + } + + render() { + const { hasError, + name, + placeholder, + readOnly, + type, + value } = this.props; + const inputClass = hasError ? styles.error : styles.default; + return ( +
    + +
    + ); + } +} diff --git a/app/scripts/components/common/SimpleTextArea.css b/app/scripts/components/common/SimpleTextArea.css new file mode 100644 index 0000000000..280e2ae2d6 --- /dev/null +++ b/app/scripts/components/common/SimpleTextArea.css @@ -0,0 +1,5 @@ +@import "dux/css/box.css"; + +.textarea { + border-radius: var(--global-radius); +} \ No newline at end of file diff --git a/app/scripts/components/common/SimpleTextArea.jsx b/app/scripts/components/common/SimpleTextArea.jsx new file mode 100644 index 0000000000..d6c76e12c9 --- /dev/null +++ b/app/scripts/components/common/SimpleTextArea.jsx @@ -0,0 +1,89 @@ +'use strict'; + +import React, { + Component, + PropTypes +} from 'react'; +import { findDOMNode } from 'react-dom'; +import styles from './SimpleTextArea.css'; +const { any, func, string, number } = PropTypes; +const debug = require('debug')('SimpleTextArea'); + +/* + * A simpler version of DUXInput without errors / alert boxes + * that is a text area + */ +export default class SimpleTextArea extends Component { + static propTypes = { + cols: number, + name: string, + onChange: func.isRequired, + placeholder: string, + rows: number, + value: any.isRequired + } + + static defaultProps = { + onChange() { + debug('No onChange function set for Input'); + }, + cols: 2, + rows: 100, + value: '', + placeholder: '', + name: '' + } + + focusInput = () => { + findDOMNode(this.refs.textarea).focus(); + } + + state = { + value: '' + } + + _onChange = (e) => { + // Set local state + const { value } = e.target; + this.setState({ value }); + + // Pass control to onChange controller. Usually a form. + this.props.onChange(e); + } + + componentWillReceiveProps(props) { + /** + * State should be tracked globally in a parent component. As + * such, we need to check the passed in prop against the current + * (local) state value to avoid overwriting the input value. + * + * This prevents a bug which resulted in the cursor being "jumped" + * to the end of an input after every character. + */ + if (props.value !== this.state.value) { + this.setState({ + value: props.value + }); + } + } + + render() { + const { cols, + rows, + name, + placeholder, + value } = this.props; + return ( +
    + + + ); + } else { + return (); + } + } +} + +module.exports = DeployKeys; diff --git a/app/scripts/components/repo/repoSettings/builds/LinkAutoTrigger.css b/app/scripts/components/repo/repoSettings/builds/LinkAutoTrigger.css new file mode 100644 index 0000000000..4701680485 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/builds/LinkAutoTrigger.css @@ -0,0 +1,53 @@ +@import "dux/css/colors.css"; +@import 'dux/css/box.css'; + +.repoName { + padding-right: 0.5rem; +} + +.repoName a { + color: var(--base); + &:hover { + color: var(--primary-1); + } +} + +.removeLink i { + color: var(--base); + cursor: pointer; +} + +.removeLink i:hover { + color: color(var(--base) blackness(20%)); +} + +.success { + +} +.error { + color: var(--primary-5); +} + +.label { + padding: 0.5rem 0; + font-weight: 500; +} + +.tag { + display: flex; + flex-flow: row nowrap; + border-radius: var(--global-radius); + border: 1px solid var(--base); + color: var(--base); + justify-content: flex-start; + align-items: center; + padding: 0.5rem 1rem; + margin: 0 1rem 1rem 0; +} + +.tagsWrapper { + display: flex; + flex-flow: row wrap; + justify-content: flex-start; + align-items: center; +} diff --git a/app/scripts/components/repo/repoSettings/builds/LinkAutoTrigger.jsx b/app/scripts/components/repo/repoSettings/builds/LinkAutoTrigger.jsx new file mode 100644 index 0000000000..a0bb73974f --- /dev/null +++ b/app/scripts/components/repo/repoSettings/builds/LinkAutoTrigger.jsx @@ -0,0 +1,161 @@ +'use strict'; + +import React, { + PropTypes, + createClass + } from 'react'; + +import { Link } from 'react-router'; +import addTriggerLink from 'actions/addTriggerLink.js'; +import removeTriggerLink from 'actions/removeTriggerLink.js'; +import updateAutoBuildSettingsStore from 'actions/updateAutoBuildSettingsStore.js'; +import SimpleInput from 'common/SimpleInput.jsx'; +import includes from 'lodash/collection/includes'; +import map from 'lodash/collection/map'; +import { SplitSection } from '../../../common/Sections.jsx'; +import Button from '@dux/element-button'; +import Card, { Block } from '@dux/element-card'; +import FA from '../../../common/FontAwesome.jsx'; +import classnames from 'classnames'; +import styles from './LinkAutoTrigger.css'; + +var debug = require('debug')('BuildOptions'); + +var _mkLinkDisplayRow = function(clickHandler) { + return (repoLink) => { + let username, reponame, link; + if (includes(repoLink.to_repo, '/')) { + [username, reponame] = repoLink.to_repo.split('/'); + link = ( + + {repoLink.to_repo} + + ); + } else { + reponame = repoLink.to_repo; + link = ( + + {reponame} + + ); + } + + return ( +
    +
    + {link} +
    +
    + +
    +
    + ); + }; +}; + +var LinkAutoTrigger = createClass({ + displayName: 'LinkAutoTrigger', + propTypes: { + autoBuildStore: PropTypes.object.isRequired, + autoBuildLinks: PropTypes.array.isRequired, + triggerLinkForm: PropTypes.object.isRequired, + namespace: PropTypes.string.isRequired, + name: PropTypes.string.isRequired, + validations: PropTypes.object.isRequired + }, + contextTypes: { + executeAction: React.PropTypes.func.isRequired + }, + _addTriggerLink(e) { + e.preventDefault(); + debug('ADDING TRIGGER LINK'); + let repoName = this.props.triggerLinkForm.repoName; + if (!includes(repoName, '/')) { + repoName = 'library/' + repoName; + } + this.context.executeAction(addTriggerLink, {JWT: this.props.JWT, + namespace: this.props.namespace, + name: this.props.name, + to_repo: repoName}); + }, + _deleteLink: function(repo_id) { + return (e) => { + e.preventDefault(); + this.context.executeAction(removeTriggerLink, {JWT: this.props.JWT, + namespace: this.props.namespace, + name: this.props.name, + repo_id: repo_id}); + }; + }, + _updateFormField(field, key) { + return (e) => { + e.preventDefault(); + this.context.executeAction(updateAutoBuildSettingsStore, {field: field, key: key, value: e.target.value}); + }; + }, + render() { + const { + autoBuildLinks, + triggerLinkForm, + validations + } = this.props; + + let success = validations.links.success ? 'Link successfully added' : null; + let maybeError = null; + const errorClasses = classnames(['large-12 column', styles.error]); + if (validations.links.hasError) { + maybeError = ( +
    + {validations.links.error} +
    + ); + } + let linkedRepos = 'You have not linked any repositories to this Automated Build.'; + if (autoBuildLinks.length) { + linkedRepos = map(autoBuildLinks, _mkLinkDisplayRow(this._deleteLink)); + } + return ( + + +
    +
    +
    +
    + Link your Automated Build to another Docker Hub repository, + and when that repository is updated, it will automatically + trigger a rebuild of this Automated Build. +
    +
    +
    Repository Name
    +
    +
    + +
    +
    + +
    + {maybeError} +
    +
    +
    +
    Linked Repositories
    +
    {linkedRepos}
    +
    +
    +
    +
    +
    +
    + ); + } +}); + +export default LinkAutoTrigger; diff --git a/app/scripts/components/repo/repoSettings/builds/RepoPushTrigger.css b/app/scripts/components/repo/repoSettings/builds/RepoPushTrigger.css new file mode 100644 index 0000000000..9c882cabbf --- /dev/null +++ b/app/scripts/components/repo/repoSettings/builds/RepoPushTrigger.css @@ -0,0 +1,82 @@ +@import 'dux/css/colors.css'; + +.checkText { + margin-left: 1rem; + color: var(--oil); +} + +.button { + float: right; + margin-right: 1.5rem; + margin-top: 1.2rem; +} + +.tableInput { + width: 100%; + input, span, label, div { + width: 100%; + padding: 0; + margin: 0; + } +} + +.table { + border-left-width: 0; + border-top-width: 0; + border-right-width: 0; + margin-bottom: 1 rem; +} + +.faBtn { + cursor: pointer; + user-select: none; + margin-top: 0.8rem; + flex-grow: 1; + display: flex; + justify-content: center; +} + +.addBtn { + composes: faBtn; + color: var(--success-color); +} + +.removeBtn { + composes: faBtn; + color: var(--alert-color); +} + +.noBtn { + flex-grow: 1; +} + +.triggerBtn { + composes: faBtn; + color: var(--primary-color); + margin-left: 0.5rem; +} + +.triggerItem { + display: inherit; +} + +.message { + float: left; + margin-left: .7rem; +} + +.success { + composes: message; + color: var(--success-color); +} + +.error { + composes: message; + color: var(--alert-color); +} + +.clumpedErrors { + composes: error; + font-family: inherit; + font-size: .875rem; +} diff --git a/app/scripts/components/repo/repoSettings/builds/RepoPushTrigger.jsx b/app/scripts/components/repo/repoSettings/builds/RepoPushTrigger.jsx new file mode 100644 index 0000000000..6044876a2b --- /dev/null +++ b/app/scripts/components/repo/repoSettings/builds/RepoPushTrigger.jsx @@ -0,0 +1,309 @@ +'use strict'; + +import React, { + PropTypes, + createClass + } from 'react'; +import SimpleInput from 'common/SimpleInput.jsx'; +import addPushTriggerItem from 'actions/addAutoBuildPushTriggerItem.js'; +import deletePushTriggerItem from 'actions/deleteAutoBuildPushTriggerItem.js'; +import saveRepoPushSettings from 'actions/savePushAutoBuildSettings.js'; +import updatePushTriggerItem from 'actions/updateAutoBuildPushTriggerItem.js'; +import baseClone from 'lodash/internal/baseClone'; +import filter from 'lodash/collection/filter'; +import map from 'lodash/collection/map'; +import isEmpty from 'lodash/lang/isEmpty'; +import isString from 'lodash/lang/isString'; +import remove from 'lodash/array/remove'; +import { Row, Header, Item, FlexTable as Table } from 'common/TagsFlexTable'; +import Button from '@dux/element-button'; +import FA from 'common/FontAwesome.jsx'; +import Card, { Block } from '@dux/element-card'; +import BuildTriggerByTag from './BuildTriggerByTag'; + +import { + SOURCE_NAME_TAG, + SOURCE_NAME_BRANCH, + DOCKER_TAG, + SOURCE_NAME_PLACEHOLDER_BRANCH, + SOURCE_NAME_PLACEHOLDER_TAG, + DOCKER_TAG_PLACEHOLDER_BRANCH, + DOCKER_TAG_PLACEHOLDER_TAG +} from 'common/enums/BuildTagDefault'; + +import styles from './RepoPushTrigger.css'; +var debug = require('debug')('BuildOptions'); + +const _isRegexString = (str) => { + if (isString(str)) { + return (str.charAt(0) === '/' && str.charAt(str.length - 1) === '/'); + } else { + return false; + } +}; + +var RepoPushTrigger = createClass({ + displayName: 'RepoPushTrigger', + propTypes: { + autoBuildStore: PropTypes.object.isRequired, + newTags: PropTypes.array.isRequired, + autoBuildBlankSlate: PropTypes.object.isRequired, + JWT: PropTypes.string.isRequired, + name: PropTypes.string.isRequired, + namespace: PropTypes.string.isRequired, + validations: PropTypes.shape({ + buildTags: PropTypes.object.isRequired + }) + }, + contextTypes: { + executeAction: React.PropTypes.func.isRequired + }, + _addPushItem(e) { + e.preventDefault(); + this.context.executeAction(addPushTriggerItem); + }, + _preprocessTags(tags) { + //Remove empty/null values from the tags list + tags = filter(tags, (val) => { + return !isEmpty(val); + }); + //Preprocess tags to send default name/tags in case user doesn't specify + return map(tags, (val) => { + val.source_name = val.source_name || (val.source_type === 'Branch' ? SOURCE_NAME_BRANCH : SOURCE_NAME_TAG); + val.name = val.name || DOCKER_TAG; + return val; + }); + }, + _savePushTrigger(e){ + e.preventDefault(); + const newStripped = remove(this.props.newTags, function(item) { + return !item.toDelete; + }); // remove 'new' build items that have been deleted + let tags = this.props.autoBuildStore.build_tags.concat(newStripped); + + this.context.executeAction(saveRepoPushSettings, { + JWT: this.props.JWT, + name: this.props.name, + namespace: this.props.namespace, + tags: this._preprocessTags(tags) + }); + }, + _updatePushItem(isNew, index, fieldkey) { + // action will handle updates for each field of the build_tag item. + // index comes from mapping through sorted array + return (e) => { + e.preventDefault(); + if (fieldkey === 'delete') { + this.context.executeAction(deletePushTriggerItem, {isNew, index}); + } else { + this.context.executeAction(updatePushTriggerItem, { + isNew, + index, + fieldkey, + value: e.target.value}); + } + }; + }, + _updateSourceType(isNew, index, source_name) { + return (e) => { + e.preventDefault(); + if (e.target.value === 'Tag' && source_name === SOURCE_NAME_BRANCH) { + this.context.executeAction(updatePushTriggerItem, { + isNew, + index, + fieldkey: 'source_name', + value: SOURCE_NAME_TAG}); + } else if (e.target.value === 'Branch' && source_name === SOURCE_NAME_TAG) { + this.context.executeAction(updatePushTriggerItem, { + isNew, + index, + fieldkey: 'source_name', + value: SOURCE_NAME_BRANCH}); + } + this.context.executeAction(updatePushTriggerItem, { + isNew, + index, + fieldkey: 'source_type', + value: e.target.value}); + }; + }, + _renderBuildTagRow(isNew) { + const { + JWT, + name, + namespace + } = this.props; + // isNew needed to differentiate between newly added items and tags from api + let addOrRemove, triggerBuildItem; + return (buildTag, index) => { + if (!buildTag || buildTag.toDelete) { + return (
    ); + } else if (index !== 0 || isNew) { + addOrRemove = ( + + + + ); + } else if (index === 0 && !isNew) { + addOrRemove = ( + + + + ); + } + + // Set defaults + let sourceNamePlaceholder; + let tagNamePlaceholder; + + if (buildTag.source_type === 'Branch') { + sourceNamePlaceholder = SOURCE_NAME_PLACEHOLDER_BRANCH; + tagNamePlaceholder = DOCKER_TAG_PLACEHOLDER_BRANCH; + } else { + sourceNamePlaceholder = SOURCE_NAME_PLACEHOLDER_TAG; + tagNamePlaceholder = DOCKER_TAG_PLACEHOLDER_TAG; + } + + if (buildTag.dockerfile_location === '') { + buildTag.dockerfile_location = '/'; + } + + let displayedTagName; + if (buildTag.name === DOCKER_TAG) { + displayedTagName = ''; + } else { + displayedTagName = buildTag.name; + } + + let displayedSourceName; + let sourceName = SOURCE_NAME_BRANCH; + if ((buildTag.source_name === SOURCE_NAME_BRANCH && buildTag.source_type === 'Branch') || + (buildTag.source_name === SOURCE_NAME_TAG && buildTag.source_type === 'Tag')) { + displayedSourceName = ''; + } else { + displayedSourceName = buildTag.source_name; + } + + let buildTriggerButton = (
    ); + if (!isNew || buildTag.id) { + buildTriggerButton = ( + + ); + } + + return ( + + + + + + + + + + + + + + + {addOrRemove} + {buildTriggerButton} + + + ); + }; + }, + render() { + const { + autoBuildStore, + JWT, + name, + namespace, + newTags, + validations + } = this.props; + + const tags = autoBuildStore.build_tags; + let tagRows; + // _renderBuildTagRow sets index in _updatePushItem + // bool differentiates between new/old build_tags arrays + const newTagRows = map(newTags, this._renderBuildTagRow(true)); + if (isEmpty(tags) && isEmpty(newTags)) { + tagRows = ( + + No push triggers to show + + ); + } else { + // _renderBuildTagRow sets index in _updatePushItem + // bool differentiates between new/old build_tags arrays + tagRows = map(tags, this._renderBuildTagRow(false)); + } + + let saveButtonText = 'Save Changes'; + let saveButtonVariant = 'primary'; + + if (validations.buildTags.success) { + saveButtonText = 'Saved'; + saveButtonVariant = 'success'; + } else if (validations.buildTags.hasError) { + saveButtonText = 'Error Saving'; + saveButtonVariant = 'alert'; + } + + let maybeErrors = ''; + if (validations.buildTags.errors) { + maybeErrors =
    {validations.buildTags.errors.join('\n')}
    ; + } + + return ( +
    +
    +
    + + +
    + Type + Name + Dockerfile Location + Docker Tag Name + +
    + { tagRows } + { newTagRows } +
    +
    +
    + { maybeErrors } +
    +
    + +
    +
    +
    +
    +
    +
    + ); + } +}); + +export default RepoPushTrigger; diff --git a/app/scripts/components/repo/repoSettings/collaborators/Collaborators.css b/app/scripts/components/repo/repoSettings/collaborators/Collaborators.css new file mode 100644 index 0000000000..6165f114ce --- /dev/null +++ b/app/scripts/components/repo/repoSettings/collaborators/Collaborators.css @@ -0,0 +1,19 @@ +@import 'dux/css/colors.css'; +@import 'dux/css/box.css'; + +.table { + width: 100%; +} + +.collaboratorsContent { + padding-top: 1.25rem; +} + +.error { + margin-bottom: var(--default-margin); + color: var(--primary-5); +} + +.button > * { + margin-bottom: 0; +} \ No newline at end of file diff --git a/app/scripts/components/repo/repoSettings/collaborators/Collaborators.jsx b/app/scripts/components/repo/repoSettings/collaborators/Collaborators.jsx new file mode 100644 index 0000000000..85c294425c --- /dev/null +++ b/app/scripts/components/repo/repoSettings/collaborators/Collaborators.jsx @@ -0,0 +1,181 @@ +'use strict'; + +import React, { + Component, + PropTypes + } from 'react'; +const { object, number, string, array, func} = PropTypes; + +import _ from 'lodash'; +import FA from 'common/FontAwesome'; +import Button from '@dux/element-button'; +import addCollaborator from 'actions/addCollaborator'; +import delCollaborator from 'actions/delCollaborator'; +import { STATUS } from 'stores/collaborators/Constants.js'; +import onAddCollaboratorChange from 'actions/onAddCollaboratorChange'; +import Card, { Block } from '@dux/element-card'; +import SimpleInput from 'common/SimpleInput'; +import styles from './Collaborators.css'; +import { + FlexTable, + FlexHeader, + FlexRow, + FlexItem +} from 'common/FlexTable'; +import Pagination from 'common/Pagination.jsx'; + +const debug = require('debug')('RepoCollaborators'); + +class Collaborators extends Component { + + static propTypes = { + count: number.isRequired, + next: string, + previous: string, + results: array.isRequired, + requests: object, + STATUS: string, + newCollaborator: string, + namespace: string.isRequired, + name: string.isRequired, + JWT: string.isRequired, + error: string, + location: object, + history: object + } + + static contextTypes = { + executeAction: func.isRequired + } + + removeUser = (username) => { + const { namespace, name, JWT } = this.props; + return (e) => { + const args = { + JWT, + namespace, + name, + username + }; + this.context.executeAction(delCollaborator, args); + }; + } + + onSubmit = (e) => { + e.preventDefault(); + const { namespace, name, JWT } = this.props; + const args = { + JWT, + namespace, + name, + user: this.props.newCollaborator + }; + this.context.executeAction(addCollaborator, args); + } + + renderTable = () => { + return ( + + + Username + Access + Action + + {this.props.results.map(this.renderTr)} + + ); + } + + renderTr = ({user}) => { + //TODO: Need better way to do validations for deleting collaborators + const status = this.props.requests[user]; + const isLoading = status === 'LOADING'; + const hasError = status === 'ERROR'; + + let icon = ; + if(isLoading) { + icon = ; + } + return ( + + {user} + Collaborator + +
    + +
    +
    +
    + ); + } + + onAddCollaboratorChange = function(e) { + e.preventDefault(); + this.context.executeAction(onAddCollaboratorChange, { collaborator: e.target.value }); + } + + renderAddCollaboratorForm = (collaborator) => { + const { error } = this.props; + const isLoading = this.props.STATUS === STATUS.ATTEMPTING; + const hasError = this.props.STATUS === STATUS.ERROR && error; + let variant = 'primary'; + let errorMsg; + if (hasError) { + variant = 'alert'; + errorMsg =
    {this.props.error}
    ; + } + let button = ; + if(isLoading) { + button = ; + } + + return ( + + +
    + + {errorMsg} + {button} +
    +
    +
    + ); + } + + onChangePage = (pageNumber) => { + debug('onChangePage', pageNumber); + this.props.history.pushState(null, this.props.location.pathname, {page: pageNumber}); + } + + render() { + const { next, prev } = this.props; + const currentPageNumber = parseInt(this.props.location.query.page, 10); + + return ( +
    +
    + {this.renderTable()} + + +
    +
    + {this.renderAddCollaboratorForm(this.props.newCollaborator)} +
    +
    + ); + } +} + +export default Collaborators; diff --git a/app/scripts/components/repo/repoSettings/collaborators/Teams.css b/app/scripts/components/repo/repoSettings/collaborators/Teams.css new file mode 100644 index 0000000000..39ccc894de --- /dev/null +++ b/app/scripts/components/repo/repoSettings/collaborators/Teams.css @@ -0,0 +1,12 @@ +.table { + width: 100%; + margin: 1rem 0; +} + +.teamsWrapper { + padding-top: 1.25rem; +} + +.button > * { + margin-bottom: 0; +} \ No newline at end of file diff --git a/app/scripts/components/repo/repoSettings/collaborators/Teams.jsx b/app/scripts/components/repo/repoSettings/collaborators/Teams.jsx new file mode 100644 index 0000000000..ecf0bdf35c --- /dev/null +++ b/app/scripts/components/repo/repoSettings/collaborators/Teams.jsx @@ -0,0 +1,175 @@ +'use strict'; + +import React, { + Component, + PropTypes +} from 'react'; +import { findDOMNode } from 'react-dom'; +const { number, string, array, arrayOf, object, shape, func } = PropTypes; + +import _ from 'lodash'; +import FA from 'common/FontAwesome'; +import Button from '@dux/element-button'; +import Card, { Block } from '@dux/element-card'; +import addTeamCollaborators from 'actions/addTeamCollaborator'; +import delTeamCollaborator from 'actions/delTeamCollaborator'; +import {STATUS} from 'stores/collaborators/Constants.js'; +import styles from './Teams.css'; +import { + FlexTable, + FlexHeader, + FlexRow, + FlexItem +} from 'common/FlexTable'; +import Pagination from 'common/Pagination.jsx'; + +const debug = require('debug')('RepoCollaborators'); + +class Teams extends Component { + + static propTypes = { + count: number.isRequired, + next: string, + previous: string, + results: array.isRequired, + allTeams: arrayOf( + shape({ + group_id: number, + name: string + }) + ), + JWT: string.isRequired, + name: string.isRequired, + namespace: string.isRequired, + requests: object, + location: object, + history: object + } + + static contextTypes = { + executeAction: func.isRequired + } + + removeTeam = (group_id) => { + const { namespace, name, JWT } = this.props; + return (e) => { + debug('Remove Team ', group_id, 'from', `${namespace}/${name}`); + const args = { + JWT, + namespace, + name, + group_id + }; + this.context.executeAction(delTeamCollaborator, args); + }; + } + + onSubmit = (e) => { + e.preventDefault(); + const { JWT, namespace, name, allTeams } = this.props; + const { permissions, team } = this.refs; + const permission = findDOMNode(permissions).value; + const teamName = findDOMNode(team).value; + const { id } = _.find(allTeams, { name: teamName }); + const args = { + JWT, + namespace, + name, + id, + permission + }; + this.context.executeAction(addTeamCollaborators, args); + } + + renderTable = () => { + return ( + + + Team + Access + Action + + {this.props.results.map(this.renderTr)} + + ); + } + + renderTr = ({ group_id, group_name, permission }) => { + //Need better way to do validations for deleting collaborators + const status = this.props.requests[group_id]; + const isLoading = status === STATUS.ATTEMPTING; + const hasError = status === STATUS.ERROR; + + let icon = ; + if(isLoading) { + icon = ; + } + return ( + + {group_name} + {permission} + +
    + +
    +
    +
    + ); + } + + renderAddTeamForm = () => { + const { allTeams } = this.props; + return ( + + +
    + + + +
    +
    +
    + ); + } + + onChangePage = (pageNumber) => { + debug('onChangePage', pageNumber); + this.props.history.pushState(null, this.props.location.pathname, {page: pageNumber}); + } + + render() { + const { next, prev } = this.props; + const currentPageNumber = parseInt(this.props.location.query.page, 10); + + return ( +
    +
    +
    + {this.renderTable()} + + +
    +
    + {this.renderAddTeamForm()} +
    +
    +
    + ); + } +} + +export default Teams; diff --git a/app/scripts/components/repo/repoSettings/settingsMain/DeleteRepositoryForm.css b/app/scripts/components/repo/repoSettings/settingsMain/DeleteRepositoryForm.css new file mode 100644 index 0000000000..2364d2f565 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/settingsMain/DeleteRepositoryForm.css @@ -0,0 +1,19 @@ +@import "dux/css/colors.css"; +@import "dux/css/box.css"; + +input.textArea { + background-color: var(--white); + &:focus { + border: 1px solid var(--primary-1); + background-color: var(--white); + } +} + +.text { + margin-bottom: 1rem; +} + +.error { + composes: text; + color: var(--primary-5); +} \ No newline at end of file diff --git a/app/scripts/components/repo/repoSettings/settingsMain/DeleteRepositoryForm.jsx b/app/scripts/components/repo/repoSettings/settingsMain/DeleteRepositoryForm.jsx new file mode 100644 index 0000000000..7c40db1b44 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/settingsMain/DeleteRepositoryForm.jsx @@ -0,0 +1,181 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import toggleDeleteRepoNameConfirmBox from 'actions/toggleDeleteRepoNameConfirmBox'; +import updateFormField from 'actions/common/updateFormField'; +import deleteRepositoryAction from 'actions/deleteRepo'; +import DeleteRepoFormStore from 'stores/DeleteRepoFormStore'; +import Card, { Block } from '@dux/element-card'; +import Button from '@dux/element-button'; +import { STATUS as COMMONSTATUS } from 'stores/deleterepostore/Constants'; +import styles from './DeleteRepositoryForm.css'; +const debug = require('debug')('DeleteRepoForm'); +const { string, func, shape, object } = PropTypes; + +class DeleteRepositoryForm extends Component { + static propTypes = { + JWT: string.isRequired, + name: string.isRequired, + params: object.isRequired, + deleteRepoFormStore: shape({ + error: string, + STATUS: string + }) + } + + static contextTypes = { + executeAction: func.isRequired + } + + addEscapeKeyHandler = () => { + document.addEventListener('keydown', this.handleEscapeKey); + } + + removeEscapeKeyHandler = () => { + document.removeEventListener('keydown', this.handleEscapeKey); + } + + handleEscapeKey = (e) => { + e = e || window.event; + const { STATUS } = this.props.deleteRepoFormStore; + if (STATUS !== COMMONSTATUS.DEFAULT && e.keyCode === 27) { + this.toggleConfirmBox(); + } + } + + onChange = (fieldKey) => { + return (e) => { + this.context.executeAction(updateFormField({ + storePrefix: 'DELETE_REPO' + }), { + fieldKey, + fieldValue: e.target.value + }); + }; + } + + onDelete = (e) => { + e.preventDefault(); + const { JWT, name } = this.props; + const { confirmRepoName } = this.props.deleteRepoFormStore.values; + if (confirmRepoName === name) { + const { user, splat } = this.props.params; + this.context.executeAction(deleteRepositoryAction, + { + jwt: JWT, + repoShortName: `${user}/${splat}` + } + ); + } + } + + toggleConfirmBox = (e) => { + this.context.executeAction(toggleDeleteRepoNameConfirmBox); + } + + renderConfirmBox = () => { + const { error, STATUS } = this.props.deleteRepoFormStore; + const { confirmRepoName } = this.props.deleteRepoFormStore.values; + const { name } = this.props; + + const isCorrect = confirmRepoName === name; + let button, maybeError; + if (isCorrect) { + const btnText = STATUS === COMMONSTATUS.ATTEMPTING ? 'Deleting...' + : 'Delete'; + button = ( + + ); + } + if (error) { + maybeError =
    {error}
    ; + } + const confirmTitle = ( +
    + {`Please type the name of your repository to confirm deletion:`} + {name} +
    + ); + const headingActions = [{ + key: 'cancel', + icon: 'fa-remove', + action: this.toggleConfirmBox + }]; + return ( + + + {confirmTitle} +
    + + {maybeError} + {button} +
    +
    +
    + ); + } + + render() { + const { STATUS } = this.props.deleteRepoFormStore; + if (STATUS !== COMMONSTATUS.DEFAULT) { + return this.renderConfirmBox(); + } else { + const button = ( + + ); + const title = `Delete Repository`; + const helpText = ( +
    + Deleting a repository will destroy all images stored within it! + This action is not reversible. +
    + ); + return ( + + +
    +
    +

    {title}

    +
    +
    +
    + {button} +
    +
    +
    +
    +
    +
    + {helpText} +
    +
    +
    +
    +
    + ); + } + } +} + +export default connectToStores(DeleteRepositoryForm, + [ + DeleteRepoFormStore + ], + function({ getStore }, props) { + return { deleteRepoFormStore: getStore(DeleteRepoFormStore).getState() }; + }); diff --git a/app/scripts/components/repo/repoSettings/settingsMain/VisibilityForm.css b/app/scripts/components/repo/repoSettings/settingsMain/VisibilityForm.css new file mode 100644 index 0000000000..5be9fc799d --- /dev/null +++ b/app/scripts/components/repo/repoSettings/settingsMain/VisibilityForm.css @@ -0,0 +1,19 @@ +@import "dux/css/colors.css"; +@import "dux/css/box.css"; + +.text { + margin-bottom: 1rem; +} + +.error { + composes: text; + color: var(--primary-5); +} + +input.textArea { + background-color: var(--white); + &:focus { + border: 1px solid var(--primary-1); + background-color: var(--white); + } +} \ No newline at end of file diff --git a/app/scripts/components/repo/repoSettings/settingsMain/VisibilityForm.jsx b/app/scripts/components/repo/repoSettings/settingsMain/VisibilityForm.jsx new file mode 100644 index 0000000000..5b32b23940 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/settingsMain/VisibilityForm.jsx @@ -0,0 +1,242 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import { Link } from 'react-router'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import toggleVisibilityRepoNameConfirmBox from 'actions/toggleVisibilityRepoNameConfirmBox.js'; +import updateFormField from 'actions/common/updateFormField'; +import updateRepoVisibility from 'actions/updateRepoSettingsVisibilityField'; +import RepoDetailsVisibilityFormStore from 'stores/RepoDetailsVisibilityFormStore.js'; +import { STATUS as COMMONSTATUS } from 'stores/repovisibilitystore/Constants.js'; +import classnames from 'classnames'; +import has from 'lodash/object/has'; +import capitalize from 'lodash/string/capitalize'; +import styles from './VisibilityForm.css'; +import Card, { Block } from '@dux/element-card'; +import Button from '@dux/element-button'; +const { func, bool, shape, number, string, object } = PropTypes; +const debug = require('debug')('VisibilityForm'); + +class VisibilityForm extends Component { + + static propTypes = { + JWT: string.isRequired, + name: string.isRequired, + namespace: string.isRequired, + user: object.isRequired, + visibilityFormStore: shape({ + badRequest: string, + error: string, + success: string, + isPrivate: bool, + numPrivateReposAvailable: number, + privateRepoLimit: number, + STATUS: string, + values: shape({ + confirmRepoName: string + }) + }) + } + + static contextTypes = { + executeAction: func.isRequired + } + + addEscapeKeyHandler = () => { + document.addEventListener('keydown', this.handleEscapeKey); + } + + removeEscapeKeyHandler = () => { + document.removeEventListener('keydown', this.handleEscapeKey); + } + + handleEscapeKey = (e) => { + e = e || window.event; + const { STATUS } = this.props.visibilityFormStore; + if (STATUS !== COMMONSTATUS.DEFAULT && e.keyCode === 27) { + this.toggleConfirmBox(); + } + } + + updateVisibility = (visibility, isDisabled) => { + return (e) => { + e.preventDefault(); + const { JWT, namespace, name } = this.props; + if (!isDisabled) { + this.context.executeAction(updateRepoVisibility, + { + jwt: JWT, + repoShortName: namespace + '/' + name, + isPrivate: (visibility === 'private') + }); + } + }; + } + + toggleConfirmBox = (e) => { + this.context.executeAction(toggleVisibilityRepoNameConfirmBox); + } + + onChange = (fieldKey) => { + return (e) => { + this.context.executeAction(updateFormField({ + storePrefix: 'REPO_DETAILS_VISIBILITY' + }), { + fieldKey, + fieldValue: e.target.value + }); + }; + } + + isOrg = () => { + const { user, namespace } = this.props; + // username is the logged in user. namespace is the current org / user + // if namespace != username, then it is an org + if (has(user, 'username')) { + return user.username !== namespace; + } else { + //if there is no user.username, there is an user.orgname + return true; + } + } + + getBillingLink = () => { + const { namespace } = this.props; + const linkToBilling = this.isOrg() ? `/u/${namespace}/dashboard/billing/` : '/account/billing-plans/'; + return ( + + Get more private repositories. + + ); + } + + renderConfirmBox = () => { + const { badRequest, + isPrivate, + error, + STATUS } = this.props.visibilityFormStore; + const { confirmRepoName } = this.props.visibilityFormStore.values; + const { name } = this.props; + const isCorrect = confirmRepoName === name; + const newVisibility = isPrivate ? 'public' : 'private'; + let button, maybeError; + if (isCorrect) { + const btnText = STATUS === COMMONSTATUS.ATTEMPTING ? 'Submitting...' + : 'Confirm'; + button = ( + + ); + } + if (error || badRequest) { + maybeError =
    {error || badRequest}
    ; + } + const confirmTitle = ( +
    + {`Please type the name of your repository to make it ${newVisibility}:`} + {name} +
    + ); + const headingActions = [{ + key: 'cancel', + icon: 'fa-remove', + action: this.toggleConfirmBox + }]; + return ( + + + {confirmTitle} +
    + + {maybeError} + {button} +
    +
    +
    + ); + } + + render() { + const { badRequest, + error, + isPrivate, + numPrivateReposAvailable, + privateRepoLimit, + STATUS } = this.props.visibilityFormStore; + + if (STATUS !== COMMONSTATUS.DEFAULT) { + return this.renderConfirmBox(); + } else { + const newVisibility = isPrivate ? 'public' : 'private'; + let privateDisabled = numPrivateReposAvailable === 0; + let helpText; + const button = ( + + ); + const title = `Make this Repository ${capitalize(newVisibility)}`; + + if (isPrivate) { + helpText = `Public repositories are available to anyone and will ` + + `appear in public search results. `; + } else { + let numLeftText; + if (numPrivateReposAvailable !== null && privateRepoLimit !== null) { + numLeftText = `You are using ` + + `${privateRepoLimit - numPrivateReposAvailable} of ` + + `${privateRepoLimit} private repositories. `; + } + if (privateDisabled) { + helpText = (
    {numLeftText}{this.getBillingLink()}
    ); + } else { + const privateText = `Private repositories are only available to you or members of your organization. `; + helpText =
    {privateText}
    {numLeftText}
    ; + } + } + return ( + + +
    +
    +

    {title}

    +
    +
    +
    + {button} +
    +
    +
    +
    +
    +
    + {helpText} +
    +
    +
    +
    +
    + ); + } + } +} + +export default connectToStores( + VisibilityForm, + [ RepoDetailsVisibilityFormStore ], + function({ getStore }, props) { + return {visibilityFormStore: getStore(RepoDetailsVisibilityFormStore).getState()}; + } +); diff --git a/app/scripts/components/repo/repoSettings/webhooks/AddWebhookForm.css b/app/scripts/components/repo/repoSettings/webhooks/AddWebhookForm.css new file mode 100644 index 0000000000..4915ab4b0f --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/AddWebhookForm.css @@ -0,0 +1,148 @@ +.form { + margin: 12px 0; + padding: 22px; + background: #FBFBFC; + border: 1px solid #C4CDDA; + border-radius: 2px; +} + +.formError { + margin-right: 10px; + color: #DC7D7D; + font-size: 14px; + line-height: 20px; + text-align: right; +} + +.formRow { + display: flex; + justify-content: space-between;; + align-items: center; + flex-wrap: wrap; + margin: 0 -10px; + + &.formRowActions { + justify-content: flex-end; + margin: 0 -5px 0; + + .button { + margin-top: 12px; + } + } +} + +.label { + margin: 0 0 10px; + font-size: 14px; + color: #C4CDDA; + line-height: 20px; + transition: all 100ms ease-in; +} + +input[type=text].input, +input[type=url].input { + display: block; + margin: 0; + padding: 0; + width: 100%; + height: 20px; + border: none; + border-bottom: 1px solid #C4CDDA; + font-size: 14px; + color: #3F5167; + line-height: 20px; + transition: all 100ms ease-in; + + &:focus { + border-bottom-color: #22B8EB; + /*Use box-shadow to thicken bottom border without jumping*/ + box-shadow: 0 1px #22B8EB; + } + + &:not(.input_empty):invalid { + border-bottom-color: #EB2222; + box-shadow: 0 1px #EB2222; + + & + .inputError { + opacity: 1; + } + } +} + +.inputError { + color: #DC7D7D; + margin-top: 1px; + font-size: 10px; + line-height: 14px; + opacity: 0; + transition: opacity 100ms ease-in; +} + +.inputGroup { + flex-grow: 1; + margin: 10px; + width: 200px; + + .label { + position: relative; + margin-top: -20px; + margin-bottom: 0; + transform-origin: bottom left; + } + + .input { + &::placeholder { + opacity: 0; + transition: opacity 100ms ease-in; + } + + &:focus::placeholder { + opacity: 1; + } + + &:not(.input_empty):invalid + .label + .inputError { + opacity: 1; + } + + &:focus + .label, + &:not(.input_empty) + .label { + color: #B2BBC8; + transform: translateY(-20px) scale(0.7); + } + } +} + +.button { + padding: 8px 20px; + margin: 0 5px; + font-size: 14px; + font-weight: 500; + line-height: 20px; + border-radius: 2px; + transition: all 100ms ease-in; + + &:disabled { + opacity: 0.5; + } + + &.buttonPrimary { + background: #22B8EB; + color: #FFFFFF; + border: none; + + &:not(:disabled):hover { + background: #13A3D4; + } + } + + &.buttonSecondary { + background: #FCFDFF; + color: #22B8EB; + border: 1px solid #22B8EB; + + &:not(:disabled):hover { + border-color: #13A3D4; + color: #13A3D4; + } + } +} diff --git a/app/scripts/components/repo/repoSettings/webhooks/AddWebhookForm.jsx b/app/scripts/components/repo/repoSettings/webhooks/AddWebhookForm.jsx new file mode 100644 index 0000000000..3be0d5cb91 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/AddWebhookForm.jsx @@ -0,0 +1,252 @@ +'use strict'; + +import React, { + PropTypes, + Component +} from 'react'; + +import connectToStores from 'fluxible-addons-react/connectToStores'; +import AddWebhookFormStore from 'stores/AddWebhookFormStore'; +import JWTStore from 'stores/JWTStore'; + +import { + DEFAULT, ATTEMPTING, ERROR +} from 'stores/addwebhookformstore/Constants'; + +import addPipeline from 'actions/addPipeline'; +import resetForm from 'actions/resetWebhookForm'; + +const debug = require('debug')('AddWebhookForm.jsx'); +import styles from './AddWebhookForm.css'; + +class AddWebhookForm extends Component { + static propTypes = { + namespace: PropTypes.string.isRequired, + name: PropTypes.string.isRequired, + STATUS: PropTypes.oneOf([DEFAULT, ATTEMPTING, ERROR]), + cancel: PropTypes.func.isRequired, + serverErrors: PropTypes.object + } + + static defaultProps = { + STATUS: DEFAULT, + serverErrors: {} + } + + static contextTypes = { + getStore: PropTypes.func.isRequired, + executeAction: PropTypes.func.isRequired + } + + state = { + form: 'invalid', + pipelineName: 'empty', + hookUrl: 'empty' + } + + componentDidMount() { + this.refs.pipelineName.focus(); + } + + componentWillUnmount() { + this.context.executeAction(resetForm); + } + + componentWillReceiveProps(nextProps) { + if (nextProps.STATUS === ERROR && this.state.form !== 'invalid') { + this.setState({form: 'valid'}); + } + } + + validateForm() { + const valid = this.refs.form.checkValidity(); + this.setState({ + form: valid ? 'valid' : 'invalid' + }); + + return valid; + } + + validateInput(name) { + const input = this.refs[name]; + const value = input.value; + const valid = input.checkValidity(); + + let inputState; + + if(value === '') { + inputState = 'empty'; + } else { + inputState = valid ? 'valid' : 'invalid'; + } + + this.setState({[name]: inputState}); + return valid; + } + + possiblyRenderServerError() { + if (this.props.STATUS !== ERROR) { + return undefined; + } + + const messages = []; + + try { + const response = this.props.serverErrors.response.body; + Object.keys(response).forEach((key) => { + if (key === 'webhooks') { + messages.push(response[key][0].hookUrl[0]); + } else { + messages.push(response[key]); + } + }); + } catch (e) { + messages.push('Something went wrong! Please try again.'); + } + + return ( +
    + {messages.join(
    )} +
    + ); + } + + onInputUpdated(name) { + this.validateInput(name); + this.validateForm(); + } + + onClickCancel(event) { + event.preventDefault(); + this.props.cancel(); + } + + onFormKeyUp(event) { + // Look for press of escape key + if (event.which === 27) { + this.onClickCancel(event); + } + } + + onSubmit(event) { + event.preventDefault(); + + if (this.state.form !== 'valid') { + return; + } + + this.setState({ + form: 'submitting', + serverErrors: null + }); + + const { jwt, namespace, name } = this.props; + + const webhooks = [{hookUrl: this.refs.hookUrl.value}]; + + this.context.executeAction(addPipeline, { + jwt, + namespace, + name, + pipelineName: this.refs.pipelineName.value, + webhooks + }); + } + + render() { + const formClasses = [styles.form]; + const pipelineNameClasses = [styles.input]; + const hookUrlClasses = [styles.input]; + + formClasses.push(styles[`form_${this.state.form}`]); + pipelineNameClasses.push(styles[`input_${this.state.pipelineName}`]); + hookUrlClasses.push(styles[`input_${this.state.hookUrl}`]); + + return ( +
    +
    +
    + + +
    + Must be at least 3 chars +
    +
    +
    + + +
    + Valid URL required +
    +
    +
    +
    + {this.possiblyRenderServerError()} + + +
    +
    + ); + } +} +export default connectToStores( + AddWebhookForm, + [ + AddWebhookFormStore, + JWTStore + ], + ({ getStore }, props) => { + const webhookData = getStore(AddWebhookFormStore).getState(); + const { jwt } = getStore(JWTStore).getState(); + return { + ...webhookData, + jwt + }; + } +); diff --git a/app/scripts/components/repo/repoSettings/webhooks/Pipeline/History.css b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/History.css new file mode 100644 index 0000000000..4f1e25b5ce --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/History.css @@ -0,0 +1,63 @@ +.history { + margin-top: 32px; + padding-top: 32px; + border-top: 1px solid #C4CDDA; + font-size: 12px; +} + +.title { + font-size: 12px; + color: #7A8491; + line-height: 16px; + margin-bottom: 12px; + text-transform: uppercase; +} + +.loading, +.empty { + margin: 0; + text-align: center; + font-style: italic; + color: #7A8491; +} + +.attempts { + width: 100%; + margin: 0; + font-size: 14px; + line-height: 20px; + color: #B2BBC8; + border: none; + background: none; + + & > thead { + background: none; + border: none; + + & > tr > th { + font-weight: 500; + font-size: 13px; + color: #C4CDDA; + } + } + + & > tbody > tr { + background: none; + border: none; + + & > td { + background: none; + color: #B2BBC8; + + &.uuid { + font-family: monospace; + color: #22B8EB; + overflow-wrap: break-word; + word-wrap: break-word; + -ms-word-break: break-all; + word-break: break-all; + word-break: break-word; + } + } + } +} diff --git a/app/scripts/components/repo/repoSettings/webhooks/Pipeline/History.jsx b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/History.jsx new file mode 100644 index 0000000000..77fdb44342 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/History.jsx @@ -0,0 +1,101 @@ +'use strict'; +import React, { Component, PropTypes } from 'react'; +import moment from 'moment'; +import getPipelineHistory from 'actions/getPipelineHistory'; + +import Status from './Status.jsx'; +import styles from './History.css'; + +export default class PipelineHistory extends Component { + static propTypes = { + namespace: PropTypes.string.isRequired, + name: PropTypes.string.isRequired, + slug: PropTypes.string.isRequired, + attempts: PropTypes.arrayOf(PropTypes.shape({ + created: PropTypes.string, + status: PropTypes.string, + uuid: PropTypes.string + })) + } + + static contextTypes = { + executeAction: PropTypes.func.isRequired + } + + state = { + loading: true + } + + componentDidMount() { + const { JWT: jwt, namespace, name, slug } = this.props; + this.context.executeAction(getPipelineHistory, { + jwt, namespace, name, slug + }); + } + + componentWillReceiveProps(nextProps) { + if (nextProps.attempts) { + this.setState({loading: false}); + } + } + + renderPipelineAttempt({ created, status, uuid }) { + return ( + + + {uuid} + + + + + + {moment(created).format('MM/DD/YY HH:mm')} + + + ); + } + + renderEmptyMessage() { + return ( +

    No history for this webhook

    + ); + } + + renderLoadingMessage() { + return ( +

    Loading history...

    + ); + } + + renderLoadingOrHistoryOrEmptyMessage() { + if (this.state.loading) { + return this.renderLoadingMessage(); + } else if (this.props.attempts && this.props.attempts.length) { + return ( + + + + + + + + + + {this.props.attempts.map(this.renderPipelineAttempt, this)} + +
    IDStatusDate & Time
    + ); + } else { + return this.renderEmptyMessage(); + } + } + + render() { + return ( +
    +
    History
    + {this.renderLoadingOrHistoryOrEmptyMessage()} +
    + ); + } +} diff --git a/app/scripts/components/repo/repoSettings/webhooks/Pipeline/Options.css b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/Options.css new file mode 100644 index 0000000000..36cf9c3da7 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/Options.css @@ -0,0 +1,146 @@ +.options { + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; +} + +.options_showMenu { + box-sizing: content-box; + position: relative; + cursor: pointer; + padding: 2px 4px; + width: 4px; + height: 16px; + + /* Use pseudo element + box shadows to create 3 dots */ + &::before { + content: ''; + display: block; + width: 4px; + height: 4px; + border-radius: 2px; + background: #C4CDDA; + box-shadow: 0 6px 0 0 #C4CDDA, 0 12px 0 0 #C4CDDA; + transition: all 100ms ease-in; + } + + &:hover { + &::before { + background: #7A8491; + box-shadow: 0 6px 0 0 #7A8491, 0 12px 0 0 #7A8491; + } + + /* Use pseudo element to cover space behind carrot for better hover ux */ + &::after { + content: ''; + display: block; + box-sizing: content-box; + position: absolute; + right: -8px; + bottom: -8px; + padding: 0 8px 0 20px; + width: 100%; + height: 14px; + } + + .menu { + opacity: 1; + pointer-events: all; + } + } +} + +.menu { + position: absolute; + top: 26px; + right: -12px; + background: #F7F8F9; + box-shadow: 0 0 2px 0 rgba(4, 39, 60, 0.12), 0 2px 2px 0 rgba(4, 39, 60, 0.24); + border-radius: 2px; + opacity: 0; + pointer-events: none; + transition: opacity 100ms ease-in; + + /* Make sure children inherit border radius so they don't bleed over */ + & > *:first-child { + border-top-right-radius: inherit; + border-top-left-radius: inherit; + } + + & > *:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; + } + + /* Carrot on top of menu */ + &::before, + &::after { + content: ''; + position: absolute; + display: block; + right: 12px; + width: 0; + height: 0; + border-style: solid; + border-width: 0 6px 6px 6px; + } + + &::before { + top: -7px; + border-color: transparent transparent rgba(4, 39, 60, 0.06) transparent; + } + + &::after { + top: -6px; + border-color: transparent transparent #F7F8F9 transparent; + } +} + +.menuButton { + padding: 7px 24px; + font-size: 16px; + color: #3F5167; + line-height: 22px; + white-space: nowrap; + transition: background 100ms ease-in; + + &.menuButtonDanger { + color: #EB3E46; + } + + &:hover { + background: #E0E4E7; + } +} + +.history { + cursor: pointer; + font-family: HelveticaNeue; + font-size: 12px; + color: #3F5167; + line-height: 16px; + white-space: nowrap; + + .historyClose { + display: inline-block; + vertical-align: middle; + width: 14px; + height: 14px; + margin: -3px 12px 0 0; + transform: rotate(-45deg); + + svg { + width: inherit; + height: inherit; + fill: #22B8EB; + transition: fill 300ms ease-out; + } + } + + &:hover, + &:focus { + text-decoration: underline; + + svg { + fill: #13a3d4; + } + } +} diff --git a/app/scripts/components/repo/repoSettings/webhooks/Pipeline/Options.jsx b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/Options.jsx new file mode 100644 index 0000000000..4ddaa7d1e6 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/Options.jsx @@ -0,0 +1,68 @@ +'use strict'; +import React, { Component, PropTypes } from 'react'; +import { VelocityTransitionGroup } from 'velocity-react'; +// Some issues getting InlineSVG loaded +const InlineSVG = require('svg-inline-react'); + +import styles from './Options.css'; + +export default class PipelineOptions extends Component { + static propTypes = { + isActive: PropTypes.bool.isRequired, + toggleHistory: PropTypes.func.isRequired, + delete: PropTypes.func.isRequired + } + + renderMenu() { + return ( +
    +
    +
    + View history +
    +
    + Delete +
    +
    +
    + ); + } + + renderHistory() { + return ( +
    +
    + +
    + Hide history +
    + ); + } + + render() { + return ( +
    + { this.props.isActive ? this.renderHistory() : this.renderMenu() } +
    + ); + } +} diff --git a/app/scripts/components/repo/repoSettings/webhooks/Pipeline/Status.css b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/Status.css new file mode 100644 index 0000000000..4949092777 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/Status.css @@ -0,0 +1,26 @@ +.status { + font-size: 12px; + line-height: 16px; + color: #7A8491; + text-transform: uppercase; + + &.clickable { + cursor: pointer; + + &:hover { + text-decoration: underline; + } + } + + i { + margin-right: 5px; + } + + &.status_success { + color: #67CFC0; + } + + &.status_error { + color: #EB3E46; + } +} diff --git a/app/scripts/components/repo/repoSettings/webhooks/Pipeline/Status.jsx b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/Status.jsx new file mode 100644 index 0000000000..88b8c2c7f4 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/Status.jsx @@ -0,0 +1,56 @@ +'use strict'; +import React, { Component, PropTypes } from 'react'; +import FA from 'common/FontAwesome'; + +import styles from './Status.css'; + +export default class Status extends Component { + static propTypes = { + status: PropTypes.oneOf(['init', 'pending', 'success', 'error', 'failure']), + onClick: PropTypes.func + } + + render() { + const klasses = [styles.status]; + + if (this.props.onClick) { + klasses.push(styles.clickable); + } + + let icon, status; + + switch(this.props.status) { + case 'init': + case 'pending': + icon = ; + status = 'pending'; + break; + case 'success': + icon = ; + status = 'success'; + break; + case 'error': + case 'failure': + icon = ; + status = 'error'; + break; + default: + icon = ; + status = 'unknown'; + break; + } + + klasses.push(styles[`status_${status}`]); + + return ( +
    + {icon} + {status} +
    + ); + } +} diff --git a/app/scripts/components/repo/repoSettings/webhooks/Pipeline/index.css b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/index.css new file mode 100644 index 0000000000..15e3ca2970 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/index.css @@ -0,0 +1,80 @@ +.pipeline { + margin: 40px 0; + padding: 32px; + background: #FBFBFC; + border: 1px solid #C4CDDA; + border-radius: 2px; + transition: opacity 140ms ease-in; + + &:first-child { + margin-top: 24px; + } + + &:last-child { + margin-bottom: 0; + } + + &.pipeline_deleting { + opacity: 0.5; + pointer-events: none; + } +} + +.overview { + display: flex; + justify-content: space-between; + align-items: center; + margin: 0 -16px; + + /* Set spacing rhythm */ + & > * { + margin-right: 16px; + margin-left: 16px; + } +} + +.icon { + /* Use content box-sizing to allow children to inherit content dimensions */ + box-sizing: content-box; + display: flex; + justify-content: center; + align-items: center; + padding: 4px; + width: 38px; + height: 38px; + + /* Inherit dimensions of parent */ + & > i, + & > i > svg { + width: inherit; + height: inherit; + } + + & > img { + max-width: 32px; + max-height: 32px; + min-width: 16px; + min-height: 16px; + } +} + +.summaryDetails { + flex: 1; + + .name { + font-size: 18px; + color: #3F5167; + line-height: 24px; + } + + .url { + font-size: 12px; + color: #7A8491; + line-height: 16px; + overflow-wrap: break-word; + word-wrap: break-word; + -ms-word-break: break-all; + word-break: break-all; + word-break: break-word; + } +} diff --git a/app/scripts/components/repo/repoSettings/webhooks/Pipeline/index.jsx b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/index.jsx new file mode 100644 index 0000000000..9eb3fe1179 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/Pipeline/index.jsx @@ -0,0 +1,147 @@ +'use strict'; +import React, { Component, PropTypes } from 'react'; +// Some issues getting InlineSVG loaded +const InlineSVG = require('svg-inline-react'); + +import connectToStores from 'fluxible-addons-react/connectToStores'; +import deletePipeline from 'actions/deletePipeline'; +import PipelineHistoryStore from 'stores/PipelineHistoryStore'; +import JWTStore from 'stores/JWTStore'; +import { VelocityTransitionGroup } from 'velocity-react'; + +import Options from './Options.jsx'; +import History from './History.jsx'; + +import styles from './index.css'; + +class Pipeline extends Component { + static propTypes = { + isActive: PropTypes.bool.isRequired, + name: PropTypes.string.isRequired, + namespace: PropTypes.string.isRequired, + results: PropTypes.object, + pipeline: PropTypes.shape({ + created: PropTypes.string.isRequired, + expectFinalCallback: PropTypes.bool.isRequired, + lastUpdated: PropTypes.string.isRequired, + slug: PropTypes.string.isRequired, + webhooks: PropTypes.arrayOf(PropTypes.shape({ + created: PropTypes.string, + hookUrl: PropTypes.string.isRequired, + lastUpdated: PropTypes.string, + name: PropTypes.string + })) + }) + } + + static contextTypes = { + executeAction: PropTypes.func.isRequired + } + + constructor(props) { + super(props); + this.state = this._getInitialState(props); + this.toggleHistory = this._toggleHistory.bind(this); + this.deletePipeline = this._deletePipeline.bind(this); + } + + _getInitialState(props) { + return { + deleting: false, + isActive: this.props.isActive + }; + } + + _toggleHistory() { + this.setState({isActive: !this.state.isActive}); + } + + _deletePipeline() { + this.setState({deleting: true}); + const { JWT: jwt, namespace, name, pipeline: { slug } } = this.props; + this.context.executeAction(deletePipeline, { + jwt, namespace, name, slug + }); + } + + possiblyRenderHistory() { + if (!this.state.isActive) { + return undefined; + } + + const attempts = this.props.results[this.props.pipeline.slug]; + console.log(attempts); // eslint-disable-line + return ( + + ); + } + + render() { + const pipelineClasses = [styles.pipeline]; + + if (this.state.deleting) { + pipelineClasses.push(styles.pipeline_deleting); + } + + const latestAttempt = this.props.results.length && this.props.results[0]; + + return ( +
    +
    +
    + +
    +
    +
    + {this.props.pipeline.name} +
    +
    + {this.props.pipeline.webhooks[0].hookUrl} +
    +
    + +
    + + { this.possiblyRenderHistory() } + +
    + ); + } +} + +export default connectToStores( + Pipeline, + [ + PipelineHistoryStore, + JWTStore + ], + ({ getStore }, props) => { + const { results } = getStore(PipelineHistoryStore).getState(); + const { jwt } = getStore(JWTStore).getState(); + return { + results, + JWT: jwt + }; + }); diff --git a/app/scripts/components/repo/repoSettings/webhooks/Pipelines.jsx b/app/scripts/components/repo/repoSettings/webhooks/Pipelines.jsx new file mode 100644 index 0000000000..c1f9991311 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/Pipelines.jsx @@ -0,0 +1,61 @@ +'use strict'; +import React, { Component, PropTypes } from 'react'; +import ReactDOM from 'react-dom'; +import { VelocityTransitionGroup } from 'velocity-react'; + +const debug = require('debug')('Webhooks'); + +import Pipeline from './Pipeline/index.jsx'; + +export default class Pipelines extends Component { + static propTypes = { + activeSlug: PropTypes.string, + name: PropTypes.string.isRequired, + namespace: PropTypes.string.isRequired, + pipelines: PropTypes.arrayOf(PropTypes.shape({ + created: PropTypes.string.isRequired, + expectFinalCallback: PropTypes.bool.isRequired, + lastUpdated: PropTypes.string.isRequired, + name: PropTypes.string.isRequired, + slug: PropTypes.string.isRequired, + webhooks: PropTypes.arrayOf(PropTypes.shape({ + created: PropTypes.string, + hookUrl: PropTypes.string.isRequired, + lastUpdated: PropTypes.string, + name: PropTypes.string + })) + })) + } + + renderPipeline(pipeline) { + return ( + + ); + } + + render() { + return ( +
    + + { this.props.pipelines.map(this.renderPipeline.bind(this)) } + +
    + ); + } +} diff --git a/app/scripts/components/repo/repoSettings/webhooks/WebhooksTutorial.css b/app/scripts/components/repo/repoSettings/webhooks/WebhooksTutorial.css new file mode 100644 index 0000000000..55308c2c11 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/WebhooksTutorial.css @@ -0,0 +1,74 @@ +.tutorial { + margin-top: 8px; + text-align: center; +} + +.headline { + margin: 12px 0; + font-size: 14px; + color: #3F5167; + text-transform: uppercase; +} + +.addWebhook { + display: block; + width: 100%; + margin: 12px 0; + padding: 15px; + height: 52px; + background: #FBFBFC; + border: 1px solid #22B8EB; + border-radius: 2px; + transition-duration: 240ms; + + .webhookIcon, + .plusIcon { + position: absolute; + left: 50%; + top: 15px; + height: 22px; + transition: opacity 240ms 10ms ease-out; + } + + .webhookIcon { + width: 73px; + margin-left: calc(73px/-2); + + svg { + width: 73px; + height: 22px; + } + } + + .plusIcon { + width: 22px; + margin-left: -11px; + opacity: 0; + + svg { + width: 22px; + height: 22px; + fill: #FBFBFC; + } + } + + &:hover { + .webhookIcon { + opacity: 0; + } + + .plusIcon { + opacity: 1; + } + } +} + +.details { + position: relative; + margin: 12px auto; + max-width: 330px; + font-style: italic; + font-size: 12px; + color: #7A8491; + line-height: 16px; +} diff --git a/app/scripts/components/repo/repoSettings/webhooks/WebhooksTutorial.jsx b/app/scripts/components/repo/repoSettings/webhooks/WebhooksTutorial.jsx new file mode 100644 index 0000000000..52cd4e5236 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/WebhooksTutorial.jsx @@ -0,0 +1,38 @@ +'use strict'; +import React, { Component, PropTypes } from 'react'; +const { func } = PropTypes; + +// Some issues getting InlineSVG loaded +const InlineSVG = require('svg-inline-react'); + +import styles from './WebhooksTutorial.css'; + +export default class WebhooksTutorial extends Component { + static propTypes = { + addWebhook: func.isRequired + } + render() { + return ( +
    +

    Create a Webhook

    + +

    + A webhook is an HTTP call-back triggered by a specific event. + You can create a single webhook to start and connect multiple + webhooks to further build out your workflow. +

    +
    + ); + } +} diff --git a/app/scripts/components/repo/repoSettings/webhooks/imagePush.svg b/app/scripts/components/repo/repoSettings/webhooks/imagePush.svg new file mode 100644 index 0000000000..d03a7c31d8 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/imagePush.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/app/scripts/components/repo/repoSettings/webhooks/index.css b/app/scripts/components/repo/repoSettings/webhooks/index.css new file mode 100644 index 0000000000..db184f3fd4 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/index.css @@ -0,0 +1,164 @@ +.wrap { + margin: 24px 0; + lost-center: 1260px; + background: #FCFDFF; + border: 1px solid #C4CDDA; + border-radius: 4px; + + a { + color: #22B8EB; + text-decoration: none; + cursor: pointer; + + &:hover { + color: #13A3D4; + text-decoration: underline; + } + } +} + +.header { + lost-column: 1; + padding: 9px 20px; + background: rgba(230,237,243,0.50); + border-bottom: 1px solid #C4CDDA; + border-radius: 4px 4px 0 0; + font-size: 18px; + color: #3F5167; + line-height: 24px; +} + +.leftColumn { + lost-column: 1/4; + position: relative; + padding: 20px 38px 20px 20px; + min-height: 200px; + background: #FBFBFC; + border-right: 1px solid #C4CDDA; + border-radius: 0 0 4px 4px; + + &::before, + &::after { + content: ''; + display: block; + position: absolute; + top: 78px; + width: 0; + height: 0; + border-style: solid; + border-width: 24px 0 24px 18px; + } + + &::before { + right: -19px; + border-color: transparent transparent transparent #C4CDDA; + } + + &::after { + right: -18; + border-color: transparent transparent transparent #FBFBFC; + } +} + +.rightColumn { + lost-column: 3/4; + padding: 20px 20px 20px 30px; +} + +.segmentHeader { + margin-bottom: 10px; + font-size: 12px; + color: #7A8491; + line-height: 16px; + text-transform: uppercase; +} + +.event { + display: block; + margin-top: 45px; + + .eventTitle { + display: flex; + align-items: center; + font-size: 18px; + color: #3F5167; + line-height: 24px; + + i { + flex-shrink: 1; + display: block; + width: 56px; + height: 43px; + margin-right: 12px; + + svg { + width: 100%; + height: 100%; + stroke: #7A8491; + } + } + } + + .eventDescription { + margin-top: 32px; + max-width: 210px; + font-size: 12px; + color: #3F5167; + line-height: 16px; + } +} + +.addWebHook { + display: inline-block; + vertical-align: middle; + padding: 0; + width: 14px; + height: 14px; + background-color: transparent; + border-color: transparent; + padding: 0; + margin: -3px 0 0 12px; + transition: transform 120ms ease-out; + + &:hover, + &:focus, + &:active { + border-color: transparent; + background-color: transparent; + outline: none; + } + + svg { + width: inherit; + height: inherit; + fill: #22B8EB; + transition: fill 300ms ease-out; + } + + &:hover svg, + &:focus svg { + fill: #13a3d4; + } +} + +.addWebHook_rotated { + transform: rotate(-45deg); +} + +.transitionEnter { + opacity: 0; + + &.transitionEnterActive { + opacity: 1; + transition: opacity 240ms ease-in; + } +} + +.transitionLeave { + opacity: 1; + + &.transitionLeaveActive { + opacity: 0; + transition: opacity 100ms ease-in; + } +} diff --git a/app/scripts/components/repo/repoSettings/webhooks/index.jsx b/app/scripts/components/repo/repoSettings/webhooks/index.jsx new file mode 100644 index 0000000000..7a98a84055 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/index.jsx @@ -0,0 +1,204 @@ +'use strict'; + +import React, { + PropTypes, + createClass, + Component, + cloneElement +} from 'react'; + +import find from 'lodash/collection/find'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import { VelocityTransitionGroup } from 'velocity-react'; +// Some issues getting InlineSVG loaded +const InlineSVG = require('svg-inline-react'); + +import WebhooksSettingsStore from 'stores/WebhooksSettingsStore'; + +import AddWebhookForm from './AddWebhookForm'; +import WebhooksTutorial from './WebhooksTutorial'; +import Pipelines from './Pipelines'; + +const debug = require('debug')('webhooks'); +import styles from './index.css'; + +class WebhooksSettings extends Component { + static propTypes = { + history: PropTypes.object.isRequired, + pipelines: PropTypes.arrayOf(PropTypes.shape({ + created: PropTypes.string.isRequired, + expectFinalCallback: PropTypes.bool.isRequired, + lastUpdated: PropTypes.string.isRequired, + name: PropTypes.string.isRequired, + slug: PropTypes.string.isRequired, + webhooks: PropTypes.arrayOf(PropTypes.shape({ + created: PropTypes.string, + hookUrl: PropTypes.string.isRequired, + lastUpdated: PropTypes.string, + name: PropTypes.string + })) + })) + } + + state = { + showForm: false + } + + toggleAddWebhookForm() { + this.setState({showForm: !this.state.showForm}); + } + + hideAddWebhookForm() { + this.setState({showForm: false}); + } + + showAddWebhookForm() { + this.setState({showForm: true}); + } + + renderToggleFormButton() { + const klasses = [styles.addWebHook]; + let title; + + if (this.state.showForm) { + klasses.push(styles.addWebHook_rotated); + title = 'Hide form'; + } else { + title = 'Add new webhook'; + } + + return ( + + ); + } + + possiblyRenderTutorial() { + if (this.state.showForm || + (this.props.pipelines && this.props.pipelines.length)) { + return undefined; + } + + return ( + + ); + } + + possiblyRenderTutorialOrForm() { + let form, tutorial; + + if (this.state.showForm) { + const { namespace, name } = this.props; + form = ( + + ); + } else if (!(this.props.pipelines && this.props.pipelines.length)) { + tutorial = ( + + ); + } + + // We only want to transition the form if there are pipelines + // It looks weird otherwise to swap the form and tutorial with slides + if (this.props.pipelines && this.props.pipelines.length) { + return ( +
    + + { form } + + { tutorial } +
    + ); + } else { + return ( +
    + { form } + { tutorial } +
    + ); + } + } + + possiblyRenderPipelines() { + if (!this.props.pipelines || !this.props.pipelines.length) { + return undefined; + } + + return ( + + ); + } + + render() { + return ( +
    +
    Workflows
    +
    +
    Trigger Event
    + +
    + + Image Pushed +
    +

    + When an image is pushed to this repo, + your workflows will kick off based on + your specified webhooks.  + + Learn More + +

    +
    +
    +
    +
    + Web Hooks + { this.renderToggleFormButton() } +
    + { this.possiblyRenderTutorialOrForm() } + { this.possiblyRenderPipelines() } +
    +
    + ); + } +} + +export default connectToStores( + WebhooksSettings, + [WebhooksSettingsStore], + ({ getStore }, props) => getStore(WebhooksSettingsStore).getState() +); diff --git a/app/scripts/components/repo/repoSettings/webhooks/plus.svg b/app/scripts/components/repo/repoSettings/webhooks/plus.svg new file mode 100644 index 0000000000..e4f2c6f9b4 --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/plus.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/app/scripts/components/repo/repoSettings/webhooks/webhook.svg b/app/scripts/components/repo/repoSettings/webhooks/webhook.svg new file mode 100644 index 0000000000..d714eb8e3e --- /dev/null +++ b/app/scripts/components/repo/repoSettings/webhooks/webhook.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/app/scripts/components/repo/repo_details/BuildDetails.css b/app/scripts/components/repo/repo_details/BuildDetails.css new file mode 100644 index 0000000000..f03141bc02 --- /dev/null +++ b/app/scripts/components/repo/repo_details/BuildDetails.css @@ -0,0 +1,5 @@ +.buildCode { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} \ No newline at end of file diff --git a/app/scripts/components/repo/repo_details/BuildDetails.jsx b/app/scripts/components/repo/repo_details/BuildDetails.jsx new file mode 100644 index 0000000000..ab88dcbe6e --- /dev/null +++ b/app/scripts/components/repo/repo_details/BuildDetails.jsx @@ -0,0 +1,96 @@ +'use strict'; +import React, { PropTypes, Component } from 'react'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import RepoDetailsBuildsStore from '../../../stores/RepoDetailsBuildsStore'; +import BuildStatus from './BuildStatus'; +import SourceRepositoryCard from 'common/SourceRepositoryCard'; +import moment from 'moment'; +import trunc from 'lodash/string/trunc'; +import { + FlexTable, + FlexHeader, + FlexRow, + FlexItem +} from 'common/FlexTable'; +const { func } = PropTypes; +import styles from './BuildDetails.css'; +const debug = require('debug')('RepositoryDetailsTags'); + +class TableItem extends Component { + + _formatDate(ISODateString) { + return ISODateString ? moment(ISODateString, moment.ISO_8601).fromNow() : ''; + } + + renderBuildStatus() { + return ( + + + + ); + } + + showBuildLogs = (e) => { + const { build_code, params, history } = this.props; + const { user, splat } = params; + history.pushState(null, `/r/${user}/${splat}/builds/${build_code}/`); + }; + + render() { + debug(this.props); + const { created_date, last_updated, dockertag_name } = this.props; + return ( + + + {this.renderBuildStatus()} + + {dockertag_name} + {this._formatDate(created_date)} + {this._formatDate(last_updated)} + + ); + } +} + +class BuildDetails extends Component { + + _mkItem = (item) => { + return ( + + ); + } + + render() { + const { provider, repo_web_url } = this.props.autoBuildStore; + return ( +
    +
    +
    + + + Status + Tag + Created + Last Updated + + {this.props.results.map(this._mkItem)} + +
    +
    +
    + +
    +
    + ); + } +} + +export default connectToStores(BuildDetails, + [RepoDetailsBuildsStore], + function({ getStore }, props) { + return getStore(RepoDetailsBuildsStore).getState(); + }); diff --git a/app/scripts/components/repo/repo_details/BuildLogs.css b/app/scripts/components/repo/repo_details/BuildLogs.css new file mode 100644 index 0000000000..1ccb5b3b17 --- /dev/null +++ b/app/scripts/components/repo/repo_details/BuildLogs.css @@ -0,0 +1,8 @@ +.logs { + white-space: pre; + font-family: monospace; + overflow-x: scroll; +} +.buildCode { + margin: 0; +} \ No newline at end of file diff --git a/app/scripts/components/repo/repo_details/BuildLogs.jsx b/app/scripts/components/repo/repo_details/BuildLogs.jsx new file mode 100644 index 0000000000..d245cda496 --- /dev/null +++ b/app/scripts/components/repo/repo_details/BuildLogs.jsx @@ -0,0 +1,117 @@ +'use strict'; +import React, { PropTypes, Component } from 'react'; +import { Link } from 'react-router'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import Card, { Block } from '@dux/element-card'; +import Code from 'common/Code'; +import Markdown from '@dux/element-markdown'; +import RepoDetailsBuildLogsStore from 'stores/RepoDetailsBuildLogs'; +import endsWith from 'lodash/string/endsWith'; +import moment from 'moment'; +import { + FlexTable, + FlexHeader, + FlexItem, + FlexRow +} from 'common/FlexTable'; +import { + FlexTable as Table, + Row, + Header, + Item +} from 'common/TagsFlexTable'; +import styles from './BuildLogs.css'; +const debug = require('debug')('BuildLogs'); + + var status = { + '-2': 'exception', + '-1': 'error', + 0: 'pending', + 1: 'claimed', + 2: 'started', + 3: 'cloned', + 4: 'readme', + 5: 'dockerfile', + 6: 'built', + 7: 'bundled', + 8: 'uploaded', + 9: 'pushed', + 10: 'done' + }; + +class BuildLogs extends Component { + + _formatDate(ISODateString) { + //TODO: Remove this if statement once Highland 2.0 works for prod + //fixes a bug where Highland returns a date without the `Z` UTC indicator + //only in build logs on prod + if (!endsWith(ISODateString, 'Z')) { + return ISODateString ? moment(`${ISODateString}Z`, moment.ISO_8601).fromNow() : ''; + } + return ISODateString ? moment(ISODateString, moment.ISO_8601).fromNow() : ''; + } + + render() { + const { + failure, + readme_contents, + created_at, + build_path, + docker_tag, + build_code, + dockerfile_contents, + source_branch, + logs + } = this.props.build_results; + + let failureAlert = null; + if(failure) { + failureAlert =
    {failure}
    ; + } + return ( +
    + {failureAlert} + +
    + SourceRef + Dockerfile Location + Docker Tag + Build Created + UTC +
    + + {source_branch} + {build_path} + {docker_tag} + {this._formatDate(created_at)} + {created_at} + +
    + + +

    {build_code}

    +
    +
    + + + {readme_contents} + + + + {dockerfile_contents} + + + +

    {logs}

    +
    +
    +
    + ); + } +} + +export default connectToStores(BuildLogs, + [RepoDetailsBuildLogsStore], + function({ getStore }, props) { + return getStore(RepoDetailsBuildLogsStore).getState(); + }); diff --git a/app/scripts/components/repo/repo_details/BuildStatus.css b/app/scripts/components/repo/repo_details/BuildStatus.css new file mode 100644 index 0000000000..c0eb045cc3 --- /dev/null +++ b/app/scripts/components/repo/repo_details/BuildStatus.css @@ -0,0 +1,20 @@ +@import "dux/css/colors.css"; + +.statusWrapper { + cursor: pointer; +} + +.warning { + composes: statusWrapper; + color: var(--warning-color); +} + +.success { + composes: statusWrapper; + color: var(--success-color); +} + +.primary { + composes: statusWrapper; + color: var(--primary-color); +} \ No newline at end of file diff --git a/app/scripts/components/repo/repo_details/BuildStatus.jsx b/app/scripts/components/repo/repo_details/BuildStatus.jsx new file mode 100644 index 0000000000..2be1a661cc --- /dev/null +++ b/app/scripts/components/repo/repo_details/BuildStatus.jsx @@ -0,0 +1,81 @@ +'use strict'; +import React, { PropTypes, Component } from 'react'; +import FA from 'common/FontAwesome'; +import styles from './BuildStatus.css'; +const { number } = PropTypes; + +/** + * possible build status codes + * -2: 'exception', + * -1: 'error', + * 0: 'pending', + * 1: 'claimed', + * 2: 'started', + * 3: 'cloned', + * 4: 'readme', + * 5: 'dockerfile', + * 6: 'built', + * 7: 'bundled', + * 8: 'uploaded', + * 9: 'pushed', + * 10: 'done', + * 11: 'queued' + */ + +export default class BuildStatus extends Component { + static propTypes = { + status: number.isRequired + }; + + render() { + const { status } = this.props; + + switch (status) { + case -2: + case -1: + return ( + + Error + + ); + case 0: + case 1: + case 11: + return ( + + Queued + + ); + case 2: + case 3: + case 4: + case 5: + return ( + + Building + + ); + case 6: + case 7: + case 8: + case 9: + return ( + + Building + + ); + case 10: + return ( + + Success + + ); + default: + return ( + + Unknown + + ); + } + } +} diff --git a/app/scripts/components/repo/repo_details/Dockerfile.css b/app/scripts/components/repo/repo_details/Dockerfile.css new file mode 100644 index 0000000000..ae30aeb782 --- /dev/null +++ b/app/scripts/components/repo/repo_details/Dockerfile.css @@ -0,0 +1,3 @@ +.dockerfile { + overflow-x: auto; +} diff --git a/app/scripts/components/repo/repo_details/Dockerfile.jsx b/app/scripts/components/repo/repo_details/Dockerfile.jsx new file mode 100644 index 0000000000..02c07643d6 --- /dev/null +++ b/app/scripts/components/repo/repo_details/Dockerfile.jsx @@ -0,0 +1,41 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import Card, { Block } from '@dux/element-card'; +import SourceRepositoryCard from 'common/SourceRepositoryCard'; +import RepoDetailsDockerfileStore from '../../../stores/RepoDetailsDockerfileStore'; +var debug = require('debug')('Dockerfile'); +import styles from './Dockerfile.css'; +import Code from 'common/Code'; + +class Dockerfile extends Component { + + static propTypes = { + dockerfile: PropTypes.string.isRequired + } + + render() { + const { provider, repo_web_url } = this.props.autoBuildStore; + return ( +
    +
    + + {this.props.dockerfile} + +
    +
    + +
    +
    + ); + } +} + +export default connectToStores(Dockerfile, + [ + RepoDetailsDockerfileStore + ], + function({ getStore }, props) { + return getStore(RepoDetailsDockerfileStore).getState(); + }); diff --git a/app/scripts/components/repo/repo_details/Info.jsx b/app/scripts/components/repo/repo_details/Info.jsx new file mode 100644 index 0000000000..bd366eaa03 --- /dev/null +++ b/app/scripts/components/repo/repo_details/Info.jsx @@ -0,0 +1,75 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import RepoShortDescription from './info/RepoShortDescription.jsx'; +import RepoFullDescription from './info/RepoFullDescription.jsx'; +import SourceRepositoryCard from 'common/SourceRepositoryCard'; +import PullCommand from './info/PullCommand.jsx'; +import Owner from './info/Owner.jsx'; +import Comments from './info/Comments.jsx'; +const { string, shape, object, bool, number } = PropTypes; + +const debug = require('debug')('RepositoryDetailsInfo'); + + +export default class RepositoryDetailsInfo extends Component { + static propTypes = { + description: string.isRequired, + fullDescription: string.isRequired, + isPrivate: bool.isRequired, + isAutomated: bool.isRequired, + name: string.isRequired, + namespace: string.isRequired, + status: number.isRequired, + user: object, + JWT: string, + canEdit: bool, + autoBuildStore: shape({ + provider: string.isRequired, + repo_web_url: string.isRequired + }) + } + + render() { + const { + namespace, + name, + isAutomated, + JWT, + user + } = this.props; + const { provider, repo_web_url } = this.props.autoBuildStore; + + const pullCommandCard = ; + const ownerCard = ; + let sourceCard = null; + if (isAutomated) { + sourceCard = ; + } + + return ( +
    +
    +
    + + +
    +
    + {pullCommandCard} + {ownerCard} + {sourceCard} +
    +
    +
    +
    + +
    +
    +
    + ); + } + +} diff --git a/app/scripts/components/repo/repo_details/ScannedTag.css b/app/scripts/components/repo/repo_details/ScannedTag.css new file mode 100644 index 0000000000..d577917f10 --- /dev/null +++ b/app/scripts/components/repo/repo_details/ScannedTag.css @@ -0,0 +1,8 @@ +.scanTitle { + font-size: 1.2rem; +} + +/* add extra padding so that borders work */ +.wrapper { + padding: 0.5rem; +} diff --git a/app/scripts/components/repo/repo_details/ScannedTag.jsx b/app/scripts/components/repo/repo_details/ScannedTag.jsx new file mode 100644 index 0000000000..08accb3303 --- /dev/null +++ b/app/scripts/components/repo/repo_details/ScannedTag.jsx @@ -0,0 +1,124 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import Card, { Block } from '@dux/element-card'; +import { connect } from 'react-redux'; +import { createSelector, createStructuredSelector } from 'reselect'; +import { + getComponents, + getComponentsBySeverity, + getLayers, + getScan, + getVulnerabilities, + getVulnerabilitiesByLayer +} from './scannedTag/selectors'; +import { ERROR } from 'reduxConsts'; +import forEach from 'lodash/collection/forEach'; +import ScanHeader from './scannedTag/ScanHeader.jsx'; +import Layer from './scannedTag/Layer.jsx'; +import styles from './ScannedTag.css'; +import { Map } from 'immutable'; +import { getStatus } from 'selectors/status'; + +const { object, array, instanceOf, shape } = PropTypes; + +// TODO: conversion to records +// Right now we're storing only *one* scan in the reducer, therefore all entities +// can be merged in to the scan as we know they all belong to this scan. +// +// This produces a denormalized, nested scan with all entities as the child of the scan. +const getFullScan = createSelector( + [getScan, getLayers, getComponents, getVulnerabilities], + (scan, layers, components, vulns) => ({ + ...scan, + layers, + components, + vulnerabilities: vulns + }) +); + +let mapState = createStructuredSelector({ + componentsBySeverity: getComponentsBySeverity, + scan: getFullScan, + status: getStatus, + vulnerabilitiesByLayer: getVulnerabilitiesByLayer +}); + +/** + * This component is the detail view of particular scan/tag combination, showing + * vulnerability and component information for a tag. + */ +@connect(mapState) +export default class ScannedTag extends Component { + + static propTypes = { + componentsBySeverity: shape({ + critical: array, + major: array, + minor: array, + secure: array + }), + scan: object, + status: instanceOf(Map), + vulnerabilitiesByLayer: object + } + + mkLayer = (layerIndex) => { + const { scan, vulnerabilitiesByLayer } = this.props; + const layer = scan.layers[layerIndex]; + const layerVulnerabilities = vulnerabilitiesByLayer[layerIndex]; + let layerComponents = {}; + //layer.components is an array with ids + forEach(layer.components, c => { + layerComponents[c] = scan.components[c]; + }); + return ( + + ); + }; + + render() { + const { + componentsBySeverity, + params, + namespace, + scan, + status, + vulnerabilitiesByLayer + } = this.props; + const { blobs, reponame, tag, scan_id } = scan; + //TODO change to use redux-simple-router params when we include it + const ns = namespace ? namespace : params.user; + const rn = reponame ? reponame : params.splat; + const tn = tag ? tag : params.tagname; + //No scan_id ==> first scan has failed or is in progress + const scanError = !blobs || !scan_id; + if (status.getIn(['getScanForTag', ns, rn, tn, 'status']) === ERROR || scanError) { + return ( + + +
    Scan results unavailable.
    +
    +
    + ); + } + const layerInfo = {`${reponame}:${tag}`}; + // blobs is an ordered array of layer ids, so we must use that to preserve API ordering + return ( + Scan results for {layerInfo}}> + +
    + + {blobs.map(this.mkLayer)} +
    +
    +
    + ); + } +} diff --git a/app/scripts/components/repo/repo_details/Tags.css b/app/scripts/components/repo/repo_details/Tags.css new file mode 100644 index 0000000000..64cc8c458b --- /dev/null +++ b/app/scripts/components/repo/repo_details/Tags.css @@ -0,0 +1,36 @@ +@import "dux/css/colors.css"; + +.cardHeader { + font-size: 1.2rem; +} + +.secondaryTableHeader { + font-weight: 500; + font-size: 0.9rem; + padding: 0.4rem 0; +} + +.empty { + font-size: 1.25rem; + font-weight: 300; + color: var(--secondary-3); +} + +.inlineBlock { + display: inline-block; +} + +.questionMark { + composes: inlineBlock; + color: #C4CDD9; + cursor: pointer; + font-size: 1.2rem; +} + +.tooltipTitle { + font-weight: 500; +} + +.toggleButtonWrapper { + text-align: center; +} diff --git a/app/scripts/components/repo/repo_details/Tags.jsx b/app/scripts/components/repo/repo_details/Tags.jsx new file mode 100644 index 0000000000..da20e5bd8e --- /dev/null +++ b/app/scripts/components/repo/repo_details/Tags.jsx @@ -0,0 +1,212 @@ +'use strict'; +import React, { PropTypes, Component } from 'react'; +const { array, object, bool, string, number, shape, func } = PropTypes; +import { connect } from 'react-redux'; +import Card, { Block } from '@dux/element-card'; + +import { FlexTable, FlexRow, FlexHeader, FlexItem } from 'common/FlexTable.jsx'; +import ScannedTagRow from './tags/ScannedTagRow.jsx'; +import UnscannedTagRow from './tags/UnscannedTagRow.jsx'; +import styles from './Tags.css'; +import FontAwesome from 'common/FontAwesome'; +import Tooltip from 'rc-tooltip'; +import { createStructuredSelector } from 'reselect'; +import { + getScannedTags, + getScannedTagCount, + getUnscannedTags, + getUnscannedTagCount +} from './tags/selectors'; +import { getStatus } from 'selectors/status'; +import * as tagActions from 'actions/redux/tags.js'; +import { mapActions } from 'reduxUtils'; +import Button from '@dux/element-button'; +import { StatusRecord } from 'records'; +import moment from 'moment'; + +const debug = require('debug')('RepositoryDetailsTags'); + +const mapState = createStructuredSelector({ + scannedTags: getScannedTags, + scannedTagCount: getScannedTagCount, + unscannedTags: getUnscannedTags, + unscannedTagCount: getUnscannedTagCount, + status: getStatus +}); + +/** + * TagDisplay is the new UI for listing tags with vulnerability information from + * nautilus. + * It connects to the redux store and uses redux actions. + */ +@connect(mapState, mapActions(tagActions)) +class TagDisplay extends Component { + + static propTypes = { + actions: shape({ + deleteRepoTag: func + }), + status: object, + + scannedTags: array, + scannedTagCount: number, + unscannedTags: array, + unscannedTagCount: number + } + + state = { + //one of 'unknown', 'show' + showUnscannedTags: 'unknown' + } + + toggleShowUnscannedTags = (e) => { + const { showUnscannedTags } = this.state; + //will be 'unknown' on the first time clicking Show Outdated Tags + this.setState({ + showUnscannedTags: 'show' + }); + } + + mkUnscannedTagRow = (tag) => { + const { status } = this.props; + const tagName = tag.name; + const tagStatus = status.getIn(['deleteRepoTag', tagName], new StatusRecord()); + return ( + + ); + } + + mkUnscannedTagTable = () => { + const { unscannedTags, unscannedTagCount, scannedTagCount } = this.props; + const { showUnscannedTags } = this.state; + if (!unscannedTagCount) { + return null; + } + //Nautilus scan results exist --> show the button instead of the table + if (showUnscannedTags === 'unknown' && scannedTagCount) { + return ( +
    + +
    + ); + } + //Nautilus scan results exist and the button has been pressed to show unscanned tags + if (showUnscannedTags === 'show' && scannedTagCount) { + return ( + + + +
    + Unscanned Tags +
    +
    +
    + +
    Tag Name
    +
    Compressed Size
    +
    Last Updated
    + +
    + {unscannedTags.map(this.mkUnscannedTagRow)} +
    + ); + + } + return ( + + +
    Tag Name
    +
    Compressed Size
    +
    Last Updated
    + +
    + {unscannedTags.map(this.mkUnscannedTagRow)} +
    + ); + } + + mkScannedTagRow = (tag) => { + const { status } = this.props; + const tagName = tag.name; + const tagStatus = status.getIn(['deleteRepoTag', tagName], new StatusRecord()); + return ( + + ); + } + + mkScannedTagTable = () => { + const { scannedTags, scannedTagCount } = this.props; + if (!scannedTagCount) { + return null; + } + const tooltipTitle = `Scanned Images`; + const tooltipText = `Docker supports and maintains a set of tags that are recommended for use based on the most secure and quality images. To view the rest of the tag instances for this repository, view "Unscanned Images".`; + const tooltipContent = ( +
    +
    {tooltipTitle}
    +
    {tooltipText}
    +
    + ); + const questionMark = ( + +
    + +
    +
    + ); + //sort scannedTags by `created_at` date, from most recent to oldest + scannedTags.sort((tag1, tag2) => { + if (moment(tag1.created_at).isSame(tag2.created_at)) { + return moment(tag1.last_updated).isAfter(tag2.last_updated) ? -1 : 1; + } + return moment(tag1.created_at).isAfter(tag2.created_at) ? -1 : 1; + }); + return ( + + + +
    + Scanned Images   + {questionMark} +
    +
    +
    + {scannedTags.map(this.mkScannedTagRow)} +
    + ); + } + + render() { + const { scannedTagCount, unscannedTagCount } = this.props; + + if (!scannedTagCount && !unscannedTagCount) { + return ( + + +
    No tags for this repository.
    +
    +
    + ); + } + + return ( +
    + { this.mkScannedTagTable() } + { this.mkUnscannedTagTable() } +
    + ); + } +} + +export default TagDisplay; diff --git a/app/scripts/components/repo/repo_details/info/Comment.css b/app/scripts/components/repo/repo_details/info/Comment.css new file mode 100644 index 0000000000..a35551d669 --- /dev/null +++ b/app/scripts/components/repo/repo_details/info/Comment.css @@ -0,0 +1,45 @@ +@import "dux/css/colors.css"; +@import "dux/css/box.css"; + +.closeButton { + color: white; + display: inline-block; + background: var(--oil); + border-radius: 100%; + width: 1.5rem; + height: 1.5rem; + text-align: center; + margin-right: .5rem; +} +.commentHead { + display: flex; + margin-bottom: .75rem; +} +.commentDelete { + cursor: pointer; + &:hover { + color: var(--primary-5); + } +} +.avatar { + width: 50px; + height: 50px; + border-radius: var(--global-radius); +} + +.content { + +} + +.name { + color: darken(gray, 30%); + font-weight: 500; +} +.time { + font-size: 0.8rem; + color: lighten(gray, 15%); +} + +.commentInfo { + margin: .5rem 1rem; +} \ No newline at end of file diff --git a/app/scripts/components/repo/repo_details/info/Comment.jsx b/app/scripts/components/repo/repo_details/info/Comment.jsx new file mode 100644 index 0000000000..7ff41577fa --- /dev/null +++ b/app/scripts/components/repo/repo_details/info/Comment.jsx @@ -0,0 +1,76 @@ +'use strict'; + +import styles from './Comment.css'; +import React, { PropTypes, createClass } from 'react'; +import { Link } from 'react-router'; +import moment from 'moment'; +import Card, { Block } from '@dux/element-card'; +import Markdown from '@dux/element-markdown'; +import FA from '../../../common/FontAwesome.jsx'; +import { mkAvatarForNamespace } from 'utils/avatar'; + +var debug = require('debug')('RepositoryComment'); + +var CommentType = PropTypes.shape({ + updated_on: PropTypes.string.isRequired, + created_on: PropTypes.string.isRequired, + comment: PropTypes.string.isRequired, + user: PropTypes.string.isRequired, + id: PropTypes.number.isRequired +}); + +var UserType = PropTypes.shape({ + username: PropTypes.string.isRequired +}); + +var DeleteButton = createClass({ + propTypes: { + deleteRepoComment: PropTypes.func.isRequired + }, + render() { + return ( +
    + +
    + ); + } +}); + +export default createClass({ + displayName: 'RepositoryComment', + propTypes: { + comment: CommentType, + deleteRepoComment: PropTypes.func.isRequired, + user: UserType + }, + render() { + var comment = this.props.comment; + var maybeDeleteButton = null; + + if(this.props.user.username === this.props.comment.user) { + maybeDeleteButton = ; + } + const avatar = mkAvatarForNamespace(this.props.comment.user); + + return ( + + +
    +
    + +
    +
    +
    {comment.user}
    +
    {moment(comment.created_on).fromNow()}
    +
    + {maybeDeleteButton} +
    +
    +
    + {comment.comment} +
    +
    +
    + ); + } +}); diff --git a/app/scripts/components/repo/repo_details/info/Comments.css b/app/scripts/components/repo/repo_details/info/Comments.css new file mode 100644 index 0000000000..c7287ec432 --- /dev/null +++ b/app/scripts/components/repo/repo_details/info/Comments.css @@ -0,0 +1,23 @@ +.header { + font-weight: 500; + font-size: 1.25rem; +} +.addCommentBox { +} +.addCommentBoxTextArea { + color: black; + background: white; + width: 100%; + height: 100px; + resize: none; + &:focus { + background: white; + } +} + +.button { + margin-top: .5rem; +} +.closed { + display: none; +} \ No newline at end of file diff --git a/app/scripts/components/repo/repo_details/info/Comments.jsx b/app/scripts/components/repo/repo_details/info/Comments.jsx new file mode 100644 index 0000000000..2fadb3cbe8 --- /dev/null +++ b/app/scripts/components/repo/repo_details/info/Comments.jsx @@ -0,0 +1,221 @@ +'use strict'; + +import React, { + PropTypes, + createClass +} from 'react'; +import { findDOMNode } from 'react-dom'; +import _ from 'lodash'; +import connectToStores from 'fluxible-addons-react/connectToStores'; + +import RepositoryCommentsStore from '../../../../stores/RepositoryCommentsStore'; +import Comment from './Comment'; +import classnames from 'classnames'; +import addRepoComment from '../../../../actions/addRepoComment.js'; +import getRepoComments from '../../../../actions/getRepoComments.js'; +import deleteRepoComment from '../../../../actions/deleteRepoComment.js'; +import Pagination from '../../../common/Pagination.jsx'; +import { Button } from 'dux'; + +import styles from './Comments.css'; + +var debug = require('debug')('Comments'); + +let mkCommentElement = function(comment) { + return ( + + ); +}; + +var AddCommentButton = createClass({ + displayName: 'AddComment', + contextTypes: { + executeAction: PropTypes.func.isRequired + }, + propTypes: { + JWT: PropTypes.string.isRequired, + commentAdded: PropTypes.func.isRequired + }, + getInitialState: function() { + return { + commentBoxStatus: 'closed', + commentBoxValue: '' + }; + }, + _toggleComment(e){ + e.preventDefault(); + if (this.state.commentBoxStatus === 'open') { + this.setState({ + commentBoxStatus: 'closed', + commentBoxValue: '' + }); + } else { + this.setState({ + commentBoxStatus: 'open' + }, () => { + let node = findDOMNode(this.refs.commentTextArea); + node.focus(); + node.scrollTop = node.scrollHeight; + }); + } + }, + _commentChange(e) { + e.preventDefault(); + this.setState({ + commentBoxValue: e.target.value + }); + }, + _leaveComment(e) { + e.preventDefault(); + var comment = this.state.commentBoxValue; + var repoShortName = this.props.namespace + '/' + this.props.name; + this.setState({ + commentBoxValue: '' + }); + this.context.executeAction(addRepoComment, {jwt: this.props.JWT, repoShortName: repoShortName, comment: comment}); + this.props.commentAdded(); + }, + render() { + const addCommentClass = classnames({ + 'row': true, + [styles.addCommentBox]: true, + [styles[this.state.commentBoxStatus]]: true + }); + + let commentButton = 'Add Comment'; + let buttonSize = 'small'; + let commentButtonIntent = 'primary'; + if (this.state.commentBoxStatus === 'open') { + commentButton = 'Cancel'; + buttonSize = 'tiny'; + commentButtonIntent = 'alert'; + } + return ( +
    +
    +
    + +
    +
    +
    +
    + Add a Comment (accepts markdown) +
    + + ); + const submit = this.updateLongDescription; + return ( + + + +
    + {input} + {maybeError} +
    +
      +
    • + +
    • +
    • + +
    • +
    +
    +
    + +
    +
    + ); + } + + render() { + const { + canEdit, + isEditing, + successfulSave, + fields + } = this.props; + const { longDescription } = this.props.values; + let cardHeading = `Full Description`; + + if (isEditing) { + cardHeading = `Full Description (Optional, Limit 25,000 Characters)`; + return this.renderForm(cardHeading); + } else { + const headingActions = canEdit ? [{ + key: 'edit', + icon: 'fa-edit', + action: this.toggleEditMode + }] : []; + let formattedDescription; + if (!longDescription) { + formattedDescription = ( +
    +

    + Full description is empty for this repo. +

    +
    ); + } else { + formattedDescription = ({longDescription}); + } + const maybeSuccessClass = classnames({ + [styles.successfulSave]: successfulSave + }); + + let maybeSuccess = ; + if (successfulSave) { + maybeSuccess = ( +
    + {fields.longDescription.success} +
    + ); + } + return ( + + +
    + {maybeSuccess} + {formattedDescription} +
    +
    +
    + ); + } + } +} + +export default connectToStores(RepoFullDescription, + [RepoDetailsLongDescriptionFormStore], + function({ getStore }, props) { + return getStore(RepoDetailsLongDescriptionFormStore).getState(); + }); diff --git a/app/scripts/components/repo/repo_details/info/RepoShortDescription.css b/app/scripts/components/repo/repo_details/info/RepoShortDescription.css new file mode 100644 index 0000000000..4f653e3006 --- /dev/null +++ b/app/scripts/components/repo/repo_details/info/RepoShortDescription.css @@ -0,0 +1,32 @@ +@import "dux/css/colors.css"; +@import "dux/css/box.css"; + +input.textArea { + background-color: var(--white); + &:focus { + border: 1px solid var(--primary-1); + background-color: var(--white); + } +} +.text { + margin-bottom: var(--default-margin); +} +input.error { + border: 1px solid var(--primary-5); + &:focus { + border: 1px solid var(--primary-5); + } +} +.errorText { + composes: text; + color: var(--primary-5); +} + +.successText { + composes: text; + color: var(--primary-2); +} + +.successfulSave { + border: 1px solid var(--primary-2); +} \ No newline at end of file diff --git a/app/scripts/components/repo/repo_details/info/RepoShortDescription.jsx b/app/scripts/components/repo/repo_details/info/RepoShortDescription.jsx new file mode 100644 index 0000000000..a300c5d028 --- /dev/null +++ b/app/scripts/components/repo/repo_details/info/RepoShortDescription.jsx @@ -0,0 +1,179 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import attemptChangeShortDescription from 'actions/attemptChangeShortDescription'; +import RepoDetailsShortDescriptionFormStore from 'stores/RepoDetailsShortDescriptionFormStore'; +import shortDescriptionUpdateFormField from 'actions/shortDescriptionUpdateFormField'; +import toggleShortDescriptionEdit from 'actions/toggleShortDescriptionEdit'; +import Card, { Block } from '@dux/element-card'; +import { Button } from 'dux'; +import classnames from 'classnames'; +import styles from './RepoShortDescription.css'; +import SimpleInput from 'common/SimpleInput'; +const { string, object, bool, number, func, shape } = PropTypes; +const debug = require('debug')('RepoShortDescription'); + + +class RepoShortDescription extends Component { + static propTypes = { + canEdit: bool.isRequired, + name: string.isRequired, + namespace: string.isRequired, + JWT: string, + isEditing: bool.isRequired, + successfulSave: bool, + values: shape({ + shortDescription: string + }) + } + + static contextTypes = { + executeAction: func.isRequired + } + + static defaultProps = { + successfulSave: false, + isEditing: false + } + + toggleEditMode = (e) => { + this.context.executeAction(toggleShortDescriptionEdit, { isEditing: !this.props.isEditing }); + } + + onChange = (fieldKey) => { + return (e) => { + this.context.executeAction(shortDescriptionUpdateFormField, { + fieldKey, + fieldValue: e.target.value + }); + }; + } + + updateShortDescription = (event) => { + event.preventDefault(); + const { JWT, + name, + namespace + } = this.props; + const { shortDescription } = this.props.values; + this.context.executeAction(attemptChangeShortDescription, + { + jwt: JWT, + repoShortName: namespace + '/' + name, + shortDescription: shortDescription + }); + } + renderForm = (cardHeading) => { + let maybeError = ; + const shortDesc = this.props.fields.shortDescription; + const currentShortDesc = this.props.values.shortDescription; + const maxChars = 100; + let hasError = false; + if (shortDesc.hasError) { + /* check for error from request (post submit). success is handled by non-edit card */ + maybeError = (
    {shortDesc.error}
    ); + hasError = true; + } else if (currentShortDesc.length > maxChars) { + /* check for typed input that's too long - not caught until submit otherwise */ + const tooMany = currentShortDesc.length - maxChars; + + const msg = `Maximum ${maxChars} characters. You are over the limit by: ${tooMany}`; + maybeError = (
    {msg}
    ); + hasError = true; + } + const intent = hasError ? 'alert' : 'primary'; + const textAreaClass = classnames({ + [styles.textArea]: true, + [styles.error]: hasError + }); + const input = ( + + ); + const submit = this.updateShortDescription; + return ( + + +
    +
    + {input} + {maybeError} +
    +
      +
    • + +
    • +
    • + +
    • +
    +
    +
    +
    +
    +
    + ); + } + + render() { + const { + canEdit, + isEditing, + successfulSave, + fields + } = this.props; + const { shortDescription } = this.props.values; + let cardHeading = `Short Description`; + + if (isEditing) { + cardHeading = `Short Description (Optional, Limit 100 Characters)`; + return this.renderForm(cardHeading); + } else { + let headingActions = canEdit ? [{ + key: 'edit', + icon: 'fa-edit', + action: this.toggleEditMode + }] : []; + let maybeSuccessClass = classnames({ + [styles.successfulSave]: successfulSave + }); + let maybeSuccess = ; + if (successfulSave) { + maybeSuccess = (
    + {fields.shortDescription.success} +
    ); + } + return ( + + +
    + {maybeSuccess} + {shortDescription || 'Short description is empty for this repo.'} +
    +
    +
    + ); + } + } +} + +export default connectToStores(RepoShortDescription, + [RepoDetailsShortDescriptionFormStore], + function({ getStore }, props) { + return getStore(RepoDetailsShortDescriptionFormStore).getState(); + }); diff --git a/app/scripts/components/repo/repo_details/nautilusUtils.js b/app/scripts/components/repo/repo_details/nautilusUtils.js new file mode 100644 index 0000000000..f6a911cda1 --- /dev/null +++ b/app/scripts/components/repo/repo_details/nautilusUtils.js @@ -0,0 +1,63 @@ +'use strict'; + +const keyMirror = require('keymirror'); +import forEach from 'lodash/collection/forEach'; +import trim from 'lodash/string/trim'; + +export const mkComponentId = (component) => { + const { component: name, version } = component; + const id = version ? `${name}:${version}` : `${name}:`; + return trim(id); +}; + +export const mapCvss = (cvss) => { + if (cvss <= 0) { + return 'secure'; + } + if (cvss < 4) { + return 'minor'; + } + if (cvss < 7) { + return 'major'; + } + return 'critical'; +}; + +// Get a map of component key to its highest CVSS score +// { bgaes: 4.5, } +export const getHighestComponentCvss = (components, vulnerabilities) => { + let highestComponentCvss = {}; + forEach(components, (c, compName) => { + let cvssMax = 0; + forEach(c.vulnerabilities, v => { + let { cvss } = vulnerabilities[v]; + if (cvss > cvssMax) { + cvssMax = cvss; + } + }); + highestComponentCvss[compName] = cvssMax; + }); + return highestComponentCvss; +}; + +// Given a list of severities returns the highest severity string using mapCvss +// Usage: +// getHighestSeverity([0.5, 2, 4]) +// getHighestSeverity(...cvssList) +export const getHighestSeverity = (...cvss) => { + if (cvss.length === 0) { + return -1; + } + let maxScore = 0; + for (let i in cvss) { + if (cvss[i] > maxScore) { + maxScore = cvss[i]; + } + } + return mapCvss(maxScore); +}; + +export const consts = keyMirror({ + FAILED: null, + IN_PROGRESS: null +}); diff --git a/app/scripts/components/repo/repo_details/scannedTag/ComponentGrid.css b/app/scripts/components/repo/repo_details/scannedTag/ComponentGrid.css new file mode 100644 index 0000000000..14c5447c8b --- /dev/null +++ b/app/scripts/components/repo/repo_details/scannedTag/ComponentGrid.css @@ -0,0 +1,5 @@ +.componentGrid { + display: flex; + flex-flow: row wrap; + align-content: flex-start; +} diff --git a/app/scripts/components/repo/repo_details/scannedTag/ComponentGrid.jsx b/app/scripts/components/repo/repo_details/scannedTag/ComponentGrid.jsx new file mode 100644 index 0000000000..0112e09fe7 --- /dev/null +++ b/app/scripts/components/repo/repo_details/scannedTag/ComponentGrid.jsx @@ -0,0 +1,70 @@ +'use strict'; + +import React, { Component, PropTypes } from 'react'; +const { object, array, func, string } = PropTypes; +import { mapCvss, getHighestSeverity } from '../nautilusUtils.js'; +import styles from './ComponentGrid.css'; +import Square from './Square'; +import forEach from 'lodash/collection/forEach'; +import { mkComponentId } from '../nautilusUtils'; + +export default class ComponentGrid extends Component { + static propTypes = { + componentsSortedBySeverity: array.isRequired, + onClick: func, + selectedComponent: string, + vulnerabilities: object + } + + static defaultProps = { + selectedComponent: '' + } + + getNumVulnsBySeverity = (component) => { + const { vulnerabilities: vulns } = this.props; + let numVulns = { + critical: 0, + major: 0, + minor: 0, + secure: 0 + }; + forEach(component.vulnerabilities, (v) => { + numVulns[mapCvss(vulns[v].cvss)]++; + }); + return numVulns; + } + + mkComponentSquare = (component) => { + const { selectedComponent, onClick, vulnerabilities: vulns } = this.props; + const componentFullName = mkComponentId(component); + const isSelected = selectedComponent === componentFullName; + const numVulnsBySeverity = this.getNumVulnsBySeverity(component); + let severity = 'secure'; + if (numVulnsBySeverity.critical) { + severity = 'critical'; + } else if (numVulnsBySeverity.major) { + severity = 'major'; + } else if (numVulnsBySeverity.minor) { + severity = 'minor'; + } + + return ( + + ); + } + + render() { + const { componentsSortedBySeverity } = this.props; + return ( +
    + { componentsSortedBySeverity.map(this.mkComponentSquare) } +
    + ); + } +} diff --git a/app/scripts/components/repo/repo_details/scannedTag/Layer.css b/app/scripts/components/repo/repo_details/scannedTag/Layer.css new file mode 100644 index 0000000000..69374b57f3 --- /dev/null +++ b/app/scripts/components/repo/repo_details/scannedTag/Layer.css @@ -0,0 +1,82 @@ +@import 'dux/css/box.css'; +@import 'dux/css/colors.css'; +/* Note: tooltip CSS is globally styled in styles/vender-overrides/rc-tooltip.css */ + +.grey { + color: #CECED9; +} + +.row { + padding: 1rem 0 1rem 1.5rem; + position: relative; +} + +.unselectedRow { + composes: row; + border-top: 1px solid #E4E4E4; +} + +.selectedRow { + composes: row; + border: 1px solid #E4E4E4; + border-radius: var(--global-radius); +} + +/* remove top border for unselected row following a selected row */ +.selectedRow + .unselectedRow { + border-top: none; +} + +.check { + color: #6BCEC0; +} + +.chevron { + color: #CECED9; + cursor: pointer; + display: inline-block; + float: right; + margin: 6px 0; +} + +.layerSize { + composes: grey; + display: inline-block; + font-size: 0.8rem; +} + +.dockerCommandLine { + text-overflow: ellipsis; + overflow: hidden; + width:100%; + display: inline; + margin-right: 0.5rem; + font-size: 1.1rem; + color: #78828F; +} +a .dockerCommandLine { + color: #22b8eb; +} + +.title { + margin-bottom: 0.5rem; +} + +.layerNum { + position: absolute; + left: -5px; + color: #bbb; + top: 2px; + font-weight: 500; +} + +.baseLayerLabel { + background-color: #E7E7E7; + color: var(--jumbo); + border-radius: var(--global-radius); + padding: 0.2rem 0.5rem; +} + +.numVulnerableComps { + margin-right: 0.5rem; +} diff --git a/app/scripts/components/repo/repo_details/scannedTag/Layer.jsx b/app/scripts/components/repo/repo_details/scannedTag/Layer.jsx new file mode 100644 index 0000000000..0ed47f870b --- /dev/null +++ b/app/scripts/components/repo/repo_details/scannedTag/Layer.jsx @@ -0,0 +1,234 @@ +'use strict'; + +import React, { Component, PropTypes } from 'react'; +import ComponentGrid from './ComponentGrid'; +import LayerVulnerabilitiesTable from './LayerVulnerabilitiesTable'; +import size from 'lodash/collection/size'; +import map from 'lodash/collection/map'; +const { object, shape, string, bool, func, number } = PropTypes; +import styles from './Layer.css'; +import FontAwesome from 'common/FontAwesome'; +import ui from 'redux-ui'; +import numeral from 'numeral'; +import forEach from 'lodash/collection/forEach'; +import { getHighestComponentCvss, mapCvss } from '../nautilusUtils.js'; +import Tooltip from 'rc-tooltip'; +import classnames from 'classnames'; +import { VelocityComponent } from 'velocity-react'; +const debug = require('debug')('hub:Layer'); + +// Layer is a row in the table of layers for a ScannedTag +@ui({ + state: { + selectedComponent: '', + isExpanded: false, + // if a component is selected and unselected, should the table still show? + shouldReturnToExpanded: false + } +}) +export default class Layer extends Component { + //vulnerabilities and components are just for this layer + static propTypes = { + ui: shape({ + selectedComponent: string, + isExpanded: bool, + shouldReturnToExpanded: bool + }), + updateUI: func, + + layerNum: number, + components: object.isRequired, + layer: object.isRequired, + vulnerabilities: object.isRequired + } + + truncateStringInMiddle = (str, max = 25, sep = `...`) => { + //don't truncate if it's less than max chars + const sepLen = sep.length; + const len = str.length; + if (len < max || sepLen > max) { return str; } + const n = -0.5 * (max - len - sepLen); + const center = len / 2; + return str.substr(0, center - n) + sep + str.substr(len - center + n); + } + + mkTitleRow = () => { + const { components, layer, vulnerabilities, ui: { isExpanded } } = this.props; + const truncateAtChars = 45; + let titleText = layer.docker_command_line; + if (titleText.length > truncateAtChars) { + titleText = this.truncateStringInMiddle(layer.docker_command_line, truncateAtChars); + } + //add link to clickable rows + let title =
    { titleText }
    ; + if (size(layer.components)) { + title = ( + +
    + { titleText } +
    +
    + ); + } + //add tooltip + const instruction = ( + { layer.docker_command_line }
    } + placement='top' + mouseEnterDelay={ 0.1 } + mouseLeaveDelay={ 0.3 } + align={ { overflow: { adjustY: 0 } } }> + { title } + + ); + const layerSize =
    Compressed size: { numeral(layer.size).format('0.0b') }
    ; + let chevron; + if (size(components)) { + chevron = ( +
    + + + +
    + ); + } + return
    { instruction }{ layerSize } { chevron }
    ; + } + + mkLine = (numVulnerableComps, numComps, layerType) => { + let vulnComps, baseLayer; + if (!numComps) { + vulnComps = ( + + No components in this layer + + ); + } else if (!numVulnerableComps && numComps) { + vulnComps = ( + + +  No vulnerable components + + ); + } else if (numVulnerableComps === 1) { + vulnComps = 1 vulnerable component; + } else if (numComps) { + //nothing for layers with no components + vulnComps = {numVulnerableComps} vulnerable components; + } + + // add base layer tag if relevant + if (layerType === 'BASE') { + baseLayer = Base Layer; + } + return
    {vulnComps} {baseLayer}
    ; + } + + toggleExpanded = () => { + const { updateUI } = this.props; + const { selectedComponent, isExpanded, shouldReturnToExpanded } = this.props.ui; + if (!!selectedComponent && isExpanded) { + //clear selected component when closing + updateUI('selectedComponent', ''); + } + updateUI('shouldReturnToExpanded', !shouldReturnToExpanded); + updateUI('isExpanded', !isExpanded); + } + + selectComponent = (componentId) => { + const { updateUI } = this.props; + const { isExpanded, shouldReturnToExpanded } = this.props.ui; + if (!isExpanded && !!componentId) { + updateUI('isExpanded', true); + } + //close the layer if it was closed before you selected then unselected a component + if (isExpanded && !componentId && !shouldReturnToExpanded) { + updateUI('isExpanded', false); + } + updateUI('selectedComponent', componentId); + } + + viewAll = () => { + const { updateUI } = this.props; + const { selectedComponent } = this.props.ui; + //can only be triggered when isExpanded && selectedComponent !== '' + updateUI('selectedComponent', ''); + } + + sortComponentsBySeverity = (highestComponentCvss) => { + //layer may not have any components + const { components } = this.props; + if (!size(components)) { + return []; + } + return map(components, (c, key) => { + return { ...c, key }; + }).sort( (c1, c2) => { + return highestComponentCvss[c2.key] - highestComponentCvss[c1.key]; + }); + } + + getNumVulnerableComponents = (highestComponentCvss) => { + const { components } = this.props; + let numVulnComps = 0; + forEach(components, (c, key) => { + //get the component's highest cvss and the severity of it + if (mapCvss(highestComponentCvss[key]) !== 'secure') { + numVulnComps++; + } + }); + return numVulnComps; + } + + render() { + const { selectedComponent, isExpanded } = this.props.ui; + const { components, layer, vulnerabilities } = this.props; + // map of { componentName: highestCvss } + const highestComponentCvss = getHighestComponentCvss(components, vulnerabilities); + const componentsSortedBySeverity = this.sortComponentsBySeverity(highestComponentCvss); + //nothing displayed for non-base layers with no components + let maybeLine, maybeTable; + const numComps = size(components); + if (numComps && isExpanded) { + maybeTable = ( + + ); + } + if (!isExpanded) { + const numVulnerableComponents = this.getNumVulnerableComponents(highestComponentCvss); + maybeLine = this.mkLine(numVulnerableComponents, numComps, layer.type); + } + let maybeGrid; + //text is displayed instead of table when there are no components (#NOP) + if (numComps) { + maybeGrid = ( + + ); + } + const rowClasses = classnames({ + 'row': true, + [styles.unselectedRow]: !isExpanded, + [styles.selectedRow]: isExpanded + }); + return ( +
    +
    + { (this.props.layerNum + 1) } + { this.mkTitleRow() } + { maybeLine } + { maybeTable } +
    +
    + { maybeGrid } +
    +
    + ); + } +} diff --git a/app/scripts/components/repo/repo_details/scannedTag/LayerVulnerabilitiesTable.css b/app/scripts/components/repo/repo_details/scannedTag/LayerVulnerabilitiesTable.css new file mode 100644 index 0000000000..fc36086c1e --- /dev/null +++ b/app/scripts/components/repo/repo_details/scannedTag/LayerVulnerabilitiesTable.css @@ -0,0 +1,61 @@ +.grey { + color: #B1B5B9; +} + +hr.border { + color: #E4E4E4; + margin: 0.5rem 0 0.5rem; +} + +.headerText { + composes: grey; + text-transform: uppercase; + margin: 0.5rem 0 0.25rem; + font-weight: 500; + font-size: 0.85rem; +} + +.critical { + color: #EB3E46; +} + +.major { + color: #FF8546; +} + +.minor { + color: #FFC458; +} + +.secure { + color: #D3DFDD; +} + +.licenseType { + composes: grey; + font-size: 0.8rem; +} + +.severity { + text-align: right; +} + +.vulnerabilityLines { + margin-bottom: 0.25rem; +} + +.viewAll { + composes: grey; + border-top: 1px solid #C4CDDA; + border-bottom: 1px solid #C4CDDA; + text-align: center; + padding: 0.5rem 0; + cursor: pointer; + text-transform: uppercase; + font-size: 0.85rem; + margin-top: 0.5rem; +} + +.wrapWords { + word-wrap: break-word; +} diff --git a/app/scripts/components/repo/repo_details/scannedTag/LayerVulnerabilitiesTable.jsx b/app/scripts/components/repo/repo_details/scannedTag/LayerVulnerabilitiesTable.jsx new file mode 100644 index 0000000000..5b860ece99 --- /dev/null +++ b/app/scripts/components/repo/repo_details/scannedTag/LayerVulnerabilitiesTable.jsx @@ -0,0 +1,162 @@ +'use strict'; + +import React, { Component, PropTypes } from 'react'; +const { object, bool, array, func, string } = PropTypes; +import styles from './LayerVulnerabilitiesTable.css'; +import { mapCvss, mkComponentId } from '../nautilusUtils.js'; +import forEach from 'lodash/collection/forEach'; +import capitalize from 'lodash/string/capitalize'; +import FontAwesome from 'common/FontAwesome'; +import classnames from 'classnames'; +import Tooltip from 'rc-tooltip'; + +export default class LayerVulnerabilitiesTable extends Component { + static propTypes = { + componentsSortedBySeverity: array.isRequired, + selectedComponent: string, + isExpanded: bool, + viewAll: func, + vulnerabilities: object.isRequired + } + + static defaultProps = { + selectedComponent: '' + } + + mkHeader = () => { + return ( +
    + +
    Component
    +
    Vulnerability
    +
    Severity
    +
    +
    + ); + } + + mkComponentArea = (fullName, license, license_type) => { + return ( +
    +
    { fullName }
    +
    + { `${license}:${capitalize(license_type)} License` } +
    +
    + ); + } + + mkVulnerabilityArea = (fullName, vulns) => { + if (!vulns.length) { + return
    No known vulnerabilities
    ; + } + return vulns.map( v => { + const tooltipContent = ( +
    +
    { v.cve }
    +
    { v.summary }
    +
    + ); + return ( + + + + ); + }); + } + + mkSeverityArea = (fullName, vulns) => { + if (!vulns.length) { + let classes = classnames({ + [styles.secure]: true, + [styles.vulnerabilityLines]: true, + [styles.severity]: true + }); + return
    N/A
    ; + } + return vulns.map( v => { + let classes = classnames({ + [styles[v.severity]]: true, + [styles.vulnerabilityLines]: true, + [styles.severity]: true + }); + return ( +
    + { capitalize(v.severity) } +
    + ); + }); + } + + mkComponentRow = (component) => { + const { + license, + license_type, + component: name, + version, + vulnerabilities + } = component; + const { selectedComponent, vulnerabilities: layerVulnerabilities } = this.props; + const id = mkComponentId(component); + // only render this row if there is NOT a selected component OR this is the selected component + let content; + if (!selectedComponent || selectedComponent === id) { + const fullName = version ? `${name} ${version}` : name; + const componentArea = this.mkComponentArea(fullName, license, license_type); + let componentVulns = []; + forEach(vulnerabilities, (v) => { + const vuln = layerVulnerabilities[v]; + //add severity key to vuln object: ex. severity: 'minor' + componentVulns.push({ ...vuln, severity: mapCvss(vuln.cvss)}); + }); + //sort component vulnerabilities by cvss so most vulnerable is first + componentVulns.sort((v1, v2) => v2.cvss - v1.cvss); + const vulnerabilityArea = this.mkVulnerabilityArea(fullName, componentVulns); + const severityArea = this.mkSeverityArea(fullName, componentVulns); + content = ( +
    +

    +
    {componentArea}
    +
    {vulnerabilityArea}
    +
    {severityArea}
    +
    + ); + } + return content; + } + + render() { + const { + componentsSortedBySeverity, + selectedComponent, + isExpanded, + viewAll + } = this.props; + let viewAllSection; + if (selectedComponent) { + viewAllSection = ( +
    + { `View All `} +
    + ); + } + return ( +
    + { this.mkHeader() } + { componentsSortedBySeverity.map(this.mkComponentRow) } + { viewAllSection } +
    + ); + } +} diff --git a/app/scripts/components/repo/repo_details/scannedTag/ScanHeader.css b/app/scripts/components/repo/repo_details/scannedTag/ScanHeader.css new file mode 100644 index 0000000000..6ecdfbf0e3 --- /dev/null +++ b/app/scripts/components/repo/repo_details/scannedTag/ScanHeader.css @@ -0,0 +1,50 @@ +@import 'dux/css/colors.css'; + +/* Top section with vulnerability counts */ +.verticalSpacing { + line-height: 1.2rem; +} + +.headerRow { + padding-bottom: 1rem; +} + +.vulnerabilityText { + composes: verticalSpacing; + font-size: 1.2rem; + padding-bottom: 0.5rem; +} + +.feedback { + composes: verticalSpacing; + text-align: right; +} + +.feedbackLink { + color: var(--secondary-5); +} + +/* same color as layer titles */ +.lastScanned { + color: #78828f; +} + +.inlineBlock { + display: inline-block; +} + +.bigCheck { + composes: inlineBlock; + color: #6bcec0; + padding-right: 1rem; +} + +/* Layers and Components section */ +.tableHeader { + border-top: 1px solid #E4E4E4; + padding: 0.5rem 0; +} + +.componentsTitle { + padding-left: 1rem; +} diff --git a/app/scripts/components/repo/repo_details/scannedTag/ScanHeader.jsx b/app/scripts/components/repo/repo_details/scannedTag/ScanHeader.jsx new file mode 100644 index 0000000000..5b33a5ff5f --- /dev/null +++ b/app/scripts/components/repo/repo_details/scannedTag/ScanHeader.jsx @@ -0,0 +1,64 @@ +'use strict'; + +import React from 'react'; +import styles from './ScanHeader.css'; +import capitalize from 'lodash/string/capitalize'; +import size from 'lodash/collection/size'; +import FontAwesome from 'common/FontAwesome'; +import moment from 'moment'; +import { consts } from '../nautilusUtils'; + +const ScanHeader = ({ scan, componentsBySeverity }) => { + const { critical, major, minor, secure } = componentsBySeverity; + const { reponame, tag, sha256sum, completed_at, latest_scan_status } = scan; + const numTotalComponents = critical.length + major.length + minor.length + secure.length; + const numVulnerableComponents = numTotalComponents - secure.length; + const components = numTotalComponents === 1 ? `component` : `components`; + const isOrAre = numVulnerableComponents === 1 ? `is` : `are`; + const lastScanned = latest_scan_status === consts.IN_PROGRESS ? `New scan in progress, showing results from ${moment(completed_at).fromNow()}` : `Scanned ${moment(completed_at).fromNow()}`; + let vulnText, vulnArea; + if (!numVulnerableComponents) { + vulnText =
    Your image is clean! No known vulnerabilities were found.
    ; + vulnArea = ( +
    +
    + +
    +
    +
    {vulnText}
    +
    {lastScanned}
    +
    +
    + ); + } else { + vulnText = `${numVulnerableComponents} of ${numTotalComponents} ${components} ${isOrAre} vulnerable`; + vulnArea = ( +
    +
    {vulnText}
    +
    {lastScanned}
    +
    + ); + } + const feedback = ( + + Provide Feedback + + ); + return ( +
    +
    +
    + {vulnArea} +
    +
    {feedback}
    +
    +
    +
    Layers
    +
    Components
    +
    +
    + ); +}; + +export default ScanHeader; diff --git a/app/scripts/components/repo/repo_details/scannedTag/Square.css b/app/scripts/components/repo/repo_details/scannedTag/Square.css new file mode 100644 index 0000000000..fccd037205 --- /dev/null +++ b/app/scripts/components/repo/repo_details/scannedTag/Square.css @@ -0,0 +1,59 @@ +.square { + margin-right: 1px; + margin-bottom: 1px; + width: 50px; + height: 50px; + cursor: pointer; + user-select: none; +} + +.square:hover { + border: 1px solid black; +} + +.solid { + opacity: 1; +} + +.faded { + opacity: 0.4; +} + +.outline { + border: 1px solid black; +} + +.component { + color: #B1B5B9; + text-transform: uppercase; + font-weight: 500; + font-size: 0.85rem; +} + +.tooltipSquare { + display: inline-block; + width: 11px; + height: 11px; + vertical-align: middle; + margin-right: .25rem; +} + +.vulnLineWrapper { + padding-top: 0.25rem; +} + +.critical { + background-color: #EB3E46; +} + +.major { + background-color: #FF8546; +} + +.minor { + background-color: #FFC458; +} + +.secure { + background-color: #D3DFDD; +} diff --git a/app/scripts/components/repo/repo_details/scannedTag/Square.jsx b/app/scripts/components/repo/repo_details/scannedTag/Square.jsx new file mode 100644 index 0000000000..abc557fd80 --- /dev/null +++ b/app/scripts/components/repo/repo_details/scannedTag/Square.jsx @@ -0,0 +1,110 @@ +'use strict'; + +import React, { Component, PropTypes } from 'react'; +const { object, bool, func, shape, oneOf, number } = PropTypes; +import classnames from 'classnames'; +import styles from './Square.css'; +import capitalize from 'lodash/string/capitalize'; +import Tooltip from 'rc-tooltip'; +import { mkComponentId } from '../nautilusUtils.js'; +const severities = ['critical', 'major', 'minor', 'secure']; + +export default class Square extends Component { + static propTypes = { + component: object.isRequired, + isSelected: bool, + isLayerSelected: bool, + numVulnsBySeverity: shape({ + critical: number, + major: number, + minor: number + }), + onClick: func.isRequired, + severity: oneOf(severities) + } + + static defaultProps = { + isSelected: false, + isLayerSelected: false, + severity: 'secure' + } + + onClick = (e) => { + const { isSelected, component } = this.props; + if (isSelected) { + //unselect component + this.props.onClick(''); + } else { + // Note: this is the ID that normalizr uses to refer to components + this.props.onClick(mkComponentId(component)); + } + } + + mkTooltipContent = () => { + const { component, version } = this.props.component; + const { critical, major, minor } = this.props.numVulnsBySeverity; + let vulnList = ( +
    +
    { this.mkTooltipVulnLine('critical', critical) }
    +
    { this.mkTooltipVulnLine('major', major) }
    +
    { this.mkTooltipVulnLine('minor', minor) }
    +
    + ); + if (!critical && !major && !minor) { + vulnList =
    { this.mkTooltipVulnLine('secure') }
    ; + } + return ( +
    +
    COMPONENT
    +
    { `${component} ${version}` }
    + { vulnList } +
    + ); + } + + // Create line with square for inside tooltip, ex: `[] 4 Critical Vulnerabilities` + mkTooltipVulnLine = (severity, num) => { + if (!num && severity !== 'secure') { + return null; + } + const v = num === 1 ? `Vulnerability` : `Vulnerabilities`; + const squareClasses = classnames({ + [styles[severity]]: true, + [styles.tooltipSquare]: true + }); + const text = severity === 'secure' ? `No Known Vulnerabilities` : `${num} ${capitalize(severity)} ${v}`; + return ( +
    +   + { text } +
    + ); + } + + render() { + const { component, version } = this.props.component; + const tooltipId = `square-${component}-${version}`; + const tooltipContent = this.mkTooltipContent(); + const { isLayerSelected, isSelected, severity } = this.props; + const squareClasses = classnames({ + [styles.square]: true, + //layer is not selected or this component is selected + [styles.solid]: !isLayerSelected || isSelected, + //another component is selected + [styles.faded]: isLayerSelected && !isSelected, + [styles.outline]: isSelected, + [styles[severity]]: true + }); + return ( + +
    +   +
    +
    + ); + } +} diff --git a/app/scripts/components/repo/repo_details/scannedTag/selectors.js b/app/scripts/components/repo/repo_details/scannedTag/selectors.js new file mode 100644 index 0000000000..ddfdd32924 --- /dev/null +++ b/app/scripts/components/repo/repo_details/scannedTag/selectors.js @@ -0,0 +1,85 @@ +'use strict'; + +import { Map } from 'immutable'; +import { createSelector } from 'reselect'; +import { mapCvss, getHighestSeverity } from '../nautilusUtils.js'; +import values from 'lodash/object/values'; +import forEach from 'lodash/collection/forEach'; + + +// Returns the specific tag's scan for the current route +export const getScan = state => { + // When requesting the scan from the API we only ever get one scan back. + // This means that to get our scan we use the first value in our scan object. + // TODO: When we move to redux-simple-router we can use the router's state + // to create the object key as you'd expect. + const vals = values(state.scans.get('scan', new Map()).toJS()); + if (vals.length === 0) { + return null; + } + return vals[0]; +}; + +export const getVulnerabilities = (state) => + state.scans.get('vulnerability', new Map()).toJS(); + +export const getComponents = (state) => + state.scans.get('component', new Map()).toJS(); + +export const getLayers = (state) => + state.scans.get('blob', new Map()).toJS(); + +/** + * Returns a JS object containing component keys sorted into severity adjectives + * @return object {critical: [CompKey, CompKey], major: [], minor: [], secure: []} + */ +export const getComponentsBySeverity = createSelector( + [getComponents, getVulnerabilities], + (comps, vulns) => { + let map = { + critical: [], + major: [], + minor: [], + secure: [] + }; + //for each component in this scan get all the vulnerability cvss scores in an array + //and return the highest + forEach(comps, (componentDetail, componentKey) => { + //componentDetail.vulnerabilities is either null or has vuln keys + const { vulnerabilities } = componentDetail; + if (vulnerabilities === null || !vulnerabilities.length) { + map.secure.push(componentKey); + } else { + let cvssScores = []; + forEach(vulnerabilities, (v) => { + cvssScores.push(vulns[v].cvss); + }); + map[getHighestSeverity(...cvssScores)].push(componentKey); + } + }); + return map; + } +); + +/** + * Returns a JS object containing layer.index as keys (sha is not unique), + * with an object containing only that layer's vulnerabilities as the value. + * The object with vulnerabilies will be a subset of all vulnerabilities + * @return object { 0: [Vuln, Vuln], 1: [Vuln], ... } + */ +export const getVulnerabilitiesByLayer = createSelector( + [getLayers, getComponents, getVulnerabilities], + (layers, components, vulnerabilities) => { + let map = {}; + forEach(layers, l => { + let layerVulnerabilities = {}; + forEach(l.components, c => { + forEach(components[c].vulnerabilities, v => { + layerVulnerabilities[v] = vulnerabilities[v]; + }); + }); + map[l.index] = layerVulnerabilities; + }); + return map; + } +); diff --git a/app/scripts/components/repo/repo_details/tags/DeleteTagArea.css b/app/scripts/components/repo/repo_details/tags/DeleteTagArea.css new file mode 100644 index 0000000000..fda8ff4288 --- /dev/null +++ b/app/scripts/components/repo/repo_details/tags/DeleteTagArea.css @@ -0,0 +1,22 @@ +@import "dux/css/box.css"; +@import "dux/css/colors.css"; + +.confirmDelete { + color: var(--primary-5); +} +.confirmDelete:hover { + color: color(var(--primary-5) blackness(15%)); +} + +.delete { + color: var(--secondary-5); + transition: color .15s ease-in-out; + align-self: center; +} +.delete:hover { + color: var(--primary-5); +} + +.error { + color: var(--primary-5); +} diff --git a/app/scripts/components/repo/repo_details/tags/DeleteTagArea.jsx b/app/scripts/components/repo/repo_details/tags/DeleteTagArea.jsx new file mode 100644 index 0000000000..4eb3ecff56 --- /dev/null +++ b/app/scripts/components/repo/repo_details/tags/DeleteTagArea.jsx @@ -0,0 +1,70 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import { ATTEMPTING, ERROR } from 'reduxConsts'; +const { func, instanceOf } = PropTypes; +import styles from './DeleteTagArea.css'; +import FA from 'common/FontAwesome'; +import { StatusRecord } from 'records'; +const debug = require('debug')('hub:deleteTagArea'); + +export default class DeleteTagArea extends Component { + // default status comes from StatusRecord + static propTypes = { + status: instanceOf(StatusRecord), + deleteTag: func + } + + state = { + confirmingDelete: false + } + + confirmDelete = (e) => { + this.setState({ + confirmingDelete: true + }); + } + + cancelConfirm = () => { + this.setState({ + confirmingDelete: false + }); + } + + render() { + const { deleteTag, status: { status } } = this.props; + const { confirmingDelete } = this.state; + let content; + if (status === ERROR) { + content = ( +
    + Deletion Failed +
    + ); + } else if (status === ATTEMPTING) { + content = ( +
    + Deleting  +
    + ); + } else if (confirmingDelete) { + content = ( + + ); + } else { + content = ( + + + + ); + } + return content; + } +} diff --git a/app/scripts/components/repo/repo_details/tags/ErrorBar.css b/app/scripts/components/repo/repo_details/tags/ErrorBar.css new file mode 100644 index 0000000000..0faaf05e1d --- /dev/null +++ b/app/scripts/components/repo/repo_details/tags/ErrorBar.css @@ -0,0 +1,9 @@ +@import 'dux/css/colors.css'; + +.bar { + height: 100%; + width: 100%; + display: inline-block; + background-color: var(--iron); + user-select: none; +} diff --git a/app/scripts/components/repo/repo_details/tags/ErrorBar.jsx b/app/scripts/components/repo/repo_details/tags/ErrorBar.jsx new file mode 100644 index 0000000000..f277767452 --- /dev/null +++ b/app/scripts/components/repo/repo_details/tags/ErrorBar.jsx @@ -0,0 +1,10 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import styles from './ErrorBar.css'; + +export default class ErrorBar extends Component { + render() { + return
     
    ; + } +} diff --git a/app/scripts/components/repo/repo_details/tags/InProgressBar.css b/app/scripts/components/repo/repo_details/tags/InProgressBar.css new file mode 100644 index 0000000000..29bb491b77 --- /dev/null +++ b/app/scripts/components/repo/repo_details/tags/InProgressBar.css @@ -0,0 +1,9 @@ +@import 'dux/css/colors.css'; + +.gradient { + height: 100%; + width: 100%; + display: inline-block; + user-select: none; + background-image: repeating-linear-gradient(-45deg, var(--iron), var(--iron) 12px, var(--base) 0, var(--base) 24px); +} diff --git a/app/scripts/components/repo/repo_details/tags/InProgressBar.jsx b/app/scripts/components/repo/repo_details/tags/InProgressBar.jsx new file mode 100644 index 0000000000..85be1df782 --- /dev/null +++ b/app/scripts/components/repo/repo_details/tags/InProgressBar.jsx @@ -0,0 +1,10 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import styles from './InProgressBar.css'; + +export default class InProgressBar extends Component { + render() { + return
     
    ; + } +} diff --git a/app/scripts/components/repo/repo_details/tags/ScannedTagRow.css b/app/scripts/components/repo/repo_details/tags/ScannedTagRow.css new file mode 100644 index 0000000000..5ae99cd0c0 --- /dev/null +++ b/app/scripts/components/repo/repo_details/tags/ScannedTagRow.css @@ -0,0 +1,41 @@ +.lineSpacing { + line-height: 1rem; +} + +.linePadding { + padding-bottom: 0.5rem; +} + +.smallText { + font-size: 0.9rem; +} + +.green { + color: #7DCCC0; +} + +.grey { + color: #7A8492; +} + +.icon { + margin-right: 0.5rem; +} + +.tagSize { + composes: lineSpacing; + composes: smallText; + color: #CECED9; +} + +.tagName { + composes: lineSpacing; + margin-right: 0.5rem; + font-size: 1.2rem; +} + + +.vulnerabilityBarWrapper { + height: 1rem; + width: 350px; +} diff --git a/app/scripts/components/repo/repo_details/tags/ScannedTagRow.jsx b/app/scripts/components/repo/repo_details/tags/ScannedTagRow.jsx new file mode 100644 index 0000000000..77f7379be5 --- /dev/null +++ b/app/scripts/components/repo/repo_details/tags/ScannedTagRow.jsx @@ -0,0 +1,174 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import { Link } from 'react-router'; +const { func, object, shape, string, number, bool, instanceOf } = PropTypes; +import DeleteTagArea from './DeleteTagArea'; +import { FlexRow, FlexItem } from 'common/FlexTable.jsx'; +import VulnerabilityBar from './VulnerabilityBar'; +import InProgressBar from './InProgressBar'; +import ErrorBar from './ErrorBar'; +import bytesToSize from '../../../utils/bytesToSize'; +const debug = require('debug')('ScannedTagRow'); +import FontAwesome from 'common/FontAwesome'; +import classnames from 'classnames'; +import styles from './ScannedTagRow.css'; +import { StatusRecord } from 'records'; +import moment from 'moment'; +import { consts } from '../nautilusUtils'; + +//Renders a tag row for the Tags table with Nautilus Scan information +export default class ScannedTagRow extends Component { + + static propTypes = { + actions: shape({ + deleteRepoTag: func + }), + + tag: shape({ + name: string.isRequired, + full_size: number, + critical: number, + healthy: number, + major: number, + minor: number + }), + JWT: string.isRequired, + name: string.isRequired, + namespace: string.isRequired, + canEdit: bool.isRequired, + status: instanceOf(StatusRecord) + } + + static defaultProps = { + canEdit: false + } + + deleteTag = (e) => { + const { JWT, name, namespace, tag, actions } = this.props; + const tagName = tag.name; + actions.deleteRepoTag({ JWT, namespace, name, tagName }); + } + + render = () => { + const { + tag, + canEdit, + namespace, + name: repoName, + status + } = this.props; + const { + name, + full_size, + last_scanned, + critical, + healthy: secure, + major, + minor, + latest_scan_status + } = tag; + // this is the default value, indicating that no scan results exist + const isFirstScan = moment(last_scanned).isSame('0001-01-01T00:00:00Z'); + // A scan is in progress or failed but we have stale results to show + const scanInProgress = latest_scan_status === consts.IN_PROGRESS && !isFirstScan; + // A scan is in progress or failed and we don't have prior results to show + const newScanInProgress = latest_scan_status === consts.IN_PROGRESS && isFirstScan; + const newScanFailed = latest_scan_status === consts.FAILED && isFirstScan; + + const numVulnerableComponents = critical + major + minor; + const vulnerabilityTextClass = classnames({ + [styles.lineSpacing]: true, + [styles.grey]: true + }); + const vulnerabilityIconClass = classnames({ + [styles.lineSpacing]: true, + [styles.green]: !numVulnerableComponents, + [styles.grey]: numVulnerableComponents || newScanInProgress || newScanFailed, + [styles.icon]: true + }); + let icon, text, bar, lastScanned, titleLink; + if (newScanInProgress) { + icon = 'fa-refresh'; + text = `Scanning image for vulnerabilities...`; + bar = ; + lastScanned = `Scan in progress...`; + titleLink = name; + } else if (newScanFailed) { + icon = 'fa-minus-circle'; + text = `Could not complete image scan`; + bar = ; + lastScanned = `Scan failed`; + titleLink = name; + } else { + const numVulns = numVulnerableComponents ? 'vulnerabilities' : 'no known vulnerabilities'; + text = `This image has ${numVulns}`; + icon = numVulnerableComponents ? 'fa-exclamation-circle' : 'fa-check'; + bar = ( + + ); + //Do not expose refresh scanner failure if scan results exist + lastScanned = scanInProgress ? `New scan in progress...` : `Scanned ${moment(last_scanned).fromNow()}`; + titleLink = {name}; + } + const vulnerabilityArea = ( +
    +
    + + + + + {text} + +
    +
    + {bar} +
    +
    + ); + const lastScannedClasses = classnames({ + [styles.lineSpacing]: true, + [styles.smallText]: true, + [styles.grey]: true + }); + const tagNameClasses = classnames({ + [styles.tagName]: true, + [styles.grey]: newScanInProgress || newScanFailed + }); + const titleArea = ( +
    +
    + + {titleLink} + + + Compressed size: {bytesToSize(full_size)} + +
    +
    + {lastScanned} +
    +
    + ); + let deleteArea; + if (canEdit) { + deleteArea = ( + + ); + } + + return ( + + {titleArea} + {vulnerabilityArea} + {deleteArea} + + ); + } +} diff --git a/app/scripts/components/repo/repo_details/tags/UnscannedTagRow.jsx b/app/scripts/components/repo/repo_details/tags/UnscannedTagRow.jsx new file mode 100644 index 0000000000..5baac35de8 --- /dev/null +++ b/app/scripts/components/repo/repo_details/tags/UnscannedTagRow.jsx @@ -0,0 +1,72 @@ +'use strict'; +import React, { PropTypes, Component } from 'react'; +const { func, object, shape, string, number, bool, instanceOf } = PropTypes; +import DeleteTagArea from './DeleteTagArea'; +import { FlexRow, FlexItem } from 'common/FlexTable.jsx'; +import bytesToSize from '../../../utils/bytesToSize'; +const debug = require('debug')('UnscannedTagRow'); +import { StatusRecord } from 'records'; +import moment from 'moment'; + +//Renders a tag row for the Tags table that does not have Nautilus Scan information +export default class UnscannedTagRow extends Component { + static propTypes = { + actions: shape({ + deleteRepoTag: func + }), + + tag: shape({ + name: string.isRequired, + full_size: number + }), + JWT: string.isRequired, + name: string.isRequired, + namespace: string.isRequired, + canEdit: bool.isRequired, + status: instanceOf(StatusRecord) + } + + static defaultProps = { + canEdit: false + } + + deleteTag = (e) => { + const { JWT, name, namespace, tag } = this.props; + const tagName = tag.name; + this.props.actions.deleteRepoTag({ JWT, namespace, name, tagName }); + } + + render() { + const { + tag, + canEdit, + namespace, + name: repoName, + status + } = this.props; + const { name, full_size, last_updated } = tag; + + let deleteArea; + if (canEdit) { + deleteArea = ( + + ); + } + + const lastUpdated = last_updated ? moment(last_updated).fromNow() : `Unavailable`; + + return ( + + {name} + {bytesToSize(full_size)} + {lastUpdated} + + {deleteArea} + + + ); + } +} diff --git a/app/scripts/components/repo/repo_details/tags/VulnerabilityBar.jsx b/app/scripts/components/repo/repo_details/tags/VulnerabilityBar.jsx new file mode 100644 index 0000000000..7baff85afa --- /dev/null +++ b/app/scripts/components/repo/repo_details/tags/VulnerabilityBar.jsx @@ -0,0 +1,65 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +const { number } = PropTypes; + +export default class VulnerabilityBar extends Component { + static propTypes = { + critical: number, + secure: number, + major: number, + minor: number + } + + getStyle = (severity, num, total) => { + const colors = { + critical: `#E8404B`, + major: `#FD854E`, + minor: `#FED954`, + secure: `#7DCCC0` + }; + + let width; + if (total) { + width = num / total * 100; + } else if (severity === 'secure'){ + width = 100; + } else { + width = 0; + } + + return { + width: `${width}%`, + backgroundColor: colors[severity], + display: `inline-block`, + height: `100%`, + userSelect: 'none' + }; + + } + + render() { + const { + critical, + secure, + major, + minor + } = this.props; + const total = critical + secure + major + minor; + const criticalStyle = this.getStyle('critical', critical, total); + const majorStyle = this.getStyle('major', major, total); + const minorStyle = this.getStyle('minor', minor, total); + const secureStyle = this.getStyle('secure', secure, total); + const wrapperStyle = { width: `100%` }; + + return ( +
    +
     
    +
     
    +
     
    +
     
    +
    + ); + + } +} diff --git a/app/scripts/components/repo/repo_details/tags/selectors.js b/app/scripts/components/repo/repo_details/tags/selectors.js new file mode 100644 index 0000000000..07cc2e5104 --- /dev/null +++ b/app/scripts/components/repo/repo_details/tags/selectors.js @@ -0,0 +1,65 @@ +'use strict'; + +import { createSelector } from 'reselect'; +import { Map, List } from 'immutable'; +import filter from 'lodash/collection/filter'; +import size from 'lodash/collection/size'; +import map from 'lodash/collection/map'; +import values from 'lodash/object/values'; + + +// Returns all repository tags (unordered) +export const getRepoTags = (state) => { + const reponame = state.repos.get('name', ''); + const namespace = state.repos.get('namespace', ''); + // We need to use toJS() to deeply convert tags from immutable to objects. + // We also return an array because getScannedTags and getUnscannedTags return + // arrays - keeping things consistent. + return values(state.tags.getIn([namespace, reponame, 'tags'], new Map()).toJS()); +}; + +// Returns all repository tags in the order of the hub API +// Note: This does _not_ return any tags that are returned by nautilus but not hub +// so we use the getRepoTags for the scannedTag selector +export const getRepoTagsInOrder = (state) => { + const reponame = state.repos.get('name', ''); + const namespace = state.repos.get('namespace', ''); + // We need to use toJS() to deeply convert tags from immutable to objects. + // We also return an array because getScannedTags and getUnscannedTags return + // arrays - keeping things consistent. + let orderedTags = state.tags.getIn([namespace, reponame, 'result'], []); + if (orderedTags.toArray) { + orderedTags = orderedTags.toArray(); + } + const tags = state.tags.getIn([namespace, reponame, 'tags'], new Map()).toJS(); + return map(orderedTags, (tagId) => tags[tagId]); +}; + + +// Returns only tags which have been scanned by nautilus +export const getScannedTags = createSelector( + [getRepoTags], + (tags) => { + // If the tag has a 'healthy' key then this has been scanned by nautilus + return filter(tags, (tag) => tag.healthy !== undefined); + } +); +// Number of tags scanned by nautilus +export const getScannedTagCount = createSelector( + [getScannedTags], + (tags) => size(tags) +); + +// getUnscannedTags returns only tags **not** scanned by nautilus +export const getUnscannedTags = createSelector( + [getRepoTagsInOrder], + (tags) => { + // If healthy is undefined this tag only has a hub response + return filter(tags, (tag) => tag.healthy === undefined); + } +); + +export const getUnscannedTagCount = createSelector( + [getUnscannedTags], + (tags) => size(tags) +); diff --git a/app/scripts/components/repo/store-promotion.js b/app/scripts/components/repo/store-promotion.js new file mode 100644 index 0000000000..13645dc176 --- /dev/null +++ b/app/scripts/components/repo/store-promotion.js @@ -0,0 +1,106 @@ +'use strict'; + +module.exports = { + STORE_OFFICIAL_REPONAME_ID_MAP: { + busybox: '061eb9c1-aeec-4ec8-8c4b-ba30ae1d5b47', + telegraf: 'f031f47c-6f88-4c21-a31a-20be46809d37', + consul: 'fec1f6b9-0a26-49b7-990b-d001a3496cc6', + sourcemage: '983e7005-65f1-4ff0-833e-a2edce972d88', + nuxeo: '139c1693-dc39-42cd-8104-cdf838504954', + mysql: '3083290a-203f-4c04-b2de-cc057959d2c9', + piwik: '40157634-cee7-462f-9927-27d734de3a28', + ros: '4e84c2be-5bb3-40f8-8854-8901e496d576', + 'buildpack-deps': '9e56c286-5b40-4838-89fe-fd513c9c3bd6', + 'hello-world': 'f35b81c7-b96a-45d3-809d-99eef381e71f', + sonarqube: '3f8fc4ce-eb8e-40ad-88ba-69e97299c64f', + celery: '4a239159-e3cf-42b1-b16f-6a9a8555285f', + neurodebian: '63dbd2e1-f29e-498b-8b16-1477770ae733', + glassfish: '4dfbd2c4-46dd-4674-8595-433594514a69', + erlang: '06fabd5a-6420-4209-a756-3d3355b3c672', + cirros: 'e3d3b771-35d3-45fe-92af-3f8bbd56cb40', + postgres: '022689bf-dfd8-408f-9e1c-19acac32e57b', + python: '1ae86987-df14-4741-9433-d9602a4da995', + crux: '8319429c-874d-4cfa-9dde-b861f7245eab', + pypy: '91db8014-64b0-4417-9429-e8128e04191c', + alpine: 'e7e5dbc4-2103-4b7c-9409-b0ca32ce3d83', + memcached: 'deec12eb-5792-49d2-919e-0b861bb910cd', + rabbitmq: 'fa7625b4-fdca-4b48-b078-692f6451965a', + orientdb: '7a741b7c-b96a-44ce-b64d-d0b59e6a7803', + chronograf: 'c3749997-031b-4ced-9f0b-cb4d15b6a6a1', + centos: 'd5052416-4069-4619-8597-ba61df35ba6f', + hipache: '12bafabf-353e-47ad-a416-44d827874489', + kibana: '41105537-6820-4448-908b-4ac7b31be0c2', + 'websphere-liberty': 'cacdc40b-0fed-4221-952a-18b0b8a3500b', + redis: '1f6ef28b-3e48-4da1-b838-5bd8710a2053', + 'mongo-express': 'e89a86ce-9988-4ee1-ada9-228925730018', + lightstreamer: 'b0766515-2ca5-4ea2-9120-713cab78d0f7', + gazebo: 'e42e1e00-1168-4815-b951-6ee5bae86d58', + kapacitor: 'f310b81d-5c23-4936-880d-027ffe296557', + influxdb: '2053499a-fe59-495d-a024-518311223f3f', + maven: '3e44be96-02cf-427e-bdbe-f108ec3be831', + odoo: 'f351cb39-4574-44e7-afa6-b3cc87390041', + notary: '7cb50ac7-d119-4ec7-a276-cad5154fb67e', + solr: 'f4e3929d-d8bc-491e-860c-310d3f40fff2', + logstash: '6464c97c-8e9c-492c-8a35-27620300a6cc', + thrift: '579aa075-9d28-4ae5-9966-357b96f70550', + haproxy: '85c386ff-85a7-4d61-b309-5901f625c36f', + drupal: '680b2b97-bc91-44fc-9437-73748b0a8f0a', + mono: '4234a761-444b-4dea-a6b3-31bda725c427', + joomla: 'e17a7172-1f32-4191-83ba-606f354cce16', + elasticsearch: '1090e442-627e-4bf2-b29a-555f57a64ecd', + clojure: '800b3c7e-3b83-4af5-ab84-b57086887339', + 'rakudo-star': '2a6a7106-f60e-495a-b085-e0496e23b72e', + traefik: '0319de97-4b7f-4a74-a260-5d027ec8cee0', + elixir: '4e418a43-2be9-44fd-8640-9dbb82c369a2', + irssi: 'cb02bc13-349b-4aad-9b2e-6045c16d9c4c', + julia: 'b228ffc7-3d8c-46c5-9e2d-4101e2b9629a', + jruby: 'c90a0b81-88c5-437a-87b2-38c9a398451e', + haskell: '74b1a6b9-c84a-4221-891d-18d28f1798e5', + neo4j: '5f0be9a7-f5d7-4974-9c0e-78c33484e79c', + httpd: '3574ef8c-86e4-40ed-a705-3a52d9786bde', + php: '9c2c5426-0cca-4a30-a450-b2961541c6dc', + java: '199a18b1-511b-47fd-b287-a41555fafb9f', + bonita: 'c37b224a-dec9-4dbe-b18a-5f1789766409', + jetty: 'd88c12a5-0ca7-4358-aef0-c759b0e5290a', + rails: 'a3ed7866-8446-4221-b86d-67507eb6be3e', + perl: '5241d150-6793-4ca8-a392-51098722f672', + swarm: '8ea4fd22-82ac-4ec8-b89d-018cb0944d72', + redmine: 'dfd4330b-0b3a-479c-8bbc-8b4cad6235b8', + wordpress: 'c14a56d6-07e4-464b-b71c-4b24dc7f1836', + tomee: 'afc9cbe9-8325-4609-ad48-cc891f1e0002', + photon: '45053cf9-0044-46cc-9748-d6d01a548dd3', + 'r-base': 'f2e50720-cada-432f-85a5-1ade438d537b', + oraclelinux: '505eac14-101f-44de-b80f-d79743a2288d', + ruby: '0f900dcb-7e32-45e4-b095-6dfa2f5b597b', + iojs: 'c3a93fc8-ef57-47df-ad12-6e443cd93f61', + rethinkdb: '6e5e7f5d-52fa-4598-a8fc-f1911a873ac0', + mongo: '9147d1b7-a686-4e38-8ecd-94a47f5da9cf', + golang: '3e4f3e51-3930-4dd8-975c-517705d9d4e7', + mageia: '179f8859-4966-4750-a2a9-5cd203556556', + owncloud: 'a66e9029-57d7-4aef-89b0-a98987e8dbf2', + cassandra: '53ad54dd-9bd8-48cd-89b4-fc1d5fdfa6cc', + gcc: '06ad851d-f666-47d3-9ef3-e90535c141ec', + fedora: 'a5648d34-aacd-4599-ab72-79662aa09df2', + couchdb: '263ad544-d7c7-4892-8244-fe78b6231265', + arangodb: '806abe10-8cee-451b-856b-57bcf0fdf6d0', + jenkins: 'd55eda09-d7f0-47b0-8780-3407f2f9142c', + hylang: '62cb43d8-bf5b-4115-8408-ff1412ead82e', + node: 'e6658267-cc55-421e-b5be-5e69460fb0d1', + percona: '176b92e3-b122-422c-96f0-d518bffe9bd5', + registry: 'd93c7069-a612-4019-ade6-8c3b0a73acd9', + mariadb: '1712cb54-62e1-405b-a973-1492552c9bb9', + debian: '40efd176-3c0a-4460-9f94-fc98ca92362f', + ghost: '57aa97f1-9868-4936-906c-b83d78cfaf4f', + opensuse: '99f9bd45-4c65-4e45-aa36-234e9150efc6', + tomcat: '3d5f71ad-2cc0-467f-ab6a-351e7adf404e', + django: '65765d71-d893-407d-a707-486c7381dfbf', + backdrop: 'aa66b4ed-fd75-4a87-87a7-c173c740a42f', + docker: '995677a1-1f6a-4e2e-929a-fde926abbd95', + ubuntu: '414e13de-f1ba-40d0-9867-08f2e5884b3f', + nginx: '37b1dde7-a3e7-463a-a0e3-d8be2b136292', + sentry: '788f45b7-2701-4244-90e4-3f85aef116d8', + couchbase: '881296c9-606f-4861-91b6-26a31ef52618', + crate: 'dfac6fed-98d7-4c5d-b338-fb6930c62c69', + nats: '59c6aa2f-dcca-4f2c-8c30-2ea2326feab2' + } +}; diff --git a/app/scripts/components/repositories/AutoBuildSetupForm.css b/app/scripts/components/repositories/AutoBuildSetupForm.css new file mode 100644 index 0000000000..c078308f01 --- /dev/null +++ b/app/scripts/components/repositories/AutoBuildSetupForm.css @@ -0,0 +1,49 @@ +@import "dux/css/box.css"; +@import "dux/css/colors.css"; + +.errorText { + white-space: pre; +} + +.input { + margin-right: var(--default-margin); +} + +.formContainer { + margin-top: var(--default-margin); +} + +.error { + color: var(--primary-5); + font-size: .875rem; + margin-bottom: 0.3rem; +} + +/* TODO: this is also used in EnterpriseTrialForm.css | a candidate to be in colors.css */ +.label { + color: #7a8491; + font-weight: 500; + sup { + font-size: 1rem; + vertical-align: text-bottom; + } +} + +.customizeLabel { + composes: label; + margin-bottom: 0.5rem; +} + +.floatRight { + float: right; + margin-right: 1rem; +} + +.globalError { + composes: error; + composes: floatRight; +} + +.select { + border-radius: var(--global-radius); +} \ No newline at end of file diff --git a/app/scripts/components/repositories/AutoBuildSetupForm.jsx b/app/scripts/components/repositories/AutoBuildSetupForm.jsx new file mode 100644 index 0000000000..19d03c80af --- /dev/null +++ b/app/scripts/components/repositories/AutoBuildSetupForm.jsx @@ -0,0 +1,410 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +import findIndex from 'lodash/array/findIndex'; +import includes from 'lodash/collection/includes'; +import omit from 'lodash/object/omit'; +import map from 'lodash/collection/map'; +import AutoBuildTagsInput from './AutoBuildTagsInput.jsx'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import RepositoryNameInput from 'common/RepositoryNameInput.jsx'; +import SimpleTextArea from 'common/SimpleTextArea.jsx'; +import AutobuildStore from '../../stores/AutobuildStore'; +import AutobuildConfigStore from '../../stores/AutobuildConfigStore'; +import AutobuildSourceRepositoriesStore from '../../stores/AutobuildSourceRepositoriesStore'; +import RepoStore from '../../stores/RepositoryPageStore'; +import UserStore from '../../stores/UserStore'; +import createAutobuild from '../../actions/createAutobuild'; +import updateAutobuildFormField from '../../actions/updateAutobuildFormField.js'; +import getSettingsData from 'actions/getSettingsData'; +import { PageHeader } from 'dux'; +import AlertBox from 'common/AlertBox'; +import Card, { Block } from '@dux/element-card'; +import Button from '@dux/element-button'; +import { validateRepositoryName } from '../utils/validateRepositoryName'; +import { STATUS as COMMONSTATUS } from '../../stores/common/Constants'; +import Markdown from '@dux/element-markdown'; + +const { + ATTEMPTING +} = COMMONSTATUS; + +const buildTagsClientSideError = 'No empty strings allowed for docker tag (or) source tag/branch name specification.'; + +import styles from './AutoBuildSetupForm.css'; + +const { + array, + bool, + func, + number, + object, + oneOf, + shape, + string +} = PropTypes; + +var AutoBuildSetupForm = React.createClass({ + contextTypes: { + executeAction: func.isRequired + }, + propTypes: { + user: object.isRequired, + JWT: string.isRequired, + ownedNamespaces: array.isRequired, + configStore: shape({ + description: string, + isPrivate: oneOf(['private', 'public']).isRequired, + name: string.isRequired, + namespace: string.isRequired, + sourceRepoName: string.isRequired, + STATUS: string.isRequired + }), + sourceRepositories: shape({ + type: string.isRequired + }) + }, + getInitialState: function() { + return { + isActive: true, + buildTags: this.defaultBuildTags, + clientSideError: '', + advancedMode: false + }; + }, + /*eslint-disable camelcase*/ + + /* + * By default, if the input is empty for source tag/branch name, send the string: '{sourceref}' & 'master' + * By default, if the input is empty for docker tag name, send the string with regex for all matches & 'latest' + */ + defaultBuildTags: [ + { + id: 'tag-0', + name: 'latest', + source_type: 'Branch', + source_name: 'master', + dockerfile_location: '/' + }, + { + id: 'tag-1', + name: '{sourceref}', + source_type: 'Branch', + source_name: '/^([^m]|.[^a]|..[^s]|...[^t]|....[^e]|.....[^r]|.{0,5}$|.{7,})/', + dockerfile_location: '/' + } + ], + getBuildTagsToSend: function() { + let bTags = this.state.buildTags; + return map(bTags, (tag) => { + return omit(tag, 'id'); + }); + }, + /*eslint-enable camelcase */ + _handleCreate: function(evt) { + evt.preventDefault(); + const { username } = this.props.user; + const { buildTags, isActive } = this.state; + const { description, isPrivate, name, namespace, sourceRepoName } = this.props.configStore; + const { type } = this.props.sourceRepositories; + + const params = this.props.params; + const sourceRepoFallback = `${params.sourceRepoNamespace}/${params.sourceRepoName}`; + + if (!validateRepositoryName(name.toLowerCase())) { + //check if the repo name is valid | client side check + this.setState({ + clientSideError: `No spaces and special characters other than '.' and '-' are allowed. +Repository names should not begin/end with a '.' or '-'.` + }); + } else { + + var newAutobuild = { + user: username, + namespace: namespace, + name: name.toLowerCase(), + description: description, + is_private: isPrivate === 'private', + build_name: sourceRepoName.toLowerCase() || sourceRepoFallback.toLowerCase(), + provider: type.toLowerCase(), + active: isActive, + tags: this.getBuildTagsToSend() + }; + + this.context.executeAction(createAutobuild, {JWT: this.props.JWT, autobuildConfig: newAutobuild}); + } + }, + _onActiveStateChange: function(e) { + this.setState({isActive: !this.state.isActive}); + }, + _getTagIndex: function(id) { + return findIndex(this.state.buildTags, function(tag) { + return (tag.id === id); + }); + }, + _setTagState: function(id, prop, value) { + let bTags = this.state.buildTags; + bTags[this._getTagIndex(id)][prop] = value; //find tag and update property + this.setState({ + buildTags: bTags + }); + }, + _onTagRemoved: function(id) { + //Remove tag, when user removes it from the form + let bTags = this.state.buildTags; + bTags.splice(this._getTagIndex(id), 1); + this.setState({ + buildTags: bTags + }); + }, + _onTagAdded: function(tag) { + let bTags = this.state.buildTags; + bTags.push(tag); + this.setState({ + buildTags: bTags + }); + }, + _resetBuildTagsError: function() { + //Reset clientSideError on change + if (this.state.clientSideError === buildTagsClientSideError) { + this.setState({ + clientSideError: '' + }); + } + }, + _onSourceNameChange: function(tagId, e) { + let sourceName = e.target.value; + let sourceType = this.state.buildTags[this._getTagIndex(tagId)].sourceType; + if (sourceName === '' && sourceType && sourceType === 'Branch') { + sourceName = '/^([^m]|.[^a]|..[^s]|...[^t]|....[^e]|.....[^r]|.{0,5}$|.{7,})/'; + } else if (sourceName === '' && sourceType && sourceType === 'Tag') { + sourceName = '/.*/'; + } else { + this._resetBuildTagsError(); + //Strip trailing and leading spaces. If we end up with empty string, throw an error. + if (sourceName.trim() === '') { + this.setState({ + clientSideError: buildTagsClientSideError + }); + } + } + this._setTagState(tagId, 'source_name', sourceName.trim()); + }, + _onSourceTypeChange: function(tagId, e) { + this._setTagState(tagId, 'source_type', e.target.value); + }, + _onDockerfileLocationChange: function(tagId, e) { + this._setTagState(tagId, 'dockerfile_location', e.target.value); + }, + _onTagChange: function(tagId, e) { + let tagName = e.target.value; + if (tagName === '') { + tagName = '{sourceref}'; + } + this._setTagState(tagId, 'name', tagName.trim()); + }, + _updateForm(fieldKey) { + return (e) => { + if (fieldKey === 'namespace') { + this.setState({ + currentNamespace: e.target.value + }); + this.context.executeAction(getSettingsData, { + JWT: this.props.JWT, + username: e.target.value, + repoType: 'autobuild' + }); + } else if (fieldKey === 'name' && this.state.clientSideError) { + this.setState({ + clientSideError: '' + }); + } + this.context.executeAction(updateAutobuildFormField, { + fieldKey, + fieldValue: e.target.value + }); + }; + }, + componentWillReceiveProps: function(nextProps) { + const { name, namespace, success, STATUS } = nextProps.configStore; + //If autobuild was created successfully + if (STATUS.SUCCESSFUL || success) { + this.props.history.pushState(null, `/r/${namespace}/${name.toLowerCase()}/`); + } + }, + customTagsConfig: function() { + this.setState({ + advancedMode: true, + buildTags: [] + }); + }, + defaultTagsConfig: function() { + this.setState({ + advancedMode: false, + buildTags: this.defaultBuildTags + }); + }, + render: function() { + + const { + description, + error, + isPrivate, + name, + namespace, + success, + STATUS + } = this.props.configStore; + + /* start error/success handling */ + let maybeSuccess = ; + if (success) { + maybeSuccess = {success}; + } + + let nameError; + let nameErrorContent = error.dockerhub_repo_name; + if(nameErrorContent) { + nameError = nameErrorContent; + } + + let descriptionError; + if(error.description) { + descriptionError = error.description; + } + + let privateRepoError; + if(error.is_private) { + privateRepoError = error.is_private; + } + + let buildTagsError; + if (error.buildTags) { + buildTagsError = error.buildTags; + } + + let maybeError = null; + let errorDetail = error.detail || this.state.clientSideError; + if (errorDetail) { + maybeError = ( +
    +
    + {errorDetail} +
    +
    + ); + } + /* end error handling */ + + //Check if user has passed in namespace as query | verify if they have access to it + let currentUserNamespace = this.props.location.query.namespace; + if (!includes(this.props.ownedNamespaces, currentUserNamespace)) { + //If they don't have access to the namespace set in the query param ? then fallback to default namespace + currentUserNamespace = this.props.user.namespace; + } + let tagsConfigList = null; + + if (this.state.advancedMode) { + tagsConfigList = ( +
    +
    +
    Customize Autobuild Tags
    + +
    + {buildTagsError} +
    + +
    + ); + } + + return ( +
    + +
    +
    + + +
    +
    +
    + +
    + {nameError} +
    + +
    +
    + +
    + {privateRepoError} +
    + +
    +
    + +
    + {descriptionError} +
    + + + {/* advanced mode */} + {tagsConfigList} +
    + {maybeError} +
    +
    + +
    +
    + + {maybeSuccess} +
    +
    +
    +
    +
    + ); + } +}); + +export default connectToStores(AutoBuildSetupForm, + [ + AutobuildSourceRepositoriesStore, + AutobuildConfigStore, + UserStore + ], + function({ getStore }, props){ + return { + sourceRepositories: getStore(AutobuildSourceRepositoriesStore).getState(), + configStore: getStore(AutobuildConfigStore).getState(), + ownedNamespaces: getStore(UserStore).getNamespaces() + }; + }); diff --git a/app/scripts/components/repositories/AutoBuildTagsInput.jsx b/app/scripts/components/repositories/AutoBuildTagsInput.jsx new file mode 100644 index 0000000000..c5b4c52e53 --- /dev/null +++ b/app/scripts/components/repositories/AutoBuildTagsInput.jsx @@ -0,0 +1,159 @@ +'use strict'; + +import React from 'react'; +import { FlexTable, Header, Item } from 'common/TagsFlexTable'; +import AutoBuildTagsInputItem from './AutoBuildTagsInputItem.jsx'; + +const AutoBuildTagsInput = React.createClass({ + contextTypes: { + getStore: React.PropTypes.func.isRequired + }, + propTypes: { + repo: React.PropTypes.string.isRequired, + onTagRemoved: React.PropTypes.func.isRequired, + onTagAdded: React.PropTypes.func.isRequired, + onSourceTypeChange: React.PropTypes.func.isRequired, + onSourceNameChange: React.PropTypes.func.isRequired, + onDockerfileLocationChange: React.PropTypes.func.isRequired + }, + getInitialState: function() { + const masterDefaultRow = { + row: 'row-0', + sourceType: 'Branch', + sourceName: 'master', + sign: 'plus', + tag: 'latest', + fileLocation: '/', + tagId: 'tag-0' + }; + const dynamicTagRow = { + row: 'row-1', + sourceType: 'Branch', + sourceName: '', + sign: 'minus', + tag: '', + fileLocation: '/', + tagId: 'tag-1' + }; + return { + currentRows: [ + this.makeRow(masterDefaultRow), + this.makeRow(dynamicTagRow) + ] + }; + }, + _handleBtnClickAdd: function(e) { + e.preventDefault(); + let rows = this.state.currentRows; + let idx = this.state.currentRows.length; + const row = { + row: 'row-' + idx, + sourceType: 'Branch', + sourceName: '', + sign: 'minus', + tag: '', + fileLocation: '/', + tagId: 'tag-' + idx + }; + const newRow = this.makeRow(row); + this.setState({ + currentRows: rows.concat(newRow) + }); + //Make an empty build tag that will get updated on edit + const bTag = { + id: 'tag-' + idx, + sourceType: 'Branch', + sourceName: '', + fileLocation: '/', + tagName: '' + }; + this.props.onTagAdded(this.makeBuildTag(bTag)); + }, + makeRow: function(rowObj) { + const { + row, + sourceType, + sourceName, + sign, + tag, + fileLocation, + tagId + } = rowObj; + + return ( + + ); + }, + makeBuildTag: function(newBuildTag) { + const { + id, + sourceType, + sourceName, + fileLocation, + tagName + } = newBuildTag; + /*eslint-disable camelcase */ + /* By default, if the input is empty for source tag/branch name, send the string: '{sourceref}'*/ + /* By default, if the input is empty for docker tag name, send the string with the regex for all matches */ + return { + id: id, + name: tagName === '' ? '{sourceref}' : tagName, + source_type: sourceType, + source_name: sourceName === '' ? '/^([^m]|.[^a]|..[^s]|...[^t]|....[^e]|.....[^r]|.{0,5}$|.{7,})/' : sourceName, + dockerfile_location: fileLocation + }; + /*eslint-enable camelcase */ + }, + componentDidMount: function() { + const masterBuildTag = { + id: 'tag-0', + sourceType: 'Branch', + sourceName: 'master', + fileLocation: '/', + tagName: 'latest' + }; + const dynamicBuildTag = { + id: 'tag-1', + sourceType: 'Branch', + sourceName: '', + fileLocation: '/', + tagName: '' + }; + this.props.onTagAdded( + this.makeBuildTag(masterBuildTag) + ); + this.props.onTagAdded( + this.makeBuildTag(dynamicBuildTag) + ); + }, + render: function() { + return ( + +
    + Push Type + Name + Dockerfile Location + Docker Tag + +
    + { this.state.currentRows } +
    + ); + } +}); + +module.exports = AutoBuildTagsInput; diff --git a/app/scripts/components/repositories/AutoBuildTagsInputItem.css b/app/scripts/components/repositories/AutoBuildTagsInputItem.css new file mode 100644 index 0000000000..754af1558e --- /dev/null +++ b/app/scripts/components/repositories/AutoBuildTagsInputItem.css @@ -0,0 +1,28 @@ +@import 'dux/css/colors.css'; +@import 'dux/css/box.css'; + +.faBtn { + cursor: pointer; + user-select: none; + margin-left: auto; + margin-right: auto; + margin-top: 0.8rem; +} + +.addBtn { + composes: faBtn; + color: var(--success-color); +} + +.removeBtn { + composes: faBtn; + color: var(--alert-color); +} + +.select { + border-radius: var(--global-radius); +} + +input.rounded { + border-radius: var(--global-radius); +} \ No newline at end of file diff --git a/app/scripts/components/repositories/AutoBuildTagsInputItem.jsx b/app/scripts/components/repositories/AutoBuildTagsInputItem.jsx new file mode 100644 index 0000000000..17a1cb06f9 --- /dev/null +++ b/app/scripts/components/repositories/AutoBuildTagsInputItem.jsx @@ -0,0 +1,123 @@ +'use strict'; + +import React, {PropTypes} from 'react'; +import { Row, Header, Item } from 'common/TagsFlexTable'; +import FA from 'common/FontAwesome'; +import styles from './AutoBuildTagsInputItem.css'; +import Button from '@dux/element-button'; +const {func, string} = PropTypes; + +const AutoBuildTagsInputItem = React.createClass({ + propTypes: { + row: string.isRequired, + sign: string.isRequired, + tagId: string.isRequired, + tagName: string.isRequired, + removeItem: func.isRequired, + sourceName: string.isRequired, + sourceType: string.isRequired, + fileLocation: string.isRequired, + handleBtnClick: func.isRequired, + onSourceTypeChange: func.isRequired, + onSourceNameChange: func.isRequired, + onTagChange: func.isRequired, + onDockerfileLocationChange: func.isRequired + }, + getInitialState: function() { + return { + hidden: false, + sourceType: 'Branch' + }; + }, + _handleHide: function(e) { + e.preventDefault(); + e.stopPropagation(); + this.setState({ + hidden: true + }); + this.props.removeItem(this.props.tagId); + }, + onSourceTypeChange: function(e) { + this.setState({ + sourceType: e.target.value + }); + this.props.onSourceTypeChange(e); + }, + componentDidMount: function() { + this.setState({ + tag: this.props.tagName + }); + }, + render: function() { + + let sourceNamePlaceholder; + let tagNamePlaceholder; + + //Support to show default rule for each type of rule in the UI + const branchesOrTags = this.state.sourceType === 'Branch' ? 'branches' : 'tags'; + const branchOrTag = this.state.sourceType === 'Branch' ? 'branch' : 'tag'; + if (this.state.sourceType === 'Branch') { + sourceNamePlaceholder = 'All branches except master'; + } else { + sourceNamePlaceholder = '/.*/ This targets all tags'; + } + tagNamePlaceholder = `Same as ${branchOrTag}`; + + const { + fileLocation, + handleBtnClick, + onDockerfileLocationChange, + onTagChange, + onSourceNameChange, + row, + sign, + sourceName, + sourceType, + tagName + } = this.props; + + let item = null; + if (!this.state.hidden) { + item = ( + + + + + + + + + + + + + + + + + + + + ); + } + + return item; + } +}); + +module.exports = AutoBuildTagsInputItem; diff --git a/app/scripts/components/repositories/Autobuild.jsx b/app/scripts/components/repositories/Autobuild.jsx new file mode 100644 index 0000000000..5b8d7cf080 --- /dev/null +++ b/app/scripts/components/repositories/Autobuild.jsx @@ -0,0 +1,102 @@ +'use strict'; + +import AutobuildStore from '../../stores/AutobuildStore'; +import Route404 from '../common/RouteNotFound404Page.jsx'; +import AutobuildBlankSlate from './AutobuildBlankSlate.jsx'; +import React, { PropTypes, cloneElement } from 'react'; +import { Link } from 'react-router'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import { SecondaryNav } from 'dux'; +import LiLink from '../common/LiLink'; +const debug = require('debug')('COMPONENT:Autobuild'); + +let AutobuildSourcesNav = React.createClass({ + displayName: 'AutobuildSourcesNav', + propTypes: { + namespace: PropTypes.string, + githubAccount: PropTypes.object, + bitbucketAccount: PropTypes.object + }, + _checkAccountsAndGetLinks: function() { + var liLinks = []; + if (this.props.githubAccount) { + liLinks.push( + + GitHub ({this.props.githubAccount.login}) + ); + } + + if (this.props.bitbucketAccount) { + liLinks.push( + + Bitbucket ({this.props.bitbucketAccount.login}) + ); + } + + if (!this.props.githubAccount || !this.props.bitbucketAccount) { + liLinks.push( Link Accounts); + } + + return liLinks; + }, + render: function() { + var liLinks = this._checkAccountsAndGetLinks(); + return ( +
    + +
      + {liLinks} +
    +
    +
    + ); + } +}); + +var Autobuild = React.createClass({ + propTypes: { + user: React.PropTypes.object, + JWT: React.PropTypes.string + }, + contextTypes: { + executeAction: React.PropTypes.func.isRequired + }, + render: function() { + if (!this.props.JWT) { + return ( + + ); + } else if (!this.props.githubAccount && !this.props.bitbucketAccount) { + return ( +
    + + +
    + ); + } else { + return ( +
    + + {this.props.children && cloneElement(this.props.children, { + user: this.props.user, + JWT: this.props.JWT, + githubAccount: this.props.githubAccount, + bitbucketAccount: this.props.bitbucketAccount + })} +
    + ); + } + } +}); + +export default connectToStores(Autobuild, + [ + AutobuildStore + ], + function({ getStore }, props) { + return getStore(AutobuildStore).getState(); + }); diff --git a/app/scripts/components/repositories/AutobuildBlankSlate.css b/app/scripts/components/repositories/AutobuildBlankSlate.css new file mode 100644 index 0000000000..7de08e056a --- /dev/null +++ b/app/scripts/components/repositories/AutobuildBlankSlate.css @@ -0,0 +1,6 @@ +@import "dux/css/box.css"; +@import "dux/css/colors.css"; + +.row { + margin-top: var(--default-margin); +} diff --git a/app/scripts/components/repositories/AutobuildBlankSlate.jsx b/app/scripts/components/repositories/AutobuildBlankSlate.jsx new file mode 100644 index 0000000000..df12b31f36 --- /dev/null +++ b/app/scripts/components/repositories/AutobuildBlankSlate.jsx @@ -0,0 +1,41 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +import Card, { Block } from '@dux/element-card'; +import FA from 'common/FontAwesome'; +import styles from './AutobuildBlankSlate.css'; +import { Link } from 'react-router'; + +var AutobuildBlankSlate = React.createClass({ + displayName: 'AutobuildBlankSlate', + propTypes: { + slateItems: React.PropTypes.element + }, + render() { + var slateItems = null; + if (!this.props.slateItems) { + slateItems = ( +
    +

    You haven't linked to GitHub or Bitbucket yet.

    + Link Accounts +
    + ); + } else { + slateItems = this.props.slateItems; + } + + return ( +
    +
    + + + {slateItems} + + +
    +
    + ); + } +}); + +module.exports = AutobuildBlankSlate; diff --git a/app/scripts/components/repositories/AutobuildIndex.css b/app/scripts/components/repositories/AutobuildIndex.css new file mode 100644 index 0000000000..4059a66e80 --- /dev/null +++ b/app/scripts/components/repositories/AutobuildIndex.css @@ -0,0 +1,28 @@ +@import "dux/css/box.css"; +@import "dux/css/colors.css"; + +.row { + margin-top: var(--default-margin); +} + +.link { + display: block; + background: white; + border-radius: var(--global-radius); + border: 1px solid var(--silver); + color: var(--secondary-4); + margin: 0 .3rem .3rem 0; + padding: 1.8rem; + i { + font-size: 6rem; + margin-bottom: 1rem; + } + &:hover { + background: #f4f9fc; + color: var(--secondary-4); + } + &:focus { + background: color(#f4f9fc blackness(10%)); + color: var(--secondary-4); + } +} diff --git a/app/scripts/components/repositories/AutobuildIndex.jsx b/app/scripts/components/repositories/AutobuildIndex.jsx new file mode 100644 index 0000000000..23158f62e7 --- /dev/null +++ b/app/scripts/components/repositories/AutobuildIndex.jsx @@ -0,0 +1,67 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import { Link } from 'react-router'; +import FA from 'common/FontAwesome'; +import classnames from 'classnames'; +import styles from './AutobuildIndex.css'; + +export default class AutobuildIndex extends Component { + static propTypes = { + githubAccount: PropTypes.object, + bitbucketAccount: PropTypes.object + } + + render() { + let githubText; + let githubLink; + let bitbucketText; + let bitbucketLink; + const linkClasses = classnames({ + 'button': true, + [styles.link]: true + }); + + if (this.props.githubAccount) { + githubLink = `/add/automated-build/${this.props.params.userNamespace}/github/orgs/`; + githubText = ( +

    Create Auto-build

    + ); + } else { + githubLink = '/account/authorized-services/'; + githubText = ( +

    Link Account

    + ); + } + if (this.props.bitbucketAccount) { + bitbucketLink = `/add/automated-build/${this.props.params.userNamespace}/bitbucket/orgs/`; + bitbucketText = ( +

    Create Auto-build

    + ); + } else { + bitbucketLink = '/account/authorized-services/'; + bitbucketText = ( +

    Link Account

    + ); + } + + return ( +
    +
    + + {githubText} + +

    Github

    + +
    +
    + + {bitbucketText} + +

    Bitbucket

    + +
    +
    + ); + } +} diff --git a/app/scripts/components/repositories/LinkedAccountSourcesForm.css b/app/scripts/components/repositories/LinkedAccountSourcesForm.css new file mode 100644 index 0000000000..32e2acd73a --- /dev/null +++ b/app/scripts/components/repositories/LinkedAccountSourcesForm.css @@ -0,0 +1,3 @@ +.arrowSelect { + margin-top: 0.3rem; +} \ No newline at end of file diff --git a/app/scripts/components/repositories/LinkedAccountSourcesForm.jsx b/app/scripts/components/repositories/LinkedAccountSourcesForm.jsx new file mode 100644 index 0000000000..4ba18daac6 --- /dev/null +++ b/app/scripts/components/repositories/LinkedAccountSourcesForm.jsx @@ -0,0 +1,163 @@ +'use strict'; +import React, { Component, PropTypes } from 'react'; +import { Link } from 'react-router'; +import _ from 'lodash'; +import AutobuildBlankSlate from './AutobuildBlankSlate.jsx'; +import AutobuildSourceRepositoriesStore from '../../stores/AutobuildSourceRepositoriesStore'; +import selectSourceRepoForAutobuild from '../../actions/selectSourceRepoForAutobuild'; +import ListSelector from '../common/ListSelector.jsx'; +import FilterBar from '../filter/FilterBar.jsx'; +import FA from 'common/FontAwesome'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import styles from './LinkedAccountSourcesForm.css'; + +const debug = require('debug')('COMPONENT:LinkedAccountSourcesForm'); +const { array, func } = PropTypes; + +class LinkedAccountSourcesForm extends Component{ + + static propTypes = { + repos: array + } + + static contextTypes = { + executeAction: func.isRequired + } + + state = { + selectedRepos: [], + selectedUserOrg: {} + } + + _handleUserOrgClick = (userOrOrg) => { + //Clicked on user or org, show the repositories under that user or organization + this.setState({ + selectedUserOrg: userOrOrg, + selectedRepos: userOrOrg.repo_list + }); + } + + _handleRepoClick = (item, currentType) => { + //Replace all "/" with "-" if they exist, so route is always valid + item.name = item.name.replace(/[/]/g, '-'); + this.props.history.pushState(null, + `/add/automated-build/${currentType.toLowerCase()}/form/${this.state.selectedUserOrg.name}/${item.name}/`, + {namespace: this.props.params.userNamespace} + ); + //Set the source repository in the store, so the autobuild configuration form can get to it + this.context.executeAction(selectSourceRepoForAutobuild, item); + } + + _makeUserOrgList = (list) => { + var userAndOrgsList = list.map(function(item, idx) { + var imgAvatar = item.avatar_url; + var selectedArrow; + if (this.state.selectedUserOrg.name === item.name) { + selectedArrow = ; + } + return ( +
  • +
    +   {item.name} + {selectedArrow} +
    +
  • ); + }, this); + return userAndOrgsList; + } + + _makeReposList = (list) => { + var links = []; + var currentType = this.props.type; + var _this = this; + const namespace = this.state.selectedUserOrg.name; + if (currentType) { + links = list.map(function(item, idx) { + return ( +
  • + {item.name} +
  • ); + }); + } + return links; + } + + _filterRepos = (query) => { + //e.preventDefault(); + if (query) { + this.setState({ + selectedRepos: _.filter(this.state.selectedRepos, function (repo) { + return repo.name.indexOf(query) !== -1; + }) + }); + } else { + this.setState({ + selectedRepos: this.state.selectedUserOrg.repo_list + }); + } + } + + componentDidMount = () => { + //Set the first element as selected if there is none selected + if (_.isEmpty(this.state.selectedUserOrg) && this.props.repos) { + var selected = this.props.repos[0]; + this.setState({ + selectedUserOrg: selected, + selectedRepos: selected.repo_list + }); + } + } + + componentWillReceiveProps = (nextProps) => { + //Set the first element as selected if there is none selected + if (nextProps.repos && nextProps.repos.length > 0) { + var selected = nextProps.repos[0]; + this.setState({ + selectedUserOrg: selected, + selectedRepos: selected.repo_list + }); + } + } + + render() { + if (this.props.repos) { + var currentUserAndOrgs = this._makeUserOrgList(this.props.repos); + var currentRepos = []; + if (currentUserAndOrgs && currentUserAndOrgs.length > 0) { + currentRepos = this._makeReposList(this.state.selectedRepos); + } + var filterBar = (); + return ( +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + ); + } else { + const slateItem = ( +
    +

    +  An error occurred while trying to connect to {this.props.type}. +

    +
    Link your account here.
    +
    + ); + return (); + } + } +} + +export default connectToStores(LinkedAccountSourcesForm, + [ + AutobuildSourceRepositoriesStore + ], + function({ getStore }, props) { + return getStore(AutobuildSourceRepositoriesStore).getState(); + }); diff --git a/app/scripts/components/repositories/RepositoryBlock.jsx b/app/scripts/components/repositories/RepositoryBlock.jsx new file mode 100644 index 0000000000..2fabeaf3f7 --- /dev/null +++ b/app/scripts/components/repositories/RepositoryBlock.jsx @@ -0,0 +1,62 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +import { Link } from 'react-router'; + +export default React.createClass({ + displayName: 'RepositoryBlock', + propTypes: { + namespace: PropTypes.string.isRequired, + name: PropTypes.string.isRequired, + status: PropTypes.number, + description: PropTypes.string, + fullDescription: PropTypes.string, + isPrivate: PropTypes.bool, + // trusted means Automated Build + isTrusted: PropTypes.bool, + isOfficial: PropTypes.bool, + starCount: PropTypes.number, + pullCount: PropTypes.number + }, + getDefaultProps: function() { + return { + status: 0, + description: '', + fullDescription: '', + isPrivate: true, + isTrusted: false, + isOfficial: false, + starCount: 0, + pullCount: 0 + }; + }, + render: function() { + return (
  • +
    +
    +
    + +
    +
    +
    + {this.props.namespace} +
    + {this.props.name} +
    + {this.props.isPrivate ? 'Private' : 'Public'} + {this.props.isTrusted ? ' | Automated Build' : ''} +
    +
    +
    +
    +

    {this.props.description}

    +
    +
    +

    {this.props.starCount} STARS

    +

    {this.props.pullCount} DOWNLOADS

    +
    +
    +
  • + ); + } +}); diff --git a/app/scripts/components/search/ResultsNotFound.css b/app/scripts/components/search/ResultsNotFound.css new file mode 100644 index 0000000000..0853d05e32 --- /dev/null +++ b/app/scripts/components/search/ResultsNotFound.css @@ -0,0 +1,39 @@ +@import 'dux/css/colors.css'; + +.wrap { + height: 100%; + text-align: center; +} + +.messageModule { + animation: fadein 0.3s; + padding: 1.5rem 0 0 0; + margin: 4rem 0; +} + +@keyframes fadein { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +.heading { + color: #71859d; + font-size: 3rem; + font-weight: 400; + +} + +.subheading { + color: var(--secondary-7); +} + +.message { + color: #71859d; + margin: 0 auto; + padding: .5rem; + font-size: 1.1rem; +} diff --git a/app/scripts/components/search/ResultsNotFound.jsx b/app/scripts/components/search/ResultsNotFound.jsx new file mode 100644 index 0000000000..7cd4a3e226 --- /dev/null +++ b/app/scripts/components/search/ResultsNotFound.jsx @@ -0,0 +1,35 @@ +'use strict'; + +import React, { Component } from 'react'; +import styles from './ResultsNotFound.css'; + +/* + * A component similar to the RouteNotFound404Page meant for no results + * from a search or filter. Any of the props can be customized beyond text, ex: + * } /> + * to include a search icon. + */ +export default class ResultsNotFound extends Component { + + static defaultProps = { + heading: 'Sorry!', + subheading: 'We couldn\'t find any results for this search.', + message: 'Please double check your input and try again.' + } + + render() { + return ( +
    +
    +
    +
    +

    {this.props.heading}

    +

    {this.props.subheading}

    +

    {this.props.message}

    +
    +
    +
    +
    + ); + } +} diff --git a/app/scripts/components/search/Search.jsx b/app/scripts/components/search/Search.jsx new file mode 100644 index 0000000000..5e7a77fa65 --- /dev/null +++ b/app/scripts/components/search/Search.jsx @@ -0,0 +1,149 @@ +'use strict'; +import React, { PropTypes } from 'react'; +import FluxibleMixin from 'fluxible-addons-react/FluxibleMixin'; + +import Pagination from '../common/Pagination.jsx'; +import ResultsNotFound from './ResultsNotFound.jsx'; +import SearchStore from './../../stores/SearchStore'; +import SearchBar from './SearchBar.jsx'; +import Spinner from '../Spinner.jsx'; +import FA from '../common/FontAwesome'; +import RepositoriesList from '../common/RepositoriesList'; +import { PageHeader } from 'dux'; +import _ from 'lodash'; +import findKey from 'lodash/object/findKey'; + +var debug = require('debug')('COMPONENT:Search'); + +var _getQueryParams = function(state) { + //transition to will always have `q` appended as query param at the very least + //Other query params like: `s` -> sort by | `t=User` -> user | `t=Organization` -> Org | `f=official` + // `f=automated_builds` | `s=date_created`, `s=last_updated`, `s=alphabetical`, `s=stars`, `s=downloads` + // `s=pushes` + var queryParams = { + q: state.query || '', + page: state.page || 1, + isAutomated: state.isAutomated || 0, + isOfficial: state.isOfficial || 0, + pullCount: state.pullCount || 0, + starCount: state.starCount || 0 + }; + return queryParams; +}; + +var Search = React.createClass({ + mixins: [FluxibleMixin], + statics: { + storeListeners: [SearchStore] + }, + contextTypes: { + getStore: React.PropTypes.func.isRequired + }, + getInitialState: function() { + return this.context.getStore(SearchStore).getState(); + }, + //on Search Store Change + onChange: function() { + //When a search query has been submitted + var state = this.context.getStore(SearchStore).getState(); + this.setState(state); + }, + _getCurrentFilter: function() { + const query = this.props.location.query; + return findKey(query, (val, key) => { + return val === '1' && key !== 'q' && key !== 'page'; + }); + }, + _retransitionToSearch: function() { + this.props.history.pushState(null, '/search/', _getQueryParams(this.state)); + }, + _onFilterChange: function(event) { + event.preventDefault(); + if (event.target.value === 'isAutomated') { + this.setState({isAutomated: 1, isOfficial: 0, starCount: 0, pullCount: 0}, this._retransitionToSearch); + } else if (event.target.value === 'isOfficial') { + this.setState({isOfficial: 1, isAutomated: 0, starCount: 0, pullCount: 0}, this._retransitionToSearch); + } if (event.target.value === 'starCount') { + this.setState({starCount: 1, isOfficial: 0, isAutomated: 0, pullCount: 0}, this._retransitionToSearch); + } else if (event.target.value === 'pullCount') { + this.setState({pullCount: 1, isOfficial: 0, starCount: 0, isAutomated: 0}, this._retransitionToSearch); + } else if (event.target.value === 'all') { + this.setState({pullCount: 0, isOfficial: 0, starCount: 0, isAutomated: 0}, this._retransitionToSearch); + } + }, + _onChangePage(pageNumber) { + pageNumber = parseInt(pageNumber, 10); + this.setState({ + page: pageNumber + }, function() { + this.props.history.pushState(null, '/search/', _getQueryParams(this.state)); + }); + }, + _renderMessage() { + var message; + if (this.state.count === 0) { + if (this.state.isAutomated === '0' && this.state.isOfficial === '0') { + message = _.isEmpty(this.state.query) ? `Your search is empty!` : `Your search of '${this.state.query}' did not match any repository names or descriptions.`; + } else { + let filterType = this.state.isAutomated === '1' ? 'automated builds' : 'official repositories'; + message = `There are no ${filterType} matching '${this.state.query}'. Try removing this filter to see more results.`; + } + return ( +
    +
    + } message={ message } /> +
    +
    + ); + } else { + return ; + } + }, + _renderFilterBar() { + if (this.state.count === 0 && this.state.isAutomated === '0' && this.state.isOfficial === '0') { + return ; + } else { + return ( +
    +
    + +
    +
    + ); + } + }, + render: function() { + var maybePagination; + if (this.state.results && this.state.results.length > 0 && this.state.count > 10) { + maybePagination = ( +
    +
    + +
    +
    + ); + } + return ( +
    + +
    +
    + { this._renderFilterBar() } + + {maybePagination} +
    +
    + ); + } +}); + +module.exports = Search; diff --git a/app/scripts/components/search/SearchBar.css b/app/scripts/components/search/SearchBar.css new file mode 100644 index 0000000000..46c8b37690 --- /dev/null +++ b/app/scripts/components/search/SearchBar.css @@ -0,0 +1,17 @@ +@import "dux/css/box"; + +input.searchInput { + background: #405165; + border: 1px solid #4c5968; + border-radius: var(--global-radius); + color: #fff; + padding-left: 24px; +} + +.fa { + position: relative; + color: white; + max-width: 1rem; + top: -7px; + left: 6px; +} \ No newline at end of file diff --git a/app/scripts/components/search/SearchBar.jsx b/app/scripts/components/search/SearchBar.jsx new file mode 100644 index 0000000000..86994c2df3 --- /dev/null +++ b/app/scripts/components/search/SearchBar.jsx @@ -0,0 +1,84 @@ +'use strict'; +import React from 'react'; +import FluxibleMixin from 'fluxible-addons-react/FluxibleMixin'; +import SearchStore from '../../stores/SearchStore'; +import styles from './SearchBar.css'; +import FA from '../common/FontAwesome'; + +var debug = require('debug')('COMPONENT:SearchBar'); + +var _getQueryParams = function(state) { + //transition to will always have `q` appended as query param at the very least + //Other query params like: `s` -> sort by | `t=User` -> user | `t=Organization` -> Org | `f=official` + // `f=automated_builds` | `s=date_created`, `s=last_updated`, `s=alphabetical`, `s=stars`, `s=downloads` + // `s=pushes` + var queryParams = { + q: state.query || '', + page: state.page || 1, + isAutomated: state.isAutomated || 0, + isOfficial: state.isOfficial || 0, + starCount: state.starCount || 0, + pullCount: state.pullCount || 0 + }; + return queryParams; +}; + +var SearchBar = React.createClass({ + mixins: [FluxibleMixin], + statics: { + storeListeners: [SearchStore] + }, + contextTypes: { + getStore: React.PropTypes.func.isRequired + }, + getDefaultProps() { + return { + placeholder: 'Search' + }; + }, + getInitialState: function() { + return this.context.getStore(SearchStore).getState(); + }, + //on Search Store Change + onChange: function() { + //When a search query has been submitted + var state = this.context.getStore(SearchStore).getState(); + this.setState(state); + }, + _handleQueryChange: function(event) { + event.preventDefault(); + //Change page to number 1 when the query is changed + this.setState({ + page: 1 + }); + this.setState({query: event.target.value}); + }, + _handleQuerySubmit: function(event) { + event.preventDefault(); + //second parameter will be empty object always since we don't have /search/{?}/ + //third param will be the query /search/?q=whatever&s=blah&f=bleh + this.props.history.pushState(null, '/search/', _getQueryParams(this.state)); + }, + render: function() { + var searchQuery = this.state.query; + var inputPlaceholder = this.props.placeholder; + return ( +
    +
    +
    + +
    + +
    +
    +
    +
    + ); + } +}); + +module.exports = SearchBar; diff --git a/app/scripts/components/search/SearchResultItem.jsx b/app/scripts/components/search/SearchResultItem.jsx new file mode 100644 index 0000000000..579c35becf --- /dev/null +++ b/app/scripts/components/search/SearchResultItem.jsx @@ -0,0 +1,67 @@ +'use strict'; + +import React from 'react'; +import Badge from '../Badge.jsx'; +import StatsComponent from '../StatsComponent.jsx'; +var debug = require('debug')('COMPONENT:SearchResultItem'); + +//TODO: will go under the ul in item info, will be a bunch of key value pairs reused across +//TODO: Logged out views will have the `owner/reponame` (think about this) +//TODO: Star icon should be passed to badge as d-`iconname` where `d-` is for the docker font icons + +var SearchResultItem = React.createClass({ + render: function() { + var resultItem = this.props.resultItem; + + //Push badges based on result item + var badges = []; + var officialBadge =
  • ; + var autobuildBadge =
  • ; + + // jscs:disable requireCamelCaseOrUpperCaseIdentifiers + if (resultItem.is_official) { + badges.push(officialBadge); + } else if (resultItem.is_automated) { + badges.push(autobuildBadge); + } + + //TODO: repo_owner is null atm, since API performance degrades if we try to get it + //
  • + + return ( +
  • +
    +
    +
    + +
    +
    +
    +
    {resultItem.repo_name}
    +
    +
    +
      + {badges} +
    +
    +
    +
    +
      +
    • +
    • +
    +
    +
    +
    +
    +

    {resultItem.short_description}

    +
    +
    +
    +
  • + ); + // jscs:enable + } +}); + +module.exports = SearchResultItem; diff --git a/app/scripts/components/search/SearchResults.jsx b/app/scripts/components/search/SearchResults.jsx new file mode 100644 index 0000000000..bd56981d11 --- /dev/null +++ b/app/scripts/components/search/SearchResults.jsx @@ -0,0 +1,42 @@ +'use strict'; +/** +TODO: UNUSED COMPONENT. SHOULD REMOVE +*/ +import React from 'react'; +import ResultItem from './SearchResultItem.jsx'; +var debug = require('debug')('COMPONENT:SearchResults'); + +var SearchResults = React.createClass({ + contextTypes: { + getStore: React.PropTypes.func.isRequired + }, + getResultItem: function(resultItem, idx) { + if (resultItem.short_description) { + if (resultItem.short_description.length > 100) { + resultItem.short_description = resultItem.short_description.substring(0, 100) + '...'; + } else if (resultItem.short_description.length === 0) { + resultItem.short_description = 'No description set'; + } + } + return ; + }, + _handleSearchResultClick: function(repoName, e) { + e.preventDefault(); + //TODO: Handle official images/repos differently + this.props.history.pushState(null, `/r/${repoName}/`); + }, + render: function() { + var results = this.props.results; + var resultItems = []; + if (results) { + resultItems = results.map(this.getResultItem); + } + return ( +
    +
      {resultItems}
    +
    + ); + } +}); + +module.exports = SearchResults; diff --git a/app/scripts/components/userWrapper/UserStars.jsx b/app/scripts/components/userWrapper/UserStars.jsx new file mode 100644 index 0000000000..1fa3055750 --- /dev/null +++ b/app/scripts/components/userWrapper/UserStars.jsx @@ -0,0 +1,67 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +const { array, string, func } = PropTypes; +import connectToStores from 'fluxible-addons-react/connectToStores'; + +import UserProfileStarsStore from 'stores/UserProfileStarsStore'; +import RepositoriesList from 'common/RepositoriesList'; +import Pagination from 'common/Pagination'; +import { Module } from 'dux'; + +var debug = require('debug')('UserProfileStars'); + +var UserStars = React.createClass({ + displayName: 'UserStars', + propTypes: { + starred: array, + next: string, + prev: string + }, + _onChangePage(pageNumber) { + this.props.history.pushState(null, `/u/${this.props.user.username}/starred/`, {page: pageNumber}); + }, + render() { + + var currentPageNumber = parseInt(this.props.location.query.page, 10); + var maybePagination; + + if(this.props.starred && this.props.starred.length > 0) { + maybePagination = ( +
    +
    + +
    +
    + ); + + return ( +
    +
    + + {maybePagination} +
    +
    + ); + + } else { + + return ( + This user does not have any starred repos. + ); + + } + } +}); + +export default connectToStores(UserStars, + [ + UserProfileStarsStore + ], + function({ getStore }, props) { + return getStore(UserProfileStarsStore) + .getState(); + }); diff --git a/app/scripts/components/userprofile/Repos.jsx b/app/scripts/components/userprofile/Repos.jsx new file mode 100644 index 0000000000..05ecd4898b --- /dev/null +++ b/app/scripts/components/userprofile/Repos.jsx @@ -0,0 +1,79 @@ +'use strict'; + +import React, { PropTypes, Component } from 'react'; +import { Link } from 'react-router'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import UserProfileReposStore from '../../stores/UserProfileReposStore'; +import RepositoriesList from '../common/RepositoriesList'; +import Pagination from '../common/Pagination'; +import moment from 'moment'; +import { Module } from 'dux'; + +var debug = require('debug')('UserProfileRepos'); + +class Repos extends Component { + + static propTypes = { + user: PropTypes.object.isRequired, + repos: PropTypes.array, + next: PropTypes.string, + prev: PropTypes.string + } + + _onChangePage = (pageNumber) => { + const username = this.props.params.user; + this.props.history.pushState(null, `/u/${username}/`, {page: pageNumber}); + } + + render() { + + debug(this.props); + if(this.props.repos && this.props.repos.length > 0) { + + return ( +
    +
    + + {this.renderPagination()} +
    +
    + ); + + } else { + debug(this.props); + const { username, orgname } = this.props.user; + const namespace = username || orgname; + return ( + + This user has not created any repos yet + + ); + } + } + renderPagination = (e) => { + if(this.props.repos && this.props.repos.length > 0) { + const currentPageNumber = parseInt(this.props.location.query.page, 10); + return ( +
    +
    + +
    +
    + ); + } else { + return null; + } + } +} + +export default connectToStores(Repos, + [ + UserProfileReposStore + ], + function({ getStore }, props) { + return getStore(UserProfileReposStore) + .getState(); + }); diff --git a/app/scripts/components/utils/avatar.js b/app/scripts/components/utils/avatar.js new file mode 100644 index 0000000000..0750062fb6 --- /dev/null +++ b/app/scripts/components/utils/avatar.js @@ -0,0 +1,30 @@ +'use strict'; + +import officialLogos from 'common/data/officialLogos.js'; +const officialImage = '/public/images/logos/mini-logo-white-inset.png'; + +const isOfficialNamespace = (namespace) => namespace === '_' || namespace === 'library'; + +// reponame is an optional param used to descriminate between official repos +// and it will be ignored unless it is an official repo +export function mkAvatarForNamespace(namespace, reponame) { + if (isOfficialNamespace(namespace) && reponame && officialLogos[reponame]) { + return `/public/images/official/${officialLogos[reponame]}`; + } + if(isOfficialNamespace(namespace) || !namespace) { + return officialImage; + } + return `${process.env.HUB_API_BASE_URL}/v2/users/${namespace}/avatar/`; +} + +/** + * This function should be treated as deprecated. We can not reliably + * detect the namespace type (User || Org) from the urls. + */ +export function mkAvatarForOrg(namespace) { + return `${process.env.HUB_API_BASE_URL}/v2/orgs/${namespace}/avatar/`; +} + +export function isOfficialAvatarURL(url) { + return url === officialImage; +} diff --git a/app/scripts/components/utils/bytesToSize.js b/app/scripts/components/utils/bytesToSize.js new file mode 100644 index 0000000000..bf0b6bebc9 --- /dev/null +++ b/app/scripts/components/utils/bytesToSize.js @@ -0,0 +1,23 @@ +'use strict'; + +export default function bytesToSize(bytes, precision) +{ + const kilobyte = 1000; + const megabyte = kilobyte * 1000; + const gigabyte = megabyte * 1000; + const terabyte = gigabyte * 1000; + + if ((bytes >= 0) && (bytes < kilobyte)) { + return bytes + ' B'; + } else if ((bytes >= kilobyte) && (bytes < megabyte)) { + return (bytes / kilobyte).toFixed(precision) + ' KB'; + } else if ((bytes >= megabyte) && (bytes < gigabyte)) { + return (bytes / megabyte).toFixed(precision) + ' MB'; + } else if ((bytes >= gigabyte) && (bytes < terabyte)) { + return (bytes / gigabyte).toFixed(precision) + ' GB'; + } else if (bytes >= terabyte) { + return (bytes / terabyte).toFixed(precision) + ' TB'; + } else { + return 'Unknown size'; + } +} diff --git a/app/scripts/components/utils/encodeForm.js b/app/scripts/components/utils/encodeForm.js new file mode 100644 index 0000000000..5f6b5d64d3 --- /dev/null +++ b/app/scripts/components/utils/encodeForm.js @@ -0,0 +1,17 @@ +'use strict'; +import map from 'lodash/collection/map'; + +const _encodeForm = (obj, prefix) => { + const str = []; + map(obj, (value, key) => { + if (obj.hasOwnProperty(key)) { + const k = prefix ? `${prefix}[${key}]` : key; + str.push(typeof value === 'object' ? + _encodeForm(value, k) : + `${encodeURIComponent(k)}=${encodeURIComponent(value)}`); + } + }); + return str.join('&'); +}; + +export default _encodeForm; diff --git a/app/scripts/components/utils/validateRepositoryName.js b/app/scripts/components/utils/validateRepositoryName.js new file mode 100644 index 0000000000..3c6167fc87 --- /dev/null +++ b/app/scripts/components/utils/validateRepositoryName.js @@ -0,0 +1,7 @@ +'use strict'; + +export const validateRepositoryName = (name) => +{ + var repoNamePattern = /^[a-z0-9]+(?:[._-][a-z0-9]+)*$/; + return repoNamePattern.test(name); +}; diff --git a/app/scripts/components/welcome/ActivityFeedItem.jsx b/app/scripts/components/welcome/ActivityFeedItem.jsx new file mode 100644 index 0000000000..f496695aa9 --- /dev/null +++ b/app/scripts/components/welcome/ActivityFeedItem.jsx @@ -0,0 +1,41 @@ +'use strict'; +import React from 'react'; +import moment from 'moment'; + +//TODO: remove this after a better solution is found +var _getNotificationNameForID = function(user, notificationType) { + //TODO: maybe create a link to the user's public profile page if any + if(notificationType === 'trusted_build_fail') { + return 'Automated build failure.'; + } else if (notificationType === 'new_repo_star') { + return user + ' starred a repository'; + } else if (notificationType === 'new_repo_comment') { + return user + ' added a new comment.'; + } else { + return ''; + } +}; + +var ActivityFeedItem = React.createClass({ + displayName: 'ActivityFeed', + getDefaultProps: function() { + return { + notification: 0, + /*eslint-disable camelcase */ + last_occurence: '', + /*eslint-enable camelcase */ + user: '' + }; + }, + render: function() { + return ( +
  • +
    +

    {_getNotificationNameForID(this.props.user, this.props.notification)}

    + {moment(this.props.last_occurence).fromNow()} +
    +
  • ); + } +}); + +module.exports = ActivityFeedItem; diff --git a/app/scripts/components/welcome/ChangePassSuccess.css b/app/scripts/components/welcome/ChangePassSuccess.css new file mode 100644 index 0000000000..d74134b2c6 --- /dev/null +++ b/app/scripts/components/welcome/ChangePassSuccess.css @@ -0,0 +1,9 @@ +@import "dux/css/colors"; +@import "dux/css/box"; + +.passwordReset { + margin-top: 5rem; + border: 1px solid rgb(233, 237, 240); + border-radius: var(--global-radius); + min-height: 270px; +} diff --git a/app/scripts/components/welcome/ChangePassSuccess.jsx b/app/scripts/components/welcome/ChangePassSuccess.jsx new file mode 100644 index 0000000000..ff127d995f --- /dev/null +++ b/app/scripts/components/welcome/ChangePassSuccess.jsx @@ -0,0 +1,30 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +import { Button } from 'dux'; +import { Link } from 'react-router'; +import ChangePasswordStore from '../../stores/ChangePasswordStore.js'; +import styles from './ChangePassSuccess.css'; + +var changePassSuccess = React.createClass({ + contextTypes: { + executeAction: PropTypes.func.isRequired + }, + PropTypes: { + changePassStore: PropTypes.shape({ + reset: PropTypes.bool.isRequired, + resetErr: PropTypes.bool.isRequired + }) + }, + render: function() { + return ( +
    +

    Your password has been reset

    +

    You may now login with your new password

    + Back to Login +
    + ); + } +}); + +module.exports = changePassSuccess; diff --git a/app/scripts/components/welcome/DashboardNewsItem.jsx b/app/scripts/components/welcome/DashboardNewsItem.jsx new file mode 100644 index 0000000000..edf3f5902f --- /dev/null +++ b/app/scripts/components/welcome/DashboardNewsItem.jsx @@ -0,0 +1,19 @@ +'use strict'; +const React = require('react'); + +//This is a placeholder for a news item that is shown in the dashboard. Relevant to anything that needs attention. + +var DashboardNewsItem = React.createClass({ + render: function() { + return ( +
    +
    Run Docker in your network.
    + +
    + ); + } +}); + +module.exports = DashboardNewsItem; diff --git a/app/scripts/components/welcome/DashboardTabs.jsx b/app/scripts/components/welcome/DashboardTabs.jsx new file mode 100644 index 0000000000..ed2b80b5db --- /dev/null +++ b/app/scripts/components/welcome/DashboardTabs.jsx @@ -0,0 +1,82 @@ +'use strict'; + +import React, { PropTypes } from 'react'; +import classnames from 'classnames'; + +/* +
    +
    +
    + NO CONTENT HERE +
    +
    +
    + */ + +export default React.createClass({ + displayName: 'DashboardTabs', + propTypes: { + myrepos: React.PropTypes.element.isRequired, + contribs: React.PropTypes.element.isRequired, + starred: React.PropTypes.element.isRequired, + activity: React.PropTypes.element.isRequired + }, + getInitialState() { + return { + tabType: 'myRepos' + }; + }, + _getActiveTab() { + switch(this.state.tabType) { + case 'myRepos': + //Show grid of my repositories + return this.props.myrepos; + case 'contrib': + //Show grid of contributed repositories + return this.props.contribs; + case 'starred': + //Show grid of my starred repositories + return this.props.starred; + case 'activity': + //Show my activity feed + return this.props.activity; + } + }, + _getTitleClassNames(type) { + return classnames({ + 'active': this.state.tabType === type, + 'tab-title': true + }); + }, + _handleTabClick(type, evt) { + evt.preventDefault(); + this.setState({ + tabType: type + }); + }, + render() { + var activeTab = this._getActiveTab(); + + return ( +
    +
    +
      +
    • My Repositories
    • +
    • Contributed
    • +
    • Starred
    • +
    • Recent Activity
    • +
    +
    +
    +
    +
    +
    + {activeTab} +
    +
    +
    +
    +
    + ); + } +}); diff --git a/app/scripts/components/welcome/ForgotPass.css b/app/scripts/components/welcome/ForgotPass.css new file mode 100644 index 0000000000..725901d3a6 --- /dev/null +++ b/app/scripts/components/welcome/ForgotPass.css @@ -0,0 +1,42 @@ +@import "dux/css/colors"; +@import "dux/css/box"; + +.forgotPassPage { + background: var(--docker-dark); + height: 100%; + padding-top: 100px; +} + +.forgotPassSubmit { + margin-top: var(--default-margin); + display: flex; + flex-direction: column; + justify-content: center; +} + +.header { + text-align: center; +} + +.head { + color: var(--white); + font-size: 2rem; + font-weight: 200; +} + +.subHead { + color: var(--info-color); +} + +.subHeadLight { + color: #188bb3; +} + +.logo { + width: 90px; + height: 110px; +} + +.btn { + margin-top: 1rem; +} diff --git a/app/scripts/components/welcome/ForgotPass.jsx b/app/scripts/components/welcome/ForgotPass.jsx new file mode 100644 index 0000000000..95af29bb38 --- /dev/null +++ b/app/scripts/components/welcome/ForgotPass.jsx @@ -0,0 +1,98 @@ +'use strict'; + +import React from 'react'; +import { Link } from 'react-router'; +import Button from '@dux/element-button'; +import FancyInput from 'common/FancyInput'; +import forgotPasswordSubmit from '../../actions/forgotPasswordSubmit.js'; +import styles from './ForgotPass.css'; +var debug = require('debug')('Password Reset'); + +module.exports = React.createClass({ + contextTypes: { + executeAction: React.PropTypes.func.isRequired + }, + getInitialState: function() { + return { + email: '', + reset: false + }; + }, + onEmailChange: function(e) { + e.preventDefault(); + this.setState({email: e.target.value}); + }, + forgotPassSubmit: function(e) { + e.preventDefault(); + debug(this.state.email); + if (this.state.email) { + this.context.executeAction(forgotPasswordSubmit, {email: this.state.email}); + this.setState({reset: true}); + } + }, + transitionHome: function(e) { + e.preventDefault(); + this.props.history.pushState(null, '/'); + }, + render: function() { + var disabledState; + if (this.state.email) { + disabledState = false; + } else { + disabledState = true; + } + + if (!this.state.reset) { + return ( +
    +
    +
    + + docker logo + +
    Reset your password
    +
    Enter an email address associated with a Docker ID.
    +
    +
    +
    +
    +
    + + +
    +
    +
    + We’ll send a password reset link to the Docker ID’s primary email address. +
    +
    + If you don't have access to your primary email address, contact Docker Support. +
    +
    + +
    +
    +
    +
    + ); + } else { + return ( +
    +
    +
    + + docker logo + +
    Reset request sent!
    +

    Password reset link sent. This link is valid for 24 hours. If you don't see a password reset link, check your spam folder.

    + +
    +
    +
    + ); + } + } +}); diff --git a/app/scripts/components/welcome/LoginForm.css b/app/scripts/components/welcome/LoginForm.css new file mode 100644 index 0000000000..a0ccde463f --- /dev/null +++ b/app/scripts/components/welcome/LoginForm.css @@ -0,0 +1,13 @@ +.formWrapper { + display: inline-block; + width: 100%; + margin: 1.5rem 0; +} + +.buttonWrapper { + display: flex; + justify-content: space-between; + .help { + margin: 0 .75rem; + } +} diff --git a/app/scripts/components/welcome/LoginForm.jsx b/app/scripts/components/welcome/LoginForm.jsx new file mode 100644 index 0000000000..e37ce5fa78 --- /dev/null +++ b/app/scripts/components/welcome/LoginForm.jsx @@ -0,0 +1,83 @@ +'use strict'; + +import React, { createClass, PropTypes } from 'react'; +import _ from 'lodash'; +import { Link } from 'react-router'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import Button from '@dux/element-button'; +var debug = require('debug')('LoginForm'); + +import onChange from '../../actions/common/onChangeUtil'; +import FancyInput from 'common/FancyInput'; +import LoginStore from '../../stores/LoginStore'; +import loginUpdateFormField from '../../actions/loginUpdateFormField'; +import styles from './LoginForm.css'; + +var LoginForm = createClass({ + displayName: 'LoginForm', + contextTypes: { + executeAction: React.PropTypes.func.isRequired + }, + propTypes: { + loginAction: PropTypes.func.isRequired + }, + _onChange: onChange({ + storePrefix: 'LOGIN' + }), + _handleSubmit(event) { + event.preventDefault(); + var loginPayload = this.props.values; + loginPayload.username = loginPayload.username.toLowerCase(); + this.context.executeAction(this.props.loginAction, loginPayload); + }, + render() { + const { fields, values, variant, includeHelp } = this.props; + + var globalFormError = null; + if(this.props.globalFormError) { + globalFormError =

    {this.props.globalFormError}

    ; + } + + let loginButton = (); + if(this.props.STATUS === 'ATTEMPTING_LOGIN') { + loginButton = (); + } + let help; + if (includeHelp) { + help = ( + Can't Login? + ); + } + return ( +
    + {globalFormError} + + +
    +
    + {help} +
    + {loginButton} +
    + + ); + } +}); + +export default connectToStores(LoginForm, + [LoginStore], + function({ getStore }, props){ + return getStore(LoginStore).getState(); + }); diff --git a/app/scripts/components/welcome/ResetPass.css b/app/scripts/components/welcome/ResetPass.css new file mode 100644 index 0000000000..4c5e3cc180 --- /dev/null +++ b/app/scripts/components/welcome/ResetPass.css @@ -0,0 +1,39 @@ +@import "dux/css/colors"; +@import "dux/css/box"; + +.resetPassPage { + background: var(--docker-dark); + height: 100%; + padding-top: 100px; +} + +.resetPassSubmit { + margin-top: var(--default-margin); + display: flex; + flex-direction: column; + justify-content: center; +} + +.header { + text-align: center; +} + +.head { + color: var(--white); + font-size: 2rem; + font-weight: 200; +} + +.subHead { + color: var(--info-color); +} + +.logo { + width: 90px; + height: 110px; +} + +.back { + margin-top: var(--default-margin); + text-align: center; +} diff --git a/app/scripts/components/welcome/ResetPass.jsx b/app/scripts/components/welcome/ResetPass.jsx new file mode 100644 index 0000000000..49a6ecac95 --- /dev/null +++ b/app/scripts/components/welcome/ResetPass.jsx @@ -0,0 +1,152 @@ +/** +MjA2MTU is a base64 encoding of the pk for the user account in hub + +dhiltgen [11:07 AM] +41y-d0f275462b1678b1aeca is a random generated token + **/ +'use strict'; + +import React, { PropTypes } from 'react'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import Button from '@dux/element-button'; +import FancyInput from 'common/FancyInput'; +import { Link } from 'react-router'; +import resetPasswordSubmit from '../../actions/resetPasswordSubmit.js'; +import ChangePasswordStore from '../../stores/ChangePasswordStore.js'; +import clearChangePasswordStore from '../../actions/clearChangePasswordStore'; +import styles from './ResetPass.css'; +var debug = require('debug')('Password Reset Confirmation: '); + +var ResetPassword = React.createClass({ + contextTypes: { + executeAction: PropTypes.func.isRequired + }, + PropTypes: { + changePassStore: PropTypes.shape({ + reset: PropTypes.bool.isRequired, + resetErr: PropTypes.bool.isRequired + }) + }, + getInitialState: function() { + return { + pass1: '', + pass2: '', + passErr: false + }; + }, + onPassChange: function(e) { + e.preventDefault(); + this.setState({pass1: e.target.value}); + }, + onConfirmChange: function(e) { + e.preventDefault(); + var confirm = e.target.value; + this.setState({pass2: confirm, passErr: false}); + }, + onErrorRetry: function(e) { + e.preventDefault(); + this.setState({ + pass1: '', + pass2: '' + }); + this.context.executeAction(clearChangePasswordStore); + }, + transitionLogin: function(e) { + e.preventDefault(); + this.props.history.pushState('/login/'); + }, + resetPassSubmit: function(e) { + e.preventDefault(); + debug('reset pass submit'); + if (this.state.pass1 === this.state.pass2) { + var { uidb64, reset_token } = this.props.params; + this.context.executeAction(resetPasswordSubmit, + {uidb64: uidb64, + reset_token: reset_token, + password_1: this.state.pass1, + password_2: this.state.pass2}); + this.setState({reset: true}); + } else { + this.setState({ passErr: true }); + } + }, + render: function() { + var disabledState = (this.state.passErr || !this.state.pass1); + + if (!this.props.changePassStore.reset && !this.props.changePassStore.hasErr) { + let error; + if (this.state.passErr) { + error = 'Make sure passwords are identical'; + } + return ( +
    +
    +
    +
    Password Reset
    +
    Enter your new password.
    +
    +
    +
    +
    +
    + + + + +
    +
    +
    + ); + } else if (this.props.changePassStore.hasErr) { + return ( +
    +
    +
    +
    There was an error!
    +
    Your password has not been reset, please try again
    +
    +
    +
    +
    + +
    +
    +
    + ); + } else { + return ( +
    +
    +
    +
    Your password has been reset
    +
    You may now login with your new password
    +
    +
    +
    +
    + +
    +
    +
    + ); + } + } +}); + +module.exports = connectToStores(ResetPassword, + [ChangePasswordStore], + function({ getStore }, props) { + return { + changePassStore: getStore(ChangePasswordStore).getState() + }; + }); diff --git a/app/scripts/components/welcome/SignupForm.css b/app/scripts/components/welcome/SignupForm.css new file mode 100644 index 0000000000..8b4531edb7 --- /dev/null +++ b/app/scripts/components/welcome/SignupForm.css @@ -0,0 +1,27 @@ +@import "dux/css/colors"; +@import "dux/css/box"; + +.submit { + padding: var(--default-margin); + button { + float: right; + } +} + +.subtext { + /** new color variable **/ + color: #b9eafa; +} + +.heading { + font-weight: 200; + color: var(--smoke); +} + +.success { + text-align: center; + margin-top: 5rem; + .heading { + font-size: 1.5rem; + } +} diff --git a/app/scripts/components/welcome/SignupForm.jsx b/app/scripts/components/welcome/SignupForm.jsx new file mode 100644 index 0000000000..544020c812 --- /dev/null +++ b/app/scripts/components/welcome/SignupForm.jsx @@ -0,0 +1,105 @@ +'use strict'; + +var debug = require('debug')('SignupForm'); + +import React, { PropTypes } from 'react'; +import _ from 'lodash'; +import connectToStores from 'fluxible-addons-react/connectToStores'; +import Button from '@dux/element-button'; + +import FA from 'common/FontAwesome'; +import FancyInput from 'common/FancyInput'; +import SignupStore from '../../stores/SignupStore'; +import attemptSignup from '../../actions/attemptSignup'; +import onChange from '../../actions/common/onChangeUtil'; +import { STATUS } from '../../stores/signupstore/Constants'; +import { handleFormErrors } from './_utils'; +import styles from './SignupForm.css'; + +var SignupForm = React.createClass({ + displayName: 'SignupForm', + contextTypes: { + executeAction: PropTypes.func.isRequired + }, + PropTypes: { + location: PropTypes.object + }, + _onSubmit(e) { + e.preventDefault(); + const { partner_value, redirect_value } = this.props.location.query; + var payload = this.props.values; + payload.username = payload.username.toLowerCase(); + if (partner_value) { + payload.partner_value = partner_value; + } + if (redirect_value) { + payload.redirect_value = redirect_value; + } + debug(payload); + this.context.executeAction(attemptSignup, payload); + }, + onChange: onChange({ + storePrefix: 'SIGNUP' + }), + render() { + debug(this.props); + if(this.props.STATUS === STATUS.SUCCESSFUL_SIGNUP) { + return ( +
    +
    Sweet! You're almost ready to go!
    +

    Please check your email to activate your account.

    + +
    + ); + } else { + return ( +
    +
    +
    +

    New to Docker?

    +

    Create your free Docker ID to get started.

    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + ); + } + } +}); + +export default connectToStores(SignupForm, + [SignupStore], + function({ getStore }, props) { + return getStore(SignupStore).getState(); + }); diff --git a/app/scripts/components/welcome/_utils.js b/app/scripts/components/welcome/_utils.js new file mode 100644 index 0000000000..9ac9e62c89 --- /dev/null +++ b/app/scripts/components/welcome/_utils.js @@ -0,0 +1,43 @@ +'use strict'; +import _ from 'lodash'; + +export function handleFormErrors(ctx, rawValueObject) { + + /** + * This function expects a ctx that has a `fields` + * object on the state, and a `_validate` function that + * returns an object `{ hasError: bool, error: string }` + * + * A valid component looks like: + * + * var Component = React.createClasse({ + * getInitialState() { + * return { + * fields: {} + * } + * }, + * _validate(key, value) { + * return { + * hasError: true, + * error: 'It\'s always wrong!' + * } + * } + * }) + */ + + // shortcut keys for State + let fields = ctx.state.fields || {}; + + // loop through `rawValueObject`, validating values + _.forIn(rawValueObject, function(value, key) { + let { hasError, error } = ctx._validate(key, value); + fields[key] = fields[key] || {}; + fields[key].hasError = hasError; + fields[key].error = error; + }, ctx); + + // queue up the new State + ctx.setState({ + fields + }); +} diff --git a/app/scripts/fluxibleRouter.js b/app/scripts/fluxibleRouter.js new file mode 100644 index 0000000000..27194954eb --- /dev/null +++ b/app/scripts/fluxibleRouter.js @@ -0,0 +1,112 @@ +'use strict'; + +import React from 'react'; +import createHashHistory from 'history/lib/createHashHistory'; +import { createRoutes, useRoutes, RoutingContext } from 'react-router'; +import { routes } from 'react-router/lib/PropTypes'; +var debug = require('debug')('FluxibleRouter'); + +const { func, object } = React.PropTypes; + +/** + * A is a high-level API for automatically setting up + * a router that renders a with all the props + * it needs each time the URL changes. + */ +const FluxibleRouter = React.createClass({ + + propTypes: { + history: object, + children: routes, + routes, // alias for children + createElement: func, + onError: func, + onUpdate: func, + parseQueryString: func, + stringifyQuery: func + }, + + getInitialState() { + return { + firstRender: true, + location: null, + routes: null, + params: null, + components: null + }; + }, + + handleError(error) { + if (this.props.onError) { + this.props.onError.call(this, error); + } else { + // Throw errors by default so we don't silently swallow them! + throw error; // This error probably occurred in getChildRoutes or getComponents. + } + }, + + //============================================================================ + //ComponentWillMount is the only addition to this Router + //Needed in order to provide location/pathname to onUpdate from client.js + /* eslint-disable */ + componentWillMount() { + let { history, children, routes, parseQueryString, stringifyQuery } = this.props; + let createHistory = history ? () => history : createHashHistory; + + this.history = useRoutes(createHistory)({ + routes: createRoutes(routes || children), + parseQueryString, + stringifyQuery + }); + + this._unlisten = this.history.listen((error, state) => { + if (error) { + this.handleError(error); + } else { + //Rendering page after setting state, here to make sure the data is loaded `onUpdate` before we show the page + if (this.state.firstRender) { + this.setState({ + firstRender: false, + ...state + }); + } else { + var _this = this; + this.props.onUpdate(state, function () { + _this.setState(state); + }); + } + //End change in `onUpdate` related change to get client side rendering to behave like now + } + }); + }, + //============================================================================ + componentWillUnmount() { + if (this._unlisten) { + this._unlisten(); + } + }, + + render() { + let { location, routes, params, components } = this.state; + let { createElement } = this.props; + + if (location == null) { + return null; // Async match + } + + const routingProps = { + history: this.history, + createElement, + location, + routes, + params, + components + }; + + return ; + } + +}); +/*eslint-enable*/ + +export default FluxibleRouter; diff --git a/app/scripts/middlewares/sdk.js b/app/scripts/middlewares/sdk.js new file mode 100644 index 0000000000..25606daf01 --- /dev/null +++ b/app/scripts/middlewares/sdk.js @@ -0,0 +1,93 @@ +'use strict'; + +import { ATTEMPTING, ERROR, SUCCESS } from '../reduxConsts.js'; + +/** + * SDK middleware for automatically calling SDK actions and storing request + * statuses. + * + * Example: + * + * someAction({ tagName }) => ({ + * type: 'SOME_ACTION', + * meta: { + * sdk: { + * call: SDK.func, // SDK function to call + * args: ['args', 'for', 'func'] // Args to pass in to SDK function + * callback: (err, res) => ({}) // SDK callback + * statusKey: ['SOMETHING'] // Unique identifier for saving status in status reducer + * } + * } + * }) + * + * NOTE: `statusKey` should be an array; the first item should namespace + * the action type and the second item should be unique to the particular + * record. For example, when deleting a tag: + * + * statusKey: ['deleteRepoTag', 'latest'] + * + * Status will be stored in 'state.status.deleteRepoTag.latest'. + * + * NOTE: `args` does not include the SDK callback. + * + * For an example see actions/redux/tags.js + */ + +// dispatchStatus takes the action and status of an SDK request and returns +// a new action to Redux for tracking state. +// +// The 'data' parameter may be either the error or response body from the call +const dispatchStatus = (action, status, data) => ({ + type: `${action.type}_STATUS`, + payload: { + // Add in everything from the initial action payload. This lets us pass + // things such as namespaces and repo names to reducers which handle + // success states (when deleting a tag we need the namespace/repo/tag name) + ...action.payload, + statusKey: action.meta.sdk.statusKey, + status, + data + } +}); + +const sdkMiddleware = (store) => (next) => (action) => { + // If there's no meta.sdk in our action we don't need to process it with our + // middleware + if (typeof action !== 'object' || !action.meta || !action.meta.sdk) { + return next(action); + } + + const { call, args, callback, statusKey } = action.meta.sdk; + + if (!statusKey) { + throw new Error(`action.meta.sdk.statusKey is not defined for ${action.type}`); + } + + // Wrap the callback with a function that automatically dispatches error + // states for the SDK call to Redux. + // Why: this eliminates the need to create error and success dispatches for every + // action we create, and standardizes the format of all status dispatches + const wrapped = (err, res) => { + if (err) { + next(dispatchStatus(action, ERROR, err)); + // TODO: Dispatch that there was an error with this call. + } else { + next(dispatchStatus(action, SUCCESS, res)); + } + + // Ensure we call the original callback supplied for the SDK call. + if (callback) { + callback.apply(null, [err, res]); + } + }; + + // Dispatch that we're attempting the SDK call + next(dispatchStatus(action, ATTEMPTING)); + + // Make the SDK call here. + call.apply(null, [...args, wrapped]); + + return next(action); +}; + +export default sdkMiddleware; diff --git a/app/scripts/normalizers.js b/app/scripts/normalizers.js new file mode 100644 index 0000000000..5b7ca86f53 --- /dev/null +++ b/app/scripts/normalizers.js @@ -0,0 +1,64 @@ +'use strict'; + +import { Schema, arrayOf } from 'normalizr'; + +// Key repositories by the 'reponame' attribute instead of the 'key' field so +// that we can look up repositories by name in our reselect queries +const repository = new Schema('repository', { idAttribute: 'reponame' }); + +// The tag ID shouldn't be via key - it should be tagname +const tag = new Schema('tag', { + idAttribute: (entity) => { + // The natuilus API uses entity.tag as the tagname whereas hub uses + // entity.name + return (entity.tag) ? entity.tag : entity.name; + } +}); +// The scan ID shouldn't use the ID attribute; we need to be able to load +// any scan by checking the repo:tag combination +// TODO: Can we use the sha256sum here instead? +const scan = new Schema('scan', { + idAttribute: (entity) => `${entity.reponame}:${entity.tag}` +}); +// AKA layer +const blob = new Schema('blob', { idAttribute: 'index' }); +// Key components by names to version numbers as they have no unique ID +const component = new Schema('component', { + idAttribute: (entity) => `${entity.component}:${entity.version}` +}); +const vulnerability = new Schema('vulnerability', { idAttribute: 'cve' }); + + +// A repository has many tags +repository.define({ + tags: arrayOf(tag) +}); + +// A tag has many blobs and many scans +tag.define({ + blobs: arrayOf(blob), + // NOTE: Right now a tag can only have the latest scan. + // In the future we'll allow tags to have many scans + scans: arrayOf(scan) +}); + +scan.define({ + blobs: arrayOf(blob) +}); + +blob.define({ + components: arrayOf(component) +}); + +component.define({ + vulnerabilities: arrayOf(vulnerability) +}); + +export { + repository, + tag, + scan, + blob, + component, + vulnerability +}; diff --git a/app/scripts/records.js b/app/scripts/records.js new file mode 100644 index 0000000000..9a603ddf48 --- /dev/null +++ b/app/scripts/records.js @@ -0,0 +1,14 @@ +'use strict'; + +import { Record } from 'immutable'; + +// Records are the same as Maps but with accessors +// and can only have these defined fields set. +// USE: Instead of `shape`, in propTypes, we can use +// status: instanceOf(StatusRecord) +// +// NOTE: All records should be defined in this file +export const StatusRecord = new Record({ + status: '', + error: undefined +}); diff --git a/app/scripts/reducers/_utils.js b/app/scripts/reducers/_utils.js new file mode 100644 index 0000000000..b47be097cf --- /dev/null +++ b/app/scripts/reducers/_utils.js @@ -0,0 +1,45 @@ +'use strict'; + +import Immutable from 'immutable'; + +/** + * mergeEntity takes an entity name and merges it into the current state + * if found. + * + * This is used when your state contains a basic map of entities. + * + * Examples: + * + * mergeEntity('repository'): + * > merge action.payload.entities.repository into the current state + * + */ +export const mergeEntity = (entityType) => (state, action) => { + //TODO: Remove promises stuff with ready / error? + const { payload, ready, error } = action; + if (!ready || error || !payload.entities[entityType]) { + return state; + } + return state.merge(new Immutable.Map(payload.entities[entityType])); +}; + +export const mapToRecord = (map, Record) => { + let records = {}; + Object.keys(map).forEach(item => { records[item] = new Record(map[item]); }); + return records; +}; + +export const mergeEntities = (...entities) => (state, action) => { + + const { payload, ready, error } = action; + if (!ready || error) { + return state; + } + + return state.withMutations( map => { + entities.forEach( item => { + return map.mergeIn([item], new Immutable.Map(payload.entities[item])); + }); + return map; + }); +}; diff --git a/app/scripts/reducers/index.js b/app/scripts/reducers/index.js new file mode 100644 index 0000000000..fd33d66740 --- /dev/null +++ b/app/scripts/reducers/index.js @@ -0,0 +1,21 @@ +'use strict'; + +// This combines all reducers from internal and external packages to create +// a redux store. +import { combineReducers } from 'redux'; +import repos from './repos'; +import scans from './scans'; +import status from './status'; +import tags from './tags'; +import { reducer as ui } from 'redux-ui'; + +export default combineReducers({ + // external reducers + ui, + // middleware reducers + // app-specific reducers + repos, + scans, + status, + tags +}); diff --git a/app/scripts/reducers/repos.js b/app/scripts/reducers/repos.js new file mode 100644 index 0000000000..d96a1fdcd1 --- /dev/null +++ b/app/scripts/reducers/repos.js @@ -0,0 +1,24 @@ +'use strict'; + +import immutable from 'immutable'; +import { + RECEIVE_REPO +} from 'reduxConsts.js'; + +const defaultState = immutable.fromJS( + (typeof window !== 'undefined' && window.ReduxApp.repos) || {} +); + +const reducers = { + [RECEIVE_REPO]: (state, action) => { + return state.clear().merge(action.payload); + } +}; + +export default function(state = defaultState, action) { + const { type } = action; + if (typeof reducers[type] === 'function') { + return reducers[type](state, action); + } + return state; +} diff --git a/app/scripts/reducers/scans.js b/app/scripts/reducers/scans.js new file mode 100644 index 0000000000..e3074ad4e2 --- /dev/null +++ b/app/scripts/reducers/scans.js @@ -0,0 +1,26 @@ +'use strict'; + +//modified from nautilus-ui/src/scripts/reducers/scans.js +import immutable from 'immutable'; +import { RECEIVE_SCANNED_TAG_DATA } from 'reduxConsts.js'; + +// Map of entities within each scan +const defaultState = immutable.fromJS( + (typeof window !== 'undefined' && window.ReduxApp.scans) || {} +); + +const reducers = { + [ RECEIVE_SCANNED_TAG_DATA ]: (state, action) => { + // Here we only ever save this current scan from the repoDetailsScannedTag + // action. This means that our scans reducer only ever has one scan - for + // the current page. + return state.clear().merge(action.payload.entities); + } +}; + +export default function(state = defaultState, action) { + if (typeof reducers[action.type] === 'function') { + return reducers[action.type](state, action); + } + return state; +} diff --git a/app/scripts/reducers/status.js b/app/scripts/reducers/status.js new file mode 100644 index 0000000000..589187b83c --- /dev/null +++ b/app/scripts/reducers/status.js @@ -0,0 +1,40 @@ +'use strict'; + +import immutable, { Map } from 'immutable'; +import endsWith from 'lodash/string/endsWith'; +import isArray from 'lodash/lang/isArray'; +import { ERROR } from 'reduxConsts.js'; +import { StatusRecord } from 'records'; + +const defaultState = immutable.fromJS( + (typeof window !== 'undefined' && window.ReduxApp.status) || {} +); + +// This reducer listens for status updates from the SDK middleware +// and automatically stores the status within the `statusKey`. +// +// Example: If statusKey = ['deleteRepoTag', 'latest'] and status = 'ATTEMPTING', +// then state.status.deleteRepoTag.latest would be `ATTEMPTING`. +export default function(state = defaultState, action) { + // The status reducer only acts on actions ending in _STATUS. + // Ignore anything else and return the default state. + if (!endsWith(action.type, `_STATUS`)) { + return state; + } + + const { statusKey, status, data } = action.payload; + // We're using setIn, so if the statusKey is a string it needs + // to be wrapped in an array. + const sk = isArray(statusKey) ? statusKey : [statusKey]; + + if (status === ERROR) { + // Store the status and error response from the API within + // the state. + return state.setIn(sk, new StatusRecord({ status, error: data })); + } + + // On ATTEMPTING or SUCCESS we only want to store the status; + // storing action.payload.data would store the entire API response + // which our other reducers should be handling. + return state.setIn(sk, new StatusRecord({ status })); +} diff --git a/app/scripts/reducers/tags.js b/app/scripts/reducers/tags.js new file mode 100644 index 0000000000..cb933949cb --- /dev/null +++ b/app/scripts/reducers/tags.js @@ -0,0 +1,91 @@ +'use strict'; + +import immutable, { Map } from 'immutable'; +import { + RECEIVE_NAUTILUS_TAGS_FOR_REPOSITORY, + RECEIVE_TAGS_FOR_REPOSITORY, + DELETE_REPO_TAG, + SUCCESS +} from 'reduxConsts.js'; + +// Use the serialized redux data from the universal app loading if it exists. +// +// Shape of state: +// { +// 'namespace': { +// 'reponame': { +// tags: { +// 'latest': { ...data }, +// '14.04': { ...data }, +// ... +// }, +// result: [1, 2, 3, ...] // Array of repo IDs as ordered by hub API +// }, +// ... +// } +// } +// +// We use a nested map of namespace:reponame keys to a list of tags to ensure +// that we can merge the nautilus and hub API responses together without +// clearing inbetween. +const defaultState = immutable.fromJS( + (typeof window !== 'undefined' && window.ReduxApp.tags) || {} +); + +// mergeTagsIntoState accepts a namespace, reponame and normalized tag +// information and merges them into the given state. +// +// This is used when tags from the hub and nautilus API are loaded. +const mergeTagsIntoState = (state, action) => { + const { namespace, reponame, tags } = action.payload; + const path = [namespace, reponame, 'tags']; + const { tag } = tags.entities; + + return state.setIn( + path, + // Get the existing tags for this namespace/repo and merge the normalized + // tags recursively. If the namespace/repo pair doesn't exist this returns + // a new map. + // + // Merge function ensures that in the event of a conflict where the new value + // is undefined or null, it does not overwrite the existing value + state.getIn(path, new Map()).mergeDeep(tag) + ); +}; + +const maybeDeleteTag = (state, action) => { + if (action.payload.status === SUCCESS) { + // Remove this tag from our reducer. + const { namespace, reponame, tagName } = action.payload; + return state.withMutations(s => { + let result = s.getIn([namespace, reponame, 'result']); + result = result.filter(tag => tag !== tagName); + s.deleteIn([namespace, reponame, 'tags', tagName]); + s.setIn([namespace, reponame, 'result'], result); + return s; + }); + } + return state; +}; + +const reducers = { + [RECEIVE_TAGS_FOR_REPOSITORY]: (state, action) => { + // Add the result array of ordered tags from the hub API response, + // then merge tags in + const { namespace, reponame, tags } = action.payload; + const path = [namespace, reponame, 'result']; + const { result } = tags; + state = state.setIn(path, result); + return mergeTagsIntoState(state, action); + }, + [RECEIVE_NAUTILUS_TAGS_FOR_REPOSITORY]: mergeTagsIntoState, + [`${DELETE_REPO_TAG}_STATUS`]: maybeDeleteTag +}; + +export default function(state = defaultState, action) { + const { type } = action; + if (typeof reducers[type] === 'function') { + return reducers[type](state, action); + } + return state; +} diff --git a/app/scripts/reduxConsts.js b/app/scripts/reduxConsts.js new file mode 100644 index 0000000000..6ee2ee93b4 --- /dev/null +++ b/app/scripts/reduxConsts.js @@ -0,0 +1,19 @@ +'use strict'; +//Consts used for redux actions +const keyMirror = require('keymirror'); + +export default keyMirror({ + //repos + RECEIVE_REPO: null, + + //tags + DELETE_REPO_TAG: null, + RECEIVE_NAUTILUS_TAGS_FOR_REPOSITORY: null, + RECEIVE_SCANNED_TAG_DATA: null, + RECEIVE_TAGS_FOR_REPOSITORY: null, + + // statuses + ATTEMPTING: null, + ERROR: null, + SUCCESS: null +}); diff --git a/app/scripts/reduxStore.js b/app/scripts/reduxStore.js new file mode 100644 index 0000000000..a5aaf0748f --- /dev/null +++ b/app/scripts/reduxStore.js @@ -0,0 +1,38 @@ +'use strict'; + +// This creates a new redux store by importing our reducers and middleware +// and combining the two. +import { applyMiddleware, compose, createStore } from 'redux'; +import { Iterable } from 'immutable'; +import reducers from './reducers'; +import sdkMiddleware from './middlewares/sdk.js'; +import createLogger from 'redux-logger'; +const debug = require('debug')('hub:redux:logger'); + + +// Logger must always be the last middleware in applyMiddleware +const logger = createLogger({ + predicate: () => process.env.ENV === `development`, + // Use the debug import as our logger + logger: {log: debug}, + // Transform any immutableJS maps and iterables into their standard JS + // counterparts. This means you can inspect state within the console. + stateTransformer: (state) => { + let newState = {}; + Object.keys(state).forEach(key => { + newState[key] = state[key]; + if (Iterable.isIterable(state[key])) { + newState[key] = state[key].toJS(); + } + }); + return newState; + } +}); + +// Compose creates a new function by taking store enhancers (such as middleware +// and any external enhancers) which modifies the createStore function. +const enhancedCreateStore = compose( + applyMiddleware(sdkMiddleware, logger) +)(createStore); + +export default enhancedCreateStore; diff --git a/app/scripts/reduxUtils.js b/app/scripts/reduxUtils.js new file mode 100644 index 0000000000..dfba193f92 --- /dev/null +++ b/app/scripts/reduxUtils.js @@ -0,0 +1,27 @@ +'use strict'; + +import { bindActionCreators } from 'redux'; +import React from 'react'; +import consts from './reduxConsts'; +/** + * Given an object of actions, this returns a thunk which returns all actions + * bound to dispatch using the same key names. + * + * This allows us to use `this.props.actions.$actionName` within components + * after being connected to Redux. + * + * Example: + * + * @connect(mapState, mapActions(Actions)) + * class Basic extends Component { + * // this.props.actions now containers all keys in Actions bound to dispatch + * } + * + */ +export let mapActions = (actions) => { + return (dispatch) => { return { actions: bindActionCreators(actions, dispatch) }; }; +}; + +export const mapToArray = (map) => { + return Object.keys(map).map(key => map[key]); +}; diff --git a/app/scripts/selectors/status.js b/app/scripts/selectors/status.js new file mode 100644 index 0000000000..92b5d05e21 --- /dev/null +++ b/app/scripts/selectors/status.js @@ -0,0 +1,3 @@ +'use strict'; + +export const getStatus = (state) => state.status; diff --git a/app/scripts/server.js b/app/scripts/server.js new file mode 100644 index 0000000000..edae4a4263 --- /dev/null +++ b/app/scripts/server.js @@ -0,0 +1,342 @@ +'use strict'; +var debug = require('debug')('hub:server'); +var path = require('path'); +if(process.env.NEW_RELIC_LICENSE_KEY && process.env.NEW_RELIC_APP_NAME) { + process.env.NEW_RELIC_NO_CONFIG_FILE = true; + require('newrelic'); +} +var request = require('superagent'); +var bugsnag = require('bugsnag'); + +import pick from 'lodash/object/pick'; +import merge from 'lodash/object/merge'; +import React from 'react'; +import { match } from 'react-router'; +import RoutingContext from 'react-router/lib/RoutingContext'; +import bootstrapCreateElement from './bootstrapCreateElement'; +import app from './app'; +import cookieParser from 'cookie-parser'; +import bodyParser from 'body-parser'; +import express from 'express'; +import favicon from 'serve-favicon'; +import navigateAction from './actions/navigate'; +import serialize from 'serialize-javascript'; +import HtmlComponent from './components/Html'; + +import { Provider } from 'react-redux'; +import reducers from './reducers'; +import enhancedCreateStore from './reduxStore'; + +const server = express(); + +// don't broadcast we are using express +server.disable('x-powered-by'); + +// add bugsnag for asynch errors +if (process.env.BUGSNAG_API_KEY) { + bugsnag.register(process.env.BUGSNAG_API_KEY); + server.use(bugsnag.requestHandler); +} + +server.use(favicon('./favicon.ico')); +server.use('/public', express.static('./public')); + +// Add a trailing '/' to the path if there is none +server.use(function(req, res, next) { + if (req.path.substr(-1) !== '/' && req.path.length > 1) { + const query = req.url.slice(req.path.length); + res.redirect(301, req.path + '/' + query); + } else { + next(); + } +}); + +// standard health check endpoint +server.get('/_health', function (req, res) { + res.send('OK'); +}); + +(function(){ + const redirectToDockerPricing = function(req, res) { + res.redirect(301, 'https://www.docker.com/pricing'); + }; + + const redirectTrialToDockerStore = function(req, res) { + res.redirect(301, 'https://store.docker.com/bundles/docker-datacenter/purchase?plan=free-trial'); + }; + + server.get('/enterprise/trial/', redirectTrialToDockerStore); // redirect DDC Trial page to new Store page + server.get('/enterprise/', redirectToDockerPricing); + server.get('/subscriptions/', redirectToDockerPricing); +})(); + +server.get('/account/signup/', function(req, res, next) { + res.redirect('/'); +}); + +server.get('/account/forgot-password/', function(req, res, next) { + res.redirect('/reset-password/'); +}); + +server.get('/account/login/', function(req, res, next) { + res.redirect('/login/'); +}); + +server.get('/_/', function(req, res, next) { + res.redirect('/explore/'); +}); + +server.get('/official/', function(req, res, next) { + res.redirect('/explore/'); +}); + +server.get('/account/accounts/', function(req, res, next) { + res.redirect('/account/authorized-services/'); +}); + +server.get('/plans/', function(req, res, next) { + res.redirect('https://www.docker.com/pricing'); +}); + +server.get('/resend-email-confirmation/', function(req, res, next) { + res.redirect('/reset-password/'); +}); + +//There are two cases now: +//Case 1: No query parameter, just the token | Default activation, with confirmation_key sent to the `activate` endpoint +//Case 2: A `ref` query parameter is sent in the email validation URL | For partners, we send both key and ref to the activation endpoint +server.get('/account/confirm-email/:token', function(req, res, next) { + if(req.params.token) { + //If on activate, we get a query parameter called `ref` back from the email link, we store it and send it with the POST + const { ref } = req.query; + const { token } = req.params; + var activateRequestBody = { confirmation_key: token }; + if (ref) { + activateRequestBody.ref = ref; + } + request.post(`${process.env.REGISTRY_API_BASE_URL}/v2/users/activate/`) + .accept('application/json') + .send(activateRequestBody) + .end((err, apiRes) => { + if (err) { + debug('sign up error', err); + //Redirect to Login page for any error. + //We do not have generic error pages for 400s or 500s. + res.redirect('/login/'); + } else if (!apiRes || !apiRes.body) { + debug('api response is empty'); + //Redirect to Login page, when there is no response + //This is a care case that needs to be handled to make sure + //that it doesn't crash. See HUB-2094 for further details. + res.redirect('/login/'); + } else { + const { redirect_url } = apiRes.body; + if (redirect_url) { + //Redirect to the redirect URL returned by the API + res.redirect(redirect_url); + } else { + //Fallback redirect to Login page, when there is no redirect URL + res.redirect('/login/'); + } + } + }); + } else { + res.redirect('/login/'); + } +}); + +server.use(cookieParser()); +// 30 days in ms: 2592000000 +const expiry = 1000 * 60 * 60 * 24 * 30; // ms * s * m * h * days +const cookieOpts = { + domain: process.env.COOKIE_DOMAIN, + httpOnly: true, + secure: true, + maxAge: expiry, + expires: new Date(Date.now() + expiry) +}; +server.post('/attempt-login/', + bodyParser.json(), + function(req, res, next) { + res.cookie('token', req.body.jwt, cookieOpts); + res.end(); +}); + +const isLoggedIn = function(req) { + return !!(req.cookies && (req.cookies.token || req.cookies.jwt)); +}; + +server.get('/account/billing-plans/', function(req, res, next) { + if (!isLoggedIn(req)) { + return res.redirect('/billing-plans/'); + } + next(); +}); + +server.use(function(req, res, next) { + if (req.method !== 'GET') { + return next(); + } + if (isLoggedIn(req) && (['/login/', '/reset-password/', '/register/'].indexOf(req.path) !== -1 || req.path.indexOf('/account/password-reset-confirm') === 0)) { + res.redirect('/'); + } else if (!isLoggedIn(req) && req.path.indexOf('password-reset-confirm') === -1 && req.path.indexOf('/account/') === 0) { + res.redirect('/login/'); + } else { + next(); + } +}); + +server.post('/attempt-logout/', function(req, res, next) { + /** + * Delete the old cookie when we see it on logout. + */ + const oldCookieOpts = merge({}, + cookieOpts, + { + domain: '.docker.com' + }); + res.clearCookie('jwt', oldCookieOpts); + res.clearCookie('token', cookieOpts); + res.end(); +}); + +server.post('/oauth/github-attempt/', + bodyParser.json(), + function(req, res, next) { + res.cookie('ghOauthKey', req.body.ghk, cookieOpts); + res.end(); +}); + +server.post('/oauth/github-done/', function(req, res, next) { + res.clearCookie('ghOauthKey', cookieOpts); + res.end(); +}); + +server.use(function(req, res, next) { + // We may need to whitelist OPTIONS + if (req.method !== 'GET') { + res.end('This server does not respond to non-GET requests'); + } else { + next(); + } +}); + +server.use(function(req, res, next) { + // Within each request create a new Redux store from all of our reducers + // so that state is unique per request. + const store = enhancedCreateStore(reducers); + const context = app.createContext({ + reduxStore: store + }); + + debug('context:', context, context.reduxStore); + + //We get the Routes that have been created in the FluxibleComponent + const routes = app.getComponent(); + + const originalURL = req.originalUrl; + //We use the 'match' API to match the created routes with the current location (req.originalURL) + debug('matching route', originalURL); + match({ routes, location: originalURL }, (routerError, redirectLocation, renderProps) => { + // match uses createRoutes for history + //TODO: handle redirect, not found and errors + //TODO: need to handle generic 404s, 500s, 301s + //if (redirectLocation) { + //TODO: redirects need to be handled here + // res.redirect(301, redirectLocation.pathname + redirectLocation.search); + //} + //else if (error) { + //TODO: Render a nice 500 page with error displayed | HOPE THIS NEVER HAPPENS + // res.send(500, error.message); + //} + //else if (renderProps == null) { + //TODO: Probably render the 404 page here + // res.send(404, 'Not found'); + //} + + //If router errors out, bail + if (routerError) { + debug('Error in the Router', routerError); + res.end(routerError); + } + // whitelist cookies from express into renderProps + if (req.cookies) { + renderProps.cookies = pick(req.cookies, ['token', 'ghOauthKey']); + // For backward compat since we changed the cookie name + renderProps.cookies.jwt = renderProps.cookies.token; + } + + // Set the props, so the server knows if the user is logged in + if (renderProps.cookies.jwt) { + renderProps.JWT = renderProps.cookies.jwt; + } + + /** + * Execute navigate action to load data (we block the render until the data is + * completely loaded) + * You can see the actual server side render happens only after the + * `navigateAction` calls `done()` somewhere + */ + context.executeAction(navigateAction, renderProps, function() { + debug('Exposing context state', context); + debug('EXPOSING RENDER PROPS', renderProps); + let serializedApp; + let reduxApp; + try { + /* + NOTE: If we have any html or request responses saved in the store + - serialize will not be able to parse this and will crash the node server + */ + serializedApp = serialize(app.dehydrate(context)); + reduxApp = serialize(store.getState()); + } catch (err) { + debug('SERIALIZATION FAILURE: ', err); + } + const exposed = `window.App=${serializedApp}; window.ReduxApp = ${reduxApp};`; + debug('Rendering Application component into html'); + + // This is the Router 1.0.0 recommended way of doing server side rendering + // Also add a Provider around the routingContext for Redux. + // NOTE: We're defining our redux store above directly within the app context + const routingContext = ( + + + + ); + + debug('rendering html'); + var html = React.renderToStaticMarkup( + + ); + + res.send(html); + }); + }); +}); + +// add bugsnag for error handling middleware +if(process.env.BUGSNAG_API_KEY) { + server.use(bugsnag.errorHandler); +} + +// add generic error catching middleware so the server doesn't crash +server.use(function catchError(err, req, res, next) { + const message = err.stack ? err.stack.replace(/\n/g, '') : ''; + const errorLog = { + time: (new Date()).toISOString(), + service: 'hub-web-v2', + message + }; + console.error(errorLog); // eslint-disable-line no-console +}); + +const port = process.env.PORT || 3000; + +// Stop the server if the process terminates +const runningServer = server.listen(port, function onListen() { + process.on('exit', runningServer.close.bind(runningServer)); + debug('Listening on port ' + port); +}); diff --git a/app/scripts/stores/AccountInfoFormStore.js b/app/scripts/stores/AccountInfoFormStore.js new file mode 100644 index 0000000000..0102a883c1 --- /dev/null +++ b/app/scripts/stores/AccountInfoFormStore.js @@ -0,0 +1,131 @@ +'use strict'; + +var createStore = require('fluxible/addons/createStore'); +import { STATUS } from './common/Constants'; +var debug = require('debug')('AccountInfoFormStore'); +var _ = require('lodash'); + +var noErrorObj = { + hasError: false, + error: '' +}; + +export default createStore({ + storeName: 'AccountInfoFormStore', + handlers: { + ACCOUNT_INFO_CLEAR_FORM: '_clearForm', + ACCOUNT_INFO_UPDATE_FIELD_WITH_VALUE: '_updateFieldWithValue', + ACCOUNT_INFO_ATTEMPT_START: '_attemptStart', + ACCOUNT_INFO_BAD_REQUEST: '_badRequest', + ACCOUNT_INFO_SUCCESS: '_success', + ACCOUNT_INFO_STATUS_CLEAR: '_clearStatus', + ACCOUNT_INFO_FACEPALM: '_facepalm', + RECEIVE_USER: '_receiveUser' + }, + initialize() { + this.STATUS = STATUS.DEFAULT; + + this.fields = { + full_name: {}, + company: {}, + location: {}, + profile_url: {}, + gravatar_email: {} + }; + + this.values = { + full_name: '', + company: '', + location: '', + profile_url: '', + gravatar_email: '' + }; + }, + _receiveUser(user) { + debug('receive user', user); + this.values.full_name = user.full_name; + this.values.company = user.company; + this.values.location = user.location; + this.values.profile_url = user.profile_url; + this.values.gravatar_email = user.gravatar_email; + this.emitChange(); + }, + _facepalm() { + // this happens if things are screwed and we can't recover gracefully + this.STATUS = STATUS.FACEPALM; + this.emitChange(); + }, + _clearForm() { + this.initialize(); + this.emitChange(); + }, + _updateFieldWithValue({fieldKey, fieldValue}) { + this.STATUS = STATUS.DEFAULT; + this.values[fieldKey] = fieldValue; + this.emitChange(); + }, + _attemptStart() { + this.STATUS = STATUS.ATTEMPTING; + this.fields = { + full_name: {}, + company: {}, + location: {}, + profile_url: {}, + gravatar_email: {} + }; + this.emitChange(); + }, + _success() { + this.STATUS = STATUS.SUCCESSFUL; + this.emitChange(); + }, + _clearStatus() { + this.STATUS = STATUS.DEFAULT; + this.emitChange(); + }, + _badRequest(obj) { + /** + * This function expects keys which match the `this.fields` keys + * with an array of errors: + * + * { + * orgname: ['this field is required'] + * } + */ + let shouldEmitChange = false; + this.STATUS = STATUS.ERROR; + + // cycle through the possible form fields + this.fields = _.mapValues(this.fields, function (errorObject, key) { + if(_.has(obj, key)) { + shouldEmitChange = true; + return { + hasError: !!obj[key], + error: obj[key][0] + }; + } else { + return errorObject; + } + }); + + if(shouldEmitChange) { + this.emitChange(); + } + }, + getState() { + return { + fields: this.fields, + values: this.values, + STATUS: this.STATUS + }; + }, + dehydrate() { + return this.getState(); + }, + rehydrate(state) { + debug('rehydrate', state); + this.fields = state.fields; + this.values = state.values; + this.STATUS = state.STATUS; + } +}); diff --git a/app/scripts/stores/AccountSettingsLicensesStore.js b/app/scripts/stores/AccountSettingsLicensesStore.js new file mode 100644 index 0000000000..40274dddb7 --- /dev/null +++ b/app/scripts/stores/AccountSettingsLicensesStore.js @@ -0,0 +1,41 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('AccountSettingsLicenseStore'); +import _ from 'lodash'; + +export default createStore({ + storeName: 'AccountSettingsLicensesStore', + handlers: { + RECEIVE_LICENSES: '_receiveLicenses' + }, + initialize: function() { + this.licenses = []; + this.attempting = true; + }, + _receiveLicenses: function(licenses) { + this.licenses = _.flatten(licenses); + this.attempting = false; + this.emitChange(); + }, + getAttempt: function() { + return this.attempting; + }, + setAttempt: function(flag) { + this.attempting = flag; + }, + getState: function() { + return { + licenses: this.licenses, + attempting: this.attempting + }; + }, + rehydrate: function(state) { + this.licenses = state.licenses; + this.attempting = state.attempting; + }, + dehydrate: function() { + return this.getState(); + } +}); + diff --git a/app/scripts/stores/AccountSettingsTeamsStore.js b/app/scripts/stores/AccountSettingsTeamsStore.js new file mode 100644 index 0000000000..17b7d9a462 --- /dev/null +++ b/app/scripts/stores/AccountSettingsTeamsStore.js @@ -0,0 +1,29 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; + +export default createStore({ + storeName: 'AccountSettingsTeamsStore', + handlers: { + RECEIVE_LICENSES: '_receiveLicenses' + }, + initialize() { + this.licenses = []; + }, + _receiveLicenses(res) { + this.licenses = res.results; + this.emitChange(); + }, + getState() { + return { + licenses: this.licenses + }; + }, + rehydrate(state) { + this.licenses = state.licenses; + }, + dehydrate() { + return this.getState(); + } +}); + diff --git a/app/scripts/stores/AddOrganizationStore.js b/app/scripts/stores/AddOrganizationStore.js new file mode 100644 index 0000000000..7fd9986b2d --- /dev/null +++ b/app/scripts/stores/AddOrganizationStore.js @@ -0,0 +1,115 @@ +'use strict'; + +var createStore = require('fluxible/addons/createStore'); +import { STATUS } from './addorganizationstore/Constants'; +var debug = require('debug')('AddOrganizationStore'); +var _ = require('lodash'); + +var noErrorObj = { + hasError: false, + error: '' +}; + +export default createStore({ + storeName: 'AddOrganizationStore', + handlers: { + ADD_ORG_CLEAR_FORM: '_clearForm', + ADD_ORG_UPDATE_FIELD_WITH_VALUE: '_updateFieldWithValue', + ADD_ORG_ATTEMPT_START: '_addOrgAttemptStart', + ADD_ORG_BAD_REQUEST: '_badRequest', + ADD_ORG_SUCCESS: '_addOrgSuccess', + ADD_ORG_FACEPALM: '_facepalm', + CREATED_ORGANIZATION: '_clearForm', + CLEAR_ERRORS: '_clearErrors' + }, + initialize() { + this.STATUS = STATUS.DEFAULT; + + this.fields = { + gravatar_email: {}, + orgname: {}, + location: {}, + company: {}, + profile_url: {} + }; + + this.values = { + gravatar_email: '', + orgname: '', + location: '', + company: '', + profile_url: '' + }; + }, + _facepalm() { + // this happens if things are screwed and we can't recover gracefully + this.STATUS = STATUS.FACEPALM; + this.emitChange(); + }, + _clearForm() { + this.initialize(); + this.emitChange(); + }, + _updateFieldWithValue({fieldKey, fieldValue}) { + this._clearErrors(fieldKey); + this.values[fieldKey] = fieldValue; + this.emitChange(); + }, + _attemptStart() { + this.STATUS = STATUS.ATTEMPTING; + this.emitChange(); + }, + _signupSuccess() { + this.STATUS = STATUS.SUCCESSFUL_SIGNUP; + this.emitChange(); + }, + _clearErrors(fieldKey) { + if (this.STATUS === STATUS.BAD_REQUEST || this.STATUS === STATUS.FACEPALM) { + this.fields[fieldKey] = noErrorObj; + this.STATUS = STATUS.DEFAULT; + this.emitChange(); + } + }, + _badRequest(obj) { + /** + * This function expects keys which match the `this.fields` keys + * with an array of errors: + * + * { + * orgname: ['this field is required'] + * } + */ + let shouldEmitChange = false; + this.STATUS = STATUS.BAD_REQUEST; + + // cycle through the possible form fields + this.fields = _.mapValues(this.fields, function (errorObject, key) { + if(_.has(obj, key)) { + shouldEmitChange = true; + return { + hasError: !!obj[key], + error: obj[key][0] + }; + } else { + return errorObject; + } + }); + + if(shouldEmitChange) { + this.emitChange(); + } + }, + getState() { + return { + fields: this.fields, + values: this.values, + STATUS: this.STATUS + }; + }, + dehydrate() { + return {}; + }, + rehydrate(state) { + this.state = state; + } +}); diff --git a/app/scripts/stores/AddTrialLicenseStore.js b/app/scripts/stores/AddTrialLicenseStore.js new file mode 100644 index 0000000000..d448f26f50 --- /dev/null +++ b/app/scripts/stores/AddTrialLicenseStore.js @@ -0,0 +1,64 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import { ATTEMPTING_DOWNLOAD, + BAD_REQUEST, + DEFAULT, + FACEPALM, + SUCCESSFUL_DOWNLOAD } from 'stores/addtriallicensestore/Constants'; +const debug = require('debug')('AddTrialLicenseStore'); + +export default createStore({ + storeName: 'AddTrialLicenseStore', + handlers: { + ATTEMPTING_LICENSE_DOWNLOAD_START: '_attemptingLicenseDownloadStart', + DOWNLOAD_LICENSE_CONTENT_BAD_REQUEST: '_downloadLicenseContentBadRequest', + DOWNLOAD_LICENSE_CONTENT_FACEPALM: '_facepalm', + RECEIVE_LICENSE_DOWNLOAD_CONTENT: '_receiveLicenseDownloadContent' + }, + initialize: function() { + this.error = ''; + this.STATUS = DEFAULT; + }, + _attemptingLicenseDownloadStart: function() { + this.STATUS = ATTEMPTING_DOWNLOAD; + this.error = ''; + this.emitChange(); + }, + _clearFeedbackStates: function() { + this.STATUS = DEFAULT; + this.error = ''; + this.emitChange(); + }, + _downloadLicenseContentBadRequest: function(err) { + this.STATUS = BAD_REQUEST; + this.error = err; + this.emitChange(); + }, + _facepalm: function(err) { + this.STATUS = FACEPALM; + debug(err); + this.error = 'Sorry, an error occured and your license is unavailable at this time.'; + this.emitChange(); + }, + _receiveLicenseDownloadContent: function() { + this.STATUS = SUCCESSFUL_DOWNLOAD; + this.error = ''; + setTimeout(this._clearFeedbackStates.bind(this), 5000); + this.emitChange(); + }, + getState: function() { + return { + error: this.error, + STATUS: this.STATUS + }; + }, + rehydrate: function(state) { + this.error = state.error; + this.STATUS = state.STATUS; + }, + dehydrate: function() { + return this.getState(); + } +}); + diff --git a/app/scripts/stores/AddWebhookFormStore.js b/app/scripts/stores/AddWebhookFormStore.js new file mode 100644 index 0000000000..e315647c2f --- /dev/null +++ b/app/scripts/stores/AddWebhookFormStore.js @@ -0,0 +1,86 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +import last from 'lodash/array/last'; +import { + DEFAULT, + ATTEMPTING, + ERROR +} from './addwebhookformstore/Constants'; +const debug = require('debug')('AddWebhookFormStore'); + +var WebhooksSettingsStore = createStore({ + storeName: 'AddWebhookFormStore', + handlers: { + RECEIVE_WEBHOOKS: '_receiveWebhooks', + ADD_WEBHOOK_CLEAR: '_clear', + ADD_WEBHOOK_START: '_start', + ADD_WEBHOOK_RESET: '_reset', + ADD_WEBHOOK_SUCCESS: '_success', + ADD_WEBHOOK_NEW_HOOK: '_newHook', + ADD_WEBHOOK_REMOVE_HOOK: '_removeHook', + ADD_WEBHOOK_ERROR: '_error', + ADD_WEBHOOK_MISSING_ARGS: '_handleMissingArgs', + ADD_WEBHOOK_VALIDATION_ERRORS: '_handleValidationErrors' + }, + initialize() { + /** + * hookFields represent each `input` pairing that is + * rendered. They contain no data about the content of the input + */ + this.hookFields = [1]; + this.STATUS = DEFAULT; + this.serverErrors = {}; + }, + _error(args) { + // TODO: handle generic error + this.STATUS = ERROR; + this.serverErrors = args; + this.emitChange(); + }, + _handleMissingArgs(args) { + debug('missing args: ', args); + this.serverErrors = args; + }, + _handleValidationErrors(args) { + debug('validation errors: ', args); + this.serverErrors = args; + }, + _newHook() { + const { hookFields: fields } = this; + this.hookFields = fields.concat(last(fields) + 1); + this.emitChange(); + }, + _reset() { + this.initialize(); + this.emitChange(); + }, + _start() { + this.STATUS = ATTEMPTING; + this.emitChange(); + }, + _success() {}, + _receiveWebhooks(payload) { + debug(payload); + this.pipelines = payload.results; + this.emitChange(); + }, + _receiveAddWebhookErrors(error) { + }, + getState() { + return { + STATUS: this.STATUS, + pipelines: this.pipelines, + hookFields: this.hookFields, + serverErrors: this.serverErrors + }; + }, + dehydrate() { + return this.getState(); + }, + rehydrate(state) { + this.pipelines = state.pipelines; + this.hookFields = state.hookFields; + } +}); + +module.exports = WebhooksSettingsStore; diff --git a/app/scripts/stores/ApplicationStore.js b/app/scripts/stores/ApplicationStore.js new file mode 100644 index 0000000000..6b4ea63eb6 --- /dev/null +++ b/app/scripts/stores/ApplicationStore.js @@ -0,0 +1,33 @@ +'use strict'; +const createStore = require('fluxible/addons/createStore'); + +var ApplicationStore = createStore({ + storeName: 'ApplicationStore', + handlers: { + CHANGE_ROUTE: 'handleNavigate' + }, + initialize: function() { + this.currentRoute = null; + }, + handleNavigate: function(route) { + if (this.currentRoute && route.path === this.currentRoute.path) { + return; + } + + this.currentRoute = route; + this.emitChange(); + }, + getState: function() { + return { + route: this.currentRoute + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.currentRoute = state.route; + } +}); + +module.exports = ApplicationStore; diff --git a/app/scripts/stores/AutoBuildSettingsStore.js b/app/scripts/stores/AutoBuildSettingsStore.js new file mode 100644 index 0000000000..117c3c63e1 --- /dev/null +++ b/app/scripts/stores/AutoBuildSettingsStore.js @@ -0,0 +1,235 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +import sortBy from 'lodash/collection/sortBy'; +import { STATUS } from './common/Constants'; + +var AutoBuildSettingsStore = createStore({ + storeName: 'AutoBuildSettingsStore', + handlers: { + AB_TRIGGER_BY_TAG_ERROR: '_triggerByTagError', + AB_TRIGGER_BY_TAG_SUCCESS: '_triggerByTagSuccess', + ATTEMPT_TRIGGER_BY_TAG: '_triggerByTagAttempt', + RECEIVE_AUTOBUILD_SETTINGS: '_receiveAutoBuildSettings', + UPDATE_AUTO_BUILD_SETTINGS: '_updateFields', + RECEIVE_AUTOBUILD_LINKS: '_receiveAutoBuildLinks', + LINK_AUTOBUILD_ERROR: '_linkAutoBuildError', + LINK_AUTOBUILD_SUCCESS: '_linkAutoBuildSuccess', + UPDATE_AUTOBUILD_PUSH_TRIGGER_ITEM: '_updateBuildTriggerItem', + UPDATE_AUTOBUILD_NEW_TAG_ITEM: '_updateBuildNewTagItem', + DELETE_AUTOBUILD_PUSH_TRIGGER_ITEM: '_deleteBuildTriggerItem', + DELETE_AUTOBUILD_NEW_TAG_ITEM: '_deleteBuildsNewTagItem', + ADD_AUTOBUILD_PUSH_TRIGGER_ITEM: '_addBuildTriggerItem', + SAVE_BUILD_TAGS_SUCCESS: '_saveTagsSuccess', + SAVE_BUILD_TAGS_ERROR: '_saveTagsError', + RECEIVE_TRIGGER_STATUS: '_receiveTriggerStatus', + RECEIVE_TRIGGER_LOGS: '_receiveTriggerLogs' + }, + initialize: function() { + this.autoBuildStore = { + repository: '', + build_name: '', + provider: '', + source_url: '', + docker_url: '', + repo_web_url: '', + repo_type: '', + active: false, + deleted: false, + repo_id: '', + build_tags: [], + deploykey: null, + hook_id: '' + }; + this.newTags = []; + this.validations = { + buildTags: { + hasError: false, + success: false, + errors: [] + }, + links: { + hasError: false, + success: false, + error: '' + }, + trigger: { + success: '', + error: '' + } + }; + this.autoBuildBlankSlate = {}; + this.autoBuildLinks = []; + this.triggerLinkForm = { + repoName: '' + }; + this.triggerStatus = { + token: '', + trigger_url: '', + active: false + }; + this.triggerLogs = []; + this.STATUS = STATUS.DEFAULT; + }, + _resetValidations: function(field) { + if (field === 'buildTags') { + this.validations.buildTags = { + hasError: false, + success: false, + errors: [] + }; + } else { + this.validations[field] = { + hasError: false, + success: false, + error: '' + }; + } + this.emitChange(); + }, + _receiveAutoBuildSettings: function(payload) { + this.autoBuildStore = payload; + const sorted = sortBy(payload.build_tags, 'id'); // ensure build_tags received are sorted + this.autoBuildStore.build_tags = sorted; + this.autoBuildBlankSlate = this.autoBuildStore; + this.emitChange(); + }, + _receiveAutoBuildLinks: function(payload) { + this.autoBuildLinks = payload; + this.triggerLinkForm.repoName = ''; + this.emitChange(); + }, + _linkAutoBuildError: function() { + this.validations.links = { + hasError: true, + success: false, + error: 'Failed to link this repository to your Automated Build.' + }; + this.emitChange(); + }, + _linkAutoBuildSuccess: function() { + this.validations.links = { + hasError: false, + success: true, + error: '' + }; + this.emitChange(); + }, + _addBuildTriggerItem: function() { + this.newTags.push({ + name: '', + dockerfile_location: '', + source_name: '', + source_type: 'Branch', + isNew: true + }); + this._resetValidations('buildTags'); + this.emitChange(); + }, + _deleteBuildTriggerItem: function(index) { + this.autoBuildStore.build_tags[index].toDelete = true; + this._resetValidations('buildTags'); + this.emitChange(); + }, + _deleteBuildsNewTagItem: function(index) { + this.newTags[index].toDelete = true; + this._resetValidations('buildTags'); + this.emitChange(); + }, + _updateBuildTriggerItem: function({ index, fieldkey, value}) { + this.autoBuildStore.build_tags[index][fieldkey] = value; + this._resetValidations('buildTags'); + this.emitChange(); + }, + _updateBuildNewTagItem: function({ index, fieldkey, value}) { + this.newTags[index][fieldkey] = value; + this._resetValidations('buildTags'); + this.emitChange(); + }, + _updateFields: function({ field, key, value }) { + this[field][key] = value; + if (field === 'triggerLinkForm') { + this._resetValidations('links'); + } + this.emitChange(); + }, + _saveTagsSuccess: function() { + this.validations.buildTags = { + success: true, + hasError: false, + errors: [] + }; + this.newTags = []; + setTimeout(this._resetValidations.bind(this), 3000, 'buildTags'); + this.emitChange(); + }, + _saveTagsError: function(tag) { + let currentErrors = this.validations.buildTags.errors; + if (tag.error) { + currentErrors.push(`${tag.name}: ${tag.error}`); + } + this.validations.buildTags = { + success: false, + hasError: true, + errors: currentErrors + }; + this.emitChange(); + }, + _receiveTriggerStatus: function(triggerStatus){ + this.triggerStatus = triggerStatus; + this.emitChange(); + }, + _receiveTriggerLogs: function(triggerLogs) { + this.triggerLogs = triggerLogs; + this.emitChange(); + }, + _triggerByTagAttempt: function() { + this.STATUS = STATUS.ATTEMPTING; + this.emitChange(); + }, + _triggerByTagError: function(err) { + this.validations.trigger.error = err; + setTimeout(this._clearTriggerStatus.bind(this), 5000); + this.emitChange(); + }, + _triggerByTagSuccess: function(success) { + this.validations.trigger.success = success; + setTimeout(this._clearTriggerStatus.bind(this), 5000); + this.emitChange(); + }, + _clearTriggerStatus: function() { + this.validations.trigger.success = ''; + this.validations.trigger.error = ''; + this.STATUS = STATUS.DEFAULT; + this.emitChange(); + }, + getState: function() { + return { + autoBuildStore: this.autoBuildStore, + autoBuildBlankSlate: this.autoBuildBlankSlate, + autoBuildLinks: this.autoBuildLinks, + autoTriggerForm: this.autoTriggerForm, + triggerStatus: this.triggerStatus, + triggerLinkForm: this.triggerLinkForm, + triggerLogs: this.triggerLogs, + validations: this.validations, + newTags: this.newTags, + STATUS: this.STATUS + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.autoBuildStore = state.autoBuildStore; + this.autoBuildLinks = state.autoBuildLinks; + this.autoTriggerForm = state.autoTriggerForm; + this.triggerStatus = state.triggerStatus; + this.triggerLinkForm = state.triggerLinkForm; + this.triggerLogs = state.triggerLogs; + this.validations = state.validations; + this.newTags = state.newTags; + this.STATUS = state.STATUS; + } +}); + +module.exports = AutoBuildSettingsStore; diff --git a/app/scripts/stores/AutobuildConfigStore.js b/app/scripts/stores/AutobuildConfigStore.js new file mode 100644 index 0000000000..b4f8190d18 --- /dev/null +++ b/app/scripts/stores/AutobuildConfigStore.js @@ -0,0 +1,134 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +import forEach from 'lodash/collection/forEach'; +import isString from 'lodash/lang/isString'; +import { STATUS } from './common/Constants'; + +var AutobuildConfigStore = createStore({ + storeName: 'AutobuildConfigStore', + handlers: { + ATTEMPTING_AUTOBUILD_CREATION: '_autobuildCreateAttempt', + AUTOBUILD_ERROR: '_autobuildConfigError', + AUTOBUILD_BAD_REQUEST: '_autobuildBadRequest', + AUTOBUILD_UNAUTHORIZED: '_autobuildUnauthorized', + AUTOBUILD_SUCCESS: '_autobuildSuccess', + AUTOBUILD_FORM_UPDATE_FIELD_WITH_VALUE: '_updateFormField', + SELECT_SOURCE_REPO: '_selectSourceRepo', + CLEAR_AUTOBUILD_FORM_ERRORS: '_clearErrorStates', + INITIALIZE_AUTOBUILD_FORM: '_initializeForm', + RECEIVE_PRIVATE_REPOSTATS: '_getPrivateDefault' + }, + initialize: function() { + this.name = ''; + this.namespace = ''; + this.description = ''; + this.isPrivate = 'public'; + this.provider = ''; + this.sourceRepoName = ''; + this.active = true; + this.error = {}; + this.success = ''; + this.STATUS = STATUS.DEFAULT; + }, + _autobuildConfigError: function(err) { + //TODO: handle config error here + this.error.general = 'An error occurred while configuring your automated build. Please try again later.'; + setTimeout(this._clearErrorStates.bind(this), 5000); + this.emitChange(); + }, + _autobuildCreateAttempt: function() { + this.error.buildTags = ''; + this.STATUS = STATUS.ATTEMPTING; + this.emitChange(); + }, + _autobuildBadRequest: function(err) { + forEach(err, (val, key) => { + this.error[key] = val.toString(); + }); + + //For build_tags, make it a global error + if (err.build_tags) { + this.error.buildTags = 'Invalid character(s) provided in build tags configuration. Please check your input.'; + } + + if (err.detail || isString(err)) { + this.error.detail = err.detail || err; + } + + this.STATUS = STATUS.DEFAULT; + this.emitChange(); + }, + _autobuildUnauthorized: function(err) { + this.error.general = 'You have no permissions to create an automated build in this namespace.'; + setTimeout(this._clearErrorStates.bind(this), 5000); + this.STATUS = STATUS.DEFAULT; + this.emitChange(); + }, + _autobuildSuccess: function(err) { + this.success = 'Successfully configured an automated build repository.'; + this.STATUS = STATUS.SUCCESSFUL; + setTimeout(this._clearErrorStates.bind(this), 5000); + this.emitChange(); + }, + _clearErrorStates: function() { + this.error = {}; + this.success = ''; + this.STATUS = STATUS.DEFAULT; + this.emitChange(); + }, + _getPrivateDefault: function(stats) { + this.isPrivate = stats.default_repo_visibility; + }, + _initializeForm: function({ name, namespace }) { + this.name = name; + this.namespace = namespace; + this.description = ''; + }, + _selectSourceRepo: function(repo) { + this.sourceRepoName = repo.full_name; + this.emitChange(); + }, + _updateFormField: function({fieldKey, fieldValue}) { + this[fieldKey] = fieldValue; + if (fieldKey === 'name' || fieldKey === 'namespace') { + delete this.error.dockerhub_repo_name; + } + if (fieldKey === 'description') { + delete this.error.description; + } + delete this.error.detail; + this.STATUS = STATUS.DEFAULT; + this.emitChange(); + }, + getState: function() { + return { + name: this.name, + namespace: this.namespace, + description: this.description, + isPrivate: this.isPrivate, + provider: this.provider, + sourceRepoName: this.sourceRepoName, + active: this.active, + error: this.error, + success: this.success, + STATUS: this.STATUS + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.name = state.name; + this.namespace = state.namespace; + this.description = state.description; + this.isPrivate = state.isPrivate; + this.provider = state.provider; + this.sourceRepoName = state.sourceRepoName; + this.active = state.active; + this.error = state.error; + this.success = state.success; + this.STATUS = state.STATUS; + } +}); + +module.exports = AutobuildConfigStore; diff --git a/app/scripts/stores/AutobuildSourceRepositoriesStore.js b/app/scripts/stores/AutobuildSourceRepositoriesStore.js new file mode 100644 index 0000000000..2b2448afb4 --- /dev/null +++ b/app/scripts/stores/AutobuildSourceRepositoriesStore.js @@ -0,0 +1,46 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +import _ from 'lodash'; + +var AutobuildSourceRepositoriesStore = createStore({ + storeName: 'AutobuildSourceRepositoriesStore', + handlers: { + RECEIVE_LINKED_REPO_SOURCES: '_receiveLinkedRepos', + LINKED_REPO_SOURCES_ERROR: '_linkedReposError', + SET_LINKED_REPO_TYPE: '_setType' + }, + initialize: function() { + this.repos = []; + this.type = ''; + this.error = ''; + }, + _setType: function(type) { + this.type = type; + this.emitChange(); + }, + _receiveLinkedRepos: function(linkedRepos) { + this.repos = linkedRepos; + this.emitChange(); + }, + _linkedReposError: function(err) { + this.error = 'Please check if you have any repositories setup on ' + this.type + '.'; + this.emitChange(); + }, + getState: function() { + return { + repos: this.repos, + type: this.type, + error: this.error + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.repos = state.repos; + this.type = state.type; + this.error = state.error; + } +}); + +module.exports = AutobuildSourceRepositoriesStore; diff --git a/app/scripts/stores/AutobuildStore.js b/app/scripts/stores/AutobuildStore.js new file mode 100644 index 0000000000..b012f99a60 --- /dev/null +++ b/app/scripts/stores/AutobuildStore.js @@ -0,0 +1,54 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +import _ from 'lodash'; + +var AutobuildStore = createStore({ + storeName: 'AutobuildStore', + handlers: { + RECEIVE_SOURCE_REPOS: '_receiveSourceRepos', + RECEIVE_SOURCE_ACCOUNTS: '_receiveSourceAccount' + }, + initialize: function() { + this.githubAccount = null; + this.githubRepos = []; + this.bitbucketAccount = null; + this.bitbucketRepos = []; + this.gitlabAccount = null; + this.gitlabRepos = []; + }, + _receiveSourceRepos: function(res) { + this.githubRepos = res.github.detail ? [] : res.github; + this.bitbucketRepos = res.bitbucket.detail ? [] : res.bitbucket; + this.gitlabRepos = res.gitlab.detail ? [] : res.gitlab; + this.emitChange(); + }, + _receiveSourceAccount: function(res) { + this.githubAccount = res.github.detail ? null : res.github; + this.bitbucketAccount = res.bitbucket.detail ? null : res.bitbucket; + this.gitlabAccount = res.gitlab.detail ? null : res.gitlab; + this.emitChange(); + }, + getState: function() { + return { + githubAccount: this.githubAccount, + githubRepos: this.githubRepos, + bitbucketAccount: this.bitbucketAccount, + bitbucketRepos: this.bitbucketRepos, + gitlabAccount: this.gitlabAccount, + gitlabRepos: this.gitlabRepos + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.githubAccount = state.githubAccount; + this.githubRepos = state.githubRepos; + this.bitbucketAccount = state.bitbucketAccount; + this.bitbucketRepos = state.bitbucketRepos; + this.gitlabAccount = state.gitlabAccount; + this.gitlabRepos = state.gitlabRepos; + } +}); + +module.exports = AutobuildStore; diff --git a/app/scripts/stores/AutobuildTagsStore.js b/app/scripts/stores/AutobuildTagsStore.js new file mode 100644 index 0000000000..56629f1ca7 --- /dev/null +++ b/app/scripts/stores/AutobuildTagsStore.js @@ -0,0 +1,50 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +import _ from 'lodash'; + +var AutobuildTagsStore = createStore({ + storeName: 'AutobuildTagsStore', + handlers: { + AUTOBUILD_TAGS_ERROR: '_autobuildTagsError' + }, + initialize: function() { + //tags is an array of tag + //{ dockerfile_location, source_type['Tag' or 'Branch'], source_name[eg. master] } + this.tags = []; + }, + addTag: function(tag) { + //tag + //{ + // id: 'row-1' + // sourceName: 'master' + // fileLocation: '/' + // buildTag: 'latest', + // sourceType: 'Branch' + //} + this.tags.push(tag); + }, + removeTag: function(id) { + _.remove(this.tags, function(tag) { + return (tag.id === id); + }); + }, + setTagState: function(id, state) { + var tagToUpdate = _.find(this.tags, function(tag) { + return tag.id === id; + }); + _.merge(tagToUpdate, state); + }, + getState: function() { + return { + tags: this.tags + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.tags = state.tags; + } +}); + +module.exports = AutobuildTagsStore; diff --git a/app/scripts/stores/AutobuildTriggerByTagStore.js b/app/scripts/stores/AutobuildTriggerByTagStore.js new file mode 100644 index 0000000000..b3c16f81a1 --- /dev/null +++ b/app/scripts/stores/AutobuildTriggerByTagStore.js @@ -0,0 +1,91 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +import findIndex from 'lodash/array/findIndex'; +import map from 'lodash/collection/map'; +import { STATUS } from './common/Constants'; + +var AutobuildTriggerByTagStore = createStore({ + storeName: 'AutobuildTriggerByTagStore', + handlers: { + INITIALIZE_AB_TRIGGERS: '_initTriggers', + AB_TRIGGER_BY_TAG_ERROR: '_triggerByTagError', + AB_TRIGGER_BY_TAG_SUCCESS: '_triggerByTagSuccess', + ATTEMPT_TRIGGER_BY_TAG: '_triggerByTagAttempt' + }, + initialize: function() { + this.triggers = []; + this.tagStatuses = []; + }, + _initTriggers: function(tags) { + //on load of the build settings page + this.initialize(); + + this.triggers = map(tags, (tag) => { + return { + id: tag.id, + success: '', + error: '' + }; + }); + + this.tagStatuses = map(tags, (tag) => { + return { + id: tag.id, + status: STATUS.DEFAULT + }; + }); + this.emitChange(); + }, + _findIndices: function(id) { + const statusIndex = findIndex(this.tagStatuses, (s) => { + return s.id === id; + }); + const triggerIndex = findIndex(this.triggers, (t) => { + return t.id === id; + }); + return {statusIndex, triggerIndex}; + }, + _triggerByTagAttempt: function(id) { + const {statusIndex, triggerIndex} = this._findIndices(id); + this.tagStatuses[statusIndex].status = STATUS.ATTEMPTING; + this.triggers[triggerIndex].error = ''; + this.triggers[triggerIndex].success = ''; + this.emitChange(); + }, + _triggerByTagError: function(errObj) { + const {id, error} = errObj; + const { triggerIndex } = this._findIndices(id); + this.triggers[triggerIndex].error = error; + setTimeout(this._clearTriggerStatus.bind(this, id), 3000); + this.emitChange(); + }, + _triggerByTagSuccess: function(successObj) { + const {id, success} = successObj; + const { triggerIndex } = this._findIndices(id); + this.triggers[triggerIndex].success = success; + setTimeout(this._clearTriggerStatus.bind(this, id), 3000); + this.emitChange(); + }, + _clearTriggerStatus: function(id) { + const {statusIndex, triggerIndex} = this._findIndices(id); + this.tagStatuses[statusIndex].status = STATUS.DEFAULT; + this.triggers[triggerIndex].error = ''; + this.triggers[triggerIndex].success = ''; + this.emitChange(); + }, + getState: function() { + return { + triggers: this.triggers, + tagStatuses: this.tagStatuses + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.triggers = state.triggers; + this.tagStatuses = state.tagStatuses; + } +}); + +module.exports = AutobuildTriggerByTagStore; diff --git a/app/scripts/stores/BillingInfoFormStore.js b/app/scripts/stores/BillingInfoFormStore.js new file mode 100644 index 0000000000..19473595c5 --- /dev/null +++ b/app/scripts/stores/BillingInfoFormStore.js @@ -0,0 +1,184 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +import _ from 'lodash'; +import { STATUS } from './billingformstore/Constants'; +var debug = require('debug')('STORE::BillingInfoFormStore'); + +var BillingInfoFormStore = createStore({ + storeName: 'BillingInfoFormStore', + handlers: { + BILLING_ACCOUNT_EXISTS: '_accountExists', + BILLING_INFO_EXISTS: '_billingInfoExists', + BILLING_ERRORS: '_updateErrors', + BILLING_INFO_UPDATE_FIELD_WITH_VALUE: '_updateBillingInfoForm', + BILLING_SUBMIT_ERROR: '_submitErrors', + BILLING_SUBMIT_START: '_submitStart', + BILLING_SUBMIT_SUCCESS: '_submitSuccess', + CLEAR_BILLING_FORM: '_clearBillingForm', + GET_RECURLY_ERROR: '_updateRecurlyErrors', + LOGOUT: '_clearStore', + RECEIVE_BILLING_INFO: '_receiveBillingInfo', + UPDATE_COUPON_VALUE: '_updateCouponValue' + }, + initialize: function() { + var D = new Date(); + var month = 1; + var year = D.getFullYear(); + this.billforwardId = ''; + this.accountInfo = { // Billing profile account + account_code: '', + username: '', + email: '', + first_name: '', + last_name: '', + company_name: '', + hasError: false, + newBilling: true + }; + this.billingInfo = { // Billing card information + first_name: '', + last_name: '', + address1: '', + address2: '', + country: '', + state: '', + zip: '', + city: '', + last_four: '', + card_type: '', + month: '', + year: '', + newBilling: true + }; + this.card = { + number: '', + cvv: '', + month: month, + year: year, + last_four: null, + type: '', + coupon_code: '', + coupon: 0 + }; + this.errorMessage = ''; + this.fieldErrors = { + number: false, + expiry: false, + cvv: false, + coupon_code: false, + first_name: false, + last_name: false, + address1: false, + country: false, + state: false, + zip: false, + city: false, + month: false, + year: false + }; + this.STATUS = STATUS.DEFAULT; + }, + _accountExists: function() { + this.accountInfo.newBilling = false; + this.emitChange(); + }, + _billingInfoExists: function() { + this.billingInfo.newBilling = false; + this.emitChange(); + }, + _clearStore: function() { + this.initialize(); + }, + _receiveBillingInfo: function(payload) { + this.initialize(); + if (payload.billingInfo && payload.billingInfo.last_four) { + var cardInfo = { + last_four: payload.billingInfo.last_four, + type: payload.billingInfo.card_type, + month: payload.billingInfo.month, + year: payload.billingInfo.year + }; + } + _.merge(this.billingInfo, payload.billingInfo); + _.merge(this.accountInfo, payload.accountInfo); + _.merge(this.card, cardInfo); + this.billforwardId = payload.billforwardId; + this.emitChange(); + }, + _submitErrors: function(message) { + this.STATUS = STATUS.FORM_ERROR; + this.errorMessage = message; + this.emitChange(); + }, + _submitSuccess: function() { + this.STATUS = STATUS.SUCCESS; + this.errorMessage = ''; + this.emitChange(); + }, + _submitStart: function() { + this.STATUS = STATUS.ATTEMPTING; + this.errorMessage = ''; + this.emitChange(); + }, + _updateBillingInfoForm: function({ field, fieldKey, fieldValue }) { + if (field === 'billing') { + this.billingInfo[fieldKey] = fieldValue; + } else if (field === 'account') { + this.accountInfo[fieldKey] = fieldValue; + } else if (field === 'card') { + this.card[fieldKey] = fieldValue; + } + this.emitChange(); + }, + _updateErrors: function(hasError) { + this.STATUS = STATUS.FORM_ERROR; + _.merge(this.fieldErrors, hasError.fieldErrors); + _.merge(this.accountInfo, hasError.accountErr); + this.errorMessage = 'Please make sure all fields are valid.'; + this.emitChange(); + }, + _updateRecurlyErrors: function(error) { + const errorFields = error.fields; + debug('Recurly Form errors', errorFields); + const fieldErrors = { + number: _.includes(errorFields, 'number'), + expiry: _.includes(errorFields, 'month') || _.includes(errorFields, 'year'), + cvv: _.includes(errorFields, 'cvv'), + first_name: _.includes(errorFields, 'first_name'), + last_name: _.includes(errorFields, 'last_name') + }; + _.merge(this.fieldErrors, fieldErrors); + this.STATUS = STATUS.FORM_ERROR; + this.errorMessage = error.message; + this.emitChange(); + }, + _updateCouponValue: function(value) { + this.card.coupon = value; + this.emitChange(); + }, + getState: function() { + return { + billforwardId: this.billforwardId, + accountInfo: this.accountInfo, + billingInfo: this.billingInfo, + card: this.card, + errorMessage: this.errorMessage, + fieldErrors: this.fieldErrors, + STATUS: this.STATUS + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.billforwardId = state.billforwardId; + this.accountInfo = state.accountInfo; + this.billingInfo = state.billingInfo; + this.card = state.card; + this.errorMessage = state.errorMessage; + this.fieldErrors = state.fieldErrors; + this.STATUS = state.STATUS; + } +}); + +module.exports = BillingInfoFormStore; diff --git a/app/scripts/stores/BillingPlansStore.js b/app/scripts/stores/BillingPlansStore.js new file mode 100644 index 0000000000..3a25234628 --- /dev/null +++ b/app/scripts/stores/BillingPlansStore.js @@ -0,0 +1,128 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +import _ from 'lodash'; + +var BillingPlansStore = createStore({ + storeName: 'BillingPlansStore', + handlers: { + RESET_BILLING_PLANS: '_clearStore', + RECEIVE_BILLING_INFO: '_receiveBillingInfo', + RECEIVE_BILLING_SUBSCRIPTION: '_receiveBillingSubscription', + RECEIVE_INVOICES: '_receiveInvoices', + RESET_CURRENT_PLAN: '_resetCurrentPlan', + UPDATE_PLAN_START: '_updatePlanStart', + UPDATE_PLAN_ERROR: '_updatePlanErr', + DELETE_SUBSCRIPTION_ERR: '_updatePlanErr', + DELETE_SUBSCRIPTION_SUCCESS: '_unsubscribeComplete', + UNSUBSCRIBE_SUBSCRIPTION: '_unsubscribe', // UNUSED - deprecated + UNSUBSCRIBE_PACKAGE: '_unsubscribePackage', // UNUSED - deprecated + UNSUBSCRIBE_PLAN: '_unsubscribePlan', // UNUSED - deprecated + LOGOUT: '_clearStore' + }, + initialize: function() { + this.currentPlan = {}; + this.accountInfo = { + account_code: '', + username: '', + email: '', + first_name: '', + last_name: '', + company_name: '', + hasError: false, + newBilling: true + }; + this.billingInfo = { + first_name: '', + last_name: '', + address1: '', + address2: '', + country: '', + state: '', + zip: '', + city: '', + last_four: '', + card_type: '', + month: '', + year: '', + newBilling: true + }; + this.invoices = []; + this.plansError = ''; + this.unsubscribing = ''; + this.updatePlan = ''; + }, + _clearStore: function() { + this.initialize(); + }, + _receiveBillingInfo: function(payload) { + this.initialize(); + _.merge(this.billingInfo, payload.billingInfo); + _.merge(this.accountInfo, payload.accountInfo); + _.merge(this.currentPlan, payload.currentPlan); + this.emitChange(); + }, + _receiveBillingSubscription: function(payload) { + _.merge(this.currentPlan, payload.currentPlan); + this.updatePlan = ''; + this.emitChange(); + }, + _receiveInvoices: function(payload) { + this.invoices = payload.invoices; + this.emitChange(); + }, + _resetCurrentPlan: function(payload) { + this.currentPlan = payload.currentPlan; + this.emitChange(); + }, + _unsubscribe: function() { // UNUSED - deprecated + this.unsubscribing = 'subscription'; + this.emitChange(); + }, + _unsubscribePackage: function() { // UNUSED - deprecated + this.unsubscribing = 'package'; + this.emitChange(); + }, + _unsubscribePlan: function() { // UNUSED - deprecated + this.unsubscribing = 'plan'; + this.emitChange(); + }, + _unsubscribeComplete: function() { // UNUSED - deprecated + this.unsubscribing = ''; + this.emitChange(); + }, + _updatePlanStart: function(payload) { + this.updatePlan = payload; + this.emitChange(); + }, + _updatePlanErr: function(payload) { + this.unsubscribing = ''; + this.updatePlan = ''; + this.plansError = payload; + this.emitChange(); + }, + getState: function() { + return { + currentPlan: this.currentPlan, + accountInfo: this.accountInfo, + billingInfo: this.billingInfo, + invoices: this.invoices, + plansError: this.plansError, + unsubscribing: this.unsubscribing, + updatePlan: this.updatePlan + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.currentPlan = state.currentPlan; + this.accountInfo = state.accountInfo; + this.billingInfo = state.billingInfo; + this.invoices = state.invoices; + this.plansError = state.plansError; + this.unsubscribing = state.unsubscribing; + this.updatePlan = state.updatePlan; + } +}); + +module.exports = BillingPlansStore; diff --git a/app/scripts/stores/BitbucketLinkStore.js b/app/scripts/stores/BitbucketLinkStore.js new file mode 100644 index 0000000000..5d4afc6c37 --- /dev/null +++ b/app/scripts/stores/BitbucketLinkStore.js @@ -0,0 +1,59 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('BitbucketLinkStore'); + +var BitbucketLinkStore = createStore({ + storeName: 'BitbucketLinkStore', + handlers: { + RECEIVE_BITBUCKET_AUTH_URL: '_receiveUrl', + BITBUCKET_AUTH_URL_ERROR: '_urlError', + BITBUCKET_ASSOCIATE_ERROR: '_associateError' + }, + initialize: function() { + this.authURL = ''; + this.error = ''; + }, + _associateError: function(err) { + debug(err); + if (err.detail) { + this.error = err.detail; + } else { + this.error = 'Error linking your account to Bitbucket. Please check that you do not have the same Bitbucket account linked to another Docker Hub account.'; + } + this.emitChange(); + setTimeout(this._clearError.bind(this), 5000); + }, + _receiveUrl: function(res) { + this.authURL = res.bitbucket_authorization_url; + this.emitChange(); + }, + _urlError: function(err) { + debug(err); + this.error = 'Error linking your account to bitbucket.'; + this.emitChange(); + setTimeout(this._clearError.bind(this), 5000); + }, + _clearError: function() { + this.error = ''; + this.emitChange(); + }, + setURL: function(url) { + this.authURL = url; + }, + getState: function() { + return { + authURL: this.authURL, + error: this.error + }; + }, + rehydrate: function(state) { + this.authURL = state.authURL; + this.error = state.error; + }, + dehydrate: function() { + return this.getState(); + } +}); + +module.exports = BitbucketLinkStore; diff --git a/app/scripts/stores/ChangePasswordStore.js b/app/scripts/stores/ChangePasswordStore.js new file mode 100644 index 0000000000..f9c210622c --- /dev/null +++ b/app/scripts/stores/ChangePasswordStore.js @@ -0,0 +1,64 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +const debug = require('debug')('stores: ChangePasswordStore'); + +var ChangePasswordStore = createStore({ + storeName: 'ChangePasswordStore', + handlers: { + CHANGE_PASS_UPDATE: '_updateStore', + CHANGE_PASS_SUCCESS: '_changePassSuccess', + CHANGE_PASS_CLEAR: '_clearStore', + RESET_PASSWORD_SUCCESSFUL: '_changePassSuccess', + RESET_PASSWORD_ERROR: '_changePassError' + }, + initialize: function() { + this.oldpass = ''; + this.newpass = ''; + this.confpass = ''; + this.reset = false; + this.hasErr = false; + this.err = ''; + }, + _updateStore: function(payload) { + this.reset = false; + this.hasErr = false; + this.err = ''; + this.oldpass = payload.oldpass; + this.newpass = payload.newpass; + this.confpass = payload.confpass; + this.emitChange(); + }, + _changePassSuccess: function() { + this._clearStore(); + this.reset = true; + this.emitChange(); + }, + _changePassError: function(error) { + this._clearStore(); + this.hasErr = true; + this.err = error; + this.emitChange(); + }, + _clearStore: function() { + this.oldpass = ''; + this.newpass = ''; + this.confpass = ''; + this.reset = false; + this.hasErr = false; + this.err = ''; + this.emitChange(); + }, + getState: function() { + return { + oldpass: this.oldpass, + newpass: this.newpass, + confpass: this.confpass, + reset: this.reset, + hasErr: this.hasErr, + err: this.err + }; + } + +}); + +module.exports = ChangePasswordStore; diff --git a/app/scripts/stores/CloudBillingStore.js b/app/scripts/stores/CloudBillingStore.js new file mode 100644 index 0000000000..4489827ae7 --- /dev/null +++ b/app/scripts/stores/CloudBillingStore.js @@ -0,0 +1,43 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; + +var BillingPlansStore = createStore({ + storeName: 'CloudBillingStore', + handlers: { + RESET_CLOUD_BILLING_PLANS: '_clearStore', + RECEIVE_CLOUD_BILLING_INFO: '_receiveBillingInfo', + LOGOUT: '_clearStore' + }, + initialize: function() { + this.currentPlan = {}; + this.billingInfo = {}; + this.accountInfo = {}; + }, + _clearStore: function() { + this.initialize(); + this.emitChange(); + }, + _receiveBillingInfo: function(payload) { + this.billingInfo = payload.billingInfo; + this.accountInfo = payload.accountInfo; + this.currentPlan = payload.currentPlan; + this.emitChange(); + }, + getState: function() { + return { + currentPlan: this.currentPlan, + accountInfo: this.accountInfo, + billingInfo: this.billingInfo + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.currentPlan = state.currentPlan; + this.accountInfo = state.accountInfo; + this.billingInfo = state.billingInfo; + } +}); + +module.exports = BillingPlansStore; diff --git a/app/scripts/stores/CloudCouponStore.js b/app/scripts/stores/CloudCouponStore.js new file mode 100644 index 0000000000..c3bb7add7a --- /dev/null +++ b/app/scripts/stores/CloudCouponStore.js @@ -0,0 +1,54 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +import _ from 'lodash'; + +var CloudCouponStore = createStore({ + storeName: 'CloudCouponStore', + handlers: { + RECEIVE_BILLING_INFO: '_clearStore', + CLEAR_CLOUD_COUPON: '_clearStore', + UPDATE_COUPON_VALUE: '_updateDiscountValue', + BILLING_INFO_UPDATE_FIELD_WITH_VALUE: '_updateCouponCode', + BILLING_ERRORS: '_updateErrors' + }, + initialize: function() { + this.couponCode = ''; + this.discountValue = 0; + this.hasError = false; + }, + _clearStore: function() { + this.initialize(); + this.emitChange(); + }, + _updateCouponCode: function({field, fieldKey, fieldValue}) { + this.couponCode = fieldKey === 'coupon_code' ? fieldValue : this.couponValue; + this.emitChange(); + }, + _updateDiscountValue: function(discount) { + this.discountValue = discount; + this.emitChange(); + }, + _updateErrors: function({fieldErrors}) { + if (_.has(fieldErrors, 'coupon_code')) { + this.hasError = fieldErrors.coupon_code; + } + this.emitChange(); + }, + getState: function() { + return { + couponCode: this.couponCode, + discountValue: this.discountValue, + hasError: this.hasError + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.couponCode = state.couponCode; + this.discountValue = state.discountValue; + this.hasError = state.hasError; + } +}); + +module.exports = CloudCouponStore; diff --git a/app/scripts/stores/ConvertToOrgStore.js b/app/scripts/stores/ConvertToOrgStore.js new file mode 100644 index 0000000000..f100be9945 --- /dev/null +++ b/app/scripts/stores/ConvertToOrgStore.js @@ -0,0 +1,41 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('stores: ConvertToOrgStore'); + +export default createStore({ + storeName: 'ConvertToOrgStore', + handlers: { + CONVERT_TO_ORG_BAD_REQUEST: '_badRequest', + UPDATE_TO_ORG_OWNER: '_updateOwner' + }, + initialize: function() { + this.convertError = false; + this.error = {}; + this.newOwner = ''; + }, + _badRequest: function(error) { + this.convertError = true; + this.error = error; + this.emitChange(); + }, + _updateOwner: function(payload) { + this.newOwner = payload.newOwner; + this.convertError = false; + this.emitChange(); + }, + getState: function() { + return { + convertError: this.convertError, + error: this.error, + newOwner: this.newOwner + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.convertError = state.convertError; + this.error = state.error; + this.newOwner = state.newOwner; + } +}); diff --git a/app/scripts/stores/CreateRepositoryFormStore.js b/app/scripts/stores/CreateRepositoryFormStore.js new file mode 100644 index 0000000000..e604fa6a50 --- /dev/null +++ b/app/scripts/stores/CreateRepositoryFormStore.js @@ -0,0 +1,147 @@ +'use strict'; + +import _ from 'lodash'; +import { STATUS } from './common/Constants'; +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('CreateRepositoryFormStore'); + +var noErrorObj = { + hasError: false, + error: '' +}; + +export default createStore({ + storeName: 'CreateRepositoryFormStore', + handlers: { + CREATE_REPO_CLEAR_FORM: 'initialize', + CREATE_REPO_UPDATE_FIELD_WITH_VALUE: '_updateFieldWithValue', + CREATE_REPO_ATTEMPT_START: '_attemptStart', + CREATE_REPO_BAD_REQUEST: '_badRequest', + CREATE_REPO_SUCCESS: '_success', + CREATE_REPO_FACEPALM: '_facepalm', + CREATE_REPO_RECEIVE_NAMESPACES: '_receiveNamespaces' + }, + initialize() { + this.STATUS = STATUS.DEFAULT; + + this.namespaces = []; + this.globalFormError = ''; + + this.fields = { + user: {}, + namespace: {}, + name: {}, + description: {}, + full_description: {}, + is_private: {} + }; + + this.values = { + user: '', + namespace: '', + name: '', + description: '', + full_description: '', + is_private: true + }; + }, + _receiveNamespaces({ + namespaces, selectedNamespace + }) { + debug('receiving namespaces', namespaces, selectedNamespace); + /** + * namespaces is equivalent to the response in the namespaces API call + */ + this.namespaces = namespaces.namespaces; + if(_.includes(namespaces.namespaces, selectedNamespace)) { + this.values.namespace = selectedNamespace; + } else { + this.values.namespace = namespaces.namespaces[0]; + } + this.emitChange(); + }, + _facepalm() { + // this happens if things are screwed and we can't recover gracefully + this.STATUS = STATUS.FACEPALM; + this.emitChange(); + }, + _clearForm() { + this.initialize(); + this.emitChange(); + }, + _updateFieldWithValue({fieldKey, fieldValue}) { + debug(fieldKey, fieldValue); + this.fields[fieldKey].hasError = false; + this.fields[fieldKey].error = ''; + this.globalFormError = ''; + this.values[fieldKey] = fieldValue; + this.emitChange(); + }, + _attemptStart() { + this.STATUS = STATUS.ATTEMPTING; + this.emitChange(); + }, + _success() { + this.STATUS = STATUS.SUCCESSFUL_SIGNUP; + this.emitChange(); + }, + _badRequest(obj) { + /** + * This function expects keys which match the `this.fields` keys + * with an array of errors: + * + * { + * orgname: ['this field is required'] + * } + */ + let shouldEmitChange = false; + // So far obj.detail is only returned when there are no more private repo's + // We really need to update the response from the api + if (obj.detail) { + obj.is_private = [obj.detail]; + } + + // cycle through the possible form fields + this.fields = _.mapValues(this.fields, function (errorObject, key) { + if(_.has(obj, key)) { + shouldEmitChange = true; + return { + hasError: !!obj[key], + error: obj[key][0] + }; + } else { + return errorObject; + } + }); + /** + * __all__ occurs when "Repository with this Name and Namespace already exists." + */ + if(obj.__all__) { + this.globalFormError = obj.__all__[0]; + shouldEmitChange = true; + } + + if(shouldEmitChange) { + this.emitChange(); + } + }, + getState() { + return { + fields: this.fields, + values: this.values, + STATUS: this.STATUS, + namespaces: this.namespaces, + globalFormError: this.globalFormError + }; + }, + dehydrate() { + return this.getState(); + }, + rehydrate(state) { + this.fields = state.fields; + this.values = state.values; + this.namespaces = state.namespaces; + this.STATUS = state.STATUS; + this.globalFormError = state.globalFormError; + } +}); diff --git a/app/scripts/stores/DashboardContribsStore.js b/app/scripts/stores/DashboardContribsStore.js new file mode 100644 index 0000000000..cbdae5356f --- /dev/null +++ b/app/scripts/stores/DashboardContribsStore.js @@ -0,0 +1,43 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('DashboardContribsStore'); + +export default createStore({ + storeName: 'DashboardContribsStore', + handlers: { + RECEIVE_CONTRIB: '_receiveContribRepos', + LOGOUT: 'initialize' + }, + initialize: function() { + this.count = 0; + this.contribs = []; + this.next = null; + this.prev = null; + }, + _receiveContribRepos: function(res) { + this.count = res.count; + this.contribs = res.results; + this.next = res.next; + this.prev = res.previous; + this.emitChange(); + }, + getState: function() { + return { + count: this.count, + contribs: this.contribs, + next: this.next, + prev: this.prev + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.count = state.count; + this.contribs = state.contribs; + this.next = state.next; + this.prev = state.prev; + } +}); + diff --git a/app/scripts/stores/DashboardMembersStore.js b/app/scripts/stores/DashboardMembersStore.js new file mode 100644 index 0000000000..0b2df77622 --- /dev/null +++ b/app/scripts/stores/DashboardMembersStore.js @@ -0,0 +1,73 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import _ from 'lodash'; +var debug = require('debug')('DashboardMembersStore'); +import { STATUS } from './orgteamstore/Constants'; + +var DashboardMembersStore = createStore({ + storeName: 'DashboardMembersStore', + handlers: { + RECEIVE_DASHBOARD_TEAM_MEMBERS: '_receiveDashboardTeamMembers', + ORG_DASHBOARD_MEMBERS_ERROR: '_errorReceivingMembers', + TEAM_MEMBER_ERROR: '_teamMemberError', + TEAM_MEMBER_BAD_REQUEST: '_teamMemberBadRequest', + TEAM_MEMBER_UNAUTHORIZED: '_teamMemberUnauthorized', + CLEAR_MEMBER_ERROR: '_clearErrorStates' + }, + initialize() { + this.members = []; + this.count = 0; + this.error = {}; + this.STATUS = STATUS.DEFAULT; + }, + _errorReceivingMembers(err) { + debug(err); + }, + _receiveDashboardTeamMembers(members) { + debug(members); + this.members = members; + this.count = members.length; + this.emitChange(); + }, + _teamMemberError: function(err) { + this.STATUS = STATUS.MEMBER_ERROR; + this.STATUS = STATUS.GENERAL_SERVER_ERROR; + this.error = err; + this.emitChange(); + }, + _teamMemberBadRequest: function(err) { + this.STATUS = STATUS.MEMBER_BAD_REQUEST; + this.error = err; + this.emitChange(); + }, + _teamMemberUnauthorized: function(err) { + this.STATUS = STATUS.MEMBER_UNAUTHORIZED; + this.error = err; + this.emitChange(); + }, + _clearErrorStates: function() { + this.error = {}; + this.STATUS = STATUS.DEFAULT; + this.emitChange(); + }, + getState() { + return { + members: this.members, + count: this.count, + error: this.error, + STATUS: this.STATUS + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.members = state.members; + this.count = state.count; + this.STATUS = state.STATUS; + this.error = state.error; + } +}); + +module.exports = DashboardMembersStore; diff --git a/app/scripts/stores/DashboardNamespacesStore.js b/app/scripts/stores/DashboardNamespacesStore.js new file mode 100644 index 0000000000..35b354f8b6 --- /dev/null +++ b/app/scripts/stores/DashboardNamespacesStore.js @@ -0,0 +1,62 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('DashboardNamespacesStore'); +import _ from 'lodash'; + +export default createStore({ + storeName: 'DashboardNamespacesStore', + handlers: { + RECEIVE_DASHBOARD_NAMESPACES: '_receiveOrgs', + CURRENT_USER_CONTEXT: '_setContext', + CREATE_REPO_RECEIVE_NAMESPACES: '_receiveOwnedNamespaces' + }, + initialize() { + this.namespaces = []; + this.currentUserContext = ''; + this.ownedNamespaces = []; + }, + _receiveOrgs(res) { + //There are two API calls possible to get namespaces + //`/v2/namespaces` -> returns `res.orgs.namespaces` an object with {namespaces: ['ns1', 'ns2', 'etc']} + //`/v2/orgs` -> returns `res.orgs.results` with all orgs the user has read access on. We merge the `res.user` with this list + if (res.orgs.namespaces) { + this.namespaces = res.orgs.namespaces; + } else if (res.orgs.results && _.isArray(res.orgs.results)) { + var nsArray = _.pluck(res.orgs.results, 'orgname'); + nsArray.unshift(res.user); + this.namespaces = nsArray; + } + this.emitChange(); + }, + _receiveOwnedNamespaces({ + namespaces, selectedNamespace + }) { + debug('receiving namespaces', namespaces, selectedNamespace); + /** + * namespaces is equivalent to the response in the namespaces API call + */ + this.ownedNamespaces = namespaces.namespaces; + this.emitChange(); + }, + _setContext: function({username}) { + this.currentUserContext = username; + this.emitChange(); + }, + getState() { + return { + currentUserContext: this.currentUserContext, + namespaces: this.namespaces, + ownedNamespaces: this.ownedNamespaces + }; + }, + dehydrate() { + return this.getState(); + }, + rehydrate(state) { + this.currentUserContext = state.currentUserContext; + this.namespaces = state.namespaces; + this.ownedNamespaces = state.ownedNamespaces; + } +}); + diff --git a/app/scripts/stores/DashboardReposStore.js b/app/scripts/stores/DashboardReposStore.js new file mode 100644 index 0000000000..1501ffc8a4 --- /dev/null +++ b/app/scripts/stores/DashboardReposStore.js @@ -0,0 +1,69 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('DashboardReposStore'); +import { STATUS } from './common/Constants'; +const { + ATTEMPTING, + DEFAULT, + SUCCESSFUL +} = STATUS; + +var DashboardReposStore = createStore({ + storeName: 'DashboardReposStore', + handlers: { + RECEIVE_REPOS: '_receiveRepos', + LOGOUT: 'initialize', + DASHBOARD_REPOS_STORE_ATTEMPTING_GET_REPOS: '_startGetRepos', + DASHBOARD_REPOS_STORE_ATTEMPTING_GET_ALL_REPOS: '_startGetAllRepos', + DASHBOARD_REPOS_STORE_RECEIVE_ALL_REPOS_SUCCESS: '_receiveAllRepos' + }, + initialize() { + this.repos = []; + this.count = 0; + this.next = null; + this.prev = null; + this.STATUS = DEFAULT; + }, + getState() { + return { + repos: this.repos, + count: this.count, + next: this.next, + prev: this.prev, + STATUS: this.STATUS + }; + }, + _startGetRepos: function() { + this.STATUS = DEFAULT; + this.emitChange(); + }, + _startGetAllRepos: function() { + this.STATUS = ATTEMPTING; + this.emitChange(); + }, + _receiveRepos(res) { + debug(res); + this.repos = res.results; + this.count = res.count; + this.next = res.next; + this.prev = res.previous; + this.emitChange(); + }, + _receiveAllRepos(res) { + this.STATUS = SUCCESSFUL; + this._receiveRepos(res); + }, + dehydrate() { + return this.getState(); + }, + rehydrate(state) { + this.repos = state.repos; + this.count = state.count; + this.next = state.next; + this.prev = state.prev; + this.STATUS = state.STATUS; + } +}); + +module.exports = DashboardReposStore; diff --git a/app/scripts/stores/DashboardStarsStore.js b/app/scripts/stores/DashboardStarsStore.js new file mode 100644 index 0000000000..2e8da00d21 --- /dev/null +++ b/app/scripts/stores/DashboardStarsStore.js @@ -0,0 +1,43 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('DashboardStarsStore'); + +export default createStore({ + storeName: 'DashboardStarsStore', + handlers: { + RECEIVE_STARRED: '_receiveStarredRepos', + LOGOUT: 'initialize' + }, + initialize: function() { + this.count = 0; + this.starred = []; + this.next = null; + this.prev = null; + }, + _receiveStarredRepos: function(res) { + this.count = res.count; + this.starred = res.results; + this.next = res.next; + this.prev = res.previous; + this.emitChange(); + }, + getState: function() { + return { + count: this.count, + starred: this.starred, + next: this.next, + prev: this.prev + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.count = state.count; + this.starred = state.starred; + this.next = state.next; + this.prev = state.prev; + } +}); + diff --git a/app/scripts/stores/DashboardStore.js b/app/scripts/stores/DashboardStore.js new file mode 100644 index 0000000000..f8702ca5e7 --- /dev/null +++ b/app/scripts/stores/DashboardStore.js @@ -0,0 +1,63 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('DashboardStore'); + +var DashboardStore = createStore({ + storeName: 'DashboardStore', + handlers: { + RECEIVE_STARRED: '_receiveStarredRepos', + RECEIVE_CONTRIB: '_receiveContribRepos', + RECEIVE_ACTIVITY_FEED: '_receiveActivityFeed', + LOGOUT: 'initialize' + }, + initialize: function() { + this.user = {}; + this.org = ''; + this.starred = []; + this.contribs = []; + this.feed = []; + }, + getInitState: function() { + return { + starred: [], + contribs: [], + org: '', + feed: [], + user: {} + }; + }, + _receiveStarredRepos: function(repos) { + this.starred = repos.results; + this.emitChange(); + }, + _receiveContribRepos: function(repos) { + this.contribs = repos.results; + this.emitChange(); + }, + _receiveActivityFeed: function(feed) { + this.feed = feed; + this.emitChange(); + }, + getState: function() { + return { + starred: this.starred, + contribs: this.contribs, + org: this.org, + feed: this.feed, + user: this.user + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.starred = state.starred; + this.contribs = state.contribs; + this.feed = state.feed; + this.org = state.org; + this.user = state.user; + } +}); + +module.exports = DashboardStore; diff --git a/app/scripts/stores/DashboardTeamsStore.js b/app/scripts/stores/DashboardTeamsStore.js new file mode 100644 index 0000000000..74d1fb2447 --- /dev/null +++ b/app/scripts/stores/DashboardTeamsStore.js @@ -0,0 +1,100 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import _ from 'lodash'; +import { STATUS } from './orgteamstore/Constants'; +var debug = require('debug')('DashboardTeamsStore'); + +var DashboardTeamsStore = createStore({ + storeName: 'DashboardTeamsStore', + handlers: { + RECEIVE_DASHBOARD_ORG_TEAMS: '_receiveDashboardOrgTeams', + TEAM_ERROR: '_orgTeamError', + TEAM_BAD_REQUEST: '_teamBadRequest', + TEAM_UNAUTHORIZED: '_teamUnauthorized', + UPDATE_TEAM_ERROR: '_updateTeamError', + UPDATE_TEAM_SUCCESS: '_updateTeamSuccess', + TEAM_READ_ONLY: '_isTeamReadOnly' + }, + initialize() { + this.teams = []; + this.count = 0; + this.teamReadOnly = false; + this.errorDetails = {detail: ''}; + this.success = ''; + this.STATUS = STATUS.DEFAULT; + }, + _receiveDashboardOrgTeams(orgTeams) { + debug(orgTeams); + this.teams = _.sortBy(orgTeams.results, 'name'); + this.count = orgTeams.count; + this.emitChange(); + }, + _orgTeamError: function(err) { + this.STATUS = STATUS.TEAM_ERROR; + this.STATUS = STATUS.GENERAL_SERVER_ERROR; + this.errorDetails = {detail: 'Username does not exist or it is invalid.'}; + this.emitChange(); + }, + _teamBadRequest: function(err) { + this.STATUS = STATUS.TEAM_BAD_REQUEST; + this.errorDetails = err; + this.emitChange(); + }, + _teamUnauthorized: function(err) { + this.STATUS = STATUS.TEAM_UNAUTHORIZED; + this.errorDetails = err; + this.emitChange(); + }, + _isTeamReadOnly: function(flag) { + this.teamReadOnly = flag; + this.emitChange(); + }, + _updateTeamError: function(err) { + this.STATUS = STATUS.UPDATE_TEAM_ERROR; + if (err.response) { + var errResp = err.response; + if (errResp.badRequest) { + this.errorDetails = err; + } else if (errResp.unauthorized || errResp.forbidden) { + this.errorDetails = {detail: 'You are not permitted to edit this team.'}; + } else { + this.errorDetails = {detail: 'Error updating team. Check if name is between 3 and 30 characters with no spaces.'}; + } + } + this.emitChange(); + }, + _updateTeamSuccess: function(err) { + this.STATUS = STATUS.UPDATE_TEAM_SUCCESS; + this.success = 'Team successfully updated.'; + setTimeout(this._clearErrorStates.bind(this), 5000); + this.emitChange(); + }, + _clearErrorStates: function() { + this.errorDetails = {detail: ''}; + this.success = ''; + this.STATUS = STATUS.DEFAULT; + this.emitChange(); + }, + getState() { + return { + teams: this.teams, + count: this.count, + teamReadOnly: this.teamReadOnly, + success: this.success, + errorDetails: this.errorDetails + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.teams = state.teams; + this.teamReadOnly = state.teamReadOnly; + this.count = state.count; + this.success = state.success; + this.errorDetails = state.errorDetails; + } +}); + +module.exports = DashboardTeamsStore; diff --git a/app/scripts/stores/DeletePipelineStore.js b/app/scripts/stores/DeletePipelineStore.js new file mode 100644 index 0000000000..ef0681321e --- /dev/null +++ b/app/scripts/stores/DeletePipelineStore.js @@ -0,0 +1,46 @@ +'use strict'; + +var createStore = require('fluxible/addons/createStore'); +import { + ATTEMPTING, + DEFAULT, + FACEPALM, + SUCCESSFUL +} from './deletepipelinestore/Constants'; + +var debug = require('debug')('SignupStore'); + +export default createStore({ + storeName: 'DeletePipelineStore', + handlers: { + DELETE_PIPELINE_ATTEMPTING: '_start', + DELETE_PIPELINE_FACEPALM: '_facepalm', + DELETE_PIPELINE_SUCCESS: '_success' + }, + initialize() { + this.STATUS = DEFAULT; + }, + _start() { + this.STATUS = ATTEMPTING; + this.emitChange(); + }, + _facepalm() { + this.STATUS = FACEPALM; + this.emitChange(); + }, + _success() { + this.STATUS = SUCCESSFUL; + this.emitChange(); + }, + getState() { + return { + STATUS: this.STATUS + }; + }, + dehydrate() { + return {}; + }, + rehydrate(state) { + this.state = state; + } +}); diff --git a/app/scripts/stores/DeleteRepoFormStore.js b/app/scripts/stores/DeleteRepoFormStore.js new file mode 100644 index 0000000000..21a60d3d33 --- /dev/null +++ b/app/scripts/stores/DeleteRepoFormStore.js @@ -0,0 +1,75 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import { STATUS } from './deleterepostore/Constants.js'; +const debug = require('debug')('DeleteRepoFormStore'); + +var DeleteRepoFormStore = createStore({ + storeName: 'DeleteRepoFormStore', + handlers: { + DELETE_REPO_ATTEMPT_START: '_deleteRepoAttemptStart', + DELETE_REPO_BAD_REQUEST: '_deleteRepoBadRequest', + DELETE_REPO_ERROR: '_deleteRepoError', + DELETE_REPO_UPDATE_FIELD_WITH_VALUE: '_updateFieldWithValue', + RECEIVE_REPOSITORY: '_receiveRepository', + TOGGLE_DELETE_REPO_NAME_CONFIRM_BOX: '_toggleConfirmBox' + }, + initialize: function() { + this.error = ''; + this.STATUS = STATUS.DEFAULT; + this.values = { + confirmRepoName: '' + }; + }, + _deleteRepoAttemptStart: function() { + this.STATUS = STATUS.ATTEMPTING; + this.emitChange(); + }, + _deleteRepoBadRequest: function(res) { + this.STATUS = STATUS.FORM_ERROR; + this.error = res.detail ? res.detail + : 'Error deleting repository. Please verify if you have permissions.'; + this.emitChange(); + }, + _deleteRepoError: function() { + this.STATUS = STATUS.FORM_ERROR; + this.error = 'Error deleting repository. Please verify if you have permissions.'; + this.emitChange(); + }, + _receiveRepository: function() { + this.initialize(); + this.emitChange(); + }, + _toggleConfirmBox: function() { + if (this.STATUS === STATUS.DEFAULT) { + this.STATUS = STATUS.SHOWING_CONFIRM_BOX; + } else { + this.STATUS = STATUS.DEFAULT; + } + this.error = ''; + this.values.confirmRepoName = ''; + this.emitChange(); + }, + _updateFieldWithValue: function({fieldKey, fieldValue}){ + this.values[fieldKey] = fieldValue; + this.error = ''; + this.emitChange(); + }, + getState: function() { + return { + error: this.error, + STATUS: this.STATUS, + values: this.values + }; + }, + rehydrate: function(state) { + this.error = state.error; + this.STATUS = state.STATUS; + this.values = state.values; + }, + dehydrate: function() { + return this.getState(); + } +}); + +module.exports = DeleteRepoFormStore; diff --git a/app/scripts/stores/EmailNotifStore.js b/app/scripts/stores/EmailNotifStore.js new file mode 100644 index 0000000000..4ada6a99f9 --- /dev/null +++ b/app/scripts/stores/EmailNotifStore.js @@ -0,0 +1,128 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import _ from 'lodash'; +import { STATUS } from './common/Constants'; +var debug = require('debug')('EmailNotifStore:'); + + +export default createStore({ + storeName: 'EmailNotifStore', + handlers: { + RECEIVE_NOTIFICATIONS: '_receiveNotifications', + NOTIF_CHECKBOX_CLICK: '_updateNotifications', + RESET_EMAIL_NOTIFICATIONS_STORE: '_resetBlankSlate', + SAVE_NOTIFICATIONS_ERROR: '_saveNotifError', + SAVE_NOTIFICATIONS_SUCCESS: '_saveNotifSuccess' + }, + initialize: function() { + // initialize with data from db + this.starNotification = false; + this.imgCommentNotification = false; + this.autoBuildNotification = false; + this.starNotificationID = -1; + this.imgCommentNotificationID = -1; + this.autoBuildNotificationID = -1; + this.STATUS = STATUS.DEFAULT; + this.blankNotificationSlate = {}; + }, + _receiveNotifications: function(notifications) { + for (var i = 0; i < notifications.length; ++i) { + switch(notifications[i].notification) { + case 'new_repo_comment': + this.imgCommentNotification = true; + this.imgCommentNotificationID = notifications[i].id; + break; + case 'new_repo_star': + this.starNotification = true; + this.starNotificationID = notifications[i].id; + break; + case 'trusted_build_fail': + this.autoBuildNotification = true; + this.autoBuildNotificationID = notifications[i].id; + break; + } + } + this.blankNotificationSlate = this.getState(); + debug(this.blankNotificationSlate); + this.attempting = false; + this.emitChange(); + }, + _resetBlankSlate: function() { + var slate = this.blankNotificationSlate; + debug('RESET EMAIL NOTIF BLANK SLATE'); + this.starNotification = slate.starNotification; + this.imgCommentNotification = slate.imgCommentNotification; + this.autoBuildNotification = slate.autoBuildNotification; + this.starNotificationID = slate.starNotificationID; + this.imgCommentNotificationID = slate.imgCommentNotificationID; + this.autoBuildNotificationID = slate.autoBuildNotificationID; + this.STATUS = STATUS.DEFAULT; + this.emitChange(); + }, + _updateNotifications: function(cboxType) { + this.STATUS = STATUS.DEFAULT; + switch(cboxType) { + case 'starNotification': + this.starNotification = !this.starNotification; + break; + case 'imgCommentNotification': + this.imgCommentNotification = !this.imgCommentNotification; + break; + case 'autoBuildNotification': + this.autoBuildNotification = !this.autoBuildNotification; + break; + } + this.emitChange(); + }, + _saveNotifError: function() { + this.STATUS = 'ERROR'; + this.emitChange(); + }, + _saveNotifSuccess: function() { + this.STATUS = STATUS.SUCCESSFUL; + this.emitChange(); + }, + hasChanged: function(type) { + switch (type) { + case 'auto': + return (this.autoBuildNotification !== this.blankNotificationSlate.autoBuildNotification); + case 'star': + return (this.starNotification !== this.blankNotificationSlate.starNotificationID); + case 'comment': + return (this.imgCommentNotification !== this.blankNotificationSlate.imgCommentNotificationID); + default: + break; + } + }, + getAttempt: function() { + return this.attempting; + }, + setAttempt: function(flag) { + this.attempting = flag; + }, + getState: function() { + return { + starNotification: this.starNotification, + imgCommentNotification: this.imgCommentNotification, + autoBuildNotification: this.autoBuildNotification, + starNotificationID: this.starNotificationID, + imgCommentNotificationID: this.imgCommentNotificationID, + autoBuildNotificationID: this.autoBuildNotificationID, + STATUS: this.STATUS + }; + }, + dehydrate: function() { + return _.merge({}, this.getState(), {blankNotificationSlate: this.blankNotificationSlate}); + }, + rehydrate: function(state) { + this.starNotification = state.starNotification; + this.imgCommentNotification = state.imgCommentNotification; + this.autoBuildNotification = state.autoBuildNotification; + this.starNotificationID = state.starNotificationID; + this.imgCommentNotificationID = state.imgCommentNotificationID; + this.autoBuildNotificationID = state.autoBuildNotificationID; + this.STATUS = state.STATUS; + this.blankNotificationSlate = state.blankNotificationSlate; + } +}); diff --git a/app/scripts/stores/EmailsStore.js b/app/scripts/stores/EmailsStore.js new file mode 100644 index 0000000000..d48589a878 --- /dev/null +++ b/app/scripts/stores/EmailsStore.js @@ -0,0 +1,155 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import merge from 'lodash/object/merge'; +import has from 'lodash/object/has'; +import find from 'lodash/collection/find'; +import cloneDeep from 'lodash/lang/cloneDeep'; +import { STATUS, EMAILSTATUS } from './emailsstore/Constants'; + +var debug = require('debug')('EmailsStore'); + +var EmailsStore = createStore({ + storeName: 'EmailsStore', + handlers: { + RECEIVE_EMAILS: '_receiveEmails', + CHANGE_ROUTE: '_resetState', + ADD_EMAIL_INVALID: '_addEmailInvalid', + ADD_EMAIL_SUCCESS: '_addEmailSuccess', + START_SAVE_ACTION: '_startSaveAction', + FINISH_SAVE_ACTION: '_finishSaveAction', + RESEND_EMAIL_CONFIRMATION_ATTEMPT_START: '_resendEmailConfirmationAttemptStart', + RESEND_EMAIL_CONFIRMATION_SENT: '_resendEmailConfirmationSent', + RESEND_EMAIL_CONFIRMATION_FAILED: '_resendEmailConfirmationFail', + RESEND_EMAIL_CONFIRMATION_CLEAR: '_resendClear', + UPDATE_ADD_EMAIL: '_updateAddEmail' + }, + initialize: function() { + this.STATUS = STATUS.DEFAULT; + + this._cleanSlate = { + emails: [] + }; + this.emails = []; + this.emailConfirmations = {}; + this.addEmail = ''; + this.addError = ''; + }, + _startSaveAction() { + this.STATUS = STATUS.SAVING; + this.emitChange(); + }, + _finishSaveAction() { + this.STATUS = STATUS.DEFAULT; + this.emitChange(); + }, + _resendEmailConfirmationAttemptStart(emailID) { + debug('RESEND CONFIRMATION START'); + this.emailConfirmations = merge(this.emailConfirmations, { + [emailID]: EMAILSTATUS.ATTEMPTING + }); + this.emitChange(); + }, + _resendEmailConfirmationSent(emailID) { + debug('RESEND CONFIRMATION SENT'); + this.emailConfirmations = merge(this.emailConfirmations, { + [emailID]: EMAILSTATUS.SUCCESS + }); + this.emitChange(); + }, + _resendEmailConfirmationFail(emailID) { + debug('RESEND CONFIRMATION FAIL'); + this.emailConfirmations = merge(this.emailConfirmations, { + [emailID]: EMAILSTATUS.FAILED + }); + this.emitChange(); + }, + _resendClear(emailID) { + debug('RESEND CONFIRMATION CLEAR'); + this.emailConfirmations = merge(this.emailConfirmations, { + [emailID]: '' + }); + this.emitChange(); + }, + _receiveEmails: function(payload) { + debug(payload); + this.initialize(); + this._cleanSlate = { + /** + * We cloneDeep here because otherwise this.emails + * and this._cleanSlate.emails will refer to the + * same array causing unintuitive behavior. + */ + emails: cloneDeep(payload.emails) + }; + this.emails = payload.emails; + this.emitChange(); + }, + _addEmailInvalid(error) { + this.addError = error[0]; + this.emitChange(); + }, + _addEmailSuccess() { + this.addEmail = ''; + this.emitChange(); + }, + _resetState() { + var {emails} = this._cleanSlate; + this.emails = emails.slice(); + this.addError = ''; + this.emitChange(); + }, + _updateAddEmail(email) { + this.addEmail = email; + this.emitChange(); + }, + isCleanSlatePrimaryEmail: function(email: string) { + debug('cleanSlate.emails', this._cleanSlate.emails, email); + /** + * A function that answers "is this email address a primary email + * address?" with respect to the database, not with respect + * to the state of the client side application + */ + var primaryEmail = find(this._cleanSlate.emails, function(obj) { + return obj.email === email && obj.primary === true; + }); + + debug('primaryEmail', !!primaryEmail); + return !!primaryEmail; + }, + getCleanSlatePrimaryEmailID() { + return find(this._cleanSlate.emails, function(obj) { + return obj.primary === true; + }).id; + }, + getEmails: function() { + return { + emails: this.emails + }; + }, + getState: function() { + return { + STATUS: this.STATUS, + emails: this.emails, + addEmail: this.addEmail, + addError: this.addError, + emailConfirmations: this.emailConfirmations + }; + }, + dehydrate() { + return merge({}, + this.getState(), + { + _cleanSlate: this._cleanSlate + }); + }, + rehydrate(state) { + this._cleanSlate = state._cleanSlate; + this.addEmail = state.addEmail; + this.emails = state.emails.slice(0); + this.emailConfirmations = state.emailConfirmations; + this.addError = state.addError; + } +}); + +module.exports = EmailsStore; diff --git a/app/scripts/stores/EnterprisePaidFormStore.js b/app/scripts/stores/EnterprisePaidFormStore.js new file mode 100644 index 0000000000..f77def90e6 --- /dev/null +++ b/app/scripts/stores/EnterprisePaidFormStore.js @@ -0,0 +1,294 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import { STATUS } from './common/Constants'; +var debug = require('debug')('EnterprisePaidFormStore'); +import each from 'lodash/collection/each'; +import includes from 'lodash/collection/includes'; +import merge from 'lodash/object/merge'; +import keys from 'lodash/object/keys'; +import has from 'lodash/object/has'; +import mapValues from 'lodash/object/mapValues'; +import isString from 'lodash/lang/isString'; + +var noErrorObj = { + hasError: false, + error: '' +}; + +export default createStore({ + storeName: 'EnterprisePaidFormStore', + handlers: { + ENTERPRISE_PAID_RECEIVE_ORGS: '_receiveOrgs', + ENTERPRISE_PAID_CLEAR_FORM: '_clearStore', + ENTERPRISE_PAID_UPDATE_FIELD_WITH_VALUE: '_updateFieldWithValue', + + ENTERPRISE_PAID_ATTEMPT_START: '_enterprisePaidAttemptStart', + ENTERPRISE_PAID_BAD_REQUEST: '_badRequest', + ENTERPRISE_PAID_SUCCESS: '_signupSuccess', + ENTERPRISE_PAID_FACEPALM: '_facepalm', + + BILLING_SUBMIT_START: '_enterprisePaidAttemptStart', + BILLING_SUBMIT_SUCCESS: '_signupSuccess', + BILLING_SUBMIT_ERROR: '_badRequest', + + GET_RECURLY_ERROR: '_updateRecurlyErrors', + ENTERPRISE_PAID_GET_RECURLY_ERROR: 'recurlyError', + ENTERPRISE_PAID_API_ERROR: '_apiError', + ENTERPRISE_PAID_ERRORS: '_validateErrors', + ENTERPRISE_PAID_POPULATE_FORM: '_populateForm' + }, + initialize() { + this.STATUS = STATUS.DEFAULT; + + this.globalFormError = ''; + this.orgs = []; + + this.fields = { + first_name: {}, + last_name: {}, + postal_code: {}, + number: {}, + month: {}, + year: {}, + cvv: {}, + address1: {}, + city: {}, + state: {}, + country: {}, + expiry: {}, + email: {} + }; + + this.values = { + first_name: '', + last_name: '', + postal_code: '', + number: '', + month: '01', + year: '2015', + cvv: '', + address1: '', + city: '', + state: '', + country: 'US', + last_four: '', + card_type: '', + account_first: '', + account_last: '', + company_name: '', + email: '' + }; + }, + _clearStore(){ + this.initialize(); + this.emitChange(); + }, + _populateForm({ + first_name, + last_name, + zip, + month, + year, + address1, + address2, + city, + state, + country, + last_four, + card_type, + account_first, + account_last, + company_name, + email + }) { + var D = new Date(); + var defaultMonth = D.getMonth(); + var defaultYear = D.getFullYear() + 1; + var defaultCountry = 'US'; + this.fields = { + first_name: {}, + last_name: {}, + postal_code: {}, + number: {}, + month: {}, + year: {}, + cvv: {}, + address1: {}, + address2: {}, + city: {}, + state: {}, + country: {}, + expiry: {}, + email: {} + }; + this.values = { + first_name, + last_name, + postal_code: zip, + month: month || defaultMonth, + year: year || defaultYear, + address1, + address2, + city, + state, + country: country || defaultCountry, + last_four, + card_type, + account_first, + account_last, + company_name, + email + }; + this.STATUS = STATUS.DEFAULT; + this.globalFormError = ''; + this.emitChange(); + }, + _updateRecurlyErrors(error) { + const errorFields = error.fields; + debug('Recurly Form errors', errorFields); + let fieldErrors = { + number: { + hasError: includes(errorFields, 'number'), + error: 'There was an error processing your card' + }, + expiry: { + hasError: includes(errorFields, 'month') || includes(errorFields, 'year'), + error: 'This field is invalid' + }, + cvv: { + hasError: includes(errorFields, 'cvv'), + error: 'This field is invalid' + }, + first_name: { + hasError: includes(errorFields, 'first_name'), + error: 'This field is required' + }, + last_name: { + hasError: includes(errorFields, 'last_name'), + error: 'This field is required' + }, + postal_code: { + hasError: includes(errorFields, 'postal_code'), + error: 'This field is invalid' + } + }; + merge(this.fields, fieldErrors); + this.STATUS = STATUS.DEFAULT; + this.globalFormError = error.message; + this.emitChange(); + }, + _facepalm() { + // this happens if things are screwed and we can't recover gracefully + this.STATUS = STATUS.FACEPALM; + this.emitChange(); + }, + recurlyError(fields) { + this.STATUS = STATUS.DEFAULT; + var emitChange = false; + each(fields, function(val, idx) { + if(includes(keys(this.fields), val)) { + emitChange = true; + this.fields[val] = { + hasError: true, + error: 'This field is required' + }; + } + }, this); + + if(emitChange) { + this.emitChange(); + } + }, + _validateErrors(hasError) { + each(hasError, (v, k) => { + if (v) { + if (includes(['number', 'cvv', 'month', 'year', 'country'], k)) { + this.fields[k] = { + hasError: true, + error: 'Invalid ' + k + }; + } else { + this.fields[k] = { + hasError: true, + error: 'Required' + }; + } + } + }); + this.emitChange(); + }, + _updateFieldWithValue({fieldKey, fieldValue}) { + debug(fieldKey, fieldValue); + this.fields[fieldKey] = {hasError: false, error: ''}; + if (includes(['month', 'year'], fieldKey)) { + this.fields.expiry = {hasError: false, error: ''}; + } + if (fieldKey === 'number') { + let card_type = window.recurly.validate.cardType(fieldValue); + this.values.card_type = card_type; + } + this.values[fieldKey] = fieldValue; + this.emitChange(); + }, + _signupSuccess() { + this.STATUS = STATUS.SUCCESSFUL; + this.emitChange(); + }, + _receiveOrgs(namespaces) { + this.orgs = namespaces; + this.emitChange(); + }, + _apiError() { + this.STATUS = STATUS.FACEPALM; + this.emitChange(); + }, + _enterprisePaidAttemptStart() { + this.STATUS = STATUS.ATTEMPTING; + this.emitChange(); + }, + _badRequest(obj) { + this.STATUS = STATUS.ERROR; + + // cycle through the possible form fields + this.fields = mapValues(this.fields, function (errorObject, key) { + if(has(obj, key)) { + return { + hasError: !!obj[key], + error: obj[key][0] + }; + } else { + return errorObject; + } + }); + + if(has(obj, 'non_field_errors')) { + this.globalFormError = obj.non_field_errors[0]; + } else if (has(obj, 'detail')) { + this.globalFormError = obj.detail; + } else if (isString(obj)) { + this.globalFormError = obj; + } + + this.emitChange(); + }, + getState() { + return { + fields: this.fields, + values: this.values, + STATUS: this.STATUS, + orgs: this.orgs, + globalFormError: this.globalFormError + }; + }, + dehydrate() { + return this.getState(); + }, + rehydrate(state) { + this.orgs = state.orgs; + this.values = state.values; + this.fields = state.fields; + this.STATUS = state.STATUS; + this.globalFormError = this.globalFormError; + } +}); diff --git a/app/scripts/stores/EnterprisePartnerTrackingStore.js b/app/scripts/stores/EnterprisePartnerTrackingStore.js new file mode 100644 index 0000000000..6c5afaea8b --- /dev/null +++ b/app/scripts/stores/EnterprisePartnerTrackingStore.js @@ -0,0 +1,29 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('EnterprisePartnerTrackingStore'); + +export default createStore({ + storeName: 'EnterprisePartnerTrackingStore', + handlers: { + ENTERPRISE_PARTNER_RECEIVE_CODE: '_receivePartnerTrackingCode' + }, + initialize() { + this.partnervalue = ''; + }, + _receivePartnerTrackingCode({ code }) { + this.partnervalue = code; + this.emitChange(); + }, + getState() { + return { + partnervalue: this.partnervalue + }; + }, + dehydrate() { + return this.getState(); + }, + rehydrate(state) { + this.partnervalue = state.partnervalue; + } +}); diff --git a/app/scripts/stores/EnterpriseTrialFormStore.js b/app/scripts/stores/EnterpriseTrialFormStore.js new file mode 100644 index 0000000000..e967f84876 --- /dev/null +++ b/app/scripts/stores/EnterpriseTrialFormStore.js @@ -0,0 +1,140 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import { ATTEMPTING, DEFAULT, FACEPALM, SUCCESSFUL_SIGNUP } from 'stores/enterprisetrialstore/Constants'; +var debug = require('debug')('EnterpriseTrialFormStore'); +var _ = require('lodash'); + +var noErrorObj = { + hasError: false, + error: '' +}; + +export default createStore({ + storeName: 'EnterpriseTrialFormStore', + handlers: { + ENTERPRISE_TRIAL_RECEIVE_ORGS: '_receiveOrgs', + ENTERPRISE_TRIAL_CLEAR_FORM: '_clearForm', + ENTERPRISE_TRIAL_UPDATE_FIELD_WITH_VALUE: '_updateFieldWithValue', + ENTERPRISE_TRIAL_ATTEMPT_START: '_attemptStart', + ENTERPRISE_TRIAL_BAD_REQUEST: '_badRequest', + ENTERPRISE_TRIAL_SUCCESS: '_signupSuccess', + ENTERPRISE_TRIAL_FACEPALM: '_facepalm', + CREATED_ORGANIZATION: '_clearForm' + }, + initialize() { + this.STATUS = DEFAULT; + this.orgs = []; + this.globalFormError = ''; + + this.fields = { + firstName: {}, + lastName: {}, + companyName: {}, + jobFunction: {}, + email: {}, + phoneNumber: {}, + country: {}, + state: {}, + namespace: {} + }; + + this.values = { + namespace: '', + firstName: '', + lastName: '', + jobFunction: '', + companyName: '', + email: '', + phoneNumber: '', + country: 'US', + state: '' + }; + }, + _facepalm() { + // this happens if things are screwed and we can't recover gracefully + this.STATUS = FACEPALM; + this.globalFormError = 'Something went wrong on the server. We have been alerted to this issue'; + this.emitChange(); + }, + _clearForm() { + this.initialize(); + this.emitChange(); + }, + _clearErrors() { + this.fields = { + firstName: {}, + lastName: {}, + jobFunction: {}, + companyName: {}, + email: {}, + phoneNumber: {}, + country: {}, + state: {}, + namespace: {} + }; + this.globalFormError = ''; + }, + _updateFieldWithValue({fieldKey, fieldValue}) { + this.STATUS = DEFAULT; + this.globalFormError = ''; + this.values[fieldKey] = fieldValue; + this.emitChange(); + }, + _attemptStart() { + this.STATUS = ATTEMPTING; + this.emitChange(); + }, + _signupSuccess() { + this.STATUS = SUCCESSFUL_SIGNUP; + this._clearErrors(); + this.emitChange(); + }, + _receiveOrgs(namespaces) { + this.orgs = namespaces; + //will always have at least current logged in namespace + this.values.namespace = namespaces[0]; + this.emitChange(); + }, + _badRequest(obj) { + this._clearErrors(); + this.STATUS = DEFAULT; + + // cycle through the possible form fields + this.fields = _.mapValues(this.fields, (errorObject, key) => { + if(_.has(obj, key)) { + return { + hasError: !!obj[key], + error: obj[key][0] + }; + } else { + return errorObject; + } + }); + + if(obj && obj.non_field_errors) { + this.globalFormError = obj.non_field_errors[0]; + } + this.emitChange(); + }, + getState() { + return { + fields: this.fields, + values: this.values, + STATUS: this.STATUS, + orgs: this.orgs, + globalFormError: this.globalFormError + }; + }, + dehydrate() { + return this.getState(); + }, + rehydrate(state) { + this.orgs = state.orgs; + this.fields = state.fields; + this.values = state.values; + this.STATUS = state.STATUS; + this.globalFormError = state.globalFormError; + + } +}); diff --git a/app/scripts/stores/EnterpriseTrialSuccessStore.js b/app/scripts/stores/EnterpriseTrialSuccessStore.js new file mode 100644 index 0000000000..b68cf015af --- /dev/null +++ b/app/scripts/stores/EnterpriseTrialSuccessStore.js @@ -0,0 +1,47 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import { DEFAULT, + ERROR } from 'stores/enterprisetrialsuccessstore/Constants'; +const debug = require('debug')('EnterpriseTrialSuccessStore'); + +export default createStore({ + storeName: 'EnterpriseTrialSuccessStore', + handlers: { + RECEIVE_TRIAL_LICENSE_FACEPALM: '_facepalm', + RECEIVE_TRIAL_LICENSE: '_receiveTrialLicense', + RECEIVE_TRIAL_LICENSE_BAD_REQUEST: '_receiveTrialLicenseBadRequest' + }, + initialize: function() { + this.license = {}; + this.STATUS = DEFAULT; + }, + _facepalm: function(err) { + this.STATUS = ERROR; + debug(err); + this.emitChange(); + }, + _receiveTrialLicense: function(license) { + this.license = license; + this.emitChange(); + }, + _receiveTrialLicenseBadRequest: function(err) { + this.STATUS = ERROR; + debug(err); + this.emitChange(); + }, + getState: function() { + return { + license: this.license, + STATUS: this.STATUS + }; + }, + rehydrate: function(state) { + this.license = state.license; + this.STATUS = state.STATUS; + }, + dehydrate: function() { + return this.getState(); + } +}); + diff --git a/app/scripts/stores/GithubLinkStore.js b/app/scripts/stores/GithubLinkStore.js new file mode 100644 index 0000000000..d1858a851b --- /dev/null +++ b/app/scripts/stores/GithubLinkStore.js @@ -0,0 +1,60 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('GithubLinkStore'); + +var GithubLinkStore = createStore({ + storeName: 'GithubLinkStore', + handlers: { + RECEIVE_GITHUB_ID: '_receiveID', + GITHUB_ID_ERROR: '_idError', + GITHUB_SECURITY_ERROR: '_githubSecurityError', + GITHUB_ASSOCIATE_ERROR: '_githubAssociateError' + }, + initialize: function() { + this.githubClientID = ''; + this.error = ''; + }, + _receiveID: function(res) { + this.githubClientID = res.client_id; + this.emitChange(); + }, + _idError: function(err) { + debug(err); + }, + _githubAssociateError: function(errorState) { + debug(errorState); + if (errorState.detail) { + this.error = errorState.detail; + } else { + this.error = 'There was an error during the Github account link. Please check that you do not have the same Github account linked to another Docker Hub account.'; + } + this.emitChange(); + setTimeout(this._clearError.bind(this), 5000); + }, + _githubSecurityError: function(errorState) { + debug(errorState); + this.error = 'There was a security error during the github account linking process.'; + this.emitChange(); + setTimeout(this._clearError.bind(this), 5000); + }, + _clearError: function() { + this.error = ''; + this.emitChange(); + }, + getState: function() { + return { + githubClientID: this.githubClientID, + error: this.error + }; + }, + rehydrate: function(state) { + this.githubClientID = state.githubClientID; + this.error = state.error; + }, + dehydrate: function() { + return this.getState(); + } +}); + +module.exports = GithubLinkStore; diff --git a/app/scripts/stores/JWTStore.js b/app/scripts/stores/JWTStore.js new file mode 100644 index 0000000000..d7fcd3b368 --- /dev/null +++ b/app/scripts/stores/JWTStore.js @@ -0,0 +1,73 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('stores: JWTStore'); +import cookie from 'cookie'; + +export default createStore({ + storeName: 'JWTStore', + handlers: { + RECEIVE_JWT: '_receiveJWT', + LOGOUT: '_logout', + LOGOUT_ERROR: '_logoutError', + EXPIRED_SIGNATURE: '_setExpiredSignature' + }, + _receiveJWT(jwt) { + this.jwt = jwt; + this.signatureIsExpired = false; + this.emitChange(); + }, + _logoutError(err) { + debug(err + ' Logout did not complete cleanly on the server'); + this._logout(); //we logout on the client side anyway + }, + _logout() { + this.jwt = null; + this.emitChange(); + }, + _logoutWithNotification(){ + debug('Logging out due to invalid Signature'); + this._logout(); + }, + _setExpiredSignature(){ + this.signatureIsExpired = true; + this.jwt = null; + this.emitChange(); + }, + getJWT() { + return this.jwt; + }, + getState() { + return { + jwt: this.jwt, + signatureIsExpired: this.signatureIsExpired + }; + }, + isLoggedIn() { + //Return true if user is logged in + return !!this.jwt; + }, + dehydrate() { + if(this.signatureIsExpired) { + return { + jwt: null, + signatureIsExpired: true + }; + } else { + return { + jwt: this.jwt, + signatureIsExpired: false + }; + } + }, + rehydrate(state) { + debug('rehydrate', state); + if(state.signatureIsExpired) { + debug('signatureIsExpired'); + this._logoutWithNotification(); + } else { + debug('signatureIsValid'); + this.signatureIsExpired = state.signatureIsExpired; + this._receiveJWT(state.jwt); + } + } +}); diff --git a/app/scripts/stores/LoginStore.js b/app/scripts/stores/LoginStore.js new file mode 100644 index 0000000000..a074541f06 --- /dev/null +++ b/app/scripts/stores/LoginStore.js @@ -0,0 +1,108 @@ +'use strict'; + +import _ from 'lodash'; +import { STATUS } from './loginstore/Constants'; +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('LoginStore'); + +export default createStore({ + storeName: 'LoginStore', + handlers: { + LOGIN_ATTEMPT_START: '_loginAttemptStart', + LOGIN_UNAUTHORIZED: '_loginUnauthorized', + LOGIN_UNAUTHORIZED_DETAIL: '_loginUnauthorizedDetail', + LOGIN_BAD_REQUEST: '_badRequest', + LOGIN_ERROR: '_loginError', + LOGIN_UPDATE_FIELD_WITH_VALUE: '_updateFieldWithValue', + LOGIN_CLEAR: '_clearLoginForm' + }, + initialize() { + this.STATUS = STATUS.DEFAULT; + this.globalFormError = ''; + + this.fields = { + username: {}, + password: {} + }; + + this.values = { + username: '', + password: '' + }; + }, + _clearLoginForm() { + debug('Clearing'); + this.initialize(); + this.emitChange(); + }, + _loginAttemptStart() { + this.STATUS = STATUS.ATTEMPTING_LOGIN; + this.emitChange(); + }, + _loginError(err){ + this.STATUS = STATUS.GENERIC_ERROR; + this.globalFormError = 'There was an error contacting the server. Please try again later.'; + this.emitChange(); + }, + _badRequest(obj) { + this.STATUS = STATUS.DEFAULT; + /** + * This function expects keys which match the `this.fields` keys + * with an array of errors: + * + * { + * username: ['this field is required'] + * } + */ + let shouldEmitChange = false; + + // cycle through the possible form fields + this.fields = _.mapValues(this.fields, function (errorObject, key) { + if(_.has(obj, key)) { + shouldEmitChange = true; + return { + hasError: !!obj[key], + error: obj[key][0] + }; + } else { + return errorObject; + } + }); + + if(shouldEmitChange) { + this.emitChange(); + } + }, + _loginUnauthorized() { + this.STATUS = STATUS.ERROR_UNAUTHORIZED; + this.globalFormError = 'Login Failed. The username or password may be incorrect.'; + this.emitChange(); + }, + _loginUnauthorizedDetail({detail}) { + this.STATUS = STATUS.ERROR_UNAUTHORIZED; + this.globalFormError = detail; + this.emitChange(); + }, + getState() { + return { + fields: this.fields, + values: this.values, + STATUS: this.STATUS, + globalFormError: this.globalFormError + }; + }, + _updateFieldWithValue: function({fieldKey, fieldValue}){ + this.fields[fieldKey] = { + hasError: false, + error: '' + }; + this.values[fieldKey] = fieldValue; + this.emitChange(); + }, + dehydrate: function() { + return {}; + }, + rehydrate: function(state) { + this.state = state; + } +}); diff --git a/app/scripts/stores/NotifyStore.js b/app/scripts/stores/NotifyStore.js new file mode 100644 index 0000000000..57c2cc30b5 --- /dev/null +++ b/app/scripts/stores/NotifyStore.js @@ -0,0 +1,44 @@ +'use strict'; + +/** + * displays alert-style dismissable notifications to the user + */ + +const createStore = require('fluxible/addons/createStore'); +const debug = require('debug')('NotifyStore'); + +var NotifyStore = createStore({ + storeName: 'NotifyStore', + handlers: { + NEW_ALERT: '_newAlert', + EXPIRE_ALERT: '_expireAlert', + EXPIRED_SIGNATURE: '_newDetailAlert' + }, + initialize: function() { + // alerts have a timestamp-based key + this.alerts = {}; + }, + _newAlert: function(obj) { + this.alerts[+new Date()] = obj.msg; + debug(this.alerts); + this.emitChange(); + }, + _newDetailAlert: function(msg) { + debug(msg); + this._newAlert({ + msg: 'You have been logged out because your token has expired or was invalid' + }); + }, + getState: function() { + return this.state; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + debug(state); + this.alerts = state.alerts; + } +}); + +module.exports = NotifyStore; diff --git a/app/scripts/stores/OrgTeamStore.js b/app/scripts/stores/OrgTeamStore.js new file mode 100644 index 0000000000..cc8b54ed7f --- /dev/null +++ b/app/scripts/stores/OrgTeamStore.js @@ -0,0 +1,90 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import { STATUS } from './orgteamstore/Constants'; + +var OrgTeamStore = createStore({ + storeName: 'OrgTeamStore', + handlers: { + CREATE_ORG_TEAM: '_createOrgTeam', + RECEIVE_ORG_TEAM: '_receiveOrgTeam', + RECEIVE_TEAM_MEMBERS: '_receiveOrgMembers', + TEAM_ERROR: '_orgTeamError', + TEAM_BAD_REQUEST: '_teamBadRequest', + TEAM_UNAUTHORIZED: '_teamUnauthorized', + ORG_TEAM_CLEAR_ERROR_STATES: '_clearErrorStates' + }, + initialize: function() { + // initialize + this.name = ''; + this.description = ''; + this.members = []; + this.errorDetails = {}; + this.success = ''; + this.STATUS = STATUS.DEFAULT; + }, + //TODO: this will be removed once we have API + _createOrgTeam: function(payload) { + this.name = payload.name; + this.description = payload.description; + this.STATUS = STATUS.CREATE_TEAM_SUCCESS; + this.emitChange(); + }, + _receiveOrgTeam: function(orgTeam) { + this.name = orgTeam.name; + this.description = orgTeam.description; + this.emitChange(); + }, + _receiveOrgMembers: function(members) { + this.members = members; + this.emitChange(); + }, + _orgTeamError: function(err) { + this.STATUS = STATUS.TEAM_ERROR; + this.STATUS = STATUS.GENERAL_SERVER_ERROR; + this.errorDetails = {detail: 'Error updating team. Check if name is between 3 and 30 characters with no spaces.'}; + this.emitChange(); + }, + _teamBadRequest: function(err) { + this.STATUS = STATUS.TEAM_BAD_REQUEST; + this.errorDetails = {detail: 'Please check your input values. The team name may already exist or the characters may be invalid.'}; + this.emitChange(); + }, + _teamUnauthorized: function(err) { + this.STATUS = STATUS.TEAM_UNAUTHORIZED; + this.errorDetails = {detail: 'You have no permission to edit this team.'}; + this.emitChange(); + }, + _clearErrorStates: function() { + this.errorDetails = {}; + this.success = ''; + this.STATUS = STATUS.DEFAULT; + this.emitChange(); + }, + getState: function() { + return { + name: this.name, + description: this.description, + members: this.members, + errorDetails: this.errorDetails, + success: this.success, + STATUS: this.STATUS + }; + }, + getMembers: function() { + return this.members; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.name = state.name; + this.description = state.description; + this.members = state.members; + this.errorDetails = state.errorDetails; + this.success = state.success; + this.STATUS = state.STATUS; + } +}); + +module.exports = OrgTeamStore; diff --git a/app/scripts/stores/OrganizationStore.js b/app/scripts/stores/OrganizationStore.js new file mode 100644 index 0000000000..9b12f12b70 --- /dev/null +++ b/app/scripts/stores/OrganizationStore.js @@ -0,0 +1,130 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import _ from 'lodash'; + +var OrganizationStore = createStore({ + storeName: 'OrganizationStore', + handlers: { + RECEIVE_ORGANIZATION: '_updateOrg', + CREATED_ORGANIZATION: '_onCreateOrg', + SELECT_ORGANIZATION: '_onCurrentOrgChange', + RECEIVE_ORG_TEAMS: '_receiveOrgTeams', + CURRENT_USER_ORGS: '_onGetCurrentOrgs', + UPDATE_ORG_SUCCESS: '_updateOrgSuccess', + UPDATE_ORG_ERROR: '_updateOrgError' + }, + initialize: function() { + // initialize + this.name = ''; + this.gravatarURL = 'https://secure.gravatar.com/avatar/00000000000000000000000000000000?d=retro&f=y'; + this.currentOrg = {}; + this.orgs = []; + this.currentOrgTeams = []; + this.success = ''; + this.error = ''; + }, + _onCreateOrg: function(payload) { + this.receiveState({ + currentOrg: payload.newOrg, + orgs: payload.userOrgs + }); + this.emitChange(); + }, + _updateOrg: function(payload) { + this.receiveState({ + currentOrg: payload + }); + this.emitChange(); + }, + _onGetCurrentOrgs: function(payload) { + this.receiveState({ + orgs: payload.results + }); + this.emitChange(); + }, + _onCurrentOrgChange: function(payload) { + this.receiveState({ + currentOrg: this.getOrg(payload) + }); + this.emitChange(); + }, + _receiveOrgTeams: function(orgTeams) { + this.receiveState({ + currentOrgTeams: orgTeams.results + }); + this.emitChange(); + }, + _updateOrgSuccess: function() { + this.success = 'Updated Organization Details Successfully!'; + setTimeout(this._clearOrgErrorStates.bind(this), 5000); + this.emitChange(); + }, + _updateOrgError: function(err) { + var errResponse = err.response; + if (errResponse.badRequest) { + _.forIn(errResponse.body, function(v, k) { + this.error += k + ': ' + v.join(',') + '\n'; + }.bind(this)); + } else if(errResponse.unauthorized || errResponse.forbidden) { + this.error = 'You have no permission to edit this organization.'; + } else { + this.error = 'An error occurred during the organization update. Please try again later'; + } + setTimeout(this._clearOrgErrorStates.bind(this), 5000); + this.emitChange(); + }, + _clearOrgErrorStates: function() { + this.success = ''; + this.error = ''; + this.emitChange(); + }, + receiveState: function(payload) { + this.name = payload.orgname || this.name; + this.gravatarURL = payload.gravatar_url || this.gravatarURL; + this.currentOrg = payload.currentOrg || this.currentOrg; + this.currentOrgTeams = payload.currentOrgTeams || this.currentOrgTeams; + this.orgs = payload.orgs || this.orgs; + }, + getState: function() { + return { + name: this.name, + gravatarURL: this.gravatarURL, + currentOrg: this.currentOrg, + currentOrgTeams: this.currentOrgTeams, + orgs: this.orgs, + error: this.error, + success: this.success + }; + }, + getOrgs: function() { + return this.orgs; + }, + getCurrentOrg: function() { + //returns currently selected org + return this.currentOrg; + }, + getOrg: function(name) { + //Assuming org names are unique and expecting filter to return an array of exactly 1 item + return _.filter(this.orgs, function(org) { + return org.orgname === name; + })[0]; + }, + getOrgTeams: function() { + return this.currentOrgTeams; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.name = state.name; + this.gravatarURL = state.gravatarURL; + this.currentOrg = state.currentOrg; + this.currentOrgTeams = state.currentOrgTeams; + this.orgs = state.orgs; + this.error = state.error; + this.success = state.success; + } +}); + +module.exports = OrganizationStore; diff --git a/app/scripts/stores/OutboundCommunicationStore.js b/app/scripts/stores/OutboundCommunicationStore.js new file mode 100644 index 0000000000..6aa321d62c --- /dev/null +++ b/app/scripts/stores/OutboundCommunicationStore.js @@ -0,0 +1,90 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import _ from 'lodash'; +import { STATUS } from './common/Constants'; +var debug = require('debug')('AccountNotifStore:'); + +export default createStore({ + storeName: 'OutboundCommunicationStore', + handlers: { + RECEIVE_EMAIL_SUBSCRIPTIONS: '_receiveEmailSubscriptions', + RESET_OUTBOUND_EMAILS_STORE: '_resetBlankSlate', + SAVE_OUTBOUND_ERROR: '_saveOutboundError', + SAVE_OUTBOUND_SUCCESS: '_saveOutboundSuccess', + UPDATE_OUTBOUND: '_updateOutbound', + UPDATE_BETA_GROUP: '_updateBetaGroup' + }, + initialize: function() { + // initialize with data from db + /*eslint-disable camelcase */ + this.weeklyDigest = { + subscribed_emails: [], + unsubscribed_emails: [] + }; + this.digestEmails = []; + this.betaGroup = { + subscribed_emails: [], + unsubscribed_emails: [] + }; + /*eslint-enable camelcase */ + this.betaEmails = []; + this.STATUS = STATUS.DEFAULT; + this.blankOutboundSlate = {}; + }, + _receiveEmailSubscriptions: function(payload) { + this.weeklyDigest = payload.weeklyDigest; + this.digestEmails = payload.weeklyDigest.subscribed_emails.concat(payload.weeklyDigest.unsubscribed_emails); + this.betaGroup = payload.betaGroup; + this.betaEmails = payload.betaGroup.subscribed_emails.concat(payload.betaGroup.unsubscribed_emails); + this.blankOutboundSlate = this.getState(); + this.emitChange(); + }, + _resetBlankSlate: function() { + var slate = this.blankOutboundSlate; + debug('RESET OUTBOUND BLANK SLATE'); + this.weeklyDigest = slate.weeklyDigest; + this.digestEmails = slate.digestEmails; + this.betaGroup = slate.betaGroup; + this.betaEmails = slate.betaEmails; + this.STATUS = STATUS.DEFAULT; + this.emitChange(); + }, + _updateOutbound: function(newList) { + this.STATUS = STATUS.DEFAULT; + if (newList.list === 'weekly') { + this.weeklyDigest = newList.data; + } else if (newList.list === 'beta') { + this.betaGroup = newList.data; + } + this.emitChange(); + }, + _saveOutboundError: function() { + this.STATUS = 'ERROR'; + this.emitChange(); + }, + _saveOutboundSuccess: function() { + this.STATUS = STATUS.SUCCESSFUL; + this.emitChange(); + }, + getState: function() { + return { + weeklyDigest: this.weeklyDigest, + digestEmails: this.digestEmails, + betaGroup: this.betaGroup, + betaEmails: this.betaEmails, + STATUS: this.STATUS + }; + }, + dehydrate: function() { + return _.merge({}, this.getState(), {blankOutboundSlate: this.blankOutboundSlate}); + }, + rehydrate: function(state) { + this.weeklyDigest = state.weeklyDigest; + this.digestEmails = state.digestEmails; + this.betaGroup = state.betaGroup; + this.betaEmails = state.betaEmails; + this.STATUS = state.STATUS; + this.blankOutboundSlate = state.blankOutboundSlate; + } +}); diff --git a/app/scripts/stores/PipelineHistoryStore.js b/app/scripts/stores/PipelineHistoryStore.js new file mode 100644 index 0000000000..59b9494f2d --- /dev/null +++ b/app/scripts/stores/PipelineHistoryStore.js @@ -0,0 +1,31 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +const debug = require('debug')('PipelineHistory'); + +export default createStore({ + storeName: 'PipelineHistoryStore', + handlers: { + RECEIVE_PIPELINE_HISTORY: '_receivePipelineHistory' + }, + initialize() { + this.results = {}; + }, + _receivePipelineHistory(data) { + this.results[data.slug] = {}; + this.results[data.slug].results = data.payload.results; + this.results[data.slug].count = data.payload.count; + this.emitChange(); + }, + getState() { + return { + results: this.results + }; + }, + dehydrate() { + return this.getState(); + }, + rehydrate(state) { + this.results = state.results; + } +}); diff --git a/app/scripts/stores/PlansStore.js b/app/scripts/stores/PlansStore.js new file mode 100644 index 0000000000..8ac12e6c89 --- /dev/null +++ b/app/scripts/stores/PlansStore.js @@ -0,0 +1,74 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('PlansStore'); + +var PlansStore = createStore({ + storeName: 'PlansStore', + handlers: { + RECEIVE_BILLING_PLANS: '_receivePlans', + RECEIVE_BILLING_INFO: '_receiveBilling', + RECEIVE_BILLING_SUBSCRIPTION: '_receiveBillingSubscription', + RESET_CURRENT_PLAN: '_resetCurrentPlan' + }, + initialize: function() { + this.plansList = []; + this.currentPlan = { + plan: '', + package: '', + subscription_uuid: '', + state: '', + add_ons: [] + }; + }, + _clearPlan: function() { + this.currentPlan = { + plan: '', + package: '', + subscription_uuid: '', + state: '', + add_ons: [] + }; + }, + _receiveBilling: function(payload){ + debug('RECEIVE BILLING: ', payload); + this._clearPlan(); + if (payload.currentPlan) { + this.currentPlan = payload.currentPlan; + } + this.emitChange(); + }, + _receiveBillingSubscription: function(payload) { + this._clearPlan(); + if (payload.currentPlan) { + this.currentPlan = payload.currentPlan; + } + this.emitChange(); + }, + _resetCurrentPlan: function(payload) { + this._clearPlan(); + if (payload.currentPlan) { + this.currentPlan = payload.currentPlan; + } + this.emitChange(); + }, + _receivePlans: function(payload) { + debug(payload); + this.plansList = payload.plansList; + this.emitChange(); + }, + getState() { + return { + plansList: this.plansList, + currentPlan: this.currentPlan + }; + }, + dehydrate() { + return this.getState(); + }, + rehydrate(state) { + this.plansList = state.plansList; + this.currentPlan = state.currentPlan; + } +}); + +module.exports = PlansStore; diff --git a/app/scripts/stores/PrivateRepoUsageStore.js b/app/scripts/stores/PrivateRepoUsageStore.js new file mode 100644 index 0000000000..ab21e79cc1 --- /dev/null +++ b/app/scripts/stores/PrivateRepoUsageStore.js @@ -0,0 +1,63 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('PrivateReposUsageStore'); + +var PrivateRepoUsageStore = createStore({ + storeName: 'PrivateRepoUsageStore', + handlers: { + RECEIVE_PRIVATE_REPOSTATS: '_receivePrivateRepoStats', + PRIVATE_REPOSTATS_NO_PERMISSIONS: '_notAvailable' + }, + initialize: function() { + this.privateRepoUsed = 0; + this.numFreePrivateRepos = 0; + this.defaultRepoVisibility = 'public'; + this.privateRepoAvailable = 0; + this.privateRepoPercentUsed = 0; + this.privateRepoLimit = 0; + this.notAvailable = false; + }, + _receivePrivateRepoStats: function(stats) { + this.notAvailable = false; + /*eslint-disable camelcase */ + this.privateRepoUsed = stats.private_repo_used; + this.numFreePrivateRepos = stats.num_free_private_repos; + this.defaultRepoVisibility = stats.default_repo_visibility; + this.privateRepoAvailable = stats.private_repo_available; + this.privateRepoPercentUsed = stats.private_repo_percent_used; + this.privateRepoLimit = stats.private_repo_limit; + /*eslint-enable camelcase */ + this.emitChange(); + }, + _notAvailable: function(err) { + //No permissions to see the private repo stats for this org + this.notAvailable = true; + this.emitChange(); + }, + getState: function() { + return { + privateRepoUsed: this.privateRepoUsed, + numFreePrivateRepos: this.numFreePrivateRepos, + defaultRepoVisibility: this.defaultRepoVisibility, + privateRepoAvailable: this.privateRepoAvailable, + privateRepoPercentUsed: this.privateRepoPercentUsed, + privateRepoLimit: this.privateRepoLimit, + notAvailable: this.notAvailable + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.privateRepoUsed = state.privateRepoUsed; + this.numFreePrivateRepos = state.numFreePrivateRepos; + this.defaultRepoVisibility = state.defaultRepoVisibility; + this.privateRepoAvailable = state.privateRepoAvailable; + this.privateRepoPercentUsed = state.privateRepoPercentUsed; + this.privateRepoLimit = state.privateRepoLimit; + this.notAvailable = state.notAvailable; + } +}); + +module.exports = PrivateRepoUsageStore; diff --git a/app/scripts/stores/RepoDetailsBuildLogs.js b/app/scripts/stores/RepoDetailsBuildLogs.js new file mode 100644 index 0000000000..9d263b87b7 --- /dev/null +++ b/app/scripts/stores/RepoDetailsBuildLogs.js @@ -0,0 +1,29 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('RepoDetailsBuildLogsStore'); + +export default createStore({ + storeName: 'RepoDetailsBuildLogsStore', + handlers: { + BUILD_LOGS_RECEIVE: '_receiveBuildLogs' + }, + initialize() { + this.build_results = {}; + }, + _receiveBuildLogs(res) { + this.build_results = res.build_results; + this.emitChange(); + }, + getState() { + return { + build_results: this.build_results + }; + }, + rehydrate(state) { + this.build_results = state.build_results; + }, + dehydrate() { + return this.getState(); + } +}); diff --git a/app/scripts/stores/RepoDetailsBuildsStore.js b/app/scripts/stores/RepoDetailsBuildsStore.js new file mode 100644 index 0000000000..fbd102343d --- /dev/null +++ b/app/scripts/stores/RepoDetailsBuildsStore.js @@ -0,0 +1,36 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('RepoDetailsBuildsStore'); + +var RepoDetailsBuildsStore = createStore({ + storeName: 'RepoDetailsBuildsStore', + handlers: { + RECEIVE_BUILD_HISTORY_FOR_REPOSITORY: '_receiveBuilds' + }, + initialize() { + this.results = []; + this.count = 0; + }, + _receiveBuilds(res) { + debug('receiving builds', res); + this.results = res.results; + this.count = res.count; + this.emitChange(); + }, + getState: function() { + return { + results: this.results, + count: this.count + }; + }, + rehydrate(state) { + this.results = state.results; + this.count = state.count; + }, + dehydrate() { + return this.getState(); + } +}); + +module.exports = RepoDetailsBuildsStore; diff --git a/app/scripts/stores/RepoDetailsDockerfileStore.js b/app/scripts/stores/RepoDetailsDockerfileStore.js new file mode 100644 index 0000000000..ed1a1aee22 --- /dev/null +++ b/app/scripts/stores/RepoDetailsDockerfileStore.js @@ -0,0 +1,32 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('RepoDetailsDockerfileStore'); + +var RepoDetailsDockerfileStore = createStore({ + storeName: 'RepoDetailsDockerfileStore', + handlers: { + RECEIVE_DOCKERFILE_FOR_REPOSITORY: '_receiveDockerfile' + }, + initialize: function() { + this.dockerfile = ''; + }, + _receiveDockerfile: function(res) { + debug('dockerfile', res); + this.dockerfile = res.contents; + this.emitChange(); + }, + getState: function() { + return { + dockerfile: this.dockerfile + }; + }, + rehydrate: function(state) { + this.dockerfile = state.dockerfile; + }, + dehydrate: function() { + return this.getState(); + } +}); + +module.exports = RepoDetailsDockerfileStore; diff --git a/app/scripts/stores/RepoDetailsLongDescriptionFormStore.js b/app/scripts/stores/RepoDetailsLongDescriptionFormStore.js new file mode 100644 index 0000000000..d9ce6e5b60 --- /dev/null +++ b/app/scripts/stores/RepoDetailsLongDescriptionFormStore.js @@ -0,0 +1,116 @@ +'use strict'; + +import _ from 'lodash'; +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('RepoDetailsLongDescriptionFormStore'); + +export default createStore({ + storeName: 'RepoDetailsLongDescriptionFormStore', + handlers: { + RECEIVE_REPOSITORY: '_receiveRepository', + LONG_DESCRIPTION_ATTEMPT_START: '_longDescriptionAttemptStart', + LONG_DESCRIPTION_SUCCESS: '_longDescriptionSuccess', + DETAILS_UNAUTHORIZED: '_detailsUnauthorized', + DETAILS_UNAUTHORIZED_DETAIL: '_detailsUnauthorizedDetail', + LONG_BAD_REQUEST: '_badRequest', + DETAILS_ERROR: '_detailsError', + LONG_DESCRIPTION_UPDATE_FIELD_WITH_VALUE: '_updateFieldWithValue', + DETAILS_RESET_FORMS: '_detailsResetForms', + TOGGLE_LONG_DESCRIPTION_EDIT: '_toggleEditMode' + }, + initialize: function() { + this.isEditing = false; + this.successfulSave = false; + this.fields = { + longDescription: {} + }; + + this._defaultValues = { + longDescription: '' + }; + + this.values = { + longDescription: '' + }; + }, + _longDescriptionAttemptStart() { + debug('starting long description update'); + }, + _longDescriptionSuccess() { + this.fields.longDescription.success = 'Successfully updated full description.'; + //switch back to viewing mode with green outline + this.successfulSave = true; + this.isEditing = false; + this._defaultValues.longDescription = this.values.longDescription; + //clear the green outline and text on successful save + setTimeout(this._clearFeedbackStates.bind(this), 5000); + setTimeout(this._clearSuccessfulSave.bind(this), 5000); + this.emitChange(); + }, + _receiveRepository(repo) { + this.isEditing = false; + this.values.longDescription = repo.full_description || ''; + this._defaultValues.longDescription = repo.full_description || ''; + this.emitChange(); + }, + _detailsResetForms() { + // reset form value to repo longdescription + this.values.longDescription = this._defaultValues.longDescription; + // reset errors + this.fields.longDescription = {}; + this.emitChange(); + }, + _badRequest(obj) { + this.fields.longDescription.hasError = !!obj.full_description; + this.fields.longDescription.error = obj.full_description[0]; + setTimeout(this._clearFeedbackStates.bind(this), 5000); + this.emitChange(); + }, + _detailsError() { + this.fields.longDescription.hasError = true; + this.fields.longDescription.error = 'Sorry, your long description could not be saved.'; + setTimeout(this._clearFeedbackStates.bind(this), 5000); + this.emitChange(); + }, + _clearFeedbackStates() { + this.fields.longDescription.error = ''; + this.fields.longDescription.hasError = false; + this.fields.longDescription.success = ''; + this.emitChange(); + }, + _clearSuccessfulSave() { + this.successfulSave = false; + this.emitChange(); + }, + _updateFieldWithValue: function({fieldKey, fieldValue}){ + this.values[fieldKey] = fieldValue; + this.emitChange(); + }, + _toggleEditMode( { isEditing }) { + this.isEditing = isEditing; + //if you cancel, clear the old input + this.values.longDescription = this._defaultValues.longDescription; + //in case you recently saved and you now cancel + this._clearSuccessfulSave(); + this.emitChange(); + }, + getState() { + return { + _defaultValues: this._defaultValues, + fields: this.fields, + values: this.values, + isEditing: this.isEditing, + successfulSave: this.successfulSave + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this._defaultValues = state._defaultValues; + this.fields = state.fields; + this.values = state.values; + this.isEditing = state.isEditing; + this.successfulSave = state.successfulSave; + } +}); diff --git a/app/scripts/stores/RepoDetailsShortDescriptionFormStore.js b/app/scripts/stores/RepoDetailsShortDescriptionFormStore.js new file mode 100644 index 0000000000..1f573f12cb --- /dev/null +++ b/app/scripts/stores/RepoDetailsShortDescriptionFormStore.js @@ -0,0 +1,116 @@ +'use strict'; + +import _ from 'lodash'; +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('RepoDetailsShortDescriptionFormStore'); + +export default createStore({ + storeName: 'RepoDetailsShortDescriptionFormStore', + handlers: { + RECEIVE_REPOSITORY: '_receiveRepository', + SHORT_DESCRIPTION_ATTEMPT_START: '_shortDescriptionAttemptStart', + SHORT_DESCRIPTION_SUCCESS: '_shortDescriptionSuccess', + DETAILS_UNAUTHORIZED: '_detailsUnauthorized', + DETAILS_UNAUTHORIZED_DETAIL: '_detailsUnauthorizedDetail', + SHORT_BAD_REQUEST: '_badRequest', + DETAILS_ERROR: '_detailsError', + SHORT_DESCRIPTION_UPDATE_FIELD_WITH_VALUE: '_updateFieldWithValue', + DETAILS_RESET_FORMS: '_detailsResetForms', + TOGGLE_SHORT_DESCRIPTION_EDIT: '_toggleEditMode' + }, + initialize: function() { + this.isEditing = false; + this.successfulSave = false; + this.fields = { + shortDescription: {} + }; + + this._defaultValues = { + shortDescription: '' + }; + + this.values = { + shortDescription: '' + }; + }, + _shortDescriptionAttemptStart() { + debug('starting short description update'); + }, + _shortDescriptionSuccess() { + this.fields.shortDescription.success = 'Successfully updated short description.'; + //switch back to viewing mode with green outline + this.successfulSave = true; + this.isEditing = false; + this._defaultValues.shortDescription = this.values.shortDescription; + //clear the green outline and text on successful save + setTimeout(this._clearFeedbackStates.bind(this), 5000); + setTimeout(this._clearSuccessfulSave.bind(this), 5000); + this.emitChange(); + }, + _receiveRepository(repo) { + this.isEditing = false; + this.values.shortDescription = repo.description; + this._defaultValues.shortDescription = repo.description; + this.emitChange(); + }, + _detailsResetForms() { + // reset form value to repo shortdescription + this.values.shortDescription = this._defaultValues.shortDescription; + // reset errors + this.fields.shortDescription = {}; + this.emitChange(); + }, + _detailsError() { + this.fields.longDescription.hasError = true; + this.fields.longDescription.error = 'Sorry, your long description could not be saved.'; + setTimeout(this._clearFeedbackStates.bind(this), 5000); + this.emitChange(); + }, + _badRequest(obj) { + this.fields.shortDescription.hasError = true; + this.fields.shortDescription.error = obj.description[0]; + setTimeout(this._clearFeedbackStates.bind(this), 5000); + this.emitChange(); + }, + _clearFeedbackStates() { + this.fields.shortDescription.error = ''; + this.fields.shortDescription.hasError = false; + this.fields.shortDescription.success = ''; + this.emitChange(); + }, + _clearSuccessfulSave() { + this.successfulSave = false; + this.emitChange(); + }, + _updateFieldWithValue: function({fieldKey, fieldValue}){ + this.values[fieldKey] = fieldValue; + this.emitChange(); + }, + _toggleEditMode( { isEditing }) { + this.isEditing = isEditing; + //if you cancel, clear the old input + this.values.shortDescription = this._defaultValues.shortDescription; + //in case you recently saved and you now cancel + this._clearSuccessfulSave(); + this.emitChange(); + }, + getState() { + return { + _defaultValues: this._defaultValues, + fields: this.fields, + values: this.values, + isEditing: this.isEditing, + successfulSave: this.successfulSave + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this._defaultValues = state._defaultValues; + this.fields = state.fields; + this.values = state.values; + this.isEditing = state.isEditing; + this.successfulSave = state.successfulSave; + } +}); diff --git a/app/scripts/stores/RepoDetailsVisibilityFormStore.js b/app/scripts/stores/RepoDetailsVisibilityFormStore.js new file mode 100644 index 0000000000..1ef9872139 --- /dev/null +++ b/app/scripts/stores/RepoDetailsVisibilityFormStore.js @@ -0,0 +1,113 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import { STATUS } from './repovisibilitystore/Constants.js'; +const debug = require('debug')('RepoDetailsVisibilityFormStore'); + +var RepoDetailsVisibilityFormStore = createStore({ + storeName: 'RepoDetailsVisibilityFormStore', + handlers: { + VISIBILITY_BAD_REQUEST: '_badRequest', + VISIBILITY_ERROR: '_visibilityError', + TOGGLE_VISIBILITY_ATTEMPT_START: '_toggleVisibilityAttemptStart', + TOGGLE_VISIBILITY_SUCCESS: '_toggleSuccess', + RECEIVE_PRIVATE_REPOSTATS: '_receivePrivateRepoStats', + RECEIVE_REPOSITORY: '_receiveRepository', + REPO_DETAILS_VISIBILITY_UPDATE_FIELD_WITH_VALUE: '_updateFieldWithValue', + TOGGLE_VISIBILITY_REPO_NAME_CONFIRM_BOX: '_toggleConfirmBox' + }, + initialize: function() { + this.badRequest = ''; + this.error = ''; + this.success = ''; + this.isPrivate = false; + this.privateRepoLimit = null; + this.numPrivateReposAvailable = null; + this.STATUS = STATUS.DEFAULT; + this.values = { + confirmRepoName: '' + }; + }, + _badRequest: function(res) { + this.initialize(); + this.badRequest = res.detail; + this.STATUS = STATUS.FORM_ERROR; + this.emitChange(); + }, + _clearErrors: function () { + this.error = ''; + this.badRequest = ''; + }, + _toggleVisibilityAttemptStart: function() { + this.STATUS = STATUS.ATTEMPTING; + this.emitChange(); + }, + _visibilityError: function(maybeError) { + this.STATUS = STATUS.FORM_ERROR; + if (maybeError) { + this.error = maybeError.detail; + } else { + this.error = 'No private repositories available'; + } + this.emitChange(); + }, + _toggleSuccess: function(isPrivate) { + this.initialize(); + this.isPrivate = isPrivate; + this.emitChange(); + }, + _toggleConfirmBox: function() { + if (this.STATUS === STATUS.DEFAULT) { + this.STATUS = STATUS.SHOWING_CONFIRM_BOX; + } else { + this.STATUS = STATUS.DEFAULT; + } + this._clearErrors(); + this.values.confirmRepoName = ''; + this.emitChange(); + }, + _receivePrivateRepoStats: function(stats) { + /*eslint-disable camelcase */ + this.numPrivateReposAvailable = stats.private_repo_available; + this.privateRepoLimit = stats.private_repo_limit; + /*eslint-enable camelcase */ + this.emitChange(); + }, + _receiveRepository: function(res) { + this.initialize(); + this.isPrivate = res.is_private; + this.emitChange(); + }, + _updateFieldWithValue: function({fieldKey, fieldValue}){ + this.values[fieldKey] = fieldValue; + this._clearErrors(); + this.emitChange(); + }, + getState: function() { + return { + badRequest: this.badRequest, + error: this.error, + success: this.success, + isPrivate: this.isPrivate, + privateRepoLimit: this.privateRepoLimit, + numPrivateReposAvailable: this.numPrivateReposAvailable, + values: this.values, + STATUS: this.STATUS + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.badRequest = state.badRequest; + this.error = state.error; + this.success = state.success; + this.isPrivate = state.isPrivate; + this.numPrivateReposAvailable = state.numPrivateReposAvailable; + this.privateRepoLimit = state.privateRepoLimit; + this.values = state.values; + this.STATUS = state.STATUS; + } +}); + +module.exports = RepoDetailsVisibilityFormStore; diff --git a/app/scripts/stores/RepoSettingsCollaborators.jsx b/app/scripts/stores/RepoSettingsCollaborators.jsx new file mode 100644 index 0000000000..20705e93ea --- /dev/null +++ b/app/scripts/stores/RepoSettingsCollaborators.jsx @@ -0,0 +1,104 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import { STATUS } from './collaborators/Constants.js'; +var debug = require('debug')('RepoSettingsCollaborators'); + +export default createStore({ + storeName: 'RepoSettingsCollaborators', + handlers: { + ADD_COLLAB_START: '_addCollabStart', + ADD_COLLAB_ERROR: '_addCollabError', + ADD_COLLAB_SUCCESS: '_addCollabSuccess', + COLLAB_RECEIVE_COLLABORATORS: '_receiveCollaborators', + COLLAB_RECEIVE_TEAMS: '_receiveTeams', + COLLAB_RECEIVE_ALL_TEAMS: '_receiveAllTeams', + DEL_COLLABORATORS_SET_LOADING: 'setLoadingFor', + DEL_COLLABORATORS_SET_ERROR: 'setErrorFor', + DEL_COLLABORATORS_SET_SUCCESS: 'setSuccessFor', + LOGOUT: 'initialize', + ON_ADD_COLLAB_CHANGE: 'onAddCollabChange' + }, + initialize() { + // these are full request objects. Only one will succeed and have a `count` key + this.collaborators = {}; + this.teams = {}; + this.allTeams = {results: []}; + this.newCollaborator = ''; + this.error = ''; + this.requests = {}; + this.STATUS = STATUS.DEFAULT; + }, + getState() { + return { + collaborators: this.collaborators, + teams: this.teams, + allTeams: this.allTeams, + newCollaborator: this.newCollaborator, + error: this.error, + requests: this.requests, + STATUS: this.STATUS + }; + }, + + setLoadingFor(username) { + this.requests[username] = STATUS.ATTEMPTING; + this.emitChange(); + }, + setErrorFor(username) { + this.requests[username] = STATUS.ERROR; + this.emitChange(); + }, + setSuccessFor(username) { + this.requests[username] = STATUS.DEFAULT; + this.newCollaborator = ''; + this.emitChange(); + }, + onAddCollabChange(collaborator) { + this.newCollaborator = collaborator; + this.error = ''; + this.emitChange(); + }, + _addCollabSuccess() { + this.STATUS = STATUS.SUCCESS; + this.newCollaborator = ''; + this.error = ''; + this.emitChange(); + }, + _addCollabError(message) { + this.STATUS = STATUS.ERROR; + this.error = message; + this.emitChange(); + }, + _addCollabStart() { + this.STATUS = STATUS.ATTEMPTING; + this.emitChange(); + }, + _receiveCollaborators(collaborators) { + debug(collaborators); + this.newCollaborator = ''; + this.collaborators = collaborators; + this.emitChange(); + }, + _receiveTeams(teams) { + debug(teams); + this.teams = teams; + this.emitChange(); + }, + _receiveAllTeams(teams) { + this.allTeams = teams; + this.emitChange(); + }, + dehydrate() { + return this.getState(); + }, + rehydrate(state) { + this.collaborators = state.collaborators; + this.teams = state.teams; + this.allTeams = state.allTeams; + this.newCollaborator = state.newCollaborator; + this.error = state.error; + this.requests = state.requests; + this.STATUS = state.STATUS; + } +}); diff --git a/app/scripts/stores/RepositoriesPageStore.js b/app/scripts/stores/RepositoriesPageStore.js new file mode 100644 index 0000000000..9e82aa2480 --- /dev/null +++ b/app/scripts/stores/RepositoriesPageStore.js @@ -0,0 +1,42 @@ +'use strict'; + +import createStore from'fluxible/addons/createStore'; + +var ReposStore = createStore({ + storeName: 'RepositoriesPageStore', + handlers: { + RECEIVE_REPOS: '_receiveRepos' + }, + initialize: function() { + this.repos = []; + this.previous = null; + this.next = null; + this.count = null; + }, + _receiveRepos: function(res) { + this.repos = res.results; + this.previous = res.previous; + this.next = res.next; + this.count = res.count; + this.emitChange(); + }, + getState: function() { + return { + repos: this.repos, + previous: this.previous, + next: this.next, + count: this.count + }; + }, + rehydrate: function(state) { + this.repos = state.repos; + this.previous = state.previous; + this.next = state.next; + this.count = state.count; + }, + dehydrate: function() { + return this.getState(); + } +}); + +module.exports = ReposStore; diff --git a/app/scripts/stores/RepositoryCommentsStore.js b/app/scripts/stores/RepositoryCommentsStore.js new file mode 100644 index 0000000000..f31d5af4e4 --- /dev/null +++ b/app/scripts/stores/RepositoryCommentsStore.js @@ -0,0 +1,42 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('RepositoryCommentsStore'); + +var RepoCommentsStore = createStore({ + storeName: 'RepositoryCommentsStore', + handlers: { + RECEIVE_REPO_COMMENTS: '_receiveRepoComments' + }, + initialize: function() { + this.results = []; + this.prev = null; + this.next = null; + this.count = 0; + }, + _receiveRepoComments: function(res) { + this.results = res.results; + this.prev = res.previous; + this.next = res.next; + this.count = res.count; + this.emitChange(); + }, + getState: function() { + return { + results: this.results, + prev: this.prev, + next: this.next, + count: this.count + }; + }, + rehydrate: function(state) { + this.results = state.results; + this.prev = state.prev; + this.next = state.next; + this.count = state.count; + }, + dehydrate: function() { + return this.getState(); + } +}); + +module.exports = RepoCommentsStore; diff --git a/app/scripts/stores/RepositoryPageStore.js b/app/scripts/stores/RepositoryPageStore.js new file mode 100644 index 0000000000..64a6866b84 --- /dev/null +++ b/app/scripts/stores/RepositoryPageStore.js @@ -0,0 +1,118 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +import _ from 'lodash'; +const STATUS = require('./repostore/Constants').STATUS; +var debug = require('debug')('RepositoryPageStore'); + +var RepoStore = createStore({ + storeName: 'RepositoryPageStore', + handlers: { + RECEIVE_REPOSITORY: '_receiveRepository', + CREATE_REPO_ERROR: '_createRepoError', + TOGGLE_STARRED_STATE: '_toggleStarred', + TOGGLE_VISIBILITY_SUCCESS: '_toggleVisibility', + REPO_NOT_FOUND: '_repoNotFound' + }, + initialize: function() { + this.canEdit = false; + this.description = ''; + this.fullDescription = ''; + this.hasStarred = false; + this.isPrivate = true; + this.isAutomated = false; + this.name = ''; + this.namespace = ''; + this.status = 0; + this.lastUpdated = ''; + this.globalFormError = ''; + this.STATUS = STATUS.DEFAULT; + }, + _createRepoError: function(err) { + if (err) { + var errResponse = err.response.body; + this.globalFormError = ''; + if (!_.isEmpty(errResponse)) { + if (err.response.badRequest) { + this.STATUS = STATUS.BAD_REQUEST; + if (_.has(errResponse, '__all__')) { + this.globalFormError = errResponse.__all__.toString(); + } else if (_.has(errResponse, 'detail')) { + this.globalFormError = errResponse.detail.toString(); + } else { + _.forIn(errResponse, function(v, k) { + this.globalFormError += k + ': ' + v.join(',') + '\n'; + }.bind(this)); + } + } + } else { + this.STATUS = STATUS.GENERAL_SERVER_ERROR; + this.globalFormError = 'An error occurred while creating your repository. Please try again later.'; + } + } + this.emitChange(); + }, + _receiveRepository: function(res) { + debug('receive repo', res); + this.STATUS = STATUS.DEFAULT; + this.canEdit = res.can_edit; + this.description = res.description; + // full_description can come in as null; Default to string + this.fullDescription = res.full_description || ''; + this.hasStarred = res.has_starred; + this.isPrivate = res.is_private; + this.isAutomated = res.is_automated; + this.lastUpdated = res.last_updated; + this.name = res.name; + this.namespace = res.namespace; + this.status = res.status; + + this.emitChange(); + }, + _toggleStarred: function(status) { + this.hasStarred = status; + this.emitChange(); + }, + _toggleVisibility: function(vis) { + this.isPrivate = vis; + this.emitChange(); + }, + _repoNotFound: function(err) { + this.STATUS = STATUS.REPO_NOT_FOUND; + this.emitChange(); + }, + getState: function() { + return { + canEdit: this.canEdit, + description: this.description, + fullDescription: this.fullDescription, + hasStarred: this.hasStarred, + isPrivate: this.isPrivate, + isAutomated: this.isAutomated, + lastUpdated: this.lastUpdated, + name: this.name, + namespace: this.namespace, + status: this.status, + globalFormError: this.globalFormError, + STATUS: this.STATUS + }; + }, + rehydrate: function(state) { + this.canEdit = state.canEdit; + this.description = state.description; + this.fullDescription = state.fullDescription; + this.hasStarred = state.hasStarred; + this.isPrivate = state.isPrivate; + this.isAutomated = state.isAutomated; + this.name = state.name; + this.lastUpdated = state.lastUpdated; + this.namespace = state.namespace; + this.status = state.status; + this.globalFormError = state.globalFormError; + this.STATUS = state.STATUS; + }, + dehydrate: function() { + return this.getState(); + } +}); + +module.exports = RepoStore; diff --git a/app/scripts/stores/SearchStore.js b/app/scripts/stores/SearchStore.js new file mode 100644 index 0000000000..0884946f82 --- /dev/null +++ b/app/scripts/stores/SearchStore.js @@ -0,0 +1,104 @@ +'use strict'; +const createStore = require('fluxible/addons/createStore'); +const _ = require('lodash'); +const debug = require('debug')('STORE:SearchStore'); + +//Store to keep track of searches +//TODO: Autocomplete support? +//Query API on general search and return results in a Search Results Component +var SearchStore = createStore({ + storeName: 'SearchStore', + handlers: { + SUBMIT_SEARCH_QUERY: '_submitSearchQuery', + UPDATE_SEARCH_FILTER: '_updateSearchFilter', + UPDATE_SEARCH_SORT: '_updateSearchSort', + UPDATE_SEARCH_PAGE: '_updateSearchPage', + UPDATE_SEARCH_OTHERFILTERS: '_updateSearchFilters', + PROCESS_SEARCH_RESULTS: '_processSearchResults', + SEARCH_ERROR: '_handleSearchError' + }, + initialize: function() { + this.results = ''; + this.queryResult = {}; + this.page = 1; + this.count = 0; + this.next = false; + this.prev = false; + }, + getQueryParams: function() { + //transition to will always have `q` appended as query param at the very least + //Other query params like: `s` -> sort by | `t=User` -> user | `t=Organization` -> Org | `f=official` + // `f=automated_builds` | `s=date_created`, `s=last_updated`, `s=alphabetical`, `s=stars`, `s=downloads` + // `s=pushes` + var queryParams = { + q: this.query || '', + page: this.page || 1, + isOfficial: this.isOfficial || 0, + isAutomated: this.isAutomated || 0, + pullCount: this.pullCount || 0, + starCount: this.starCount || 0 + }; + return queryParams; + }, + _submitSearchQuery: function(payload: string) { + this.query = payload; + this.results = null; + this.emitChange(); + }, + _processSearchResults: function(searchResult) { + this.queryResult = searchResult; + this.count = searchResult.count; + this.results = searchResult.results; + this.next = searchResult.next; + this.prev = searchResult.previous; + this.emitChange(); + }, + _handleSearchError: function(searchError) { + //TODO: Some form of common error handling across all components + debug(searchError); + }, + _updateSearchPage: function(page) { + this.page = page; + this.emitChange(); + }, + _updateSearchFilters: function(params) { + this.isAutomated = params.isAutomated; + this.isOfficial = params.isOfficial; + this.pullCount = params.pullCount; + this.starCount = params.starCount; + this.emitChange(); + }, + getState: function() { + return { + query: this.query, + page: this.page, + queryResult: this.queryResult, + results: this.results, + isOfficial: this.isOfficial, + isAutomated: this.isAutomated, + pullCount: this.pullCount, + starCount: this.starCount, + count: this.count, + next: this.next, + prev: this.prev + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.query = state.query; + this.page = state.page; + this.queryResult = state.queryResult; + this.results = state.results; + this.isOfficial = state.isOfficial; + this.isAutomated = state.isAutomated; + this.pullCount = state.pullCount; + this.starCount = state.starCount; + this.count = state.count; + this.next = state.next; + this.prev = state.prev; + } +}); + +module.exports = SearchStore; diff --git a/app/scripts/stores/SignupStore.js b/app/scripts/stores/SignupStore.js new file mode 100644 index 0000000000..bedf00db7f --- /dev/null +++ b/app/scripts/stores/SignupStore.js @@ -0,0 +1,117 @@ +'use strict'; + +var createStore = require('fluxible/addons/createStore'); +import { STATUS } from './signupstore/Constants'; +var debug = require('debug')('SignupStore'); +var _ = require('lodash'); + +var noErrorObj = { + hasError: false, + error: '' +}; + +export default createStore({ + storeName: 'SignupStore', + handlers: { + SIGNUP_CLEAR_FORM: '_signupClearForm', + SIGNUP_CLEAR_PASSWORD: '_signupClearPassword', + SIGNUP_UPDATE_FIELD_WITH_VALUE: '_updateFieldWithValue', + SIGNUP_ATTEMPT_START: '_signupAttemptStart', + SIGNUP_BAD_REQUEST: '_badRequest', + SIGNUP_SUCCESS: '_signupSuccess' + }, + initialize() { + this.STATUS = STATUS.DEFAULT; + + this.fields = { + username: {}, + email: {}, + password: {} + }; + + this.values = { + username: '', + email: '', + password: '' + }; + }, + _signupClearForm() { + this.initialize(); + this.emitChange(); + }, + _signupClearPassword() { + this.values.password = ''; + this.emitChange(); + }, + _updateFieldWithValue({fieldKey, fieldValue}){ + this.values[fieldKey] = fieldValue; + if (fieldValue) { + this.fields[fieldKey] = this._validate({fieldKey, fieldValue}); + } + this.emitChange(); + }, + _signupAttemptStart() { + debug('attempting Signup'); + this.STATUS = STATUS.ATTEMPTING_SIGNUP; + this.emitChange(); + }, + _signupSuccess() { + this.STATUS = STATUS.SUCCESSFUL_SIGNUP; + this.emitChange(); + }, + _badRequest(obj) { + let shouldEmitChange = false; + + // cycle through the possible form fields + _.forEach(_.keys(this.fields), + (key) => { + if(_.has(obj, key)) { + shouldEmitChange = true; + var newField = {}; + newField.hasError = !!obj[key]; + newField.error = obj[key][0]; + this.fields[key] = newField; + } + }); + if(shouldEmitChange) { + this.emitChange(); + } + }, + validations: { + username(value) { + if (value.length < 4){ + return { + hasError: true, + error: 'Username must be at least four characters long' + }; + } else if (!/^[A-Za-z0-9]+$/.test(value)) { + return { + hasError: true, + error: 'Username must contain only letters and digits' + }; + } else { + return noErrorObj; + } + } + }, + _validate({fieldKey, fieldValue}) { + if(_.isFunction(this.validations[fieldKey])) { + return this.validations[fieldKey](fieldValue); + } else { + return noErrorObj; + } + }, + getState() { + return { + fields: this.fields, + values: this.values, + STATUS: this.STATUS + }; + }, + dehydrate() { + return {}; + }, + rehydrate(state) { + this.state = state; + } +}); diff --git a/app/scripts/stores/TriggerBuildStore.js b/app/scripts/stores/TriggerBuildStore.js new file mode 100644 index 0000000000..dab896a28a --- /dev/null +++ b/app/scripts/stores/TriggerBuildStore.js @@ -0,0 +1,50 @@ +'use strict'; + +const createStore = require('fluxible/addons/createStore'); +const debug = require('debug')('TriggerBuildStore'); + +var TriggerBuildStore = createStore({ + storeName: 'TriggerBuildStore', + handlers: { + AB_TRIGGER_SUCCESS: '_abTriggerSuccess', + AB_TRIGGER_ERROR: '_abTriggerError' + }, + initialize: function() { + this.abtrigger = { + hasError: false, + success: false + }; + }, + _abTriggerClear: function() { + this.abtrigger = { + hasError: false, + success: false + }; + this.emitChange(); + }, + _abTriggerError: function() { + this.abtrigger.success = false; + this.abtrigger.hasError = true; + setTimeout(this._abTriggerClear.bind(this), 3000); + this.emitChange(); + }, + _abTriggerSuccess: function() { + this.abtrigger.success = true; + this.abtrigger.hasError = false; + setTimeout(this._abTriggerClear.bind(this), 3000); + this.emitChange(); + }, + getState: function() { + return { + abtrigger: this.abtrigger + }; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + this.abtrigger = state.abtrigger; + } +}); + +module.exports = TriggerBuildStore; diff --git a/app/scripts/stores/UnlinkAccountsStore.js b/app/scripts/stores/UnlinkAccountsStore.js new file mode 100644 index 0000000000..22f7b2ad35 --- /dev/null +++ b/app/scripts/stores/UnlinkAccountsStore.js @@ -0,0 +1,36 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('UnlinkAccountsStore'); + +var BitbucketLinkStore = createStore({ + storeName: 'UnlinkAccountsStore', + handlers: { + GITHUB_UNLINK_ERROR: _unlinkGithubError, + BITBUCKET_UNLINK_ERROR: _unlinkBitbucketError + }, + initialize: function() { + this.error = ''; + }, + _unlinkGithubError: function() { + this.error = 'Error unlinking Github Account. Please try again later'; + this.emitChange(); + }, + _unlinkBitbucketError: function() { + this.error = 'Error unlinking Bitbucket Account. Please try again later'; + this.emitChange(); + }, + getState: function() { + return { + error: this.error + }; + }, + rehydrate: function(state) { + this.error = state.error; + }, + dehydrate: function() { + return this.getState(); + } +}); + +module.exports = UnlinkAccountsStore; diff --git a/app/scripts/stores/UserProfileReposStore.js b/app/scripts/stores/UserProfileReposStore.js new file mode 100644 index 0000000000..397a727c14 --- /dev/null +++ b/app/scripts/stores/UserProfileReposStore.js @@ -0,0 +1,46 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import filter from 'lodash/collection/filter'; +import { PENDING_DELETE } from 'common/enums/RepoStatus'; +var debug = require('debug')('stores: UserProfileStore'); + +export default createStore({ + storeName: 'UserProfileReposStore', + handlers: { + RECEIVE_PROFILE_REPOS: 'receiveRepos' + }, + initialize() { + this.repos = []; + this.next = null; + this.prev = null; + }, + removePendingDeleteRepos(repos) { + //Remove repos that are in pending delete state from user profile repos + return filter(repos, (repo) => { + const { status } = repo; + return status !== PENDING_DELETE; + }); + }, + receiveRepos(res) { + this.repos = this.removePendingDeleteRepos(res.results); + this.next = res.next; + this.prev = res.previous; + this.emitChange(); + }, + getState() { + return { + repos: this.repos, + next: this.next, + prev: this.prev + }; + }, + dehydrate() { + return this.getState(); + }, + rehydrate(state) { + this.repos = state.repos; + this.next = state.next; + this.prev = state.prev; + } +}); diff --git a/app/scripts/stores/UserProfileStarsStore.js b/app/scripts/stores/UserProfileStarsStore.js new file mode 100644 index 0000000000..1a70b56588 --- /dev/null +++ b/app/scripts/stores/UserProfileStarsStore.js @@ -0,0 +1,37 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('stores: UserProfileStarsStore'); + +export default createStore({ + storeName: 'UserProfileStarsStore', + handlers: { + RECEIVE_PROFILE_STARRED_REPOS: '_receiveStarredRepos' + }, + initialize() { + this.repos = []; + this.next = null; + this.prev = null; + }, + _receiveStarredRepos(res) { + this.starred = res.results; + this.next = res.next; + this.prev = res.previous; + this.emitChange(); + }, + getState() { + return { + starred: this.starred, + next: this.next, + prev: this.prev + }; + }, + dehydrate() { + return this.getState(); + }, + rehydrate(state) { + this.starred = state.starred; + this.next = state.next; + this.prev = state.prev; + } +}); diff --git a/app/scripts/stores/UserProfileStore.js b/app/scripts/stores/UserProfileStore.js new file mode 100644 index 0000000000..a4c44484e7 --- /dev/null +++ b/app/scripts/stores/UserProfileStore.js @@ -0,0 +1,38 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +var debug = require('debug')('UserProfileStore'); + +export default createStore({ + storeName: 'UserProfileStore', + handlers: { + RECEIVE_PROFILE_USER: '_receiveUser', + USER_PROFILE_404: '_fourOHfour' + }, + initialize() { + this.STATUS = 'DEFAULT'; + this.user = {}; + }, + _fourOHfour() { + this.STATUS = '404'; + this.emitChange(); + }, + _receiveUser(user) { + this.STATUS = 'DEFAULT'; + this.user = user; + this.emitChange(); + }, + getState() { + return { + user: this.user, + STATUS: this.STATUS + }; + }, + dehydrate() { + return this.getState(); + }, + rehydrate(state) { + this.user = state.user; + this.STATUS = state.STATUS; + } +}); diff --git a/app/scripts/stores/UserStore.js b/app/scripts/stores/UserStore.js new file mode 100644 index 0000000000..ff68d1cfac --- /dev/null +++ b/app/scripts/stores/UserStore.js @@ -0,0 +1,137 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import md5 from 'md5'; +var debug = require('debug')('stores: UserStore'); + +var UserStore = createStore({ + storeName: 'UserStore', + handlers: { + RECEIVE_USER: '_receiveUserFromHub', + RECEIVE_NAMESPACES: '_receiveNamespaces', + LOGOUT: '_logout', + EXPIRED_SIGNATURE: '_logout' + }, + initialize: function() { + this.dateJoined = ''; + this.fullName = ''; + this.gravatarEmail = ''; + this.gravatarUrl = ''; + this.isActive = false; + this.isAdmin = false; + this.isStaff = false; + this.profileUrl = ''; + this.company = ''; + this.id = ''; + this.location = ''; + this.userType = 'User'; + this.username = ''; + this.namespaces = []; + }, + _getGravatarUrl: function(email) { + return 'https://secure.gravatar.com/avatar/' + md5( email.trim().toLowerCase() ); + }, + _receiveUserFromHub: function(user) { + + // jscs:disable requireCamelCaseOrUpperCaseIdentifiers + this.dateJoined = user.date_joined; + this.fullName = user.full_name; + this.gravatarEmail = user.gravatar_email; + //TODO: the url has to be handed off from the backend + //This fix should be temporary + this.gravatarUrl = (user.gravatar_url === user.gravatar_email) ? + this._getGravatarUrl(user.gravatar_email) : user.gravatar_url; + this.isActive = user.is_active; + this.isAdmin = user.is_admin; + this.isStaff = user.is_staff; + this.profileUrl = user.profile_url; + // jscs:enable + + this.company = user.company; + this.id = user.id; + this.location = user.location; + this.userType = user.type; + this.username = user.username; + + this.emitChange(); + }, + _receiveNamespaces: function(receivedNamespaces) { + //This is required for creating a repository + //Namespaces are attached to a user, due to permissions/access restrictions + //Eg. { + // "namespaces": [ + // "user", + // "org1", + // "org2" + // ] + //} + this.namespaces = receivedNamespaces.namespaces; + + this.emitChange(); + }, + _logout: function() { + + this.company = ''; + this.dateJoined = ''; + this.fullName = ''; + this.gravatarEmail = ''; + this.gravatarUrl = ''; + this.id = ''; + this.isActive = false; + this.isAdmin = false; + this.isStaff = false; + this.location = ''; + this.profileUrl = ''; + this.userType = 'User'; + this.username = ''; + this.namespaces = []; + + this.emitChange(); + }, + getState: function() { + return { + company: this.company, + dateJoined: this.dateJoined, + fullName: this.fullName, + gravatarEmail: this.gravatarEmail, + gravatarUrl: this.gravatarUrl, + id: this.id, + isActive: this.isActive, + isAdmin: this.isAdmin, + isStaff: this.isStaff, + location: this.location, + profileUrl: this.profileUrl, + userType: this.userType, + username: this.username, + namespaces: this.namespaces + }; + }, + getUsername: function() { + return this.username; + }, + getNamespaces: function() { + return this.namespaces; + }, + dehydrate: function() { + return this.getState(); + }, + rehydrate: function(state) { + debug('rehydrate', state); + this.dateJoined = state.dateJoined; + this.fullName = state.fullName; + this.gravatarEmail = state.gravatarEmail; + this.gravatarUrl = state.gravatarUrl; + this.isActive = state.isActive; + this.isAdmin = state.isAdmin; + this.isStaff = state.isStaff; + this.profileUrl = state.profileUrl; + this.company = state.company; + this.id = state.id; + this.location = state.location; + this.userType = state.userType; + this.username = state.username; + this.namespaces = state.namespaces; + } +}); + +module.exports = UserStore; diff --git a/app/scripts/stores/WebhooksSettingsStore.js b/app/scripts/stores/WebhooksSettingsStore.js new file mode 100644 index 0000000000..8c27103a95 --- /dev/null +++ b/app/scripts/stores/WebhooksSettingsStore.js @@ -0,0 +1,31 @@ +'use strict'; +import createStore from 'fluxible/addons/createStore'; +const debug = require('debug')('WebhooksSettingsStore'); + +var WebhooksSettingsStore = createStore({ + storeName: 'WebhooksSettingsStore', + handlers: { + RECEIVE_WEBHOOKS: '_receiveWebhooks' + }, + initialize() { + this.pipelines = []; + }, + _receiveWebhooks(payload) { + debug(payload); + this.pipelines = payload.results; + this.emitChange(); + }, + getState() { + return { + pipelines: this.pipelines + }; + }, + dehydrate() { + return this.getState(); + }, + rehydrate(state) { + this.pipelines = state.pipelines; + } +}); + +module.exports = WebhooksSettingsStore; diff --git a/app/scripts/stores/addorganizationstore/Constants.js b/app/scripts/stores/addorganizationstore/Constants.js new file mode 100644 index 0000000000..2da1465eb6 --- /dev/null +++ b/app/scripts/stores/addorganizationstore/Constants.js @@ -0,0 +1,15 @@ +'use strict'; +var keyMirror = require('keymirror'); + +// Component-Global form states +var STATUS = keyMirror({ + ATTEMPTING: null, + DEFAULT: null, + FACEPALM: null, + BAD_REQUEST: null, + SUCCESSFUL: null +}); + +module.exports = { + STATUS +}; diff --git a/app/scripts/stores/addtriallicensestore/Constants.js b/app/scripts/stores/addtriallicensestore/Constants.js new file mode 100644 index 0000000000..08e9dfd0ff --- /dev/null +++ b/app/scripts/stores/addtriallicensestore/Constants.js @@ -0,0 +1,11 @@ +'use strict'; +import keyMirror from 'keymirror'; + +const STATUS = keyMirror({ + ATTEMPTING_DOWNLOAD: null, + DEFAULT: null, + FACEPALM: null, + SUCCESSFUL_DOWNLOAD: null +}); + +export default STATUS; diff --git a/app/scripts/stores/addwebhookformstore/Constants.js b/app/scripts/stores/addwebhookformstore/Constants.js new file mode 100644 index 0000000000..d2ed2ffbf4 --- /dev/null +++ b/app/scripts/stores/addwebhookformstore/Constants.js @@ -0,0 +1,10 @@ +'use strict'; +var keyMirror = require('keymirror'); + +export default keyMirror({ + ATTEMPTING: null, + DEFAULT: null, + FACEPALM: null, + SUCCESSFUL: null, + ERROR: null +}); diff --git a/app/scripts/stores/billingformstore/Constants.js b/app/scripts/stores/billingformstore/Constants.js new file mode 100644 index 0000000000..42bb512ddf --- /dev/null +++ b/app/scripts/stores/billingformstore/Constants.js @@ -0,0 +1,14 @@ +'use strict'; +var keyMirror = require('keymirror'); + +// Component-Global form states +var STATUS = keyMirror({ + DEFAULT: null, + ATTEMPTING: null, + SUCCESS: null, + FORM_ERROR: null +}); + +module.exports = { + STATUS +}; diff --git a/app/scripts/stores/collaborators/Constants.js b/app/scripts/stores/collaborators/Constants.js new file mode 100644 index 0000000000..0092c8068c --- /dev/null +++ b/app/scripts/stores/collaborators/Constants.js @@ -0,0 +1,14 @@ +'use strict'; +var keyMirror = require('keymirror'); + +// Component-Global form states +var STATUS = keyMirror({ + DEFAULT: null, + ATTEMPTING: null, + SUCCESS: null, + ERROR: null +}); + +module.exports = { + STATUS +}; diff --git a/app/scripts/stores/common/Constants.js b/app/scripts/stores/common/Constants.js new file mode 100644 index 0000000000..aad03f18f9 --- /dev/null +++ b/app/scripts/stores/common/Constants.js @@ -0,0 +1,25 @@ +'use strict'; +var keyMirror = require('keymirror'); + +// Component-Global form states +export const STATUS = keyMirror({ + ATTEMPTING: null, + DEFAULT: null, + FACEPALM: null, + SUCCESSFUL: null, + ERROR: null +}); + +export const ACCOUNT = 'account'; +export const BILLING = 'billing'; +export const STRIPE_URL = 'https://api.stripe.com/v1/tokens'; +export const STRIPE_STAGE_TOKEN = 'pk_test_DMJYisAqHlWvFPgRfkKayAcF'; +export const STRIPE_PROD_TOKEN = 'pk_live_89IjovLdwh2MTzV7JsGJK3qk'; +export const BF_STAGE_URL = 'https://api-sandbox.billforward.net:443/v1/tokenization/auth-capture'; +export const BF_PROD_URL = 'https://api.billforward.net/v1/tokenization/auth-capture'; +export const BF_STAGE_TOKEN = 'ec687f76-c1b6-4d71-b919-4fe99202ca13'; +export const BF_PROD_TOKEN = '650cbe35-4aca-4820-a7d1-accec8a7083a'; +export const BILLFORWARD_ACCOUNT_ID = 'billforward-account-id'; +export const v4BillingProfile = (docker_id) => { + return `/api/billing/v4/accounts/${docker_id}/profile`; +}; diff --git a/app/scripts/stores/deletepipelinestore/Constants.js b/app/scripts/stores/deletepipelinestore/Constants.js new file mode 100644 index 0000000000..c619b4befb --- /dev/null +++ b/app/scripts/stores/deletepipelinestore/Constants.js @@ -0,0 +1,9 @@ +'use strict'; +var keyMirror = require('keymirror'); + +export default keyMirror({ + ATTEMPTING: null, + DEFAULT: null, + FACEPALM: null, + SUCCESSFUL: null +}); diff --git a/app/scripts/stores/deleterepostore/Constants.js b/app/scripts/stores/deleterepostore/Constants.js new file mode 100644 index 0000000000..2282e4de76 --- /dev/null +++ b/app/scripts/stores/deleterepostore/Constants.js @@ -0,0 +1,14 @@ +'use strict'; +var keyMirror = require('keymirror'); + +// Component-Global form states +var STATUS = keyMirror({ + ATTEMPTING: null, + DEFAULT: null, + FORM_ERROR: null, + SHOWING_CONFIRM_BOX: null +}); + +module.exports = { + STATUS +}; diff --git a/app/scripts/stores/emailsstore/Constants.js b/app/scripts/stores/emailsstore/Constants.js new file mode 100644 index 0000000000..262d6665c5 --- /dev/null +++ b/app/scripts/stores/emailsstore/Constants.js @@ -0,0 +1,19 @@ +'use strict'; +var keyMirror = require('keymirror'); + +// Component-Global form states +var STATUS = keyMirror({ + DEFAULT: null, + SAVING: null +}); + +var EMAILSTATUS = keyMirror({ + SUCCESS: null, + ATTEMPTING: null, + FAILED: null +}); + +module.exports = { + STATUS, + EMAILSTATUS +}; diff --git a/app/scripts/stores/enterprisetrialstore/Constants.js b/app/scripts/stores/enterprisetrialstore/Constants.js new file mode 100644 index 0000000000..c1c53dce9c --- /dev/null +++ b/app/scripts/stores/enterprisetrialstore/Constants.js @@ -0,0 +1,11 @@ +'use strict'; +import keyMirror from 'keymirror'; + +const STATUS = keyMirror({ + ATTEMPTING: null, + DEFAULT: null, + FACEPALM: null, + SUCCESSFUL_SIGNUP: null +}); + +export default STATUS; diff --git a/app/scripts/stores/enterprisetrialsuccessstore/Constants.js b/app/scripts/stores/enterprisetrialsuccessstore/Constants.js new file mode 100644 index 0000000000..061a46f844 --- /dev/null +++ b/app/scripts/stores/enterprisetrialsuccessstore/Constants.js @@ -0,0 +1,9 @@ +'use strict'; +import keyMirror from 'keymirror'; + +const STATUS = keyMirror({ + DEFAULT: null, + ERROR: null +}); + +export default STATUS; diff --git a/app/scripts/stores/loginstore/Constants.js b/app/scripts/stores/loginstore/Constants.js new file mode 100644 index 0000000000..d8cc11d128 --- /dev/null +++ b/app/scripts/stores/loginstore/Constants.js @@ -0,0 +1,14 @@ +'use strict'; +var keyMirror = require('keymirror'); + +// Component-Global form states +var STATUS = keyMirror({ + DEFAULT: null, + ATTEMPTING_LOGIN: null, + ERROR_UNAUTHORIZED: null, + GENERIC_ERROR: null +}); + +module.exports = { + STATUS +}; diff --git a/app/scripts/stores/loginstore/createFormStore.js b/app/scripts/stores/loginstore/createFormStore.js new file mode 100644 index 0000000000..cf17dd0cbe --- /dev/null +++ b/app/scripts/stores/loginstore/createFormStore.js @@ -0,0 +1,88 @@ +'use strict'; + +import createStore from 'fluxible/addons/createStore'; +import _ from 'lodash'; +var debug = require('debug')('createFormStore'); +/** + * @param {Array} fields - array of objects with field names + * as keys and inital values as values + * @param {Function} init - old initialize function + */ + +export default function createFormStore(fields, oldSpec) { + + var spec = {}; + + spec.initialize = function() { + this.globalFormError = ''; + _.forOwn(fields, function(key, val){ + this.fields[key] = {}; + this.values[key] = val; + }); + spec.initialize(); + }.bind(spec); + + spec._badRequest = function(obj) { + /** + * obj is an Object with keys that are field names + * and values that are arrays of errors + * + * This function should be used as the handler for + * an HTTP 400 BadRequest + * + * obj = { + * username: ["cannot be empty"] + * } + */ + // did we update state? + var dirty = false; + + _.forOwn(obj, function(key, val) { + if(_.includes(fields, key)) { + this.fields[key].hasError = !!val; + this.fields[key].error = val[0]; + dirty = true; + } + }, this); + + if(dirty) { + this.emitChange(); + } + }; + + spec._getState = function() { + return { + fields: this.fields, + values: this.values, + globalFormError: this.globalFormError + }; + }; + + + spec._updateFieldWithValue = function({fieldKey, fieldValue}){ + this.values[fieldKey] = fieldValue; + this.emitChange(); + }; + + + spec.dehydrate = function() { + return {}; + }, + spec.rehydrate = function(state) { + this.state = state; + }; + + _.merge(spec, oldSpec, function(objectValue, sourceValue, key) { + if(key === 'initializer') { + return sourceValue; + } else if(key === 'getState') { + return function() { + debug('state', this.state); + return _.merge({}, + objectValue.getState(), + sourceValue._getState()); + }; + } + }); + return createStore(spec); +} diff --git a/app/scripts/stores/orgteamstore/Constants.js b/app/scripts/stores/orgteamstore/Constants.js new file mode 100644 index 0000000000..0731e53f0e --- /dev/null +++ b/app/scripts/stores/orgteamstore/Constants.js @@ -0,0 +1,22 @@ +'use strict'; +var keyMirror = require('keymirror'); + +// Component-Global form states +var STATUS = keyMirror({ + DEFAULT: null, + MEMBER_UNAUTHORIZED: null, + TEAM_UNAUTHORIZED: null, + MEMBER_ERROR: null, + TEAM_ERROR: null, + MEMBER_BAD_REQUEST: null, + TEAM_BAD_REQUEST: null, + GENERAL_SERVER_ERROR: null, + CREATE_TEAM_SUCCESS: null, + CREATE_MEMBER_SUCCESS: null, + UPDATE_TEAM_ERROR: null, + UPDATE_TEAM_SUCCESS: null +}); + +module.exports = { + STATUS +}; diff --git a/app/scripts/stores/repodetailstags/Constants.js b/app/scripts/stores/repodetailstags/Constants.js new file mode 100644 index 0000000000..42faf1dbcc --- /dev/null +++ b/app/scripts/stores/repodetailstags/Constants.js @@ -0,0 +1,12 @@ +'use strict'; +var keyMirror = require('keymirror'); + +// Component-Global form states +var STATUS = keyMirror({ + DEFAULT: null, + ERROR: null, + DELETING: null, + CONFIRMING: null +}); + +module.exports = STATUS; diff --git a/app/scripts/stores/repostore/Constants.js b/app/scripts/stores/repostore/Constants.js new file mode 100644 index 0000000000..f3faaad35f --- /dev/null +++ b/app/scripts/stores/repostore/Constants.js @@ -0,0 +1,15 @@ +'use strict'; +var keyMirror = require('keymirror'); + +// Component-Global form states +var STATUS = keyMirror({ + DEFAULT: null, + REPO_ALREADY_EXISTS: null, + PRIVATE_REPO_QUOTA_EXCEEDED: null, + BAD_REQUEST: null, + REPO_NOT_FOUND: null +}); + +module.exports = { + STATUS +}; diff --git a/app/scripts/stores/repovisibilitystore/Constants.js b/app/scripts/stores/repovisibilitystore/Constants.js new file mode 100644 index 0000000000..2282e4de76 --- /dev/null +++ b/app/scripts/stores/repovisibilitystore/Constants.js @@ -0,0 +1,14 @@ +'use strict'; +var keyMirror = require('keymirror'); + +// Component-Global form states +var STATUS = keyMirror({ + ATTEMPTING: null, + DEFAULT: null, + FORM_ERROR: null, + SHOWING_CONFIRM_BOX: null +}); + +module.exports = { + STATUS +}; diff --git a/app/scripts/stores/signupstore/Constants.js b/app/scripts/stores/signupstore/Constants.js new file mode 100644 index 0000000000..030ee671ac --- /dev/null +++ b/app/scripts/stores/signupstore/Constants.js @@ -0,0 +1,13 @@ +'use strict'; +var keyMirror = require('keymirror'); + +// Component-Global form states +var STATUS = keyMirror({ + DEFAULT: null, + ATTEMPTING_SIGNUP: null, + SUCCESSFUL_SIGNUP: null +}); + +module.exports = { + STATUS +}; diff --git a/app/scripts/vendor/Blob.js b/app/scripts/vendor/Blob.js new file mode 100644 index 0000000000..294debb35f --- /dev/null +++ b/app/scripts/vendor/Blob.js @@ -0,0 +1,215 @@ +/* eslint-disable */ +/* Blob.js + * A Blob implementation. + * 2014-07-24 + * + * By Eli Grey, http://eligrey.com + * By Devin Samarin, https://github.com/dsamarin + * License: X11/MIT + * See https://github.com/eligrey/Blob.js/blob/master/LICENSE.md + */ + +/*global self, unescape */ +/*jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true, + plusplus: true */ + +/*! @source http://purl.eligrey.com/github/Blob.js/blob/master/Blob.js */ + +if(typeof window !== "undefined") { +(function (view) { + "use strict"; + + view.URL = view.URL || view.webkitURL; + + if (view.Blob && view.URL) { + try { + new Blob; + return; + } catch (e) {} + } + + // Internally we use a BlobBuilder implementation to base Blob off of + // in order to support older browsers that only have BlobBuilder + var BlobBuilder = view.BlobBuilder || view.WebKitBlobBuilder || view.MozBlobBuilder || (function(view) { + var + get_class = function(object) { + return Object.prototype.toString.call(object).match(/^\[object\s(.*)\]$/)[1]; + } + , FakeBlobBuilder = function BlobBuilder() { + this.data = []; + } + , FakeBlob = function Blob(data, type, encoding) { + this.data = data; + this.size = data.length; + this.type = type; + this.encoding = encoding; + } + , FBB_proto = FakeBlobBuilder.prototype + , FB_proto = FakeBlob.prototype + , FileReaderSync = view.FileReaderSync + , FileException = function(type) { + this.code = this[this.name = type]; + } + , file_ex_codes = ( + "NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR " + + "NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR" + ).split(" ") + , file_ex_code = file_ex_codes.length + , real_URL = view.URL || view.webkitURL || view + , real_create_object_URL = real_URL.createObjectURL + , real_revoke_object_URL = real_URL.revokeObjectURL + , URL = real_URL + , btoa = view.btoa + , atob = view.atob + + , ArrayBuffer = view.ArrayBuffer + , Uint8Array = view.Uint8Array + + , origin = /^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/ + ; + FakeBlob.fake = FB_proto.fake = true; + while (file_ex_code--) { + FileException.prototype[file_ex_codes[file_ex_code]] = file_ex_code + 1; + } + // Polyfill URL + if (!real_URL.createObjectURL) { + URL = view.URL = function(uri) { + var + uri_info = document.createElementNS("http://www.w3.org/1999/xhtml", "a") + , uri_origin + ; + uri_info.href = uri; + if (!("origin" in uri_info)) { + if (uri_info.protocol.toLowerCase() === "data:") { + uri_info.origin = null; + } else { + uri_origin = uri.match(origin); + uri_info.origin = uri_origin && uri_origin[1]; + } + } + return uri_info; + }; + } + URL.createObjectURL = function(blob) { + var + type = blob.type + , data_URI_header + ; + if (type === null) { + type = "application/octet-stream"; + } + if (blob instanceof FakeBlob) { + data_URI_header = "data:" + type; + if (blob.encoding === "base64") { + return data_URI_header + ";base64," + blob.data; + } else if (blob.encoding === "URI") { + return data_URI_header + "," + decodeURIComponent(blob.data); + } if (btoa) { + return data_URI_header + ";base64," + btoa(blob.data); + } else { + return data_URI_header + "," + encodeURIComponent(blob.data); + } + } else if (real_create_object_URL) { + return real_create_object_URL.call(real_URL, blob); + } + }; + URL.revokeObjectURL = function(object_URL) { + if (object_URL.substring(0, 5) !== "data:" && real_revoke_object_URL) { + real_revoke_object_URL.call(real_URL, object_URL); + } + }; + FBB_proto.append = function(data/*, endings*/) { + var bb = this.data; + // decode data to a binary string + if (Uint8Array && (data instanceof ArrayBuffer || data instanceof Uint8Array)) { + var + str = "" + , buf = new Uint8Array(data) + , i = 0 + , buf_len = buf.length + ; + for (; i < buf_len; i++) { + str += String.fromCharCode(buf[i]); + } + bb.push(str); + } else if (get_class(data) === "Blob" || get_class(data) === "File") { + if (FileReaderSync) { + var fr = new FileReaderSync; + bb.push(fr.readAsBinaryString(data)); + } else { + // async FileReader won't work as BlobBuilder is sync + throw new FileException("NOT_READABLE_ERR"); + } + } else if (data instanceof FakeBlob) { + if (data.encoding === "base64" && atob) { + bb.push(atob(data.data)); + } else if (data.encoding === "URI") { + bb.push(decodeURIComponent(data.data)); + } else if (data.encoding === "raw") { + bb.push(data.data); + } + } else { + if (typeof data !== "string") { + data += ""; // convert unsupported types to strings + } + // decode UTF-16 to binary string + bb.push(unescape(encodeURIComponent(data))); + } + }; + FBB_proto.getBlob = function(type) { + if (!arguments.length) { + type = null; + } + return new FakeBlob(this.data.join(""), type, "raw"); + }; + FBB_proto.toString = function() { + return "[object BlobBuilder]"; + }; + FB_proto.slice = function(start, end, type) { + var args = arguments.length; + if (args < 3) { + type = null; + } + return new FakeBlob( + this.data.slice(start, args > 1 ? end : this.data.length) + , type + , this.encoding + ); + }; + FB_proto.toString = function() { + return "[object Blob]"; + }; + FB_proto.close = function() { + this.size = 0; + delete this.data; + }; + return FakeBlobBuilder; + }(view)); + + view.Blob = function(blobParts, options) { + var type = options ? (options.type || "") : ""; + var builder = new BlobBuilder(); + if (blobParts) { + for (var i = 0, len = blobParts.length; i < len; i++) { + if (Uint8Array && blobParts[i] instanceof Uint8Array) { + builder.append(blobParts[i].buffer); + } + else { + builder.append(blobParts[i]); + } + } + } + var blob = builder.getBlob(type); + if (!blob.slice && blob.webkitSlice) { + blob.slice = blob.webkitSlice; + } + return blob; + }; + + var getPrototypeOf = Object.getPrototypeOf || function(object) { + return object.__proto__; + }; + view.Blob.prototype = getPrototypeOf(new view.Blob()); +}(typeof self !== "undefined" && self || typeof window !== "undefined" && window || this.content || this)); +} + /* eslint-enable */ diff --git a/app/scripts/vendor/FileSaver.js b/app/scripts/vendor/FileSaver.js new file mode 100644 index 0000000000..910a217e1e --- /dev/null +++ b/app/scripts/vendor/FileSaver.js @@ -0,0 +1,260 @@ +/* eslint-disable */ +/* FileSaver.js + * A saveAs() FileSaver implementation. + * 2015-05-07.2 + * + * By Eli Grey, http://eligrey.com + * License: X11/MIT + * See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md + */ + +/*global self */ +/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */ + +/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ + +if(typeof window !== "undefined") { + +var saveAs = saveAs || (function(view) { + "use strict"; + // IE <10 is explicitly unsupported + if (typeof navigator !== "undefined" && /MSIE [1-9]\./.test(navigator.userAgent)) { + return; + } + var + doc = view.document + // only get URL when necessary in case Blob.js hasn't overridden it yet + , get_URL = function() { + return view.URL || view.webkitURL || view; + } + , save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a") + , can_use_save_link = "download" in save_link + , click = function(node) { + var event = doc.createEvent("MouseEvents"); + event.initMouseEvent( + "click", true, false, view, 0, 0, 0, 0, 0 + , false, false, false, false, 0, null + ); + node.dispatchEvent(event); + } + , webkit_req_fs = view.webkitRequestFileSystem + , req_fs = view.requestFileSystem || webkit_req_fs || view.mozRequestFileSystem + , throw_outside = function(ex) { + (view.setImmediate || view.setTimeout)(function() { + throw ex; + }, 0); + } + , force_saveable_type = "application/octet-stream" + , fs_min_size = 0 + // See https://code.google.com/p/chromium/issues/detail?id=375297#c7 and + // https://github.com/eligrey/FileSaver.js/commit/485930a#commitcomment-8768047 + // for the reasoning behind the timeout and revocation flow + , arbitrary_revoke_timeout = 500 // in ms + , revoke = function(file) { + var revoker = function() { + if (typeof file === "string") { // file is an object URL + get_URL().revokeObjectURL(file); + } else { // file is a File + file.remove(); + } + }; + if (view.chrome) { + revoker(); + } else { + setTimeout(revoker, arbitrary_revoke_timeout); + } + } + , dispatch = function(filesaver, event_types, event) { + event_types = [].concat(event_types); + var i = event_types.length; + while (i--) { + var listener = filesaver["on" + event_types[i]]; + if (typeof listener === "function") { + try { + listener.call(filesaver, event || filesaver); + } catch (ex) { + throw_outside(ex); + } + } + } + } + , auto_bom = function(blob) { + // prepend BOM for UTF-8 XML and text/* types (including HTML) + if (/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) { + return new Blob(["\ufeff", blob], {type: blob.type}); + } + return blob; + } + , FileSaver = function(blob, name) { + blob = auto_bom(blob); + // First try a.download, then web filesystem, then object URLs + var + filesaver = this + , type = blob.type + , blob_changed = false + , object_url + , target_view + , dispatch_all = function() { + dispatch(filesaver, "writestart progress write writeend".split(" ")); + } + // on any filesys errors revert to saving with object URLs + , fs_error = function() { + // don't create more object URLs than needed + if (blob_changed || !object_url) { + object_url = get_URL().createObjectURL(blob); + } + if (target_view) { + target_view.location.href = object_url; + } else { + var new_tab = view.open(object_url, "_blank"); + if (new_tab == undefined && typeof safari !== "undefined") { + //Apple do not allow window.open, see http://bit.ly/1kZffRI + view.location.href = object_url + } + } + filesaver.readyState = filesaver.DONE; + dispatch_all(); + revoke(object_url); + } + , abortable = function(func) { + return function() { + if (filesaver.readyState !== filesaver.DONE) { + return func.apply(this, arguments); + } + }; + } + , create_if_not_found = {create: true, exclusive: false} + , slice + ; + filesaver.readyState = filesaver.INIT; + if (!name) { + name = "download"; + } + if (can_use_save_link) { + object_url = get_URL().createObjectURL(blob); + save_link.href = object_url; + save_link.download = name; + click(save_link); + filesaver.readyState = filesaver.DONE; + dispatch_all(); + revoke(object_url); + return; + } + // Object and web filesystem URLs have a problem saving in Google Chrome when + // viewed in a tab, so I force save with application/octet-stream + // http://code.google.com/p/chromium/issues/detail?id=91158 + // Update: Google errantly closed 91158, I submitted it again: + // https://code.google.com/p/chromium/issues/detail?id=389642 + if (view.chrome && type && type !== force_saveable_type) { + slice = blob.slice || blob.webkitSlice; + blob = slice.call(blob, 0, blob.size, force_saveable_type); + blob_changed = true; + } + // Since I can't be sure that the guessed media type will trigger a download + // in WebKit, I append .download to the filename. + // https://bugs.webkit.org/show_bug.cgi?id=65440 + if (webkit_req_fs && name !== "download") { + name += ".download"; + } + if (type === force_saveable_type || webkit_req_fs) { + target_view = view; + } + if (!req_fs) { + fs_error(); + return; + } + fs_min_size += blob.size; + req_fs(view.TEMPORARY, fs_min_size, abortable(function(fs) { + fs.root.getDirectory("saved", create_if_not_found, abortable(function(dir) { + var save = function() { + dir.getFile(name, create_if_not_found, abortable(function(file) { + file.createWriter(abortable(function(writer) { + writer.onwriteend = function(event) { + target_view.location.href = file.toURL(); + filesaver.readyState = filesaver.DONE; + dispatch(filesaver, "writeend", event); + revoke(file); + }; + writer.onerror = function() { + var error = writer.error; + if (error.code !== error.ABORT_ERR) { + fs_error(); + } + }; + "writestart progress write abort".split(" ").forEach(function(event) { + writer["on" + event] = filesaver["on" + event]; + }); + writer.write(blob); + filesaver.abort = function() { + writer.abort(); + filesaver.readyState = filesaver.DONE; + }; + filesaver.readyState = filesaver.WRITING; + }), fs_error); + }), fs_error); + }; + dir.getFile(name, {create: false}, abortable(function(file) { + // delete file if it already exists + file.remove(); + save(); + }), abortable(function(ex) { + if (ex.code === ex.NOT_FOUND_ERR) { + save(); + } else { + fs_error(); + } + })); + }), fs_error); + }), fs_error); + } + , FS_proto = FileSaver.prototype + , saveAs = function(blob, name) { + return new FileSaver(blob, name); + } + ; + // IE 10+ (native saveAs) + if (typeof navigator !== "undefined" && navigator.msSaveOrOpenBlob) { + return function(blob, name) { + return navigator.msSaveOrOpenBlob(auto_bom(blob), name); + }; + } + + FS_proto.abort = function() { + var filesaver = this; + filesaver.readyState = filesaver.DONE; + dispatch(filesaver, "abort"); + }; + FS_proto.readyState = FS_proto.INIT = 0; + FS_proto.WRITING = 1; + FS_proto.DONE = 2; + + FS_proto.error = + FS_proto.onwritestart = + FS_proto.onprogress = + FS_proto.onwrite = + FS_proto.onabort = + FS_proto.onerror = + FS_proto.onwriteend = + null; + + return saveAs; +}( + typeof self !== "undefined" && self + || typeof window !== "undefined" && window + || this && this.content +)); +// `self` is undefined in Firefox for Android content script context +// while `this` is nsIContentFrameMessageManager +// with an attribute `content` that corresponds to the window + +if (typeof module !== "undefined" && module.exports) { + module.exports.saveAs = saveAs; +} else if ((typeof define !== "undefined" && define !== null) && (define.amd != null)) { + define([], function() { + return saveAs; + }); +} +} else { + // nope +} +/* eslint-enable */ diff --git a/app/styles/common/_repository-list-item.scss b/app/styles/common/_repository-list-item.scss new file mode 100644 index 0000000000..1cd1411c48 --- /dev/null +++ b/app/styles/common/_repository-list-item.scss @@ -0,0 +1,98 @@ +.repository-list-item { + display: flex; + flex-flow: row; + border: 1px solid $secondary-5; + border-radius: $global-radius; + margin: 1rem; + font-weight: $font-weight-bold; + color: $secondary-2; + background: $white; + &:hover { + border-color: $primary-1; + .section { + &.action { + background-color: $primary-1; + color: white; + border-color: $primary-1; + } + } + } + > a { + display: flex; + flex: 1; + } + .avatar { + background: $primary-color; + width: 50px; + height: 50px; + border-radius: $global-radius; + } + .section { + display: flex; + border-left: 1px solid $secondary-5; + padding: 1rem; + flex-flow: row; + &.head { + flex-grow: 1; + } + &:first-child { + border-left: 0; + } + &.stats { + min-width: 100px; + text-align: center; + } + &.action { + background-color: $secondary-5;; + color: $secondary-4; + flex-flow: column; + i { + position: relative; + top: 0.5rem; + left: 1.2rem; + } + .text { + margin-top: 1.2rem; + margin-left: 0.4rem; + font-size: 0.7rem; + } + } + .title { + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.25rem; + } + .labels { + font-size: rem-calc(12px); + color: $secondary-4; + .official { + color: $primary-1; + } + .public { + color: darken($primary-1, 30%); + } + .private { + color: darken($primary-6, 35%); + } + .automated { + color: $secondary-4; + } + } + .label-value { + padding-top: 0.25rem; + margin: 0 auto; + .value { + font-size: rem-calc(14px); + margin-bottom: 0.25rem; + color: $secondary-3; + } + .sub-label { + font-size: rem-calc(10px); + color: $secondary-3; + } + } + .repo-name { + font-size: rem-calc(18px); + } + } +} diff --git a/app/styles/font-awesome.min.css b/app/styles/font-awesome.min.css new file mode 100644 index 0000000000..9c24364d62 --- /dev/null +++ b/app/styles/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.4.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"} \ No newline at end of file diff --git a/app/styles/hub.scss b/app/styles/hub.scss new file mode 100644 index 0000000000..3ec7183cf9 --- /dev/null +++ b/app/styles/hub.scss @@ -0,0 +1,18 @@ +@import 'hub/account'; +@import 'hub/autobuilds'; +@import 'hub/badge'; +@import 'hub/blankslate'; +@import 'hub/flyout-menu'; +@import 'hub/react-tagsinput'; +@import 'hub/main-nav'; +@import 'hub/profile'; +@import 'hub/repositories'; +@import 'hub/repository-settings'; +@import 'hub/reset-password'; +@import 'hub/search'; +@import 'hub/tabs'; +@import 'hub/type'; +@import 'hub/usericons'; +@import 'hub/welcome'; +@import 'hub/forms'; +@import 'hub/docker-trusted-registry'; diff --git a/app/styles/hub/_blankslate.scss b/app/styles/hub/_blankslate.scss new file mode 100644 index 0000000000..7fb8a37d73 --- /dev/null +++ b/app/styles/hub/_blankslate.scss @@ -0,0 +1,84 @@ +/* + * For pages without content + * + */ + +.blankslate { + text-align: center; + background: #fff; + border-bottom: 1px solid #cbd1d7; + padding: 2.4rem; + h1 { + font-size: 2.5em; + } + .fa { + color: #566471; + font-size: 4em; + margin-bottom: 15px; + } +} + +.blankslate-alt { + text-align: center; + padding: 5rem; +} + +/* + * + * buttons : TODO: MOVE TO FOUNDATION OVERRIDES & SPLIT OUT THESE RANDOM BUTTONS + * + */ + +button, +.button, +.profile-settings .change-pass-form .change-pass-save .button, +.settings-wrapper input[type='submit'] { + -moz-appearance: none; + border-radius: $global-radius; + border-color: #1298c6; + border-style: solid; + border-width: 0; + color: #ffffff; + cursor: pointer; + display: inline-block; + font-size: 1rem; + font-weight: normal; + margin: 0 0 1.25rem; + padding: 0.7rem 1rem 0.7rem 0.9rem; + text-align: center; + transition: background-color 300ms ease-out 0s; + box-shadow: none; + &.default { + background-color: #fff; + border: 1px solid #dfe4ea; + color: #000; + } + &.primary { + background: $primary-1; + border-radius: $global-radius; + color: #fff; + &:hover { + background: $primary-2; + } + } + // &.secondary {/** will switch this with .default **/} + &.dashed { + background-color: transparent; + border: 1px dashed #c3ccd9; + color: #2f4559;/** need variable **/ + border-radius: $global-radius; + &:hover { + opacity: .8; + } + } + &.button.disabled { + cursor: not-allowed; + } + &.small { + padding: 0.7rem 1rem 0.7rem 0.9rem; + } + &.xl { + padding: 1rem 2rem 1rem 2rem; + margin-right: 1rem; + } +} diff --git a/app/styles/hub/_profile.scss b/app/styles/hub/_profile.scss new file mode 100644 index 0000000000..cca73f4675 --- /dev/null +++ b/app/styles/hub/_profile.scss @@ -0,0 +1,30 @@ +.gravatar { + margin: 1.5rem 0; + img { + border: 1px solid $secondary-5; + border-radius: $global-radius; + } +} + +.profile-info { + padding: .5rem 1rem 0 1rem; + ul { + padding: .6rem 0; + li { + padding: .2rem 0; + color: $secondary-4; + .fa { + margin: 0 .5rem 0 0; + min-width: .8rem; + text-align: center; + } + } + } +} + +.profile-repos { + padding: 1rem 0; + h4 { + padding-left: 2rem; + } +} diff --git a/app/styles/hub/_type.scss b/app/styles/hub/_type.scss new file mode 100644 index 0000000000..683ab8a3cd --- /dev/null +++ b/app/styles/hub/_type.scss @@ -0,0 +1,19 @@ +/* + * This file is in progress - will contain global typography styles + * + */ +h1, +h2, +h3, +h4, +h5, +h6 { + color: $primary-1; + font-weight: 200; +} +h1 { + font-size: 1.8875rem; +} +h2 { + font-size: 1.3875rem; +} \ No newline at end of file diff --git a/app/styles/hub/account.scss b/app/styles/hub/account.scss new file mode 100644 index 0000000000..5d577764e4 --- /dev/null +++ b/app/styles/hub/account.scss @@ -0,0 +1,518 @@ +.settings-wrapper { + width: 100%; + input { + &[type='text'],&[type='email'],&[type='password'] { + color: $secondary-1; + } + &[type='submit'] { + padding: .5rem; + } + } + .settings-body { + padding: 25px 0px; + .account-section-text { + float: left; + display:inline-block; + } + .account-section-header { + padding-left: 0; + .account-section-title{ + color: $secondary-1; + font-weight: $font-weight-bold; + } + .account-section-subtitle{ + color: $primary-2; + margin-bottom: .5rem; + } + } + .account-section { + margin-bottom: 2rem; + .columns:last-child { + float: left; + } + } + } +} + +.profile-settings { + .default-repo-visibility { + padding: 1rem; + .visibility-toggle { + &:hover { + cursor: pointer; + cursor: hand; + } + input { + margin-right: .5rem; + } + } + } + .email-wrapper { + border: 1px solid $border-input; + background: white; + form { + .add-email { + padding: 2rem 1rem 0; + .email-title { + font-weight: $font-weight-bold; + } + } + .email-element { + height: 4rem; + padding: 0 1rem; + margin: .5rem .5rem; + display: flex; + align-items: left; + .emphasis {/** TODO: Scope to .email-element for the moment, however will mostly be global **/ + color: $secondary-3; + font-weight: 800; + } + .fa-times {/** TODO: Scope to .email-element for the moment, however will mostly be global **/ + color: $primary-5; + font-size: 1.3rem; + &:hover { + color: $secondary-1; + } + } + .close-button {/** TODO: Let's verify we still need this **/ + color: white; + display: inline-block; + background: $docker-dark--placeholders; + border-radius: 100%; + width: 1.5rem; + height: 1.5rem; + text-align: center; + margin-right: .5rem; + float: right; + &:hover { + background: darken($docker-dark--placeholders, 10%); + } + } + .email-action { + text-align: center; + border-radius: 1rem; + &.status-sent { + border: 1px solid $primary-2; + color: $primary-2; + } + &.status-sending { + border: 1px solid $primary-1; + color: $primary-1; + } + &.status-failed { + border: 1px solid $primary-5; + color: $primary-5; + } + } + .email-address { + word-wrap: break-word; + } + } + } + } + .change-pass-form { + border: 1px solid $border-input; + background: white; + padding: 3rem 3rem 1rem 3rem; + .change-pass-save { + height: 250px; + display: flex; + align-items: flex-end; + .button { + padding:.5rem; + } + } + &.success { + border: 1px solid $primary-2; + } + &.form-error { + border: 1px solid $primary-5; + } + } + .account-info-wrapper { + border: 1px solid $border-input; + background: white; + padding: 3rem 3rem 1rem; + .button { + float: right; + } + &.success { + border: 1px solid $primary-2; + } + &.form-error { + border: 1px solid $primary-5; + } + } + .toOrgButton { + padding: .5rem 0; + } +} +.convert-to-org{ + .toOrg-title { + font-weight: $font-weight-bold; + } + .toOrg-body { + margin-bottom: 1rem; + } + .warning { + text-align: center; + color: $primary-5; + } + .convert-org-form { + padding: 3rem 2rem .5rem; + background: white; + border: 1px solid $border-input; + .button { + padding:.5rem; + &:disabled { + background: $secondary-5; + } + } + } +} + +.accounts-services { + .linked-accounts { + margin-bottom: 5rem; + .link-service { + padding: 1.25rem; + margin: 0 1rem; + height: 13rem; + border: 1px solid $border-input; + background: white; + float: left; + .service-title { + display:flex; + align-items: center; + .linked-icon { + width: 100%; + height: auto; + } + .service-name { + font-weight: $font-weight-bold; + margin: 0 1rem; + } + } + .user-access { + margin: .5rem 0 0; + } + .button { + margin: 1rem 0 0; + float: right; + } + } + } +} + +.account-notifications { + form { + background: white; + border: 1px solid $border-input; + padding: 2rem 2rem 1rem; + .button { + margin-right: 1rem; + // padding: .5rem; + float: right; + } + &.success { + border: 1px solid $primary-2; + } + &.form-error { + border: 1px solid $primary-5; + } + } + .event-notifs { + margin-bottom: 5rem; + } + .notification { + margin-bottom: 1rem; + &:hover { + cursor: pointer; + cursor: hand; + } + &.unverified { + color: $secondary-4; + cursor: default; + } + } +} + +.billing-plans { + .columns:last-child { + float: left; + } + .account-billing-info { + margin-left: .5rem; + } + .plans-error-message { + background: $alert-color; + color:white; + } + .plans-q { + .q-title { + font-weight: 500; + color: $primary-2; + } + .q-answer { + padding-left: 1rem; + } + margin-bottom: 2rem; + } + .billing-info { + background: white; + border: 1px solid $border-input; + padding: 2rem 0rem 2rem 2rem; + margin: .5rem; + .row { + margin-bottom: 1rem; + .info-content { + border-left: 1px solid $border-input; + padding: .5rem 3rem; + } + .no-account { + text-align: center; + } + } + } + .billing-form-wrapper { + border: 1px solid $border-input; + background: white; + padding: 3rem 3rem 1rem; + .billing-form-header { + text-align: center; + } + .billing-info-form { + .billing-form-section { + margin-bottom: 1.5rem; + } + .billing-field * { + width: 100%; + } + .billing-dropdown { + width: 100%; + &.error { + border: 1px solid $alert-color; + } + } + .accepted-cards { + margin-bottom: 35px; + .card-icon { + font-size: 1.5rem; + margin-left: .5rem; + } + } + .above-selects .group { + margin-bottom: 15px; + } + .selects { + .date-text { + text-align: center; + height: 2rem; + display: flex; + align-items: center; + } + .columns { + margin-bottom: 20px; + } + } + .back { + margin-left: 2rem; + } + } + } + .preview-box { + border: 1px solid $border-input; + background: white; + padding: 2rem 2rem 0; + margin-left: 1rem; + .total { + margin-bottom: 35px; + } + .coupon_code * { + width: 100%; + } + .price { + text-align: right; + } + } + .invoice-table { + a.not-active { + pointer-events: none; + cursor: default; + color: $secondary-5; + } + } +} +.orgs-body { + padding-top: rem-calc(15px); + padding-bottom: rem-calc(20px); +} + +.orgs-grid { + margin-left: 1.6rem; +} + +.orgs-settings { + h5 { + font-weight: 400; + color: #22b8eb;/** find varible and update */ + float: left; + margin: 0 0 0.8rem 1rem; + // color: $docker-dark; + } + .page-header-buttons { + float: left; + padding-left: 20px; + button { + margin-right: rem-calc(10px); + } + } + .new-org-form { + width: 100%; + } + .org-details { + ul { + list-style: none; + margin-left: 0; + li { + background-color: $panel-bg; + padding: rem-calc(10px); + margin-bottom: rem-calc(5px); + border-radius: rem-calc(2px); + margin: 0 .2rem 0 0; + } + } + .org-team-md { + margin-left: rem-calc(-15px); + .inline-list { + margin: 0; + } + h5 { + margin-left: rem-calc(10px); + font-weight: 300; + font-color: #22b8eb; + } + h6 { + background-color: lighten($panel-bg, 8%); + border-radius: $global-radius; + padding: 10px; + .action-icon { + background-color: lighten($panel-bg, 8%); + } + } + .org-members { + li { + img { + margin-right: rem-calc(10px); + border-radius: 100%; + } + width: rem-calc(200px); + padding: rem-calc(12px); + margin-right: rem-calc(20px); + } + } + // .org-teams {} + } + /** hide border when dux-form is in tabs **/ + .dux-form { + border: 0; + } + } + .tab-title { + border: 1px solid #c4cdda; + border-bottom: none; + border-top-left-radius: $global-radius; + border-top-right-radius: $global-radius; + background-color: #e6edf4; + padding: 0.5rem; + &:hover { + cursor: pointer; + color: #23b8eb; + } + } + .tab-title.active { + background-color: white; + } + .tabs-content { + border-bottom-left-radius: $global-radius; + border-bottom-right-radius: $global-radius; + border-top-right-radius: $global-radius; + border: 1px solid #c4cdda; + background-color: white; + padding: rem-calc(20px); + } +} + +//Teams +.team-item { + a { + margin-left: rem-calc(15px); + } +} + +.add-team-container { + form { + margin-top: 1.6rem; + .alert-box { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + } +} + +.add-team-button-group { + input[type="submit"], input[type="reset"] { + border-radius: $global-radius; + margin-left: 1rem; + } +} + +//global +li.li-no-hover { + &:hover { + background-color: transparent !important; + } +} + +.delete-member-item { + height: rem-calc(25px); + cursor: default; + a { + float: left; + margin-left: 0.7rem; + } + i { + margin-top: 0.3rem; + margin-right: 1.4rem; + cursor: pointer; + color: #FF5151; + } +} +.add-member-item { + height: rem-calc(25px); + cursor: text; + input[type="text"] { + font-size: rem-calc(16px); + margin-left: 0.5rem; + float: left; + border: 0; + height: 2rem; + line-height: 2rem; + color: $gray-2; + width: rem-calc(500px); + &:hover { + color: $gray-2; + } + &:active { + color: $gray-2; + } + &:focus { + color: $gray-2; + } + } + i { + margin-top: 0.3rem; + margin-right: -1.5rem; + cursor: pointer; + } +} diff --git a/app/styles/hub/autobuilds.scss b/app/styles/hub/autobuilds.scss new file mode 100644 index 0000000000..f95ba83e46 --- /dev/null +++ b/app/styles/hub/autobuilds.scss @@ -0,0 +1,108 @@ +.ol-decimal { + list-style-type: decimal; +} + +.auto-build-tags-table { + input[type="text"] { + max-width:180px; + } +} + +.autobuild-checkbox { + font-size: 14px; + font-weight: 300; + cursor: pointer; + * { + cursor: pointer; + } + .checkbox-text { + margin-left: 5px; + } +} + +//GLOBAL? +.two-level-selector { + margin-top: 1.0rem; + .dux-form { + padding: 0; + margin: 0; + } + .row { + padding: 0; + margin: 0; + .columns { + padding: 0; + } + } + //this is actually a lighter filter bar + .searchbar input[type=text] { + background-color: $secondary-4; + width: 100%; + } + .filterbar-container { + margin-left: rem-calc(24px); + } +} + +//Strip out the module class +ul.stripped-module { + background: #fff; + list-style: none; + padding: 0 !important; + margin: 0 !important; + li { + text-align: left; + border-bottom: 1px solid #cbd1d7; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + &:hover { + background: $secondary-6; + cursor: pointer; + } + .list-item { + padding-left: 1rem; + padding-right: 1rem; + } + } + img { + border-radius: $global-radius; + } + .header-bar { + background-color: $secondary-6; + min-height: rem-calc(60px); + cursor: default; + } + .header-title { + margin-left: 1rem; + margin-top: 0.5rem; + font-size: rem-calc(18px); + font-weight: 400; + } + .alert-box { + margin-left: 0.5rem; + margin-right: 0.5rem; + } +} + +ul.left-border { + border-left: 1px solid #cbd1d7; +} + +ul.right-border { + border-right: 1px solid #cbd1d7; +} + +//fa i class needs this +.arrow-sel { + margin-top: 0.25rem; + margin-right: 0.25rem; +} + +.create-autobuild-form { + .form-error { + border: 1px solid $primary-5; + } + .text-error { + color: $primary-5; + } +} diff --git a/app/styles/hub/badge.scss b/app/styles/hub/badge.scss new file mode 100644 index 0000000000..f17d6adac9 --- /dev/null +++ b/app/styles/hub/badge.scss @@ -0,0 +1,11 @@ +.dux-badge { + border-radius: rem-calc(4px); + padding: rem-calc(3px); + &.official { + color: #23b8eb; + } + &.builds { + color: #86d800; + font-size: rem-calc(12px); + } +} diff --git a/app/styles/hub/flyout-menu.scss b/app/styles/hub/flyout-menu.scss new file mode 100644 index 0000000000..e8234f592f --- /dev/null +++ b/app/styles/hub/flyout-menu.scss @@ -0,0 +1,185 @@ +//@extend-elements +//original selectors +//.cssmenu ul, .cssmenu ul li, .cssmenu ul ul +%extend_1 { + list-style: none; + margin: 0; + padding: 0; +} + +//original selectors +//.cssmenu ul li.hover, .cssmenu ul li:hover +%extend_2 { + position: relative; + z-index: 599; + cursor: default; +} + + +@charset "UTF-8"; +.cssmenu { + padding: 0; + margin: 0; + border: 0; + line-height: 1; + width: 100%; + background: $panel-bg; + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + zoom: 1; + font-size: 12px; + ul { + @extend %extend_1; + position: relative; + z-index: 597; + float: left; + li { + @extend %extend_1; + min-height: 1px; + line-height: 3rem; + vertical-align: middle; + position: relative; + float: none; + &.hover { + @extend %extend_2; + } + &:hover { + @extend %extend_2; + > ul { + visibility: visible; + } + } + &.has-sub > a:after { + content: '+'; + position: absolute; + top: 50%; + right: 15px; + margin-top: -6px; + } + } + ul { + @extend %extend_1; + visibility: hidden; + position: absolute; + z-index: 598; + top: 0; + left: 100%; + margin-top: 0; + width: 100%; + //Instead of the line below you could use @includeborder-radius($radius, $vertical-radius) + border: 1px solid $panel-bg; + li { + float: none; + font-weight: normal; + border-bottom: 1px solid $panel-bg; + &.first { + //Instead of the line below you could use @includeborder-radius($radius, $vertical-radius) + border-radius: 0 3px 0 0; + } + &.last { + //Instead of the line below you could use @includeborder-radius($radius, $vertical-radius) + border-radius: 0 0 3px 0; + border-bottom: 0; + } + &:hover > a { + background: $button-bg-color; + color: $ghost; + } + } + ul { + top: -2px; + right: 0; + } + a { + font-size: 14px; + color: $ghost; + &:hover { + color: $ghost; + } + } + } + } + &:before { + content: ''; + display: block; + } + &:after { + content: ''; + display: table; + clear: both; + } + a { + display: block; + padding: 15px 20px; + color: $ghost; + text-decoration: none; + text-transform: uppercase; + } + li { + position: relative; + } + &.align-right { + float: right; + li { + text-align: right; + } + ul { + ul { + visibility: hidden; + position: absolute; + top: 0; + left: -100%; + z-index: 598; + width: 100%; + //Instead of the line below you could use @includeborder-radius($radius, $vertical-radius) + border-radius: $global-radius 0 0 $global-radius; + li { + &.first { + //Instead of the line below you could use @includeborder-radius($radius, $vertical-radius) + border-radius: $global-radius 0 0 0; + } + &.last { + //Instead of the line below you could use @includeborder-radius($radius, $vertical-radius) + border-radius: 0 0 0 $global-radius; + } + } + } + li.has-sub > a { + &:before { + content: '+'; + position: absolute; + top: 50%; + left: 15px; + margin-top: -6px; + } + &:after { + content: none; + } + } + } + > ul > li > a { + border-left: 2px solid lighten($panel-bg, 10%); + border-right: none; + } + } + > ul { + width: 100%; + > li { + > a { + border-right: 2px solid lighten($panel-bg, 10%); + color: $ghost; + &:hover { + color: $ghost; + } + } + &.active a { + background: lighten($panel-bg, 10%); + } + a:hover { + background: lighten($panel-bg, 10%); + } + &:hover a { + background: lighten($panel-bg, 10%); + } + } + } +} diff --git a/app/styles/hub/main-nav.scss b/app/styles/hub/main-nav.scss new file mode 100644 index 0000000000..4683e7b2c0 --- /dev/null +++ b/app/styles/hub/main-nav.scss @@ -0,0 +1,132 @@ +/* + * These top bar properties still need to be sassified. + * + */ + +.topnav-wrapper { + background-color: $topbar-dark; +} + +.top-bar .top-bar-section ul li:hover:not(.has-form) > a { + background: transparent; +} + +.top-bar-section ul li > a { + font-weight: 400; + font-size: 14px; +} + +.top-bar-section ul li > a.button.secondary:hover, +.top-bar-section ul li > a.button.secondary:focus { + color: #fff; + background: transparent; +} + +.top-bar-section ul li > a.button.secondary { + background-color: transparent; + color: #c4cdda; + font-size: 1em; + height: 40px; + margin-top: -3px; +} +.top-bar-section li:not(.has-form) a:not(.button) { + background: transparent; + line-height: 3.125rem; +} +/* + * + * + */ + +.top-bar-section { + ul li { + background: none; + a.button.tiny { + background-color: #86d800;/** temp color **/ + border-radius: $global-radius; + box-shadow: none; + &:hover { + background-color: #5fa736;/** temp color **/ + } + } + } + .profile-photo { + width: rem-calc(24px); + height: rem-calc(24px); + margin-right: 5px; + border-radius: $global-radius; + } + .title-area { + margin-top: .5rem; + a { + padding: 1rem; + } + img { + height: 36px; + margin-right: 10px + } + } + .nav-user-info { + background: none; + } + /* + * "+" menu + * + */ + .css-dropdown { + &:hover ul { + display: block; + opacity: 1; + visibility: visible; + } + ul:before { + border: 8px solid transparent; + border-bottom-color: #3d4c5a; + content: ""; + display: inline-block; + left: 90px; + position: absolute; + top: -16px; + } + ul { + // background: $topbar-dark; + background: #3d4c5a; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + display: none; + padding: 0; + position: absolute; + top: 48px; + right: 4rem; + opacity: 0; + padding: .5rem 0; + visibility: hidden; + width: 220px; + z-index: 1; + li { + cursor: pointer; + float: none; + padding: .3em; + margin: 0; + position: relative; + a { + display: block; + padding-top: .23rem; + } + a:hover { + background: #7a8491; + } + } + li:not(.has-form) > a { + line-height: 1.7rem; + } + & i.fa { + font-size: 1.2rem; + padding-right: 7px; + } + &.with-button { + right: rem-calc(116px); + } + } + } +} \ No newline at end of file diff --git a/app/styles/hub/react-tagsinput.scss b/app/styles/hub/react-tagsinput.scss new file mode 100644 index 0000000000..70287eee8f --- /dev/null +++ b/app/styles/hub/react-tagsinput.scss @@ -0,0 +1,59 @@ +//colors +$color_celeste_approx: #ccc; +$white: #fff; +$color_conifer_approx: #a5d24a; +$color_deco_approx: #cde69c; +$color_olive_drab_approx: #638421; +$color_cosmos_approx: #fbd8db; +$color_tamarillo_approx: #90111a; +$color_tapa_approx: #777; + +.react-tagsinput { + border: 1px solid lighten($panel-bg, 5%); + background: lighten($panel-bg, 8%); + padding: rem-calc(10px); + overflow-y: auto; + //Instead of the line below you could use @includeborder-radius($radius, $vertical-radius) + border-radius: rem-calc(2px); + input { + color: $charcoal; + } +} +.react-tagsinput-tag { + display: block; + border: 1px solid $secondary-5; + background: $secondary-6; + color: $oil; + font-size: 14px; + float: left; + padding: 15px; + margin-right: 10px; + margin-bottom: 10px; + text-decoration: none; + //Instead of the line below you could use @includeborder-radius($radius, $vertical-radius) + border-radius: $global-radius; +} +.react-tagsinput-invalid { + background: transparent; + color: $primary-5; +} +.react-tagsinput-remove { + font-weight: 300; + color: $secondary-4; + text-decoration: none; + font-size: 14px; + cursor: pointer; + &:before { + content: "x"; + } +} +.react-tagsinput-input { + background: transparent; + color: $charcoal; + border: 0; + font-size: 13px; + padding: 5px; + margin: 0; + width: 80px; + outline: none; +} \ No newline at end of file diff --git a/app/styles/hub/repositories.scss b/app/styles/hub/repositories.scss new file mode 100644 index 0000000000..3323d95ff8 --- /dev/null +++ b/app/styles/hub/repositories.scss @@ -0,0 +1,155 @@ +ul.repositories { + margin: 2.25rem 0.3rem 0 0.3rem; +} +.repo-header { + padding: rem-calc(10px); +} +.repo-content { + padding: rem-calc(10px); +} +.repository { + background: white; + .title { + color: $primary-color; + } + .logo { + width: 64px; + min-width: 64px; + height: 64px; + min-height: 64px; + padding: 10px; + background: $primary-color; + border-radius: $global-radius; + .d-logo { + color: $ghost; + font-size: rem-calc(48px); + margin: 0 auto; + } + } + .header { + padding-top: 0.325rem; + h6 small { + font-size: small; + } + h6 span { + font-size: small; + text-transform: capitalize; + color: #3f5167; + } + } + .repo-wrapper { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + //TODO: These surely should be `scss-ified` + .repo-stars { + border: 1px solid #c4cdda; + border-left: none; + padding: 10px; + p { + font-size: smaller; + } + } + .repo-downloads { + border: 1px solid #c4cdda; + border-left: none; + border-right: none; + padding: 10px; + p { + font-size: smaller; + } + } +} + +.repo-separator { + font-weight: 300; + font-size: rem-calc(24px); + margin-right: 0px; + padding-right: 0px; + width: 20px; +} + +.repo-form-margin { + margin-left: -15px; +} + +//Need this to make foundation block-grid work with our design and borders +.repo-border { + border:1px solid white; + position:relative; + z-index:10 +} + +.repo-border:before { + content:""; + display:block; + position:absolute; + top:2px; + left:2px; + right:2px; + bottom:2px; + border:1px solid #c4cdda; + border-radius: $global-radius; +} + +.repository-page { + .repo-description-dockerfile { + .dockerfile { + font-family: $font-family-monospace; + white-space: pre; + overflow-x: auto; + } + } + .repo-details-content { + .repo-visibility { + margin-bottom: 1.25rem; + background: white; + border: 1px solid $docker-dark--placeholders; + padding: .75rem 1rem; + .privacy { + font-weight: $font-weight-bold; + display: inline-block; + } + .status { + display: inline-block; + } + } + + + + .temp-prof-icon { + height: 50px; + width: 50px; + border-radius: 100%; + border: 1px solid black; + display: inline-block; + margin-right: 10px; + } + } +} + +.explore-repo-list { + margin-top: 1rem; +} + +.add-repository-form { + margin-top: rem-calc(20px); +} + +.repo-tags { + margin: 0; + padding: 0; + list-style-type: none; + li { + float: left; + padding: 0.3rem 0.3rem 1rem 0; + margin-right: 0.5rem; + .repo-tag { + background-color: #3c5164; + color: white; + border-radius: $global-radius; + padding: 0.5rem 0.8rem; + } + } +} + diff --git a/app/styles/hub/repository-settings.scss b/app/styles/hub/repository-settings.scss new file mode 100644 index 0000000000..bf957d5600 --- /dev/null +++ b/app/styles/hub/repository-settings.scss @@ -0,0 +1,49 @@ +.repo-settings { + color: $charcoal; + padding: 1rem; + h1, h2, h3, h4, h5, h6, input, label { + color: $charcoal; + } + .form-panel { + @include panel(); + background: $white; + button { + margin-right: $default-margin; + } + } + .help-text { + padding: 1rem 0 0 .9rem; + } + /** scope this to repo-settings only **/ + input[type="text"], + .bar { + width: 100%; + } + .repo-visibility { + margin-top: 1rem; + .visibility-form { + .visibility-toggle { + cursor: pointer; + * { + cursor: pointer; + } + .text-error { + color: $primary-5; + margin-left: 1rem; + } + } + .disabled { + cursor: default; + color: $secondary-5; + * { + cursor: default; + } + } + input { + &[name='visibility'] { + margin-right: 5px; + } + } + } + } +} diff --git a/app/styles/hub/reset-password.scss b/app/styles/hub/reset-password.scss new file mode 100644 index 0000000000..810a6bf95d --- /dev/null +++ b/app/styles/hub/reset-password.scss @@ -0,0 +1,49 @@ +.pass-reset-wrapper { + align-items: center; + display: flex; + height: 100%; + width: 100%; + &.reset { + text-align: center; + } + .password-reset { + background-color: $white; + border: 1px solid rgb(233, 237, 240);// TODO: create/utilize variable + border-radius: $global-radius; + display: flex; + flex-direction: column; + justify-content: center; + min-height: 270px; + h3 { + color: $primary-1; + font-weight: 300; + } + &.error h3 { + color: $primary-5; + } + p { + color: rgb(113, 125, 144);// TODO: create/utilize variable + } + form { + margin-top: .6rem; + } + .group { + input, + .bar { + color: rgb(113, 125, 144);// TODO: create/utilize variable + width: 100%; + } + } + .resetPassSubmit { + background-color:$primary-color; + border: none; + border-radius: $global-radius; + color: $white; + float: right; + padding: 10px 20px; + &:disabled { + background-color:rgb(233, 237, 240);// TODO: create/utilize variable + } + } + } +} diff --git a/app/styles/hub/search.scss b/app/styles/hub/search.scss new file mode 100644 index 0000000000..a0a665c2e2 --- /dev/null +++ b/app/styles/hub/search.scss @@ -0,0 +1,191 @@ +//search page +.search-page { + width: 100%; + overflow-x: hidden; + font-weight: 300; + .inline-list { + margin-top: rem-calc(12px); + li { + margin-left: 0.7rem; + } + } + select { + background-color: transparent; + border: 1px solid #c4cdda; + transition: border-color 0.15s linear 0s, background 0.15s linear 0s; + outline: 0; + color: #3f5167; + width: rem-calc(100px); + font-size: rem-calc(12px); + font-weight: 200; + border-color: #c4cdda; + border-radius: $global-radius; + } + input[type="text"] { + color: #7A8491; + } + + .search-results-container { + .no-results-item { + text-align: center; + } + } + + //Search Results + .search-results-list { + ul { + list-style-type: none; + text-align: center; + } + ul li { + display: inline-block; + padding-right: 5px; + } + .no-results-item { + list-style-type: none; + font-size: rem-calc(14px); + font-weight: normal; + } + .search-list-item { + background-color: white; + margin-bottom: rem-calc(10px);//5px 5px 5px 5px; + overflow-y: hidden; + font-weight: normal; + border: 1px solid #c4cdda; + border-radius: $global-radius; + + &:hover { + cursor: pointer; + } + + .logo { + width: 48px; + min-width: 48px; + height: 48px; + min-height: 48px; + padding: 10px; + background: $primary-color; + border-radius: $global-radius; + margin-left: rem-calc(10px); + margin-bottom: rem-calc(25px); + .d-logo { + color: $ghost; + font-size: rem-calc(32px); + margin: 0 auto; + } + } + + .search-item-avatar { + } + + .search-bar-details { + line-height: rem-calc(12px); + height: rem-calc(24px); + background-color: #c4cdda; + p { + font-weight: 300; + font-size: rem-calc(12px); + margin-bottom: 0; + line-height: 1.5rem; + } + } + + .search-item-basic-info { + .search-item-name { + font-size: 1.4rem; + font-weight: 600; + } + p { + font-size: 0.8rem; + } + .search-item-description { + font-size: rem-calc(12px); + } + } + + .search-item-other-info { + font-size: rem-calc(10px); + } + + .search-item-badges-stats { + ul li { + line-height: 0.6rem; + border-left: 1px solid #c4cdda; + } + p { + margin-bottom: 0; + font-size: rem-calc(12px); + font-weight: 500; + } + .search-item-badges { + } + .search-item-stats { + span { + padding-left: rem-calc(4px); + } + } + } + } + } +} + +.paging-bar { + display: inline-flex; + float: right; + margin-right: rem-calc(25px); + .paging-info { + align-self: center; + } + .paging-buttons { + align-self: center; + button { + margin: 0; + background-color: $body-bg; + color: $docker-dark; + padding-right: 0; + padding-left: rem-calc(4px); + box-shadow: none; + &:hover { + color: $primary-color; + box-shadow: none; + } + &:focus { + color: #7A8491; + outline: none; + box-shadow: none; + } + i { + font-size: 24; + } + } + button[disabled] { + opacity: 0.3; + box-shadow: none; + } + } +} + +.searchbar { + input[type=text] { + background: #69788a;/** need variable here **/ + border: 1px solid #4c5968;/** need variable here **/ + border-radius: $global-radius; + color: $white; + display: block; + height: 2rem; + padding: .2rem 2rem; + top: .6rem; + } + i.fa.fa-search { + color: #fff; + margin-top: -18px;/** lame **/ + margin-left: 11px;/** lame **/ + } +} + +// target webkit only meh +@media screen and (-webkit-min-device-pixel-ratio: 0) { + i.fa.fa-search { + margin-top: -16px!important;/** super lame, this can not be permanent **/ + } +} diff --git a/app/styles/hub/tabs.scss b/app/styles/hub/tabs.scss new file mode 100644 index 0000000000..ef90208ab0 --- /dev/null +++ b/app/styles/hub/tabs.scss @@ -0,0 +1,26 @@ +.tabs { + position: relative; + float: left; + width: 100%; + li:first-child a { + border-top-left-radius: $global-radius; + } + li:last-child a { + border-top-right-radius: $global-radius; + border-right: 1px solid $docker-dark--placeholders; + } + a.repo-tab { + border-left: 1px solid $docker-dark--placeholders; + border-top: 1px solid $docker-dark--placeholders; + border-bottom: 1px solid $docker-dark--placeholders; + background:lighten($docker-dark--placeholders, 10%); + padding: .5rem 1.8rem; + font-size: 16px; + &.active { + border-bottom: 1px solid white; + background: white; + position: relative; + z-index: 2; + } + } +} diff --git a/app/styles/hub/usericons.scss b/app/styles/hub/usericons.scss new file mode 100644 index 0000000000..ca476b3191 --- /dev/null +++ b/app/styles/hub/usericons.scss @@ -0,0 +1,6 @@ +.profile-photo { + width: rem-calc(24px); + height: rem-calc(24px); + margin-right: 5px; + border-radius: $global-radius; +} \ No newline at end of file diff --git a/app/styles/main.scss b/app/styles/main.scss new file mode 100644 index 0000000000..c7ee2ba6c6 --- /dev/null +++ b/app/styles/main.scss @@ -0,0 +1,170 @@ +@import 'docker-ux'; +@import 'mono-blue'; +@import '_docker'; + +//============================REMOVE THIS====================================== + +$default-margin: 1.5rem; + +.flex-table { + display: flex; + flex-flow: column; + justify-content: center; + border: 1px solid $border-input; + border-radius: $global-radius; + font-size: 1rem; + margin: 0.5rem; + line-height: 1.5; + font-weight: 500; + color: $secondary-2; + .flex-row { + width: 100%; + display: flex; + border-bottom: 1px solid $secondary-5; + background: white; + &:last-child { + border-bottom: 0; + } + &.header { + background-color: $primary-1; + font-weight: 700; + color: white; + font-size: 1.2rem; + border-bottom: 0; + } + .flex-item { + display: flex; + flex-flow: row nowrap; + flex-grow: 1; + flex-basis: 0; + padding: 0.7em 1.2rem 0.7em 1.2rem; + word-break: break-word; + a { + color: $primary-1; + &:hover { + color: darken($primary-1, 10%); + } + } + } + } +} + +//============================================================================= + +@import 'hub'; + +.button { + // seems to feel unresponsive with almost any transition length + transition: 0.1s; + font-weight: 500; +} + +//TODO: could be global style +.create-object-btn { + background-color: white; + border: 4px dashed #c4cdda; + border-radius: $global-radius; + box-shadow: none; + color: $docker-dark; + line-height: 2.65rem; + margin: rem-calc(20px); + padding: 0.7rem; + font-size: large; + text-align: center; + width: 90%; + cursor: pointer; + &:hover { + background-color: $docker-light; + color: $docker-dark; + } + &:focus { + background-color: $docker-light; + color: $docker-dark; + } + i { + float: right; + } +} + +//TODO: could be global style +.blank-slate { + min-height: 600px; +} + +.page-top-header { + background-color: white; + h3 { + color: #22b8eb; + font-weight: 300; + } +} + +.temp-page { + margin-top: 2rem; + text-align: center; + h1 { + font-size: 24px; + font-weight: 300; + color: lighten(gray, 15%); + } +} + + + select { + background-color: transparent; + border: 1px solid #c4cdda; + transition: border-color 0.15s linear 0s, background 0.15s linear 0s; + outline: 0; + color: #3f5167; + width: rem-calc(100px); + font-size: rem-calc(14px); + font-weight: 300; + border-color: #c4cdda; + border-radius: $global-radius; + } + +form .row textarea.columns { + padding-left: 1rem; +} + +.global-select { + .text { + margin-right: 1rem; + color: $secondary-4; + } +} + +.alert-box { + border-radius: $global-radius; +} + +//TODO: fix in dux +.sk-cube { + background-color: #546473 !important; +} + +/* Pre-move to docker-ux */ +@import 'common/_secondary-top-bar'; +@import 'common/_repository-list-item'; + +// Don't kill me +.mktoForm { + margin-top: 10px; + select#Country { + margin-top: 20px; + } + #Phone { + margin-top: 20px; + } + #accept_eval_terms { + margin-top: 30px; + } +} +.mktoForm div.mktoFormRow { + padding-bottom: 20px; +} +.mktoFieldWrap { + label { + top: -15px; + } +} diff --git a/app/styles/vendor-overrides/rc-tooltip.css b/app/styles/vendor-overrides/rc-tooltip.css new file mode 100644 index 0000000000..ab6f60e661 --- /dev/null +++ b/app/styles/vendor-overrides/rc-tooltip.css @@ -0,0 +1,31 @@ +.rc-tooltip-inner { + border: 0 none; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2); +} +.rc-tooltip-placement-top .rc-tooltip-arrow { + border-left: 0 none; + border-top: 0 none; + background: #fff; + width: 10px; + height: 10px; + transform: rotate(45deg); + border-right: 1px solid #ddd; + border-bottom: 1px solid #ddd; + z-index: 999; +} + +.rc-tooltip-placement-bottom .rc-tooltip-arrow { + background: #fff; + width: 10px; + height: 10px; + transform: rotate(45deg); + border-right: 0 none; + border-bottom: 0 none; + border-left: 1px solid #ddd; + border-top: 1px solid #ddd; + z-index: 999; +} + +.rc-tooltip-inner * { + word-wrap: break-word; +} diff --git a/app/styles/vendor-overrides/react-select.css b/app/styles/vendor-overrides/react-select.css new file mode 100644 index 0000000000..dbce7cfccd --- /dev/null +++ b/app/styles/vendor-overrides/react-select.css @@ -0,0 +1,279 @@ +/** + * React Select + * ============ + * Created by Jed Watson and Joss Mackison for KeystoneJS, http://www.keystonejs.com/ + * https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs + * MIT License: https://github.com/keystonejs/react-select + * + * Modified to match our styles +*/ + +.Select { + position: relative; +} +.Select-control { + position: relative; + overflow: hidden; + background-color: #fff; + border: 1px solid #ccc; + border-color: #d9d9d9 #ccc #b3b3b3; + border-radius: 3px; + box-sizing: border-box; + color: #333; + cursor: default; + outline: none; + padding: 8px 52px 8px 10px; +} +.Select-control:hover { + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06); +} +.is-searchable.is-open > .Select-control { + cursor: text; +} +.is-open > .Select-control { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + background: #fff; + border-color: #b3b3b3 #ccc #d9d9d9; +} +.is-open > .Select-control > .Select-arrow { + border-color: transparent transparent #999; + border-width: 0 5px 5px; +} +.is-searchable.is-focused:not(.is-open) > .Select-control { + cursor: text; +} +.is-focused:not(.is-open) > .Select-control { + border-color: #08c #0099e6 #0099e6; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 0 5px -1px rgba(0, 136, 204, 0.5); +} +.Select-placeholder { + color: #aaa; + padding: 4px 52px 8px 10px; + position: absolute; + top: 0; + left: 0; + right: -15px; + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.has-value > .Select-control > .Select-placeholder { + color: #333; +} +.Select-value { + color: #aaa; + padding: 4px 52px 8px 10px; + position: absolute; + top: 0; + left: 0; + right: -15px; + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.has-value > .Select-control > .Select-value { + color: #333; +} +.Select-input > input { + cursor: default; + background: none transparent; + box-shadow: none; + height: auto; + border: 0 none; + font-family: inherit; + font-size: inherit; + margin: 0; + padding: 0; + outline: none; + display: inline-block; + -webkit-appearance: none; +} +.is-focused .Select-input > input { + cursor: text; +} +.Select-control:not(.is-searchable) > .Select-input { + outline: none; +} +.Select-loading { + -webkit-animation: Select-animation-spin 400ms infinite linear; + -o-animation: Select-animation-spin 400ms infinite linear; + animation: Select-animation-spin 400ms infinite linear; + width: 16px; + height: 16px; + box-sizing: border-box; + border-radius: 50%; + border: 2px solid #ccc; + border-right-color: #333; + display: inline-block; + position: relative; + margin-top: -8px; + position: absolute; + right: 30px; + top: 50%; +} +.has-value > .Select-control > .Select-loading { + right: 46px; +} +.Select-clear { + color: #999; + cursor: pointer; + display: inline-block; + font-size: 12px; + padding: 6px 10px; + position: absolute; + right: 17px; + top: 0; +} +.Select-clear:hover { + color: #c0392b; +} +.Select-clear > span { + font-size: 0.8rem; +} +.Select-arrow-zone { + content: " "; + display: block; + position: absolute; + right: 0; + top: 0; + bottom: 0; + width: 30px; + cursor: pointer; +} +.Select-arrow { + border-color: #999 transparent transparent; + border-style: solid; + border-width: 5px 5px 0; + content: " "; + display: block; + height: 0; + margin-top: -ceil(2.5px); + position: absolute; + right: 10px; + top: 14px; + width: 0; + cursor: pointer; +} +.Select-menu-outer { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + background-color: #fff; + border: 1px solid #ccc; + border-top-color: #e6e6e6; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06); + box-sizing: border-box; + margin-top: -1px; + max-height: 200px; + position: absolute; + top: 100%; + width: 100%; + z-index: 1000; + -webkit-overflow-scrolling: touch; +} +.Select-menu { + max-height: 198px; + overflow-y: auto; +} +.Select-option { + box-sizing: border-box; + color: #666666; + cursor: pointer; + display: block; + padding: 8px 10px; +} +.Select-option:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.Select-option.is-focused { + background-color: #f2f9fc; + color: #333; +} +.Select-option.is-disabled { + color: #cccccc; + cursor: not-allowed; +} +.Select-noresults, +.Select-search-prompt, +.Select-searching { + box-sizing: border-box; + color: #999999; + cursor: default; + display: block; + padding: 8px 10px; +} +.Select.is-multi .Select-control { + padding: 2px 52px 2px 3px; +} +.Select.is-multi .Select-input { + vertical-align: middle; + border: 1px solid transparent; + margin: 2px; + padding: 3px 0; +} +.Select-item { + background-color: #f2f9fc; + border-radius: 2px; + border: 1px solid #c9e6f2; + color: #08c; + display: inline-block; + font-size: 0.8rem; + margin: 2px; +} +.Select-item-icon, +.Select-item-label { + display: inline-block; + vertical-align: middle; +} +.Select-item-label { + cursor: default; + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; + padding: 3px 5px; +} +.Select-item-label .Select-item-label__a { + color: #08c; + cursor: pointer; +} +.Select-item-icon { + cursor: pointer; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; + border-right: 1px solid #c9e6f2; + padding: 2px 5px 4px; +} +.Select-item-icon:hover, +.Select-item-icon:focus { + background-color: #ddeff7; + color: #0077b3; +} +.Select-item-icon:active { + background-color: #c9e6f2; +} +.Select.is-multi.is-disabled .Select-item { + background-color: #f2f2f2; + border: 1px solid #d9d9d9; + color: #888; +} +.Select.is-multi.is-disabled .Select-item-icon { + cursor: not-allowed; + border-right: 1px solid #d9d9d9; +} +.Select.is-multi.is-disabled .Select-item-icon:hover, +.Select.is-multi.is-disabled .Select-item-icon:focus, +.Select.is-multi.is-disabled .Select-item-icon:active { + background-color: #f2f2f2; +} +@keyframes Select-animation-spin { + to { + transform: rotate(1turn); + } +} +@-webkit-keyframes Select-animation-spin { + to { + -webkit-transform: rotate(1turn); + } +} diff --git a/circle.yml b/circle.yml new file mode 100644 index 0000000000..0de8e4850b --- /dev/null +++ b/circle.yml @@ -0,0 +1,43 @@ +machine: + pre: + - echo 'DOCKER_OPTS="-s btrfs -e lxc -D --userland-proxy=false"' | sudo tee -a /etc/default/docker + - sudo curl -L -o /usr/bin/docker 'https://s3-external-1.amazonaws.com/circle-downloads/docker-1.8.2-circleci-cp-workaround' + - sudo chmod 0755 /usr/bin/docker + node: + version: 4.1.0 + services: + - docker +dependencies: + override: + - mkdir -p ./bin + - pip install fabric==1.8.1 + - pip install pycrypto + - make hub-deps +test: + override: + - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_AUTH + - docker build -f dockerfiles/milky-way-no-bin -t milky-no-bin ./dockerfiles + - make dev + - make dev-tag + - make stage + - mkdir .stage/ + - make copy-stage + - docker run -d --name milky milky-no-bin sleep 15m + - cd .stage/.build-prod && docker cp milky:/opt/hub/modules.tar . && docker build -t bagel/hub-stage . + - make prod + - make base-prod-tag + - make copy-prod + - docker run -d --name milky-2 milky-no-bin sleep 15m + - cd .build-prod && docker cp milky-2:/opt/hub/modules.tar . && docker build -t bagel/hub-prod . + - docker run -de ENV=production -p 3000:3000 --name hub-prod-tester bagel/hub-prod + - sleep 60s + - curl $(docker inspect --format '{{ .NetworkSettings.IPAddress }}' hub-prod-tester):3000 +deployment: + autodeploy: + branch: [master, autodeploy] + owner: docker + commands: + - docker push bagel/hub-prod + - docker push bagel/hub-stage + - chmod 400 ~/.ssh/id_console-demo + - fab -H root@console-demo.docker.com -i ~/.ssh/id_console-demo start_project:email=$DOCKER_EMAIL,user=$DOCKER_USER,auth=$DOCKER_AUTH,beta_password=$BETA_PASSWORD,sha=latest,new_relic_key=$NEW_RELIC_KEY,new_relic_app_name=$NEW_RELIC_APP_NAME diff --git a/containers/README.md b/containers/README.md new file mode 100644 index 0000000000..6cb24e12b8 --- /dev/null +++ b/containers/README.md @@ -0,0 +1,48 @@ + +# Containers + +These are the "accessory" containers with which Hub 2.0 is run. + +## dnsmasq + +dnsmasq is used to fake the `Origin` header in CORS requests. This is +necessary because the browser automatically sends `Origin: localhost` +(users can't modify it) and we need it to be in the `*.docker.com` +space, since staging is set up to handle single dot subdomains. + +We've chosen `bagels.docker.com` as the development domain (something +that is unlikely to ever be deployed in production so that we won't +have to change the name in the future). + +### prerequisites + +```bash +cd $PROJECT +make dns +``` + +This runs `$PROJECT/containers/configure_system_dns.sh`, which will +add `bagels.docker.com` to your host system's `/etc/resolver/`. This +makes it so that `bagels.docker.com` will resolver to `boot2docker ip`. + +### run + +```bash +cd $PROJECT/containers/dnsmasq +docker build -t bagelteam/dnsmasq +docker run -itp 53:53/udp bagelteam/dnsmasq +``` + +## HAProxy + +HAProxy is a load balancer used to terminate SSL. + +Currently Out-of-Order. + +```bash +docker run -itp 80:80 -p 443:433 bagelteam/haproxy +``` + +HAProxy will load balance `bagels.docker.com` across a single +container (hah), and more importantly, take care of SSL Offloading at +the load balancer. The image has it's own SSL certificates. diff --git a/containers/dnsmasq/Dockerfile b/containers/dnsmasq/Dockerfile new file mode 100644 index 0000000000..40c00e83d5 --- /dev/null +++ b/containers/dnsmasq/Dockerfile @@ -0,0 +1,12 @@ +FROM debian:jessie + +MAINTAINER Chris Biscardi + +RUN apt-get update && apt-get install -y dnsmasq + +EXPOSE 53/udp + +ADD ./run /opt/run + +CMD "/opt/run" +# docker run -d -p 53:53/udp --name docker-dnsmasq dnsmasq --address=/dev.docker.io/172.16.200.100 diff --git a/containers/dnsmasq/configure_system_dns.sh b/containers/dnsmasq/configure_system_dns.sh new file mode 100755 index 0000000000..d84112198a --- /dev/null +++ b/containers/dnsmasq/configure_system_dns.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# Docker Bridge IP - https://docs.docker.com/articles/networking/ +# $DOCKER_HOST will be the IP of the boot2docker or docker-machine +# instance *currently sourced in your shell*. This means something +# like $(docker-machine env dev) or $(boot2docker shellinit) +if [[ $DOCKER_HOST =~ ([0-9]{1,3}[\.]){3}[0-9]{1,3} ]]; then + DAEMON_IPV4=$BASH_REMATCH + echo $DAEMON_IPV4 +else + echo "unable to parse string $DOCKER_HOST" +fi + +set_dev_resolver() { + echo "Bagels need your permission to configure system DNS." + sudo mkdir -p /etc/resolver + echo "nameserver $DAEMON_IPV4" | sudo tee /etc/resolver/bagels.docker.com +} + +if [ ! -f /etc/resolver/bagels.docker.com ]; then + set_dev_resolver +elif [ "$(cat /etc/resolver/bagels.docker.com)" != "nameserver $DAEMON_IPV4" ]; then + set_dev_resolver +fi diff --git a/containers/dnsmasq/run b/containers/dnsmasq/run new file mode 100755 index 0000000000..b2b60ad240 --- /dev/null +++ b/containers/dnsmasq/run @@ -0,0 +1,13 @@ +#!/bin/bash + +# match the ip address from a DOCKER_HOST which is set by boot2docker +# and docker-machine +if [[ $DOCKER_HOST =~ ([0-9]{1,3}[\.]){3}[0-9]{1,3} ]]; then + strresult=$BASH_REMATCH + echo $strresult +else + echo "unable to parse string $DOCKER_HOST" +fi + +/usr/sbin/dnsmasq -q --no-daemon --address=/bagels.docker.com/$strresult +#$strresult diff --git a/containers/haproxy/Dockerfile b/containers/haproxy/Dockerfile new file mode 100644 index 0000000000..034260c7e2 --- /dev/null +++ b/containers/haproxy/Dockerfile @@ -0,0 +1,10 @@ +FROM fish/haproxy + +ADD . /haproxy + +EXPOSE 80 443 + +# Check is haproxy.cfg is valid before we start +# CMD "(haproxy -c -f /haproxy/haproxy.cfg || ( echo 'Bad haproxy config'; exit; )) && /usr/sbin/haproxy -f /haproxy/haproxy.cfg & && wait $!" + +ENTRYPOINT ["/haproxy/run"] \ No newline at end of file diff --git a/containers/haproxy/haproxy.cfg b/containers/haproxy/haproxy.cfg new file mode 100644 index 0000000000..b9d1c5014a --- /dev/null +++ b/containers/haproxy/haproxy.cfg @@ -0,0 +1,41 @@ +global + chroot /var/lib/haproxy + user haproxy + group haproxy + +defaults + log global + mode http + option httplog + option dontlognull + timeout connect 5000 + timeout client 50000 + timeout server 50000 + errorfile 400 /etc/haproxy/errors/400.http + errorfile 403 /etc/haproxy/errors/403.http + errorfile 408 /etc/haproxy/errors/408.http + errorfile 500 /etc/haproxy/errors/500.http + errorfile 502 /etc/haproxy/errors/502.http + errorfile 503 /etc/haproxy/errors/503.http + errorfile 504 /etc/haproxy/errors/504.http + stats enable + stats auth haproxy:hapass + +frontend https + bind :443 ssl crt /haproxy/keys/bagels.docker.com/bagels.docker.pem + acl is-ssl dst_port 443 + + http-request set-header X-Real-IP %ci + + reqadd X-Forwarded-Proto:\ https if is-ssl + reqadd X-Forwarded-Port:\ 443 if is-ssl + rspadd Strict-Transport-Security:\ max-age=31536000 if is-ssl + + acl is_hub_dev hdr(host) -i bagels.docker.com + + use_backend hub_dev if is_hub_dev + +backend hub_dev + balance leastconn + option httpclose + server docker-1 {DOCKER_HOST}:7001 check \ No newline at end of file diff --git a/containers/haproxy/keys/bagels.docker.com/bagels.docker.crt b/containers/haproxy/keys/bagels.docker.com/bagels.docker.crt new file mode 100644 index 0000000000..44765408fb --- /dev/null +++ b/containers/haproxy/keys/bagels.docker.com/bagels.docker.crt @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICNTCCAZ4CCQDY33gN8y9BQzANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJV +UzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xDzANBgNVBAoT +BkRvY2tlcjEaMBgGA1UEAxMRYmFnZWxzLmRvY2tlci5jb20wHhcNMTUwMTIxMDM1 +NTEzWhcNMTYwMTIxMDM1NTEzWjBfMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0Ex +FjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xDzANBgNVBAoTBkRvY2tlcjEaMBgGA1UE +AxMRYmFnZWxzLmRvY2tlci5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +AMluBCvOUrdFkFGCmpKBPduoZgYE/hNKnmX3Cqrn+FsodOBiin1lOs7+XX3EY078 +u5QIULNZ3j/LUSuxgHBS8RcVc3ljCkvwRURwVy6FWunahdTULLEq+qOByv6Hq2/W +itlzT2Rw6Tu29IThb7Mtxb1B6LoAorkWX/YEXankpVPnAgMBAAEwDQYJKoZIhvcN +AQEFBQADgYEAPdqZ2jLxOuZ52wucJN1DoOBUCWnCM5bfBHOU3wBqSPA/mT2Bw5Fo +evqqd+mRWizgmSkDM9NpO9cj9tpeidTrHsTutkqjQttIeNAtZm82sSWH7ul1N1du +4aDDKwAk4j9BYPUmYQFaSRKNtE/OpGVPxxK/ZBS8YeVT0knzTr/a9to= +-----END CERTIFICATE----- diff --git a/containers/haproxy/keys/bagels.docker.com/bagels.docker.csr b/containers/haproxy/keys/bagels.docker.com/bagels.docker.csr new file mode 100644 index 0000000000..b9d96abb7e --- /dev/null +++ b/containers/haproxy/keys/bagels.docker.com/bagels.docker.csr @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIBnzCCAQgCAQAwXzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQH +Ew1TYW4gRnJhbmNpc2NvMQ8wDQYDVQQKEwZEb2NrZXIxGjAYBgNVBAMTEWJhZ2Vs +cy5kb2NrZXIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJbgQrzlK3 +RZBRgpqSgT3bqGYGBP4TSp5l9wqq5/hbKHTgYop9ZTrO/l19xGNO/LuUCFCzWd4/ +y1ErsYBwUvEXFXN5YwpL8EVEcFcuhVrp2oXU1CyxKvqjgcr+h6tv1orZc09kcOk7 +tvSE4W+zLcW9Qei6AKK5Fl/2BF2p5KVT5wIDAQABoAAwDQYJKoZIhvcNAQEFBQAD +gYEAlAQKhy4j7wenWqnKzfpp/o0cbzQAcve76XSwfWrzONFDZidhQlwAKBdYbYN3 +4ITqNw4MPSCMBkMMCQFFFHM/+NqlAmYYbJHv8uDxKel/7IsxIEPRun0b6k/+wL2e +2nyJJrMwesVrzvDwfB+8eoUOZFJIiX6htpxU4vgq9xMgMAg= +-----END CERTIFICATE REQUEST----- diff --git a/containers/haproxy/keys/bagels.docker.com/bagels.docker.key b/containers/haproxy/keys/bagels.docker.com/bagels.docker.key new file mode 100644 index 0000000000..6659dc144c --- /dev/null +++ b/containers/haproxy/keys/bagels.docker.com/bagels.docker.key @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDJbgQrzlK3RZBRgpqSgT3bqGYGBP4TSp5l9wqq5/hbKHTgYop9 +ZTrO/l19xGNO/LuUCFCzWd4/y1ErsYBwUvEXFXN5YwpL8EVEcFcuhVrp2oXU1Cyx +Kvqjgcr+h6tv1orZc09kcOk7tvSE4W+zLcW9Qei6AKK5Fl/2BF2p5KVT5wIDAQAB +AoGAcA+Qqn5Cbkt5Gp+6Nr9IFqf8+mRUpY7hyIBDowkiljRPsXWg7loe+YFxqcJU +LWFVSenGW8Enb/5AzjoV5md+UAiERbF13SzrEx7J7riwb1ljHe82RqUbyfpnnDWT +aSZ/ce+9LYoYggFVfH7DloT8NNsQzTDi2/g+66dXi8fcIIECQQDqykIcF20sz8Ar +H3StlgITEorJiZRpvbzuQ6G7XoC1XOI1/0+1NbIHm3lv4XfvaRSdKv0mnPaZmi3h +PWZC/zj3AkEA26BE6iEGO3eJ39l1zRpB1jS/VrEAa7pzGeEFeL+k/5XEWqsgHOtQ +qIbPtCyKcN5mtCYEg6GEK/pqNALWL6ZwkQJATT9CRO/IMaggd4+f2cSy5geBthEX +zTppwJJr0bOj8QegPVfEp8AE1M/oQlESHqiZ6aPNKjkWQS8izSpgTMafvQJAILDT +cTInNlTNvfcldLkS0aqaTHIeSOrA1TpMUTPdgHmvd3t/VS6lm+AtLHlwxeokyW3b +QCibftxQUJuXfBI/MQJAAt2m8P0V+U/MFjNhYUd2jwJIFFh7AVYeSH26NxzQMgO0 +YNQAaRKxwuhDrxyVwezryzyBcVWKdfhCtgOK6U5mFw== +-----END RSA PRIVATE KEY----- diff --git a/containers/haproxy/keys/bagels.docker.com/bagels.docker.pem b/containers/haproxy/keys/bagels.docker.com/bagels.docker.pem new file mode 100644 index 0000000000..753429af60 --- /dev/null +++ b/containers/haproxy/keys/bagels.docker.com/bagels.docker.pem @@ -0,0 +1,29 @@ +-----BEGIN CERTIFICATE----- +MIICNTCCAZ4CCQDY33gN8y9BQzANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJV +UzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xDzANBgNVBAoT +BkRvY2tlcjEaMBgGA1UEAxMRYmFnZWxzLmRvY2tlci5jb20wHhcNMTUwMTIxMDM1 +NTEzWhcNMTYwMTIxMDM1NTEzWjBfMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0Ex +FjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xDzANBgNVBAoTBkRvY2tlcjEaMBgGA1UE +AxMRYmFnZWxzLmRvY2tlci5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +AMluBCvOUrdFkFGCmpKBPduoZgYE/hNKnmX3Cqrn+FsodOBiin1lOs7+XX3EY078 +u5QIULNZ3j/LUSuxgHBS8RcVc3ljCkvwRURwVy6FWunahdTULLEq+qOByv6Hq2/W +itlzT2Rw6Tu29IThb7Mtxb1B6LoAorkWX/YEXankpVPnAgMBAAEwDQYJKoZIhvcN +AQEFBQADgYEAPdqZ2jLxOuZ52wucJN1DoOBUCWnCM5bfBHOU3wBqSPA/mT2Bw5Fo +evqqd+mRWizgmSkDM9NpO9cj9tpeidTrHsTutkqjQttIeNAtZm82sSWH7ul1N1du +4aDDKwAk4j9BYPUmYQFaSRKNtE/OpGVPxxK/ZBS8YeVT0knzTr/a9to= +-----END CERTIFICATE----- +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDJbgQrzlK3RZBRgpqSgT3bqGYGBP4TSp5l9wqq5/hbKHTgYop9 +ZTrO/l19xGNO/LuUCFCzWd4/y1ErsYBwUvEXFXN5YwpL8EVEcFcuhVrp2oXU1Cyx +Kvqjgcr+h6tv1orZc09kcOk7tvSE4W+zLcW9Qei6AKK5Fl/2BF2p5KVT5wIDAQAB +AoGAcA+Qqn5Cbkt5Gp+6Nr9IFqf8+mRUpY7hyIBDowkiljRPsXWg7loe+YFxqcJU +LWFVSenGW8Enb/5AzjoV5md+UAiERbF13SzrEx7J7riwb1ljHe82RqUbyfpnnDWT +aSZ/ce+9LYoYggFVfH7DloT8NNsQzTDi2/g+66dXi8fcIIECQQDqykIcF20sz8Ar +H3StlgITEorJiZRpvbzuQ6G7XoC1XOI1/0+1NbIHm3lv4XfvaRSdKv0mnPaZmi3h +PWZC/zj3AkEA26BE6iEGO3eJ39l1zRpB1jS/VrEAa7pzGeEFeL+k/5XEWqsgHOtQ +qIbPtCyKcN5mtCYEg6GEK/pqNALWL6ZwkQJATT9CRO/IMaggd4+f2cSy5geBthEX +zTppwJJr0bOj8QegPVfEp8AE1M/oQlESHqiZ6aPNKjkWQS8izSpgTMafvQJAILDT +cTInNlTNvfcldLkS0aqaTHIeSOrA1TpMUTPdgHmvd3t/VS6lm+AtLHlwxeokyW3b +QCibftxQUJuXfBI/MQJAAt2m8P0V+U/MFjNhYUd2jwJIFFh7AVYeSH26NxzQMgO0 +YNQAaRKxwuhDrxyVwezryzyBcVWKdfhCtgOK6U5mFw== +-----END RSA PRIVATE KEY----- diff --git a/containers/haproxy/run b/containers/haproxy/run new file mode 100755 index 0000000000..b26edf0b91 --- /dev/null +++ b/containers/haproxy/run @@ -0,0 +1,19 @@ +#!/bin/bash + +# match the ip address from a DOCKER_HOST which is set by boot2docker +# and docker-machine +if [[ $DOCKER_HOST =~ ([0-9]{1,3}[\.]){3}[0-9]{1,3} ]]; then + strresult=$BASH_REMATCH + echo $strresult +else + echo "unable to parse string $DOCKER_HOST" +fi + +sed -i s/{DOCKER_HOST}/"$strresult"/g /haproxy/haproxy.cfg + +# Check is haproxy.cfg is valid before we start +haproxy -c -f /haproxy/haproxy.cfg || ( echo 'Bad haproxy config'; exit; ) + +/usr/sbin/haproxy -f /haproxy/haproxy.cfg & + +wait $! diff --git a/containers/prod/build b/containers/prod/build new file mode 100755 index 0000000000..af29f19d61 --- /dev/null +++ b/containers/prod/build @@ -0,0 +1 @@ +docker build -t bagel/haproxy_beta ./haproxy \ No newline at end of file diff --git a/containers/prod/docker-compose.yml b/containers/prod/docker-compose.yml new file mode 100644 index 0000000000..838d385d12 --- /dev/null +++ b/containers/prod/docker-compose.yml @@ -0,0 +1,13 @@ +haproxy: + build: ./haproxy + ports: + - "80:80" + - "443:443" +hub: + build: bagelteam/hubtest + volumes: + - .:/opt/hub + ports: + - "7001:3000" + environment: + ENV: production \ No newline at end of file diff --git a/containers/prod/haproxy/Dockerfile b/containers/prod/haproxy/Dockerfile new file mode 100644 index 0000000000..12a913f9de --- /dev/null +++ b/containers/prod/haproxy/Dockerfile @@ -0,0 +1,9 @@ +FROM fish/haproxy + +ADD ./haproxy.cfg /haproxy/haproxy.cfg +ADD ./run /haproxy/run + +EXPOSE 80 443 + +ENTRYPOINT ["/haproxy/run"] + diff --git a/containers/prod/haproxy/haproxy.cfg b/containers/prod/haproxy/haproxy.cfg new file mode 100644 index 0000000000..72a144b20e --- /dev/null +++ b/containers/prod/haproxy/haproxy.cfg @@ -0,0 +1,46 @@ +global + chroot /var/lib/haproxy + user haproxy + group haproxy + +defaults + log global + mode http + option httplog + option dontlognull + timeout connect 5000 + timeout client 50000 + timeout server 50000 + errorfile 400 /etc/haproxy/errors/400.http + errorfile 403 /etc/haproxy/errors/403.http + errorfile 408 /etc/haproxy/errors/408.http + errorfile 500 /etc/haproxy/errors/500.http + errorfile 502 /etc/haproxy/errors/502.http + errorfile 503 /etc/haproxy/errors/503.http + errorfile 504 /etc/haproxy/errors/504.http + stats enable + stats auth haproxy:hapass + +userlist Bagels + user betalist insecure-password {BETA_PASSWORD} + +frontend https + bind :443 ssl crt /haproxy/keys/hub-beta.docker.com/hub-beta.docker.pem + acl is-ssl dst_port 443 + acl Auth_Bagels http_auth(Bagels) + http-request auth realm HubBeta if !Auth_Bagels + + http-request set-header X-Real-IP %ci + + reqadd X-Forwarded-Proto:\ https if is-ssl + reqadd X-Forwarded-Port:\ 443 if is-ssl + rspadd Strict-Transport-Security:\ max-age=31536000 if is-ssl + + acl is_hub_dev hdr(host) -i hub-beta.docker.com + + use_backend hub_dev if is_hub_dev + +backend hub_dev + balance leastconn + option httpclose + server docker-1 172.17.42.1:7001 check diff --git a/containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.crt b/containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.crt new file mode 100644 index 0000000000..44765408fb --- /dev/null +++ b/containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.crt @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICNTCCAZ4CCQDY33gN8y9BQzANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJV +UzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xDzANBgNVBAoT +BkRvY2tlcjEaMBgGA1UEAxMRYmFnZWxzLmRvY2tlci5jb20wHhcNMTUwMTIxMDM1 +NTEzWhcNMTYwMTIxMDM1NTEzWjBfMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0Ex +FjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xDzANBgNVBAoTBkRvY2tlcjEaMBgGA1UE +AxMRYmFnZWxzLmRvY2tlci5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +AMluBCvOUrdFkFGCmpKBPduoZgYE/hNKnmX3Cqrn+FsodOBiin1lOs7+XX3EY078 +u5QIULNZ3j/LUSuxgHBS8RcVc3ljCkvwRURwVy6FWunahdTULLEq+qOByv6Hq2/W +itlzT2Rw6Tu29IThb7Mtxb1B6LoAorkWX/YEXankpVPnAgMBAAEwDQYJKoZIhvcN +AQEFBQADgYEAPdqZ2jLxOuZ52wucJN1DoOBUCWnCM5bfBHOU3wBqSPA/mT2Bw5Fo +evqqd+mRWizgmSkDM9NpO9cj9tpeidTrHsTutkqjQttIeNAtZm82sSWH7ul1N1du +4aDDKwAk4j9BYPUmYQFaSRKNtE/OpGVPxxK/ZBS8YeVT0knzTr/a9to= +-----END CERTIFICATE----- diff --git a/containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.csr b/containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.csr new file mode 100644 index 0000000000..b9d96abb7e --- /dev/null +++ b/containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.csr @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIBnzCCAQgCAQAwXzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQH +Ew1TYW4gRnJhbmNpc2NvMQ8wDQYDVQQKEwZEb2NrZXIxGjAYBgNVBAMTEWJhZ2Vs +cy5kb2NrZXIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJbgQrzlK3 +RZBRgpqSgT3bqGYGBP4TSp5l9wqq5/hbKHTgYop9ZTrO/l19xGNO/LuUCFCzWd4/ +y1ErsYBwUvEXFXN5YwpL8EVEcFcuhVrp2oXU1CyxKvqjgcr+h6tv1orZc09kcOk7 +tvSE4W+zLcW9Qei6AKK5Fl/2BF2p5KVT5wIDAQABoAAwDQYJKoZIhvcNAQEFBQAD +gYEAlAQKhy4j7wenWqnKzfpp/o0cbzQAcve76XSwfWrzONFDZidhQlwAKBdYbYN3 +4ITqNw4MPSCMBkMMCQFFFHM/+NqlAmYYbJHv8uDxKel/7IsxIEPRun0b6k/+wL2e +2nyJJrMwesVrzvDwfB+8eoUOZFJIiX6htpxU4vgq9xMgMAg= +-----END CERTIFICATE REQUEST----- diff --git a/containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.key b/containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.key new file mode 100644 index 0000000000..6659dc144c --- /dev/null +++ b/containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.key @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDJbgQrzlK3RZBRgpqSgT3bqGYGBP4TSp5l9wqq5/hbKHTgYop9 +ZTrO/l19xGNO/LuUCFCzWd4/y1ErsYBwUvEXFXN5YwpL8EVEcFcuhVrp2oXU1Cyx +Kvqjgcr+h6tv1orZc09kcOk7tvSE4W+zLcW9Qei6AKK5Fl/2BF2p5KVT5wIDAQAB +AoGAcA+Qqn5Cbkt5Gp+6Nr9IFqf8+mRUpY7hyIBDowkiljRPsXWg7loe+YFxqcJU +LWFVSenGW8Enb/5AzjoV5md+UAiERbF13SzrEx7J7riwb1ljHe82RqUbyfpnnDWT +aSZ/ce+9LYoYggFVfH7DloT8NNsQzTDi2/g+66dXi8fcIIECQQDqykIcF20sz8Ar +H3StlgITEorJiZRpvbzuQ6G7XoC1XOI1/0+1NbIHm3lv4XfvaRSdKv0mnPaZmi3h +PWZC/zj3AkEA26BE6iEGO3eJ39l1zRpB1jS/VrEAa7pzGeEFeL+k/5XEWqsgHOtQ +qIbPtCyKcN5mtCYEg6GEK/pqNALWL6ZwkQJATT9CRO/IMaggd4+f2cSy5geBthEX +zTppwJJr0bOj8QegPVfEp8AE1M/oQlESHqiZ6aPNKjkWQS8izSpgTMafvQJAILDT +cTInNlTNvfcldLkS0aqaTHIeSOrA1TpMUTPdgHmvd3t/VS6lm+AtLHlwxeokyW3b +QCibftxQUJuXfBI/MQJAAt2m8P0V+U/MFjNhYUd2jwJIFFh7AVYeSH26NxzQMgO0 +YNQAaRKxwuhDrxyVwezryzyBcVWKdfhCtgOK6U5mFw== +-----END RSA PRIVATE KEY----- diff --git a/containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.pem b/containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.pem new file mode 100644 index 0000000000..753429af60 --- /dev/null +++ b/containers/prod/haproxy/keys/bagels.docker.com/bagels.docker.pem @@ -0,0 +1,29 @@ +-----BEGIN CERTIFICATE----- +MIICNTCCAZ4CCQDY33gN8y9BQzANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJV +UzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xDzANBgNVBAoT +BkRvY2tlcjEaMBgGA1UEAxMRYmFnZWxzLmRvY2tlci5jb20wHhcNMTUwMTIxMDM1 +NTEzWhcNMTYwMTIxMDM1NTEzWjBfMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0Ex +FjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xDzANBgNVBAoTBkRvY2tlcjEaMBgGA1UE +AxMRYmFnZWxzLmRvY2tlci5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +AMluBCvOUrdFkFGCmpKBPduoZgYE/hNKnmX3Cqrn+FsodOBiin1lOs7+XX3EY078 +u5QIULNZ3j/LUSuxgHBS8RcVc3ljCkvwRURwVy6FWunahdTULLEq+qOByv6Hq2/W +itlzT2Rw6Tu29IThb7Mtxb1B6LoAorkWX/YEXankpVPnAgMBAAEwDQYJKoZIhvcN +AQEFBQADgYEAPdqZ2jLxOuZ52wucJN1DoOBUCWnCM5bfBHOU3wBqSPA/mT2Bw5Fo +evqqd+mRWizgmSkDM9NpO9cj9tpeidTrHsTutkqjQttIeNAtZm82sSWH7ul1N1du +4aDDKwAk4j9BYPUmYQFaSRKNtE/OpGVPxxK/ZBS8YeVT0knzTr/a9to= +-----END CERTIFICATE----- +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDJbgQrzlK3RZBRgpqSgT3bqGYGBP4TSp5l9wqq5/hbKHTgYop9 +ZTrO/l19xGNO/LuUCFCzWd4/y1ErsYBwUvEXFXN5YwpL8EVEcFcuhVrp2oXU1Cyx +Kvqjgcr+h6tv1orZc09kcOk7tvSE4W+zLcW9Qei6AKK5Fl/2BF2p5KVT5wIDAQAB +AoGAcA+Qqn5Cbkt5Gp+6Nr9IFqf8+mRUpY7hyIBDowkiljRPsXWg7loe+YFxqcJU +LWFVSenGW8Enb/5AzjoV5md+UAiERbF13SzrEx7J7riwb1ljHe82RqUbyfpnnDWT +aSZ/ce+9LYoYggFVfH7DloT8NNsQzTDi2/g+66dXi8fcIIECQQDqykIcF20sz8Ar +H3StlgITEorJiZRpvbzuQ6G7XoC1XOI1/0+1NbIHm3lv4XfvaRSdKv0mnPaZmi3h +PWZC/zj3AkEA26BE6iEGO3eJ39l1zRpB1jS/VrEAa7pzGeEFeL+k/5XEWqsgHOtQ +qIbPtCyKcN5mtCYEg6GEK/pqNALWL6ZwkQJATT9CRO/IMaggd4+f2cSy5geBthEX +zTppwJJr0bOj8QegPVfEp8AE1M/oQlESHqiZ6aPNKjkWQS8izSpgTMafvQJAILDT +cTInNlTNvfcldLkS0aqaTHIeSOrA1TpMUTPdgHmvd3t/VS6lm+AtLHlwxeokyW3b +QCibftxQUJuXfBI/MQJAAt2m8P0V+U/MFjNhYUd2jwJIFFh7AVYeSH26NxzQMgO0 +YNQAaRKxwuhDrxyVwezryzyBcVWKdfhCtgOK6U5mFw== +-----END RSA PRIVATE KEY----- diff --git a/containers/prod/haproxy/run b/containers/prod/haproxy/run new file mode 100755 index 0000000000..145832a4d5 --- /dev/null +++ b/containers/prod/haproxy/run @@ -0,0 +1,10 @@ +#!/bin/bash + +sed -i s/{BETA_PASSWORD}/"$BETA_PASSWORD"/g /haproxy/haproxy.cfg + +# Check is haproxy.cfg is valid before we start +haproxy -c -f /haproxy/haproxy.cfg || ( echo 'Bad haproxy config'; exit; ) + +/usr/sbin/haproxy -f /haproxy/haproxy.cfg & + +wait $! diff --git a/deployment/deploy.sh b/deployment/deploy.sh new file mode 100755 index 0000000000..9eded10710 --- /dev/null +++ b/deployment/deploy.sh @@ -0,0 +1,171 @@ +#!/bin/sh + +DOCKER_CMD=docker + +alias AWS_HUB_PROD='aws ec2 describe-instances --filters "Name=tag:aws:cloudformation:stack-name,Values=us-east-1*" "Name=tag:secondary-role,Values=hub" "Name=instance-state-name,Values=running" --output=json' +alias AWS_HUB_STAGE='aws ec2 describe-instances --filters "Name=tag:aws:cloudformation:stack-name,Values=stage-us-east-1*" "Name=tag:secondary-role,Values=hub" "Name=instance-state-name,Values=running" --output=json' +alias AWS_IP="jq -r '.Reservations[].Instances[].PrivateIpAddress'" + +HUB_GATEWAY="https://hub.docker.com" +HUB_SERVICE_NAME="hub-web-v2" + +DEFAULT_IMAGE_PROD="bagel/hub-prod" +DEFAULT_IMAGE_STAGE="bagel/hub-stage" + +NEW_RELIC_APP_NAME="hub.docker.com(aws-node)" +NEW_RELIC_LICENSE_KEY="582e3891446a63a3f99b4d32f9585ec74af1d8d7" + +NO_COLOR="\033[0m" +RED="\033[0;31m" +GREEN="\033[0;32m" +YELLOW="\033[0;33m" + +MESSAGE_MISSING_OR_INVALID_ARGS="${RED}Missing or invalid arguments${NO_COLOR}" + +# $1: prod or stage +getAWSHosts() { + if [ $1 == "prod" ]; then + echo $(AWS_HUB_PROD | ( AWS_IP ; echo ) | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/:2376 /g') + elif [ $1 == "stage" ]; then + echo $(AWS_HUB_STAGE | ( AWS_IP ; echo ) | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/:2376 /g') + fi +} + +# $1: Exit code +printUsageAndExit() { + echo + echo "Usage: deploy.sh [prod|stage|-h ] [IMAGE]" + echo + echo " prod A predefined list of hosts for production" + echo " stage A predefined list of hosts for staging" + echo " -h A single host address" + echo + exit $1 +} + +# $1: Image argument +parseImageArg() { + if [ -z "$1" ]; then + echo $MESSAGE_MISSING_OR_INVALID_ARGS + printUsageAndExit 1 + fi + IMAGE=$1 +} + +parseArgs() { + if [ $1 == "-h" ]; then + parseImageArg $3 + HOSTS=$2 + else + if [ $1 == "prod" ]; then + if [ -z "$2" ]; then + IMAGE=$DEFAULT_IMAGE_PROD + else + parseImageArg $2 + fi + HOSTS=$( getAWSHosts "prod" ) + elif [ $1 == "stage" ]; then + if [ -z "$2" ]; then + IMAGE=$DEFAULT_IMAGE_STAGE + else + parseImageArg $2 + fi + HOSTS=$( getAWSHosts "stage" ) + else + echo + echo $MESSAGE_MISSING_OR_INVALID_ARGS + printUsageAndExit 1 + fi + fi +} + +# $1: Host IP +# $2: Image +# $3: Container name +# $4: Container port +runContainer() { + $DOCKER_CMD --tlsverify=false -H tcp://$1 run \ + -de ENV=production \ + -e HUB_API_BASE_URL=$HUB_GATEWAY \ + -e REGISTRY_API_BASE_URL=$HUB_GATEWAY \ + -e SERVICE_NAME=$HUB_SERVICE_NAME \ + -e SERVICE_80_NAME=$HUB_SERVICE_NAME \ + -e NEW_RELIC_LICENSE_KEY=$NEW_RELIC_LICENSE_KEY \ + -e NEW_RELIC_APP_NAME=$NEW_RELIC_APP_NAME \ + -e PORT=80 \ + -p $4:80 \ + --restart "unless-stopped" \ + --name $3 \ + $2 +} + +# $1: Host IP +# $2: Container name +removeContainer() { + $DOCKER_CMD --tlsverify=false -H tcp://$1 stop $2 + $DOCKER_CMD --tlsverify=false -H tcp://$1 rm $2 +} + +# $1: Host IP +# $2: Image name +pullImage() { + $DOCKER_CMD --tlsverify=false -H tcp://$1 pull $2 +} + +# $1: Host IP +# $2: Image +deployHost() { + echo + echo "Starting to deploy ${YELLOW}$IMAGE${NO_COLOR} to ${YELLOW}$1${NO_COLOR}" + + pullImage $1 $2 + + removeContainer $1 "hub_2_0" + runContainer $1 $2 "hub_2_0" 6600 + + removeContainer $1 "hub_2_1" + runContainer $1 $2 "hub_2_1" 6601 + + removeContainer $1 "hub_2_2" + runContainer $1 $2 "hub_2_2" 6602 +} + +# Prerequisites: +# 1- AWS +type aws >/dev/null 2>&1 || { echo >&2 "AWS client is required. Make sure 'aws' command is available:\nhttp://docs.aws.amazon.com/cli/latest/userguide/installing.html"; exit 1; } +# 2- JQ +type jq >/dev/null 2>&1 || { echo >&2 "jq JSON processor is required. Make sure 'jq' command is available:\nbrew install jq"; exit 1; } + +# Case for no paremeters specified +if [ -z "$1" ] + then + echo + echo $MESSAGE_MISSING_OR_INVALID_ARGS + printUsageAndExit 1 +fi + +parseArgs "$@" + +echo +echo "Image: ${YELLOW}$IMAGE ${NO_COLOR}" +echo "Hosts: ${YELLOW}$HOSTS${NO_COLOR}" +echo +read -p "Do you want to proceed? [Y/n]" -s -n 1 KEY +echo +if [[ ! $KEY =~ ^[Yy]$ ]]; then + exit 1 +fi + +# Run deployment for each host +for HUB_HOST in $HOSTS +do + deployHost $HUB_HOST $IMAGE + echo + echo "Sleeping for 10 seconds to let the containers boot up..." + echo + sleep 10 +done + +echo +echo "${GREEN}All done!${NO_COLOR}" +echo diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000..c1257d728f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,28 @@ +dnsmasq: + build: ./containers/dnsmasq + ports: + - "53:53/udp" + environment: + - DOCKER_HOST +haproxy: + build: ./containers/haproxy + environment: + - DOCKER_HOST + ports: + - "80:80" + - "443:443" +hub: + build: . + command: node --harmony ./server.js + working_dir: /opt/hub/app/.build + volumes: + - .:/opt/hub + - ./private-deps/docker-ux:/opt/node_modules/docker-ux + - ./private-deps/hub-js-sdk:/opt/node_modules/hub-js-sdk + ports: + - "7001:3000" + environment: + DEBUG: "hub:*" + HUB_API_BASE_URL: "https://hub-beta-stage.docker.com" + REGISTRY_API_BASE_URL: "https://hub-beta-stage.docker.com" + ENV: development diff --git a/dockerfiles/Dockerfile-node-alpine b/dockerfiles/Dockerfile-node-alpine new file mode 100644 index 0000000000..5bfe426dc3 --- /dev/null +++ b/dockerfiles/Dockerfile-node-alpine @@ -0,0 +1,25 @@ +FROM gliderlabs/alpine:3.2 + +ENV VERSION=v4.1.2 CMD=node DOMAIN=nodejs.org CFLAGS="-D__USE_MISC" +# ENV VERSION=v2.2.1 CMD=iojs DOMAIN=iojs.org NO_NPM_UPDATE=true + +# For base builds +ENV CONFIG_FLAGS="--without-npm" RM_DIRS=/usr/include +# ENV CONFIG_FLAGS="--fully-static --without-npm" DEL_PKGS="libgcc libstdc++" RM_DIRS=/usr/include + +RUN apk-install curl make gcc g++ python linux-headers paxctl libgcc libstdc++ && \ + curl -sSL https://${DOMAIN}/dist/${VERSION}/${CMD}-${VERSION}.tar.gz | tar -xz && \ + cd /${CMD}-${VERSION} && \ + ./configure --prefix=/usr ${CONFIG_FLAGS} && \ + make -j$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) && \ + make install && \ + paxctl -cm /usr/bin/${CMD} && \ + cd / && \ + if [ -x /usr/bin/npm -a -z "$NO_NPM_UPDATE" ]; then \ + npm install -g npm && \ + find /usr/lib/node_modules/npm -name test -o -name .bin -type d | xargs rm -rf; \ + fi && \ + apk del curl make gcc g++ python linux-headers paxctl ${DEL_PKGS} && \ + rm -rf /etc/ssl /${CMD}-${VERSION} ${RM_DIRS} \ + /usr/share/man /tmp/* /root/.npm /root/.node-gyp \ + /usr/lib/node_modules/npm/man /usr/lib/node_modules/npm/doc /usr/lib/node_modules/npm/html diff --git a/dockerfiles/Dockerfile-prod-build b/dockerfiles/Dockerfile-prod-build new file mode 100644 index 0000000000..a70cd28bd7 --- /dev/null +++ b/dockerfiles/Dockerfile-prod-build @@ -0,0 +1,22 @@ +FROM bagel/universe:dc9b2190001e9c64d7b5e63dbf9999b2e4c83d25 + +ENV ENV production +ENV NODE_ENV production + +COPY ./app /opt/hub/app +COPY ./Makefile /opt/hub/Makefile +COPY ./_webpack /opt/hub/_webpack +COPY ./gulpfile.js /opt/hub/gulpfile.js +COPY ./gulp-tasks /opt/hub/gulp-tasks +COPY ./app-server /opt/hub/app-server +COPY ./.eslintrc /opt/hub/.eslintrc + +RUN make server-prod-target +RUN make server-extras +RUN make js-prod +RUN make images-prod +RUN make docker-font-prod +RUN gulp images::prod +RUN make styles-base-prod +RUN make stats-dir +RUN make css-stats diff --git a/dockerfiles/Dockerfile-stage-build b/dockerfiles/Dockerfile-stage-build new file mode 100644 index 0000000000..f6aeda2ebb --- /dev/null +++ b/dockerfiles/Dockerfile-stage-build @@ -0,0 +1,22 @@ +FROM bagel/universe:dc9b2190001e9c64d7b5e63dbf9999b2e4c83d25 + +ENV ENV staging +ENV NODE_ENV staging + +COPY ./app /opt/hub/app +COPY ./Makefile /opt/hub/Makefile +COPY ./_webpack /opt/hub/_webpack +COPY ./gulpfile.js /opt/hub/gulpfile.js +COPY ./gulp-tasks /opt/hub/gulp-tasks +COPY ./app-server /opt/hub/app-server +COPY ./.eslintrc /opt/hub/.eslintrc + +RUN make server-prod-target +RUN make server-extras +RUN make js-stage +RUN make images-prod +RUN make docker-font-prod +RUN gulp images::prod +RUN make styles-base-prod +RUN make stats-dir +RUN make css-stats diff --git a/dockerfiles/milky-way b/dockerfiles/milky-way new file mode 100644 index 0000000000..2dc5b9c516 --- /dev/null +++ b/dockerfiles/milky-way @@ -0,0 +1,10 @@ +FROM node:4.1.2 + +WORKDIR /opt/hub +ENV PATH /opt/hub/node_modules/.bin/:$PATH + +RUN apt-get update +COPY ./private-deps /opt/hub/private-deps +COPY ./package.json /opt/hub/ +ADD ./node_modules /opt/hub/node_modules +#RUN npm install --production diff --git a/dockerfiles/milky-way-no-bin b/dockerfiles/milky-way-no-bin new file mode 100644 index 0000000000..79f1d8678c --- /dev/null +++ b/dockerfiles/milky-way-no-bin @@ -0,0 +1,7 @@ +FROM bagel/milky-way:dc9b2190001e9c64d7b5e63dbf9999b2e4c83d25 + +RUN rm -rf /opt/hub/node_modules/.bin && \ + ls && \ + tar -czf modules.tar ./node_modules/* + +CMD ["cat", "/opt/hub/modules.tar"] diff --git a/dockerfiles/saas-config b/dockerfiles/saas-config new file mode 100644 index 0000000000..e11d8a25de --- /dev/null +++ b/dockerfiles/saas-config @@ -0,0 +1,29 @@ +FROM bagel/universe:dc9b2190001e9c64d7b5e63dbf9999b2e4c83d25 + +# Source +COPY ./app /opt/hub/app +# Webpack +COPY ./webpack.config.js /opt/hub/webpack.config.js +COPY ./_webpack /opt/hub/_webpack +# Make +COPY ./Makefile /opt/hub/Makefile +# Gulp +COPY ./gulpfile.js /opt/hub/gulpfile.js +COPY ./gulp-tasks /opt/hub/gulp-tasks +# ESLint +COPY ./.eslintrc /opt/hub/.eslintrc +# Flow +ENV LOGNAME bagels +COPY ./flow-libs /opt/hub/flow-libs +COPY .flowconfig /opt/hub/.flowconfig +ENV PATH /opt/flow/:$PATH + +RUN npm install +RUN DEBUG=* ENV=local webpack -d +RUN make server-target +RUN make styles-base +RUN gulp images::dev +RUN make images +RUN make docker-font-dev +# favicon +COPY ./app/favicon.ico /opt/hub/app/.build/ diff --git a/dockerfiles/universe b/dockerfiles/universe new file mode 100644 index 0000000000..432d53dc98 --- /dev/null +++ b/dockerfiles/universe @@ -0,0 +1,13 @@ +FROM bagel/milky-way:dc9b2190001e9c64d7b5e63dbf9999b2e4c83d25 + +ENV NODE_ENV development + +RUN apt-get install libelf-dev unzip -y + +RUN cd /opt && wget http://flowtype.org/downloads/flow-linux64-latest.zip && unzip flow-linux64-latest.zip && rm flow-linux64-latest.zip + +# npm global deps +RUN npm install -g gulp jest-cli + +# npm deps +RUN cd /opt/hub && npm install diff --git a/docs/Dockerfile b/docs/Dockerfile new file mode 100644 index 0000000000..ca1208d173 --- /dev/null +++ b/docs/Dockerfile @@ -0,0 +1,8 @@ +FROM docs/base:oss +MAINTAINER Docker Docs + +ENV PROJECT=docker-hub + +COPY . /src +RUN rm -rf /docs/content/$PROJECT/ +COPY . /docs/content/$PROJECT/ diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000000..d05c6a9cf9 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,119 @@ +.PHONY: all binary build cross default docs docs-build docs-shell shell test test-unit test-integration test-integration-cli test-docker-py validate + +# env vars passed through directly to Docker's build scripts +# to allow things like `make DOCKER_CLIENTONLY=1 binary` easily +# `docs/sources/contributing/devenvironment.md ` and `project/PACKAGERS.md` have some limited documentation of some of these +DOCKER_ENVS := \ + -e BUILDFLAGS \ + -e DOCKER_CLIENTONLY \ + -e DOCKER_EXECDRIVER \ + -e DOCKER_GRAPHDRIVER \ + -e TESTDIRS \ + -e TESTFLAGS \ + -e TIMEOUT +# note: we _cannot_ add "-e DOCKER_BUILDTAGS" here because even if it's unset in the shell, that would shadow the "ENV DOCKER_BUILDTAGS" set in our Dockerfile, which is very important for our official builds + +# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs) +DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR):/docs/content/docker-hub/) + +# to allow `make DOCSPORT=9000 docs` +DOCSPORT := 8000 + +# Get the IP ADDRESS +DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''") +HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)") +HUGO_BIND_IP=0.0.0.0 + +GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null) +DOCKER_IMAGE := docker$(if $(GIT_BRANCH),:$(GIT_BRANCH)) +DOCKER_DOCS_IMAGE := docs-base$(if $(GIT_BRANCH),:$(GIT_BRANCH)) + + +DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE + +# for some docs workarounds (see below in "docs-build" target) +GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null) + +default: docs + +test: docs-build + $(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 \ + -v $(CURDIR):/docs/content/docker-hub/ \ + -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" \ + hugo server \ + --log=true --watch=true \ + --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP) + + +docs: docs-build + $(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP) + +docs-draft: docs-build + $(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP) + + +docs-shell: docs-build + $(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash + + +docs-build: +# ( git remote | grep -v upstream ) || git diff --name-status upstream/release..upstream/docs ./ > ./changed-files +# echo "$(GIT_BRANCH)" > GIT_BRANCH +# echo "$(AWS_S3_BUCKET)" > AWS_S3_BUCKET +# echo "$(GITCOMMIT)" > GITCOMMIT + docker build -t "$(DOCKER_DOCS_IMAGE)" . + +# use screenshot container to update screenshots +NOAUTHSCREENSHOT := docker run -it --rm --name screen -v $(CURDIR):/srv --env-file=noauthpasswords.env svendowideit/screenshot +SCREENSHOT := docker run -it --rm --name screen -v $(CURDIR):/srv --env-file=passwords.env svendowideit/screenshot +NOLINKS := docker run -it --rm --name screen -v $(CURDIR):/srv --env-file=passwords.env --env-file=nolinks.env svendowideit/screenshot +GITHUB_DOCSUSER := docker run -it --rm --name screen -v $(CURDIR):/srv --env-file=passwords.env --env-file=githubdocs.env svendowideit/screenshot + +# testing +testimage: + #$(NOAUTHSCREENSHOT) https://hub-beta.docker.com/ images/register-web.png 1280px + #$(SCREENSHOT) https://hub-beta.docker.com/explore/ images/dashboard.png 1280px + $(SCREENSHOT) https://hub-beta.docker.com/organizations/ orgs.png 1280px + +t2: + $(NOAUTHSCREENSHOT) https://hub-beta.docker.com/ images/register-web.png 1280px + +docs-images: + # non-authenticated + $(NOAUTHSCREENSHOT) https://hub-beta.docker.com/ images/register-web.png 1280px + $(NOAUTHSCREENSHOT) https://hub-beta.docker.com/login/ images/login-web.png 1280px + # authenticated + $(SCREENSHOT) https://hub-beta.docker.com/explore/ images/dashboard.png 1280px + $(SCREENSHOT) https://hub-beta.docker.com/organizations/ images/orgs.png 1280px + # $(SCREENSHOT) https://hub-beta.docker.com/ images/deploy_key.png 1280px + $(SCREENSHOT) https://hub-beta.docker.com/r/docsorg/private/~/settings/collaborators/ images/org-repo-collaborators.png 1280px + $(SCREENSHOT) https://hub-beta.docker.com/ images/repos.png 1280px + # $(SCREENSHOT) https://hub-beta.docker.com/ images/invite.png 1280px + # $(SCREENSHOT) https://hub-beta.docker.com/ images/build-trigger.png 1280px + $(SCREENSHOT) https://hub-beta.docker.com/ images/hub.png 1280px + $(SCREENSHOT) https://hub-beta.docker.com/u/docsorg/dashboard/teams/boomteam/ images/groups.png 1280px + $(SCREENSHOT) https://hub-beta.docker.com/r/library/busybox/tags/# images/busybox-image-tags.png 1280px*600px + # docs/images/getting-started.png (needs a new empty account) + +nolinks: + # bitbucket.md, github.md + # uses the `nolinks` user: an account that has no accounts linked + $(NOLINKS) https://hub-beta.docker.com/account/authorized-services/ images/authorized-services.png 1280px + $(NOLINKS) https://hub-beta.docker.com/account/authorized-services/github-permissions/ add-authorized-github-service.png 1280px + +# BROKEN +github: + $(GITHUB_DOCSUSER) https://github.com/docsuser/private/settings/hooks github-side-hook.png 1280px + +# BROKEN, wrong URL and needs hand editing to capture the specific UI elements +broken-gitimages: + $(SCREENSHOT) https://hub-beta.docker.com/ images/gh_settings.png + $(SCREENSHOT) https://hub-beta.docker.com/ images/gh_menu.png + $(SCREENSHOT) https://hub-beta.docker.com/ images/gh_add_ssh_user_key.png + $(SCREENSHOT) https://hub-beta.docker.com/ images/gh_team_members.png + $(SCREENSHOT) https://hub-beta.docker.com/ images/gh-check-user-org-dh-app-access.png + $(SCREENSHOT) https://hub-beta.docker.com/ images/gh_service_hook.png + $(SCREENSHOT) https://hub-beta.docker.com/ images/gh-check-admin-org-dh-app-access.png + $(SCREENSHOT) https://hub-beta.docker.com/ images/gh_org_members.png + $(SCREENSHOT) https://hub-beta.docker.com/ images/gh_docker-service.png + $(SCREENSHOT) https://hub-beta.docker.com/ images/gh_repo_deploy_key.png diff --git a/docs/accounts.md b/docs/accounts.md new file mode 100644 index 0000000000..f58acdef80 --- /dev/null +++ b/docs/accounts.md @@ -0,0 +1,57 @@ ++++ +title = "Your Docker ID" +description = "Your Docker ID" +keywords = ["Docker, docker, trusted, sign-up, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation"] +[menu.main] +parent="mn_pubhub" +weight=-90 ++++ + +# Your Docker ID + +You can `search` for Docker images and `pull` them from [Docker +Hub](https://hub.docker.com) without signing in or even having an +account. However, to `push` images, leave comments, or to *star* +a repository, you need a free [Docker ID](https://hub.docker.com) to log in to Docker Hub. + +Once you have a personal Docker ID, you can also create or join +Docker Hub [Organizations and Teams](orgs.md). + +## Register for a Docker ID + +If you're not already logged in, go to [Docker Hub](https://hub.docker.com) +to use the sign up page. +A valid email address is required to register. A verification email is sent to this address to activate your account. + +You cannot log in to your Docker ID until you verify the email address. + +#### Confirm your email + +Once you've filled in the registration form, check your email for a welcome message asking for +confirmation so we can activate your account. + +## Login + +After you complete the account creation process, you can log in any time using the web console with your Docker ID: + +![Login using the web console](images/login-web.png) + +Or via the command line with the `docker login` command: + + $ docker login + +Your Docker ID is now active and ready to use. + +> **Note:** +> Your authentication credentials will be stored in the `.dockercfg` +> authentication file in your home directory. + +### Upgrading your account + +Free Hub accounts include one private registry. If you need more private registries, you can [upgrade your account](https://hub.docker.com/account/billing-plans/) to a paid plan directly from the Hub. + +## Password reset process + +If you can't access your account for some reason, you can reset your password +from the [*Password Reset*](https://hub.docker.com/reset-password/) +page. diff --git a/docs/bitbucket.md b/docs/bitbucket.md new file mode 100644 index 0000000000..7bd6d8ec27 --- /dev/null +++ b/docs/bitbucket.md @@ -0,0 +1,50 @@ ++++ +title = "Automated Builds with Bitbucket" +description = "Docker Hub Automated Builds using Bitbucket" +keywords = ["Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation, trusted, builds, trusted builds, automated builds, bitbucket"] +[menu.main] +parent="mn_pubhub" +weight=8 ++++ + +# Automated Builds with Bitbucket + +If you've previously linked Docker Hub to your Bitbucket account, +you'll be able to skip to [Creating an Automated Build](#creating-an-automated-build). + +## Linking to your Bitbucket account + +In order to set up an Automated Build of a repository on Bitbucket, you need to +link your [Docker Hub](https://hub.docker.com/account/authorized-services/) +account to a Bitbucket account. This will allow the registry to see your Bitbucket +repositories. + +To add, remove or view your linked account, go to the "Linked Accounts & Services" +section of your Hub profile "Settings". + +![authorized-services](images/authorized-services.png) + +Then follow the onscreen instructions to authorize and link your +Bitbucket account to Docker Hub. Once it is linked, you'll be able +to create a Docker Hub repository from which to create the Automatic Build. + +## Creating an Automated Build + +You can [create an Automated Build]( +https://hub.docker.com/add/automated-build/bitbucket/orgs/) from any of your +public or private Bitbucket repositories with a `Dockerfile`. + +To get started, log in to Docker Hub and click the +"Create ▼" menu item at the top right of the screen. Then select +[Create Automated Build](https://hub.docker.com/add/automated-build). + +Select the the linked Bitbucket account, and then choose a repository to set up +an Automated Build for. + +## The Bitbucket webhook + +When you create an Automated Build in Docker Hub, a webhook is added to your Bitbucket repository automatically. + +You can also manually add a webhook from your repository's **Settings** page. Set the URL to `https://registry.hub.docker.com/hooks/bitbucket`, to be triggered for repository pushes. + +![bitbucket-hooks](images/bitbucket-hook.png) diff --git a/docs/builds.md b/docs/builds.md new file mode 100644 index 0000000000..1c663fcf9e --- /dev/null +++ b/docs/builds.md @@ -0,0 +1,221 @@ ++++ +title = "Automated Builds" +description = "Docker Hub Automated Builds" +keywords = ["Dockerfile, Hub, builds, trusted builds, automated builds"] +[menu.main] +parent="mn_pubhub" +weight=6 ++++ + +# Automated Builds on Docker Hub + +You can build your images automatically from a build context stored in a repository. A *build context* is a Dockerfile and any files at a specific location. For an automated build, the build context is a repository containing a Dockerfile. + +Automated Builds have several advantages: + + * Images built in this way are built exactly as specified. + * The `Dockerfile` is available to anyone with access to +your Docker Hub repository. + * Your repository is kept up-to-date with code changes automatically. + +Automated Builds are supported for both public and private repositories +on both [GitHub](http://github.com) and [Bitbucket](https://bitbucket.org/). This document guides you through the process of working with automated builds. + +## Prerequisites + +To use automated builds you must have an [account on Docker Hub](accounts.md) and on the hosted repository provider (GitHub or Bitbucket). If +you have previously linked your Github or Bitbucket account, you must have +chosen the Public and Private connection type. To view your current connection +settings, log in to Docker Hub and choose Profile > Settings > Linked Accounts & Services. + + +## Link to a hosted repository service + +1. Log into Docker Hub. + +2. Navigate to Profile > Settings > Linked Accounts & Services. + +3. Click the service you want to link. + + The system prompts you to choose between Public and Private and Limited Access. The Public and Private connection type is required if you want to use the Automated Builds. + +4. Press Select under Public and Private connection type. + + The system prompts you to enter your service credentials (Bitbucket or GitHub) to login. For example, Bitbucket's prompt looks like this: + + ![Bitbucket](images/bitbucket_creds.png) + + After you grant access to your code repository, the system returns you to Docker Hub and the link is complete. + + ![Linked account](images/linked-acct.png) + +## Create an automated build + +Automated build repositories rely entirely on the integration with your code +repository. You cannot push to these image repositories using the `docker push` +command. You can only change the image by committing to your code repository. If +you want to do both, `docker push` and an automated build, you would create a +regular repository for the `docker push` and an automated build repository. + +1. Select Create > Create Automated Build from Docker Hub. + + The system prompts you with a list of User/Organizations and code repositories. + +2. Select from the User/Organizations. + +3. Optionally, type to filter the repository list. + +4. Pick the project to build. + + The system displays the Create Automated Build dialog. + + ![Create dialog](images/create-dialog1.png) + + The dialog assumes some defaults which you can customize. By default, Docker + builds images for each branch in your repository. It assumes the Dockerfile + lives at the root of your source. When it builds an image, Docker tags it with + the branch name. + +6. Customize the automated build by pressing the Click here to customize this behavior link. + + ![Create dialog](images/create-dialog.png) + + Specify which code branches or tags to build from. You can add new + configurations by clicking the + (plus sign). The dialog accepts regular + expressions. + + ![Create dialog](images/regex-help.png) + +9. Click Create. + + The system displays the home page for your AUTOMATED BUILD. + + ![Home page](images/home-page.png) + + Within GitHub, a Docker integration appears in your repositories Settings > Webhooks & services page. + + ![GitHub](images/docker-integration.png) + + A similar page appears in Bitbucket if you use that code repository.Be + careful to leave the Docker integration in place. Removing it causes your + automated builds to stop. + +### Understand the build process + +The first time you create a new automated build, Docker Hub builds your image. +In a few minutes, you should see your new build on the image dashboard. The +Build Details page shows a log of your build systems: + +![Pending](images/first_pending.png) + +During the build process, Docker copies the contents of your `Dockerfile` to +Docker Hub. The Docker community (for public repositories) or approved team +members/orgs (for private repositories) can then view the Dockerfile on your +repository page. + +The build process looks for a `README.md` in the same directory as your +`Dockerfile`. If you have a `README.md` file in your repository, it is used in +the repository as the full description. If you change the full description after +a build, it's overwritten the next time the Automated Build runs. To make +changes, modify the `README.md` in your Git repository. + +You can only trigger one build at a time and no more than one every five +minutes. If you already have a build pending, or if you recently submitted a +build request, Docker ignores new requests. + +### Build statuses explained + +Check your build status through the Build Details screen as seen in the following example. + +![Build statuses](images/build-states-ex.png) + +The statuses are: + +* **Queued**: You're in line and your image will be built soon. Queue time varies depending on number of concurrent builds available to you. +* **Building**: Your image is currently being constructed. +* **Success**: The image has been built with no issues. +* **Error**: There was an issue with your image. Click the row to access the Builds Details screen. The banner at the top of the page displays the last sentence of the log file indicating what the error was. If you need more information, scroll to the bottom of the screen to the logs section. + + +## Use the Build Settings page + +The Build Settings page allows you to manage your existing automated build configurations and add new ones. By default, when new code is merged into your source repository, it triggers a build of your DockerHub image. + +![Default checkbox](images/merge_builds.png) + +Clear the checkbox to turn this behavior off. You can use the other settings on +the page to configure and build images. + +## Add and run a new build + +At the top of the Build Dialog is a list of configured builds. You can build from a code branch or by build tag. + +![Build or tag](images/build-by.png) + +Docker builds everything listed whenever a push is made to the code repository. +If you specify a particular branch or tag, you can manually build that image by +pressing the Trigger. If you use a regular expression syntax (regex) to define +your build branch or tag, Docker does not give you the option to manually build. +To add a new build: + +1. Press the + (plus sign). + +2. Choose the Type. + + You can build by a code branch or by an image tag. + +3. Enter the Name of the branch or tag. + + You can enter a specific value or use a regex to select multiple values. To + see examples of regex, press the Show More link on the right of the page. + + ![Regexhelp](images/regex-help.png) + +4. Enter a Dockerfile location. + +5. Specify a Tag Name. + +6. Press Save Changes. + +If you make a mistake or want to delete a build, press the - (minus sign) and then Save Changes. + +## Repository links + +Repository links let you link one Automated Build with another. If one Automated +Build gets updated, Docker triggers a build of the other. This makes it easy to +ensure that related images are kept in sync. You can link more than one image +repository. You only need to link one side of two related builds. Linking both +sides causes an endless build loop. + +To add a link: + +1. Go to the Build Settings for an automated build repository. + +2. In the Repository Links section, enter an image repository name. + + A remote repository name should be either an official repository name such as `ubuntu` or a public repository name `namespace/repoName`. + +3. Press Add. + + ![Links](images/repo_links.png) + + +## Remote Build triggers + +To trigger Automated Builds programmatically, you can set up a remote build +trigger in another application such as GitHub or Bitbucket. When you Activate +the build trigger for an Automated Build, it supplies you with a Token and a URL. + +![Build trigger screen](images/build-trigger.png) + +You can use `curl` to trigger a build: + +```bash +$ curl --data build=true -X POST https://registry.hub.docker.com/u/svendowideit/testhook/trigger/be579c +82-7c0e-11e4-81c4-0242ac110020/ +OK +``` + +To verify everything is working correctly, check the **Last 10 Trigger Logs** on the page. + +  diff --git a/docs/github.md b/docs/github.md new file mode 100644 index 0000000000..797c37cc9c --- /dev/null +++ b/docs/github.md @@ -0,0 +1,204 @@ ++++ +title = "Automated Builds from GitHub" +description = "Docker Hub Automated Builds with GitHub" +keywords = ["Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation, trusted, builds, trusted builds, automated builds, GitHub"] +[menu.main] +parent="mn_pubhub" +weight=9 ++++ + +# Automated Builds from GitHub + +If you've previously linked Docker Hub to your GitHub account, +you'll be able to skip to [Creating an Automated Build](#creating-an-automated-build). + +## Linking Docker Hub to a GitHub account + +> *Note:* +> Automated Builds currently require *read* and *write* access since +> [Docker Hub](https://hub.docker.com) needs to set up a GitHub service +> hook. We have no choice here, this is how GitHub manages permissions. +> We do guarantee nothing else will be touched in your account. + +In order to set up an Automated Build of a repository on GitHub, you need to +link [Docker Hub](https://hub.docker.com/account/authorized-services/) to your GitHub account. This will allow the registry to see your GitHub +repositories. + +To add, remove or view your linked account, go to the "Linked Accounts & Services" section of your Hub profile "Settings". + +![authorized-services](images/authorized-services.png) + +When linking to GitHub, you'll need to select either "Public and Private", +or "Limited Access" linking. + +![add-authorized-github-service.png](images/add-authorized-github-service.png) + +The "Public and Private" option is the easiest to use, +as it grants the Docker Hub full access to all of your repositories. GitHub +also allows you to grant access to repositories belonging to your GitHub +organizations. + +If you choose "Limited Access", Docker Hub only gets permission +to access your public data and public repositories. + +Follow the onscreen instructions to authorize and link your +GitHub account to Docker Hub. Once it is linked, you'll be able to +choose a source repository from which to create the Automatic Build. + +You will be able to review and revoke Docker Hub's access by visiting the +[GitHub User's Applications settings](https://github.com/settings/applications). + +> **Note**: If you delete the GitHub account linkage that is used for one of your +> automated build repositories, the previously built images will still be available. +> If you re-link to that GitHub account later, the automated build can be started +> using the "Start Build" button on the Hub, or if the webhook on the GitHub repository +> still exists, it will be triggered by any subsequent commits. + +## Auto builds and limited linked GitHub accounts. + +If you selected to link your GitHub account with only a "Limited Access" link, then +after creating your automated build, you will need to either manually trigger a +Docker Hub build using the "Start a Build" button, or add the GitHub webhook +manually, as described in [GitHub Service Hooks](#github-service-hooks). + +## Changing the GitHub user link + +If you want to remove, or change the level of linking between your GitHub account +and the Docker Hub, you need to do this in two places. + +First, remove the "Linked Account" from your Docker Hub "Settings". +Then go to your GitHub account's Personal settings, and in the "Applications" +section, "Revoke access". + +You can now re-link your account at any time. + +## GitHub organizations + +GitHub organizations and private repositories forked from organizations will be +made available to auto build using the "Docker Hub Registry" application, which +needs to be added to the organization - and then will apply to all users. + +To check, or request access, go to your GitHub user's "Setting" page, select the +"Applications" section from the left side bar, then click the "View" button for +"Docker Hub Registry". + +![Check User access to GitHub](images/gh-check-user-org-dh-app-access.png) + +The organization's administrators may need to go to the Organization's "Third +party access" screen in "Settings" to grant or deny access to the Docker Hub +Registry application. This change will apply to all organization members. + +![Check Docker Hub application access to Organization](images/gh-check-admin-org-dh-app-access.png) + +More detailed access controls to specific users and GitHub repositories can be +managed using the GitHub "People and Teams" interfaces. + +## Creating an Automated Build + +You can [create an Automated Build]( +https://hub.docker.com/add/automated-build/github/) from any of your +public or private GitHub repositories that have a `Dockerfile`. + +Once you've selected the source repository, you can then configure: + +- The Hub user/org namespace the repository is built to - either your Docker ID name, or the name of any Hub organizations your account is in +- The Docker repository name the image is built to +- The description of the repository +- If the visibility of the Docker repository: "Public" or "Private" + You can change the accessibility options after the repository has been created. + If you add a Private repository to a Hub user namespace, then you can only add other users + as collaborators, and those users will be able to view and pull all images in that + repository. To configure more granular access permissions, such as using teams of + users or allow different users access to different image tags, then you need + to add the Private repository to a Hub organization for which your user has Administrator + privileges. +- Enable or disable rebuilding the Docker image when a commit is pushed to the + GitHub repository. + +You can also select one or more: +- The git branch/tag, +- A repository sub-directory to use as the context, +- The Docker image tag name + +You can modify the description for the repository by clicking the "Description" section +of the repository view. +Note that the "Full Description" will be over-written by the README.md file when the +next build is triggered. + +## GitHub private submodules + +If your GitHub repository contains links to private submodules, you'll get an +error message in your build. + +Normally, the Docker Hub sets up a deploy key in your GitHub repository. +Unfortunately, GitHub only allows a repository deploy key to access a single repository. + +To work around this, you can create a dedicated user account in GitHub and attach +the automated build's deploy key that account. This dedicated build account +can be limited to read-only access to just the repositories required to build. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StepScreenshotDescription
    1.First, create the new account in GitHub. It should be given read-only + access to the main repository and all submodules that are needed.
    2.This can be accomplished by adding the account to a read-only team in + the organization(s) where the main GitHub repository and all submodule + repositories are kept.
    3.Next, remove the deploy key from the main GitHub repository. This can be done in the GitHub repository's "Deploy keys" Settings section.
    4.Your automated build's deploy key is in the "Build Details" menu + under "Deploy keys".
    5.In your dedicated GitHub User account, add the deploy key from your + Docker Hub Automated Build.
    + +## GitHub service hooks + +A GitHub Service hook allows GitHub to notify the Docker Hub when something has +been committed to a given git repository. + +When you create an Automated Build from a GitHub user that has full "Public and +Private" linking, a Service Hook should get automatically added to your GitHub +repository. + +If your GitHub account link to the Docker Hub is "Limited Access", then you will +need to add the Service Hook manually. + +To add, confirm, or modify the service hook, log in to GitHub, then navigate to +the repository, click "Settings" (the gear), then select "Webhooks & Services". +You must have Administrator privileges on the repository to view or modfy +this setting. + +The image below shows the "Docker" Service Hook. + +![bitbucket-hooks](images/github-side-hook.png) + +If you add the "Docker" service manually, make sure the "Active" checkbox is +selected and click the "Update service" button to save your changes. diff --git a/docs/images/add-authorized-github-service.png b/docs/images/add-authorized-github-service.png new file mode 100644 index 0000000000000000000000000000000000000000..a4fd351713a8acacddbc7d197f8b9293b9eafacb GIT binary patch literal 96402 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]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 G2~7ZC6w1lJH;idS$8Qlv<54X#B~+}$k! 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

    b2$!{8k3Y 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�o{Lu21!8aijS08jNOs9D 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≥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 Tq5%{z&>u-rIgwH!J>UNY7oxcR literal 0 HcmV?d00001 diff --git a/docs/images/build-by.png b/docs/images/build-by.png new file mode 100644 index 0000000000000000000000000000000000000000..d1071da272cdb50d818e97c4ce626a6468bad2ba GIT binary patch literal 77866 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 literal 0 HcmV?d00001 diff --git a/docs/images/build-states-ex.png b/docs/images/build-states-ex.png new file mode 100644 index 0000000000000000000000000000000000000000..8f068ddd4d24208fa4ed6ef106f82788e39f0106 GIT binary patch literal 116546 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/images/build-trigger.png b/docs/images/build-trigger.png new file mode 100644 index 0000000000000000000000000000000000000000..8f034608aeb67d6020c56207f3c68cf291f3b59f GIT binary patch literal 197404 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

    X; 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¥3M@iJHaJv8~! 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%0AWHv%90`Arsjs^ldwD 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 literal 0 HcmV?d00001 diff --git a/docs/images/busybox-image-tags.png b/docs/images/busybox-image-tags.png new file mode 100644 index 0000000000000000000000000000000000000000..c3b07adb5e26698677efdb1c1789feda72c758ae GIT binary patch literal 48361 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�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 z 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 literal 0 HcmV?d00001 diff --git a/docs/images/create-dialog.png b/docs/images/create-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..1a4bddaf9bddd7b3380f9eae59fbc520e0aaea85 GIT binary patch literal 99706 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

    ;&ahY7F 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

    p9RU&cW#cYh1BavxuBJ`TS9MbP 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 literal 0 HcmV?d00001 diff --git a/docs/images/create-dialog1.png b/docs/images/create-dialog1.png new file mode 100644 index 0000000000000000000000000000000000000000..c14e099f2549821f820ee61e295713c26fb47069 GIT binary patch literal 45810 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 u`w~>e7kUHQS~oAUNPpIOJFGz%OTN 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

    |>xX3pf*Rf9ir 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 UNXI5jq<$4OWo@NW1?y-3360l2jQ{`u literal 0 HcmV?d00001 diff --git a/docs/images/deploy_key.png b/docs/images/deploy_key.png new file mode 100644 index 0000000000000000000000000000000000000000..f1d8d92d225e357e2f298d433e409ee6ab9f14df GIT binary patch literal 47680 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

    qzhKbsMKU= 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¥RfUA-cfe2L7qH8!=*BTM*{#c`nnnyXLm& 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 literal 0 HcmV?d00001 diff --git a/docs/images/getting-started.png b/docs/images/getting-started.png new file mode 100644 index 0000000000000000000000000000000000000000..59f242d7973717c6b9f36d1ef3b005d9b59728a6 GIT binary patch literal 71070 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�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 tPl;i%;joR!T{-RQ$8={{vXGK!N}O literal 0 HcmV?d00001 diff --git a/docs/images/gh-check-admin-org-dh-app-access.png b/docs/images/gh-check-admin-org-dh-app-access.png new file mode 100644 index 0000000000000000000000000000000000000000..0df38c69465ddf106921a8531faff3d596b0a2e8 GIT binary patch literal 31529 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

    bzNr=?cDdHSIwRhH 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 kkGH7nzi<{9 literal 0 HcmV?d00001 diff --git a/docs/images/gh-check-user-org-dh-app-access.png b/docs/images/gh-check-user-org-dh-app-access.png new file mode 100644 index 0000000000000000000000000000000000000000..13ad6468f6604d50115c88ee3bed0908fbfc679c GIT binary patch literal 38325 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 z%0D@`o6+FJ; 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 literal 0 HcmV?d00001 diff --git a/docs/images/gh_add_ssh_user_key.png b/docs/images/gh_add_ssh_user_key.png new file mode 100644 index 0000000000000000000000000000000000000000..7d0092170f97ec2cb67089e54585dd120dcb5b3c GIT binary patch literal 38074 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 b0Ic)|W}r7?NZ9^e00000NkvXXu0mjfg%D!5 literal 0 HcmV?d00001 diff --git a/docs/images/gh_docker-service.png b/docs/images/gh_docker-service.png new file mode 100644 index 0000000000000000000000000000000000000000..7a84c81b7e5ddfe408fe380d91552657312762aa GIT binary patch literal 40419 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 amT<-+yw7aT)T4ZV_hMvdhAKxoMgJF8nQWo} literal 0 HcmV?d00001 diff --git a/docs/images/gh_menu.png b/docs/images/gh_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..84458a445f7ed5e1cb9040bfde364b3145a7514d GIT binary patch literal 5678 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 UWzk2zNB{r;07*qoM6N<$f)PNYApigX literal 0 HcmV?d00001 diff --git a/docs/images/gh_org_members.png b/docs/images/gh_org_members.png new file mode 100644 index 0000000000000000000000000000000000000000..465f5da565c8ca58b662eeeaba63ee21e63a8c53 GIT binary patch literal 26612 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 Xi6RW|92FZ(^aRODDoK=!83+FdhF+bF literal 0 HcmV?d00001 diff --git a/docs/images/gh_repo_deploy_key.png b/docs/images/gh_repo_deploy_key.png new file mode 100644 index 0000000000000000000000000000000000000000..983b5eec77f2360a2c179e722e2611917443a025 GIT binary patch literal 32315 zcma&NWmp|S(rG|*#)1O zBH^g$L8uG>==PTf!2kks-~oUSLI40c7z!Zz-T(+91pqK0fdA?dLk9p5fPnw>{2xOB z|9bxS(2e(p5FQURlzYq3&$CEo5>hUS9q9pp3sCUupNy-~*YO=P<@VSWB)~KBwcwqv zKQFOiy_|0Ox0Q_RFp(j@3NQ=Y3w!oPmoMSzYdu!;r6MfAJ=rCOu|=Qxt@SY zZ38=thmH&DA74wA{3I z3%?YL^NkFWEyA@C{&aol)6T3m=J|R{-&xTup*c|dla1lKbRLZy-3(`C%0Ah=whZ0c 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Ι}!_{^`ZZ1CD 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 literal 0 HcmV?d00001 diff --git a/docs/images/gh_settings.png b/docs/images/gh_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..2af9cb5138dff5e6bd09bb49121ffeb5c6ea85d4 GIT binary patch literal 4849 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 literal 0 HcmV?d00001 diff --git a/docs/images/github-side-hook.png b/docs/images/github-side-hook.png new file mode 100644 index 0000000000000000000000000000000000000000..c742b4080a063b2a5ce0f43c761bf8bcc39bf523 GIT binary patch literal 35750 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 zac�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 literal 0 HcmV?d00001 diff --git a/docs/images/home-page.png b/docs/images/home-page.png new file mode 100644 index 0000000000000000000000000000000000000000..e9c66cec9ad675a883e317006d9169da8b664b68 GIT binary patch literal 113148 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 literal 0 HcmV?d00001 diff --git a/docs/images/invite.png b/docs/images/invite.png new file mode 100644 index 0000000000000000000000000000000000000000..f6633404439a8bbf866aac7979357a6352fc199d GIT binary patch literal 40459 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%0A%-BiCnMnNl*PI*^;Mv2h0EsMsHS?^GWw zMP|N-i!ot0;cj3M)JZ#E0EJWb)*%fjdvWIxsV~;7iR7yr4HG3viIZ^V!&=Cb9b&(8D(WnpFI;pV=6XVo${_l(cF1Af&;LP1XM?BW8a zhZZh4N-sJzG!*~$T^4^K_`%Go{(~9g4#qC+LF>%)xV7Dxcni)AEN#=|Xs+}-$D*;ppzGs;Y9b zvR*xj7RtQ4y=~|Cl6^oKxeFL=+@cP`=DET{le14r-ZZX%&vqqRR96cZy78Dl;UOG8D7oezoY8e<9 z0QwFuFE4$3e1P7iJW~H|t9IgET!~;?%0PGg$Upd>#fcmjLMtwXA=i9~4+cjkB~8!H z(vjm@!?CfkWo2iFqydW1=buzwZ(L=E=0-3uiIUYdl=U>fBx)OM*mccz)_SsaVrKqX zFkU4P+F4PSV7kB?!t${3P62M1=R7qbxW5GLSz@EH%L<1&;GECo#ija|!16qOpKbaS_ z1nM8G)z#x?L$Xn+WioTKb8>{e(}w_cqYy03g!=T6TXp)v`aSOSLz@6$lG*A5lC90n zmhEo;Goe4^2af}c1ayRouIwX_)#T>p*3=}#{&UC_OoujyANWO=$odaK>Sm?=hZr3b zNHP6q-0I&FHek&EJGc73khA~7^A+#*rmn{P0KybNrcv4@z@DW zo)A^W04;EE?iH~^44qHl-`MVV?@zSa+oNRAyLVYC2ef?sGF<^?dJ+G4wYSz&-U!jx z=cXr>gn9rLRT5(2GVB_(zBLAB>z4x=)|W>`;fsDWovt5D~{lk?lQY zaX781a9x02tkb2`3U62|2Cu`n3(#Mr`sFNWmEUv~AjKte|8Saj$E7OxnB=(5-RfOF z-2wn2efO})8o1!^@s8p03n*sl4xWzC0ml9jtP#MIa;Ak(65)$6&?_waC2Hd}2McT9jq{}Sqf>5gLID=Z)WR0nouxD+VFJz>F z+Gj)`qu7I16)t;yeeD4eL08pOq0K0*OKR#K7@`)?Hg=)sWT-BG^NRiehdan=dO^s= zUSgw!gYafI%+bzPOhawS+nV#bGJxk!*&cmtINe3b0{$tpH|?7}o@sZtn`;-fzt?w9 zHaR+de&-s>{3Ycx$kocs;!DP>cJ*CCCRY2a>E!+DST)hn7%|$n^~!<}!@)hmROR4k z*tQSZ-}$=2neyTn_tVm<-V! zx*CwwmU1nR#m$%r}+?+v$1`u|UAM23Qv6JHrho7LZ=`jy)*unhFtAW$Wa* zn4aL(V;(rfK6Y4ht2}9=r<#g+oHxY2C&Q8L8qD$@Sp24H%M#6FQ^dj>*k?-+~7&weFO86Hq_xYVlc-n!~u@>GgJx2m) z7~OIgF@-$s2xONlE9!bP&O+?GYy~i2o%vsM*fKjW^|cy$+c(mZ9)vfd-YFuzH~1;3 zrl>pkuS%OQ&V1T_CqLRr*7T* zP^;$>;=p?4HQ{okz#j0pzUL%q+QfJg%IDC_SkOR`_kH&DtLvJZ7EY{iE5Zexa+$E_ zN@@$Iolh{xLK&$rLK74i30+i}XsU5fND`m3_ZOuCt>%yNCXil@)gfXE3!str-rutu zoi_9&B6*I}J%H}7K~0_1;>K;DPlaEz+-_n>B}(3(nAe!s{z_|e9dHi_nYbq=JxbCs z%K)*Wfz<-aQ?bstP{&HksE+}1sPZ(xWs_) zj@uuf6nPXJd2@ctg8zBJ`uzyW{~%1RNI-H^8?M{1ZVHmLR(+LfJM_~^E;NF=IF3T1 zI+q@*&i4g&Qk!fz8gi?hO=`#3st1_r&i&SIqGmuB-$;v}=<8=Ob{G+nkoHc|Qttp6 zT0rmJVYt|J^R&&XN~XnplBd99O8Z4G;3_HPc*oyW|L#ogxJ7~*|F1H-h^{>U3(5I* zH>?sfV{_kCb7E70N8b7Dl-C**cv;t#JL69w%V!wUQ8d9P9yjye;^Lut+s9N`Tvku& zopGqE;Hm!EAb;Hlt>;}CZ$A<+)$Zarva)O?XfFahd8ee#yqv+~LR-d(){NOs1hnQ$ zMJX-wM}c+C03*@)8ND)|U#0#69e6Mu*)e4S^0wBr zvJ6dgl}&EioE2=96U`f~+B=UuXbHpQ)k1Ovl$0C~Ykv0EIK!I3<}NLlzJxl5QDi;5 zb*bIm*2^}WA5L%C*b3qeN;_NeNPxJt6?x6`>{e?ld~>1N25>+OwlBG3xN`LiW?*6R z4^Vu=<#}AsZhFr>jX&QPxHGoM1@X`|>v*sFk*=FZ%-CpJHSUuzf?wOk4~Ijl^RgK*HQ8-&vJ8 z1%*lTJz@L2ctAfBdTN#(n}BvK2nr1Lc5TuFRE?+tVw+>3MRP>clB_~|y>zO*h0{T& zGeB}Y$9_AZFzJk*-GM}rQ1=qliQQb(h`%!(L^&_teLK4O5>tSt+NHaVKhGa`n9>v1Pu0T2713`%5$^TnIxhzjitH67WZf&1FX-j*IzTkJK zmmldl?|lpNc>AOZLTZ2?ceo?hhtIB zBa6`=YVHCC(#3H0JXP$nG|n{5CJBY5Al@}b-u4o?8kUwjEl=X}7p+7_0Qhsg&(XOu z1tSj_u07NO{0caKka1@?Y+JEcLyy6*A!}L9Mh-`q91AbnXBB_6nNnC}a$GK6MabGn zA?rjzvR07J93wjp32@2B!%aV2CZt(&gQ5X!px5`Y^tv_K3J8Rk_Y^<7m>dm_z&;U> z`No`oTztcY8)!;0VP^rwMKr^(m+u6|Cv+LZ9LIOvThB;IL8_-*Jb=w9f5QXCyLx%9 z^-myqTNoWsq-gStw~np$7&&!>9QgP=U=YpUnYyzBU%_v2U@zHq_vAkl2 zY0udCv75DP(&2B|FQsj)Wblu#dYMy+1N`^ zVk-7()GCxR9p49SVIW!Dww||^}~+V z1dxc@0;NU>u&V(m;QRMS4}qtKOc38+g$s$*r$*IoB_(?}1n;NKKg>HIX~pU5s%xl3 zP69XN%_SLb@DR!3w=@u5?#Cd>OcCBfSmV$I-8!5dJy4kM=0dRKaOK&o(H_4EiFf5v zH=x?d*T8d$wwTE#BX(z-BT5<)*Z?Pbm!JwiJw1-ea+zS}jJ= z{i2@t%zrJly^jQO3oVfsNDSw9*&X$Vyocq*=sFF$L)lVle2tA3bSc2?BhYsSq-xPc z@&(D@vrsLb(J&0&6xh(?;Lp+C6>I*UF3W(Zr^Ji?ZgcnMLU*I7*^>Cvb-fj3WZm-* z!@Y@rBh7@T@Rq%DF>j^DeG!)q{~v$x=jN~C&EYZ!;28(xewtF0kcW|o5dke%K_nW9 ze~duhWU4y%oUi5AK+b=x3_y9!No`2d(_()U+Jh1O$j4(0j%T6&y!=CuAGyr`hVO!9 zH~w02{{s#HaOj`X^}mM{|JI=VkLLI9<`Rkib@7*at`|0Xe9ISKAOw%29e#Pm&WiZ- z)7D{asI*dee?Nw4pV%m11yDl)VDw08P30g9DO?A0Q-}ciTT|kg%T;1#G@FJxynE4&yS zpcSm~{@|Yv3s`Ggg#7pEap!>8XIi55(QxC}+z4sMfM(;9EkqePN*ExEIJT(_pJBtDEnpZhI&8&=D>ItY{h_EMAIkmFK|!K&qB~HsfPVK+J6GY zh@<+)r>OG?6piDX6KrRoYpin4rxbx&2T<32wJ+tuK$ z^-=uB&YttB>#P{6>|nCpEcp55bZhEE?b7CTK`|C`zrqeDkuCD&_3Jx{zIGO>P6{@| z(TeOxL7DlZ&Gjwdv!&+)h5|z00Ig#5;^Cx=|HARHZ-PCE5e8@m64>+Eer=3lgHMDg*Z&h_PGtkPf{n3n|Pp$ zyDLR2?e*8`yNs4Oi$WS&UsGoRVIs+y*jokfVh~X1)3Pu;@r@vIW?LwJ`yK@Fdf*uW zue~pt!Q7r#(neZvB|g9R94Qc~b-xz4;hf{bvC5*!**5;}&1U8q096xsCgmifCF$0)k zdXneXyP6;E3@`=55fufE z_c5w6i3g>PcL22#sd%9`Wqb>;qKC?(@1IReF=-E~OM7NP9g0c9EQn~aYFbcEEWn_fW`tmtz0sj%JQzlwgb}BvGT6mKw4CmT-^nvFHu=fwsixh+rJ7 z_<(whK(qM|DzEkj7wSQvSnlw2@+r*KWwn~B5Wh?#Gz-@@DY-z>ID_ncG)28Up7!pl zf?JoVxyF-2(5lK?t%03akF4`hlB(Fs$FZNI%Fm(o6;FNL&Gq#>*N5xjWnCN1gRDaO z@qL@AGj(0|_&-2iQCt>5X?hto?!f)x*SoQ36ZKI8-N_0vX!izvo6Kh}F)?=JHROIF zyemeeHzXq1R&8Lf#;wW0aa?I|81OI*Apm}#4j-pvs=T^b(63TZwvl8)Iv#Y(eU!Oe z=6R52>_TPKV;6fmu_r4MhGh!$=G>oL#f-AQP!;0`n49mGtGb_&ZOymQ;c+Dcf@;XN zo2>BB+El(kzA)rLcLS|lOij`!)1U1%wgLr!XD*^Yl9A1m@*9`5&DH;$0v<1wwgGPK z^*PVmELc0x{#&XXI<5Qrh7K&%v13_oZXWG}uk)mFi+Q2yKYmCvb~+B|ReAxs(DDr- z>5Mhdop^!6Lmd*G_5R%nx8!3A1JRYI^lu!nzT{xaS z#vpjbX2yK)Er2F_Bl49#?GstP1N0&(2*7IUi?ijV53AC*dh5i8XM~w7U9x~y7=QxZ zn^gLa&LX;YICY@BxX+B0d1C>?OA}p*U00(1ayJu?9Vptueu$E9l6_McarDwXTUz% ztOMI;fS2r4J&S{c@_F59;y|e?RFz_Ig5T@t7@0#sq1op|y_f`^KD8g{XKO$KKUU~S zv=3{M>Ugr;mK2G^{)O2hB;>)})WX458jwJ67=gGLWP#J*wZdUPdHp%}Y;4diKnZGL z>pOEA?SGvDs%KM~B=I>&Oz+)3nG}=oDq)Q2*G7KB1u=H8C2?ACMp`2VO@PDMX-X5} zQ}_F!o@e^Rv#{V`ua~GX24@ngk~SLS8dhVPIf`6AeIyk$eW(m5`0zkCsBtmi2JdG_Ge0k{y(x&+DTqxIfD=4wbW(1m6OAVr^%D zqv~enE*<|ZIVVNQDu7tk5*1HxXq!bz-SX2+`qnBo|Pa=uEEEWOU8A>+)h5&pz} z5*eLUTTw96GIaq+1Fu#AIoRM_ZjbN}hN!6=_l9t z61TWSrjb$Dv<2Kr5$Avm@dt%cK{KhLP1Ib!N_xGNlnW!Wdx4!965l3zVrnw5v6A&j zZ_>$dxf;G#8jmOL91nnipgmL>Jsebf@{1x9j8uXr~ojX9CaEAyN=mxL7Sb|1UEsmF=G8 zz}{+GvZge#u3M)d?)p}rd(q56=oh)JK7lnpN_y_zd(IyN>!*?im4xeWT*cqQOtowI z2_JaeyL97)tv3_x$)p zsi6LIp6i;@Nm4-1)T$ zZO*u-_o4Lzau(d1Thqo7(kO#$bnmqlSapud0WQ;%yLUI=CWr}`)weNphJM{HDIpR7 zPXmDBh*i(PmVc;E=^P;ET+dZ~k(hh>RzT=44XY=*bNdMWHUkNei_(l{o?;OIH0Gr?zdh9tOuP4V?v@9j~ z4>@|&cmKh?zq?t11OHI2N2Cs<+<(U*fUiB$hJU8{|LWod4*VJ5x7Pamf8zm$`nP-r zIPm{#F5MbgB_$=*)zzjce!49Yk3V%u?f1|b7#J8G9lg7|o0XN7kdV;b-CZig+^B&N;7txMr9q_p_fnuIsw*O?w|F7B|e39NdK`Gcv;at(lL{c&3Qo$>!3< z`5#BYoTKTxd)RK$QTNr*hjPq$`=YnEH$EZZSyK*q;BV+%7En(2*9Qnjj(_9UH#G^J zAmM*^TYJY6nWm}s#vP~?!2K_eOr#urkJQ8eo-MJ z;Vsy7;fmk8Tyzfhesp^Jb9_7zU(r)>(>~`wv|8$GdAV}VTZx0kD+RKnW#R@40yo?4 zP9rpg9fN;P)7RU3-`nP?vrT{nI%ZeN2ZPYkvY;iuJCk6vbaC>-diphbTQL$VE35DB z3)D2z5N~wq&`YRa zT1x62=ZhEE5yy_h4?|P4U(?dkf}xMQcS74D!N<7|%Ds5jmiLTCB?-g^>;>E4l7J?RVe* zg5Zo**1^uM>Uc~CMG!L7R~294lpKc=DP)S^lob}L*yn;yPhacA)zuTX79LzF zDl6NA=en~)e()#C;oY=@lvMD03Q!$Lg3o4;1jULkh=wS^K}{qA0=3FY!ozp$><_K% z%5Wb%fHp%vby1M7icUo}89O_>y0{D z%k52`>MdZMZ+M{}0GtTOVSE+6xt9Qe;``+4-+H#p$XL!->l#|nm|R<@SzRz!9xH`G0q42we1u4eh6ss|1Dfvttuhn(A5%OS&_dqvUu`G;~vXEx{lCc z3vuq&!AK39xasCw64oNW5mCnFg>#U#%`AZao2xxYqo?zwrtTN*=Dvvd@Sd{Fo}DZd zS+%%b{Q3uodby5XQw?<9Ap5>8Xpcca?2)+#7*-FH^i}y)6 zBmAg24U*>M^qsP@v{YAKKKJ6Rx3~Td*6kGbC^3(RXXze$)6*co-uo3?>t-2`!o|PO z9cXlsyP?U$BmO9EnvI=G<)v`bk;D&d?)GtBXluuFNJVcMg@JoQ)k=mKwAFsLr`U-U z)ngS1q=Rt=pCNl^AiGl*v`N<0)}5KY?T!LTDu`G-Z)I1!wK%s^GAjin_ux&%Rie15 z6I3$?P_V2Gz;CTg-~A*m^@9z-_aaSmAZ+LN6cLXgoc%4&y#Di{*8zz&1ssNe0u(mtIAAx+({CG>G3Vc{o(bMFv8VmNlm zuey-!zm9XpLw_}bEC@tMpz1O6VLNYdNRrSrW3<2(S2P<-Hh$>h-+ z#T(Xih5ll#;B0G zV2;NWhh*1+yr$^VbzbD5ieup1<5%T3wjI}HIrv|LiExKHQ88Vr&sPq?JRJgo&rR_TgN!b(J=6w6XH`+ayvXj_EJAi_Mf_MA-1JB2I zzUF@a4%Acg#nI9DOf;ZYK(@l+9V!WnnK&HinK+wux_!TYoCwD3_~V)m{LmOk6Dyv% zytp{szBQxY(#TBv=A+P`tIllxJAvMrU$U~SEkaT&q9_Qdt8K_O#9dv~tE|e4$aRT) z7+&6!Vo@CRHgb6T#G<@p!TM}w7pPGwl>+e6eGP|aRi;Lt2fY$(t9+$Ao#XJjZCsB5 z#}5RYp51&DFBTrgP{Qn_-qa%A{@pb};}(CVZVlf0iDxzFgtF@wu=Ln^~2 zSN|g3rEkTv5Tx4MARt#&?XpJz)_C`c_u^Bm2&9F9RDG6&-lNx1-V+;>wCB@#5y>mr zfWDnH&CddFzWnF~3=Wk$0r3i$^RUeI4m9pobpQG-QDn>IWc-3SbwS92BlpdVPt`8C zE<)RTJHg^NZo4?2e5AdHn4R>(Trh!Sd>O91$! zu1_Qy@$&HUT3(x(U|Sm)WTFi1Oz)(E;)Jk~AW7Zw_fIsd^oiqB&?07Km4K?!(xxwI zz7|88_YsB_*@lywuU$UI((@aQdVGYK*{MtBp?ir_L9t%Mps(MiHj30R217u=gV6DXxhx)*a<|35tRgk0!h3s z)<^b5Of5K!2EN`ekXS-0^z`(hE6*j|vEgY_&pesX%?E$e*E4Z&*j#y8-q&fJSC%iX zYHej_U{KY9IBbu;_q~d5a=+RbIQb&@*eTuEF8ZwPd5Enug=lT-9{#XadFqRbQ-mgb|cdL>I%ezyxRbors z%D=*ANmUI?(d}05FJm7C@otejL?v%uP`}7_!XYUy3~Oy06rF(=xp^{V|bco zyghhkYky@cR7F=ydF$;Z9bP8ZY2~~JZRL)S>V-`1{d)GBEhs3%)wPs?L6%X;rLMM@ zfq%W9Z0+si$GO#yL+#~NRP5a$ToTvEh_%kuF0PkhD=p*l4uA&KBH3bVeovFE@gzZO zl=HpOY>M44QGgEsGFbdN_NJ=~i2JFO&|uLpNH)Dhcoup2_7wx=<-Um*#4V3Dc4{FE z_%|Q#WF)R9#J2$4j&>`HZ+PXF--WdPx2#f5;cdcC)4D$_hkp~q=zu-U^6=%bZYdS= z2x7Y3NS0Djl;|z|8Pk8KS_f^CrxOq!kM3je7&Wc}Q)U|R^HeyI#5+VXZqMp1>)Csd z8AE8}D*|I}Y$OZ#_^QvsAN&gBIwm~sgG(=RHS>^M6LjTarX(c=iQukM@s1#cRyio- zqhRRJO6}7*suHRAt)Te}+6LSv>K}Sez$u8C7k|^%a)}W`+d=?{+PRzGZs8nmM2zfV z`_n1>VHwlzdh5|FqS1r5h~N_TU+FNvB53)e7bCW0PML9dU+HHrQWO=qTWU3p-Y~Yj zgp_>Oxb=y@HOqn~b75vCbw*$IvZcY@{DHhql+llNy5)Q|Em=~lO`K$c>!I=mWJbGG zSi_-j<6AkG!4df#qsnC3`kT&nEMM_!*V!-jcxi}A%!>@@zQHb`o~AzCI&wF4w^hjL z8nI6z_i&ehE+J{qrQy7)u((a2dIie;jE~{QNAf>?*WqiFsGtGt^486D!wQgZG^r!zy?1NYry0J=3AU@;BE4^^p zWU7&x%I`KF9_g8Qt)(l@t`l&#tZf^#oB`ve$~T zvLi}@BguHNc+UfFVMrXM2nW2z6tl&_!PyUA2JKUk(#p7~&n5x6MHAYiI#R{`~L(!`}X|Hk}#T zeb0R_b%T^dpmbr{WccXdPRJ~WUUGV}9U-hzM0$R3Mj`!7s_oe!9vP?i%+C25aYT^E z!f_VA{Yq0{aLdG!`S5w+VAGkUzn9(oDGm3W3iS(jcuiV`QIxZt-^a${%U8PjHG|0Y z?*4Kg;brr;p=VggWhRI=eD02o*^2n{+46W$N%~2E=qPb@>0le3gZVF@UUP-F`N*R{ zLRhIlLqo%41i$K;?78Q@Y^kZP38&%St`QBS*B#P#HLP{)3#t9)6-8Mbvn;s_k^QWs zU9q+n)F-4L4SyoMI&dvc`|eLQnH!}bGq+69fq>WXo(7`yl7Qd|cVSWE3O%FWN0?Iz z&(?N?7Q2_nzL=j^b6~>Rv?iU$$>JR+=L-vPmXp|lIj^4`=A$mQ8zR!mJnTMyN4QB% z=hnjKg&nWsMFYerk=s~&-%Nv#K0}v2JO%gmlQuxa#-`Qh?w*~A_`iwq^XJdxR*DAg z(ZY)hJj1H5QMi8Tk0iRw%gAr%B-@zr|K1M?2oO~DXwr+8=Qn^K|9BzK79dVXyS~w! zv|C-GEZfF7B0PT$!~GE^%j}F7%+XpQo~Dh2FT8HoA*Wuj!bH%BICjP-4czp9|K2)l zo!t?=BG9MlPQzclxs@&9+J1 zff%cEo|&nfk2R_Lk}enL)6-}Y7?_hIE3g@iqxI)mYM|##kDs5G*BMGx(qSm``1@KR z@8#=%ZQ>HaF&eMdtytoUdZXfR9Tx6nvK8GO- zOZj_mOsoaGl<*{`N?G}Ii1%W1>6N6~uI(9UiW@@$o29nKcs1tBelPH~Xv4wY;??^0 za;C`oc6UO2{^VZ%OZ0#~1}z5I_W#-@-=72}!B?aPF3YTzM4mG zT%IH{EN5i2%pGQw3X{WxG!s8pGn!r)LQqwvZ9k1b4!fzpvzl$MA*cy8a$ibAVv~Rd zrBl8rP2X0N<>?-$scuW>q9W^Ryay4H(cuww^~5QOR)oS{8^V5V7}*TR0$?aLpwK6W z>+3@9WtS(yqEJ4A%m86RPr>8wI!Ns2z!KHbg5lKn4w!gt18QO8D{RTIbFQ3vA72#) zfzlTS&z9z9(>vcC%~C5(T?4RpO|S8V2PQ+r_hzSD_&+5UcQ}N0PoLM8unUU*&@KP? zV9Hh%a_J+uxVRmMx#a(Af;IpiohiV9$ZXkRpAwrJt5^iD2}?0uz^$Kx7ng>*x-30V zRn>UVl{X-D3Oh26hq>gSKDP2Ig*_7}{w0k^XCscg7X*Y3#7{s5h|_8J%{IFw&! zhWZ^6p=ZJZDDIxs__>3^b?Rturvrn%WgK2Z4BPQe+NHrye;5=Lbo}aZs}=vJwzf9p zhNG*qp z{(!FQa#ryP#Ns0f>{v@dv)U-CO8w9bG&jzlM@EuQ`DWWnxkY=`&)UxW_tSgsHCR)} zA37(O`jrknrG0`S82ih-YUVV3Y;er}?!PI&e>H2$>+-s+K)=C>TR>n2S&zN%Uenkp z$iN^e^7dL|QzGHErs3!LoY01My{h;1HEynIjy&u zBSr{U8)KHHXHLv;>_v)kL@v4o`7VQG+5gdg6*T4>_dBRl9x2ryjmGi0P;PVefH%?G)Be z*!Mul@H9ZE062TiOW8KL=Ayv0)jxkCTyCrvs2O1pDuKn@#lLUzNLK^%WCI7r=t%NjC!)@hW?iTGB;rMg1jkAnFM*}ou z=w?mw=A^9us|=#m21R=6~@*=5B!?TcBvb zT>ZDH`)mR5klsQV%<5%uxKYo$()e2-uEeE1@97&F(h~YGA){yc7H8PpTT5)+Q7O*c zF|!8rI(9YSb2aCg`4A9r+t2C0PM{AuhgvCD0CX6X>Dk(r?&#ZE9H}vAv$AL~2F2b7 zZMrtQ?)_%~)hzhZ=;-Kj13}*!z*f)))NE%wgjL?xE-cYu7N({B+J5=@7P#zNwDrDV zs)N=P;Bj5G$2IBPcORSu7Q4N@UC22X1H45)BdB5UD6F2Oq@)Qk%FANabIzDg)2Bxe@KrEc$axf)FFro&Ss?`)fS;;nuDCN5OZ&U(gSfJ1^sRiu*(K7Y`L$Xx1;V zpak|kgKX?caJUe`m)Ey2K5Wtjh^ukg)=^&etR*dx^BtB;30y7ytqRI7TjF5TLLeFQ z{LQ*4FX|@N)hVpa20_}hGi{FQaOl$5Y|dORPWYl#y>$vN`Ko#)k?O>99Y?xD$&tfZ~Z?*^0XnpPy^}+dKk;vbfi`hFvA)VdCo{1%=byX0X`ZeoOsu+8QfWybc z1dBdv(vOmRWZ`v`N%z zA%i6}_?(EX^){-ib90}atn}LMvzvLp8eyudE5?=+A?i+(c7?IuOK>94%MM5+JJ~%wqpNJ% zbA^70XdYbW%d%8sCzDE;C)*x{DgF&rK<)J^disWfobN-~W0-0zk?lA4j7eqIa=!PZ zaDNXtp`MP$)k54!h>xFon&B_?0}-ba5a8Yj+D6s-L-<&fi(JMYx0yp;5veiHqmFLq z>WE>LJlfq#Lm%?oWmWt1bC^mqZw5YhF!#>!Q~sh2Fbkf;F>Ef1Kc78Gy1|H* z7-VHtftax&u?<|1$QVXeZXAu=!gEqc}B2)^d5AaUb zgmKSxj23D@qJ2JG+BF!`Nvx$w2m>BNpEF>WB1HTY+MsJ#?dMqNlv;hGP(@gBb{V{N z)*SAiT50t&uU!YzT6)|v>|%B`I5e>m^=&LUOHqH{iJO&`mxYhTe(bSWsu*v1!36do zGc#4y<>^w4VNtMdNy~C+UYl^&g*Bh^`p4OI-FEU{I`3NA2~l+>B)f+-3r>58=q$_E z<(Y-%e=XgwJ{x&jse;zIuIHU^LkKhvqxuFxOp1ZgsE3Jg7ClA3h-s8h7*nTLL||1h zJZ+57@V5so4@tf))ckeQrGq|7iW3@J|0=w*RT_Nji9P$m-;j&6+@pT=UJd>)Rom=)m73sxYw291fK4WalwXpah^|#dc zB)P%Ug*9N}v(f$>gtZe>7wWvIo9P|(Bl+Jus6(i?8b{TGU!&saAq45yXz%SH$BpCNknY0752 z+p6{0#|RA1KQ4T&m2faO?qPXQXV>a=qT|u*ZThQTq>Ly9@|EJAaH1B)wMp~|n47x( zBhm*V6hv&>7qFd{osU85NlQ<5UfRt4)%|M;>mi$n5z4a)Kmg7&Gf;N1zl8R$inVt|hmCP7ylGn0i;-X^AB8Y(; zLmyiw(6ikztz_^KD|Z`@-S+2&d^YgeOn7rE@B~x-`OeTI%H%H-wj;HN(djqsj`C86 zg1$c)zq6siE|a>G#1a+ibKj;QqThC}<7QhJk|wzI+2v~b&SY|WkKv5Z=T-=xK4VYf zU!%GOX5eHb>7G!jX=x$+ABf(ZeDQ52mH;a!Jq>8al?*N$u6FDR+))SJ7v-$;MPe%V&^8Gj5(2x6jx&Hq zMTfRvN~6Oa@b-at4QzpSv*0A?$O0_D1b#qYNT?C;vgj>dp?9Nw@^3dnT=Z_>hyNV- z&VNpR3%#3*6{hpbXf8WS2gJeo)UakuaKwK*ft~+9e_UoNEH36w8+a~Eu$B>zh`_#= z$$4SR%FaI6-7O;{gH1p{fRB%lja@$>Q`W7R`og^jmn*HmAAlPAZ2s#p&UR2}c0xja z>3&j-=;~+^$1!z}5W`_gv$duwK+!Tu0%5U9NskEuo910LU<#^Ng@@ns9FyOErS)QY zc6OGZlyvo2py_mv>F`UlJDV%Ws#0b9$0*dMgys>^(#oz0p&MS>w{sIQ*^Gs1>ee8~1u;<%-xbd1l} z#Erfh+zYCRn3y*Bc=s=}$IXKn!>Rq|pxbUzNE9CLMY@5ojqN&BA|eiK8ID5v>_hAF zr8Pk_pr6Hf7#W?WTpH@?vGGH2$wipCv;+vg{v6QDC@Hm0gqgYyT$8e4EL%!AfasO# zLeFrGiay{YV@Yjo?KbvunsQc2B6r~}48r~(aO_)wFo(^-jJ%+o&CUG52P?a~EK{H> z##$Z-66eRWuoR#7KF*Q?XayK(){|~m-nK8LxxbP%xFtXW_$&bQ|J|0Mee#pkpM*g? zjjHVFz+4hwW+;3!|jGR=-soa8iD#98jNoYAbD_|Tv!#A_$Y9L z;^H8|cn>~vOWS=ZD$dOjv9+zaE5$FQWokY-F{!z}(YZHY_}tvnYmoqZ*k4;`;_A}z z@=ROXa%>=ZIw|IB0h{i4Vr)l**|XHlOe8kGL45`Nv)6p8tNif()Lq}pqV39~ZpF0Y z+jkhgnVsC;9E6jL3X9SIR##KYOm_1|x?FMNxj8Y*D<*{`K7YQL$yYiN)W;I*x2>Aj z)Ra@Leltr1d&OvZzL;H`K>)>bedvBL-!nLvjGEx+nlCtbcCkLbTL1k!Ju~x8XB34Z zmKapP|0Pz>tyfx+08R7ljEtLQ!6ndgXP^{iT_yd8IQfUjfS(BmVfr&UJs(c^E zXYngXyojSl1ZIU?0N0fFDZ7#Bua@ggYa{!K#U;{8UPj1WiAWnyKlWhUZBGK4HQhja}++8sh4kcJv9&xD4CzW}p zVMBCAH!IMnWavZpcQu59OG~u);@$6~%@~$|VDH!OZ_DBP)k**mh6wSN5;E zLE~qheRD}EDb&Y10eDy5Y+#BHo%n+7fSIJ^vWJVUxSApqfMz?esf- ziPOo_Nm3=uJ43**DNqb)=S8bm@e?UgAt%}4QGqWG<{Q2#L2`n{p@ua!^oPV~Yi+kx zk(ij?`LP)%gdhz!cv`>7rz^SzJmK+VwjWLIbu0maB&-G8Y3nMYCY=&H_>p7y&Bgt_ z@fx4l^^3Bm_vCaVmpgCa9%T7^EzM^WOte#f=aTc!onhN;6I<@AnpiLrBr+KKo|-lel#R<_fk*vJ}5_>!@`zFIX{yfz%I;aO#0+ z9HgeF=TjxJy1GhlP!p>W=mK9Nm@30gW&z4FW`EEr2=r>#S-{v|`warUf4gJ{a&d9Z z@;>F~?261vDyR@eZcB2RK-rbeev2Wv?t?;nx_}vkI^+fPC0Hx;~>Sm483VPkfPr z>)l!9#NQq!k_Ueq*Tozcf4O7fc^9`0WdBvmaNk$+_j>mz!QjH3n(k3C zwO_uAp6YSBS+O@h&56_!?6|yTY;-u3qxIepRM&fJoGeXt%xu3hjyt&|Qc+>@z!lNL z6mi^2RquMU((3leV3)faKH_@oRTnLkC_EYjSfnZr4h~JU&;SjpVa=N(5B@87t=e51 z9&&)JnWh4=NA>5GBq#Rq+Sb{Bx?DUUOO6E?rUdX6&y zQ0??)2haSzAJl=;%`^To5;p04?a|`WX7>u$00)WYQbYue`spX?OQnvkP`730KAJGn zxQTerjOkjpH=*L#*j4@(G-P8i0ks!$jC^3DQcc|dmM#Ac`bN8qu#_MJT5K{epSGr zONQ@wnUkHJ4M+-o_AUn6a<7Z`YG;%p&(x~1@uNZ$(@r$Y#wtY_t}-P~94@iA3;HwG z>bs3z?jS5cB2EM&YIPEMo^$boGJe6Syy=k5R?gGR>`>)Trx5=(9kh0GegwvdF>HgW zrLI2z1rqZGM9y`TRO{$4Hu~-6768hvm!9PNtyg0oV0hX9ohtGxe+`*a%LFHk%K~eX z*X1};^jqh4h^@M&hU_0J!o6naa&>b()yiv?2b27LzxOUZoqW**uYQ{ew0r{l3=cbg z7tN&zB~RJq1=?h;)m&HFT^`uA+$*}!z@!m#kIRB$D9561l@}Gsot-p|Rx!T5Kl3-;fHXeS_QO2W1&X`#FV_2#~FR(FT;~%#pSzK$AcGcA-6&|JIT( z^GLM}Sia*|uAkBi3JZTYo$6kF3mNFKFM%1wMrz*iSvPd`;|Vj`w}C06h%JG{K~}=x zR}nulP1yg(-<2ND9h$4oSjZ(L()oP#P~i=zKD$$c z&CXI@G5sAFndXTlDSa`&gRlKe8Md6tuT=;MakC!@La#%649&xeKzhXGV*6kB>368g zP3Xf%k1XbMRyzr2EjlpFE7?)S(yrqS$RheSag(y(ef6;rYlzpIln})LUWDPY+nSpe zu`HmoHIQ;h60nr!Vo#pgSutv|u(Bp%6&-1`KSNzzO+Xln)BYpxNY>Ikt4e#S()8mm zv1K2m#v`1^J3p6^LvL~23FVs>N0KiCq!_s?#FhzpheCdGB$ZdoalrCf3wc5I7da4v zI*mKOFXStef!XvCYzO3jMo0`kxtQzjb-P8Go|yZ9$x36eYw1j*n)Mc0gjRPVU`j)j zv*J8WSKPR%o(r%8HrGYxe%gTfqfD$>Ph{!2Txk#L8%`fdW@8yaYf2}Z{_2jw&6WeU zcJc|slA(g`328gkjqfBR^XkbFZx34Wn!vV09c+k&M`kowy z++Cjt?ztSg_V~p$6KOaI_3nmLZ=a-0^q|D+s4qjp`pisB?x9hImvzv(*0OlOJ z7;Xu8cbzRvI(u2uW3?5ar_$uKZVuF~a7V(~Ln|PMmXizj%0?9rhCRPq()zN2%>;M_ z>x9EiQda06)IqkfW-DuZ2Yfy@?9Bd@iWP@Nz?xI=jUM7Jg^+hE>&pJETA~`F)>)4j z@<8K-T78=7NUv{8u_INK;&fk6u{sx`qFr@%=lxHA*CFRlpYZssRSN*_dW2vtzNU|O z+g!V{pBuQmu;ZTV0zz=2bX!GEWq@t~>28ujd1igy$=YMMEhD>PPInH7obT^)`E%R+`R&3mt&0g+ zIgx->i93_$6Y`y~ zTL5c4^KwD;?d7rh?wyp~!Wj0#WL#S-Cj4nNnl-g|X#@{!9jC4DgtFi=qU-Ts^QnOv5b6ETx2EDEi0|sV=kDYp~87O*UjHWEOQfH6NI*|5}2{sy=ykPYrb|$7ch9^;- z$-&|U98kcx;^$cLi;0QR(!PnG8XHqP*0O$wR-9O;DDwWL(Zax}W(WuxFJf*k`8rxY zC-`1Su?9Q3KIPk$vj6_q`!$uF=Ku=-zIk?uiGViD0qAt|tayS8PH0I8YhYMM5@k3o z>lG8C?8m08++|;M%jpNwf)r<{Y#x=y8KLWYUD^28dx5pKw4zy6vchlkFTk$noc1FQ zpT;)P_fAZQ0lXVfc#4LvJUh+_eb{BVe>Mp$ zL<{eho9^+gU0j9GG6h>v*g1^u;VIvll9&oFzFH${6678p*VDh66g z-PIkm?MSk)FYrwV%-#S#_T(G2C<@I*gIYDoqdmHmQ^MwUy6i`^(`AlrHLGLwH_(XX z2gaPr%mJ4+{L|i7xBQkf)wH#>ZE3Ipn3tBGu6K3x{$)hfD`-xZ^!`9;VPRNIjMjc} z^8BbfzqP5FXB!5_duvQBvdE=6-4`q85ti2GjXr-{zUg3UQCKtBPK-Dy4v0CzOU;Dn zp@6-ZfJ9S1X}B`2x)V@?ExK~E%&G(k4`9yT>;7>FbtUyV&HwP(@jL*&@{ltXu}kC4 z|J&Z&cGyntcN@<^#L7b?b}}RH+R3+B#lppuP5$Ct+py(aJ8Gi!jwB6Kzer4^l*!m( z)CmHCI6cM1$JYd!5#c1Aq#1f~AU&SAlXkFV%Tc(}->;w@1j?UE-cUH^NJ)3M6-7=! zjkTMSxVLX(VDw>=JUVNXjkGcYkN#b1T9><2|B}ZHhp3R4u!whv^oJ7$L)R2QS3rUV zQR@YFYo1qqQM2O{dJ4vJX>f6wEQvTJ1LAQK*GAFwy`*tPH}98fRjb{u150bpcl*wK zxz~K&M(M;yhm?F)myx=HFO~RS`5Vn||J)#myew8xQk@HHxC;n`W5e5(UxAJBk_fO# z6JGz6j#_{SIvLH!JZJR=JXxXh47KM$)`4)6p(ZS5`GofQ^Stc}tZgM%T5NbmCl>=9 z-8UV?1i|b}LzX`-r34AFETF$Dr~_oK)PNVkkq}ji>_HkZ&1J|^>S?*3s@K+nr)JLP*Z*ym22PNR3kN3vGvRY$?a(#VmU*Fpc^Nx+b}WSMy0##GYNPai_GA zRY7YFcYIb`xi#*&&5A(&zsNr_ZewKo63$zyV-`Dq6>%nlAy;TVJO;=+a^>O9sl|>5 zZ$s+m&joG>t9;eECs;OD6n}KSYPc#YMwPsQmyu)V0I)~P^u!|uOKVzeX<)YVBi2DAFr@hU__7i26LHB3(;u2W z|9F_pX21m0+<`{@PP&(bVO#4CSEJq}wj|lq2K|vWH_g;6q!RGJddbVaKqUbHh%$h# z)-X=b%?Uvub+xsc@UmL&^TK%6k5JbYx^AK0Xc(6IiMe zdos`c4Q3y+X>O%e;Sqqp@DEMyp$|DM3WyI-0mQ(Nd%e=F&lV(Pu@53*AWq6?P({;7 z7R`Tu;$Ouqpbd<^P-fW0;}97-yE0%KcY`(Z8!0`s_wzXmJ1E zwvr0Q|Nh4D?!MT@TdYp8f8Pv`|685`F50jbt+4Q1KtIEe9L^7|$2@)icS)#!G#3CP z09Exr^zk2mh8}=_PYV41|NkSJm_rkE;NSny$N%Q$s{1?9mGfY zZ&9I-O8eyfqq@GS?@yaRg1c5<5Fve(b``P*VsxM1L!FG)91@5VL&ws01;I{mhmk>p33BL=(KHnMjAQm>$@uAiG4&Lf6FGU&@w&- z$k^BChZ3+C9k&WPaHYOE&b>~Fk&g7Nx``z`t7@^w;)`02pf&)C-nJ2Y8L=iDEae8z z1^fzXutF?C(|+dJ`hsuvJ`k+uvM%`A*DwU!IsDYuW*j#%dn(X3HLdW)4>d0tfz3BL zNiFCqbpS+tobS&g8CXmnCDeF>J$g}ff#UjlLvR`qmCP@wl%ER)Pa0Tg`RoGP-^^6R z1kd#NKiLY@m2`OHw3B#O-ZU5y90^@*ZYcP^7MD_tx0^KO0Fn{k{pZb-7O}hQ)~JWK z!Bokv5;&YicxAmVTHDJ=J|h>HwBg&eaL{WpXtX^DuK~GB3TQa%uvNjt4JY(Lu0C#H z@?~Z4IzLUlHhGR$mt`grV5T(J!)L`~vgq$p zJRCPU!Y)LaSa3vUHDwzY3pbww&j=I?wy6sbLxu6C`QRj2A#k0I-m5>sNOq5 z7)TD2(~vEFKo{L29Yt}t{5@vm*`xiMfwKp=npleqVd0atMVm*Q-|~hgq$~QJ0kUTs zPOem{X!*x0L@~o`a^L8mWfM%2gzND9a9C{6GVca0pv8It5<~*CT5AWgS0q{Of!O>R zCrs+wh|&8ej?V~~*qLm31FD>y4EK4DP_D`icHEZ8^mXeU3U{_$fMHbtp?oFu%533m zVYJ?=yfj?JQq%TA^@Pg|WHrbn!4kbWlVJy6%r=mL?`|MF_1liadv<1P3}$rv&d@~s zQU5fD-dXEF_h~4QI{Ql&%UBBaY z{GvB5Jb)kaM8w&ErTrOxJv40jYdledR*{yNV~52YNH`{Vd9AW`H(IbJh$FD60e<79 z?rKpbNC^WkoL2-F3;77*iZiOW3qeX$kh9FoVR98-aZQr++gUAOm$#jtQY zC!_Rz@Rs2PW36kcYM$kk*4+6MF5kDdsFCIWqrW6wPg`b=4yt!@Hs^dQG1*>4t}9W| z*x-41DL-e@k#Bt zxsDmH>of@1uM6U|QiVjfp7gwoQ2U-C>@Q2D>b8o?Z7;LHss>QUAF6cliq#u;Wkwu8 zOexTC_xP#6ez?&CMddg?lfU;2Yy=;H5KhgO8uF<3i*eIw~@55{sEKP z5(Z}4fdypcr|gtw8|%010*}AJ13SCXW~uSPRyKbV!i|ji(vob2XI%pa8nSsckLnQNBJ>t-m={xF4w-W9DC2UJE1Ir@u-9W6ftn=R^8+aD}I z?0?f{SKfTNGR*l16(~NQ-cx9)w$Xptc5v9Ie|UD#w)^v0)lA6&(&Ol@_AlHn(Am!> zrK@$KDu&N-w)t*a?Y>Vm?ZG1A_08*>D=&oM%}SD3>&f+ZZRfEA zvw|j)asx&JpZ&nhDSHpsoBAbxH*f2~U%9|u&LIv`g8KSdChd7r6|Br>g6~Mj`11^J z)cJcUCi6}Dnfs{5pY4HaK7^@Cak|)_Qgq222I2fWOawWXLYe#@rE~%JW$dPun^WY< zA4W4TE2M~LVx#<<6EOo%@iGpb1}PdC*Gc*HQLioy+^_tQaaLlY{wgF&)mr;~LK419&J3c%#@RnZ?_S{I6l97m zeJ%`wX`y~CZwG6jOCj#cWl`tX)XA)>|E)n#B*{UEomTXl~!sfvgP;Q4(~{Rll&B7X1TMGpFmDK z?bh$%i`iE-Y@Z~2chMScd6z#@T@n;o%{zBX3i2~Cz+(=Z%cYP-WUG(b_={|I4}5hZ z2eqePQm#%QM46e`)DUv)Sq?&THixz3Fs*r!33F3(v%UfAOarQjW$)C~qH*^FvG1i2 zL3Ys>JPP_2{Fvx?;H}|X=xJ{gP0_0QMFG1VDSHtay~q;E`7rKLp2BBNT`C-iAF>45 zStW%+>@KY5NmMD2@mN*QqxQ25cA=R03w`JCn^tCsndG2uUGc-iSC|oZ`?LzX{J5N| zPwiq_@2odgw>GBS`GdB*AMTN*YFA~DxO?Bw^$g#5?eD{~qFZ(x#hcvWodfY{ZT=?< zOQ^p!Q(~xT$L;X1tM6R3ROO1U^rUe#J(r6`u7zFtKZ%6s36j88evr!tb zA!KS5we^E3VDqCXOeSa>WQuPSGW9z)zqWZxp1_4O+5l#yyfij=#`V6U<77XX77;+> zPSLxTof!Nl;n z;wL=!Cl$Y1%b8epgG%i_t8;1TMaR4fP1OL)4>+!_A@5CJE`HB^P{tUGnMBT0L!x;Z zExF4vofK7?y2>snHPmo!tFN!mSbyH}v?_RQj!sz~>O>v~QbCX)!Lf3>YhKK}>3Fy#2zEuvB!3j2J((rHV7bI*)`u7*^r@!`eU)y9Z?8(8x(2 zUtSK`nGbvcF(&V>27+b;UWAQ~WhY)!YdYGldPA!)mYyUIszYJIv*5Ly^#;6f;-I39 z4r$XbrD5nc@!2HBinrmDQ$3VSB5+RchvFQdo~RQV-CHDE?BGwOcnX+Z;r&S>xUt<}%*>r(8GpYggPZ7`1+4x}?cnEwSlzu*{QO z$EP$D#iP+gFSDXhGpt>`7NZk2h?sWmW*dlFYEsEvYBbq6w1phgi)Q@bt#f}79+7e? zyJykgZ$jkGEBU61P{Q+y$7j02$4=V_LWlu?7ZFh%NkJ+jG#cY6cVVB3v9KF@9l^FG zx0}mqF$Oru?QZrC6yqg&S>LclyI|F^_OE)U5@Rs(wb}6qe0TNm+FNAt%`o6}?BZK39(ts5UKR z>Y{Hm;g(Q0MLV-aeC@S6rml6eD?FSS_Nw7dP?|@1Q{XwHX)fmVD$8ndK^XEYgs$xD zcGmYPNP<^;{X%*XQ);n#_VR2}N;$*Kwc)%Qa7D-+oa33=*hYj?;Pi<;mo$&G5dg08 zWC*^qvgcOZg+haosdD3*@^gl^-BMl`y#4Y`dgp)J>L~Eu`&++AMF~fo4YDV&v(jS4 zU#vw>+r8NmyB2jednL(IfVHy8?&c|il@c)Dd#8?~GMS3rjJo9fW4>MB9AW@1-!L0$7mgI;6$VBn+n78q zYLnpjoSyX9p-u|WNInzU#kEZB(5wSEj9=r0h-7Z#_g#HQ%%R>P*dQfR`>It=O2fl-4?QH;TWJRzK1 zarMZXJI;-6kqPc*f#mboSA=fY2BDQ8xe&k@F2y``il|=Kg3Wz3wSKrhLqEuBcS?_( zas%?{F@wEV9~GiF8s^WyA^d>~p(bjrqa4%v@E$lN%V1#P)vsb_we~(Ynw)_n;n0c_ zz=>qCWJ3QA>n>#l49d#AZvHHZ4rj#&C!!YV`PkJa&X?DM(Lt5>8%OAvzU|R5$-Yk=sO^T zpwNg@W(g}vAOGJ!A_mmuxh64J?%gF04%%KLMg-_`r~-iz##T#9u)p>$14HU>e6c53FRB0j95&R@ZtCfg*|EWy(NQ7U$RFOt zU=!6Qa3|{{+KTi4^*l&w1t!WZe9hJ83IJq47^xmmnggimq0mL$a$AT;#CEj=iSeF% zYooA22Kwk>=%fHhi>1KYOL}@_&S<4W>0HHcH=ix*f9T+hIA4+8KbZQ02If|d0*%uI zPMMWV^-r6MKymsb9ADl37ZsJl*maS8ykB;@;9R4Vrot~eUy{?~r}Dx|d1N55uBllH zb0I`ZF$yr;GPlw`AP4zj$}ykqg!8;_2vJ)Z93g6H(Hh!1sDu92iqC#G*93Vpf5Wt(Dwcz^4 zieDhw|H{O_U*S(8W#B>33BIwf=I1TI!WR7!6B=3(Ric0<59 ayq{0>=Wpnec<2UhfSDUx8&M5CNdEvT$72Kl literal 0 HcmV?d00001 diff --git a/docs/images/linked-acct.png b/docs/images/linked-acct.png new file mode 100644 index 0000000000000000000000000000000000000000..340733602c82351f3760eb1db43dd12d7cc12405 GIT binary patch literal 108953 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%0Af<{YWusz zMvTY`mEemDtKDb{DBmhM&U;mz2jaioy8YL`pf2XO3+gmS z@!kp@KdSbXIt*{F-!{P^S51~1J!u)QWSQ+uOQPXhlw+_0xj0T;EE_N#?B>+LI#p&F zs!Q)mDJ6Qpg38Zugrl06$#Pr)*&TdfbU$2RAxWcA3kgoQouGX8Gkh%f$+9GPrtQXG zO7XS6=V$m9(a5y`k5!2G3@|S3bgPJ0;OQzB+R@W!O(WeP@|df-UecP44nour9${T&^~HrCG;lY`WH9 zf|pYDY7c;VJc6&X})8W8I$bQ zL?R;TVwV=6MwN4JaN{R4|dgA)^b-QoMf=y1`Ib4+a zh`^->4U)|gl9S zLF9!43gqi(w1e`s@0r~+pm~^bR6Qs$*?F>}gq;hjE45n!ab zs&)$Kp;li%DV^Eby?{Js-dfqAQoYP)KnrOcM~I=7PB-#Pz6l30%`dOsk(VA)|t1t3b)}Kd9VWQ;iG>|BL7RQlWoj7;dh(< zC)tn$q4u&x|GNkf_sD2YxY)!Ly&(U0kJkyN&8sm1^h@5eJp-77s_%B=cCHQPcq`s( zJQeH{f1WBpyu@^Ha03+!;r>B6lHH zQ9ESl#&LtN_M(z#Uqdrb^f>_#0Dp%PDi6)WVSq{9@^ zFn&*#z_Co`!vNcGw6}Os%wsBnz~XBbLBz%cZ((3z+1nc1EDEmUffo00ks%ocS7O|7 zeeh2CMG*TEcRz#GgGhP0As_!XgRBc|CSL@ zip4vVJ4Nd&EVhGzI3Hi*po%a7(P|f@In={ zB(2i7>Z5*L3ytHN0%p6E3p&Pa3Lz5Qw=7Dw*hb&5B>B+k$%dJO_grV55VDkS9*)&D z4%?Wq^Dgr0e;Tj>Ng?rP?*uJBY0$`*vSFV_q$ja&DMf>?QMIChP!N_a}U@yMFz`M^#F!S=?RE zuhR;}ovXabFG8;p?}bfzB~UnIHZwDW=rxBRT8$r}rkX<;_mWZ)qjbn<`}MuUeq1te zTS!i=($nhJXc)J}E4^WKOQ03vBaP-oZH!G&8yJnP<^h~DYm(PKY8%vMSkF~Wf4x&B zO5hk-6tL%CiY$fI5sUi%*~|GV?W^v9l*t2UZ4pIG2k)jL#!en&l}cCQ{A)v=QQUrk zs;fZa8QQEIX9M(1%Qimh@2q|F=9PRBdVOGGERa*smL~R>5B>YMLBQMFQz4z~vqS1m zi&Lkmv}K1H)Y1iK<#Cj8g;EzcDqYG4OCGw z+1>h~6X_oiGzo{I_OA4Lr+4gMn|M<9=a=g$Gt0bkC!>k-=IyVR9@q3u_BxqwO4U?a zWgRjq^jSmV+9rgkisG=F5#NefPmYct9#nWeWycMtDr00tR+yTY{;uzsx^;xvh+ZcxA3 zPKp_WFTC55Ouu^colYN`g2(1tGd)(GR`qiVZgg^Pd;0D4rKZ?liF0pUsTKrbU%WWf zGxlAWvo%?cvM@Nlz^`GPROel|Z`i~pY*zp~+>R44JZ*in%~`c<&JF5fcuu%uP}HzA zXEvZT^%--u#@>7#)B-bA)t`h}*5lTRrcizv;FqM|)0^H*BXGSXe*dZ9X#7 zpB8PrVNUk@vI*+q5D#8Cpme?S=Z>)!zXjm$E^o7dZv5U7pvu@U$7g z`xXV}`5O5q!}eN|C(7ffbfQxmbkQfMMX3LdL6aQ7sD<_w-%f=npW$xcYl%!_7}+b4 zCm!pz(22;*kDn)Rf+tuRnL*en+lg`~B^JS(*1bKA$>TN7=DHqB-_J7KMSOjQN#0Pc z_tDSrY#m?8!%zkxVx1N{GxcB52HK6L;EZ@;LWhYKRxn?#|2$^{x^z~cU5Zs13%=&z zk#gUjZFY6i6YSAKOsa6EvA-cbcwxK$y6qK0-sXtN-DOj41JwEl=XCPINex*!xX=*% zlRNQLia&jT4q)UgNMKUoS6$kAuu$)gj48EpBRI$1-wKGAfwB9$t$xfMa9B}7WvYR| zNfGC^gKv~CSKlxT#1*SAUFOPUt5xlP^fybmufMP4s=nBmDJZbY49X%`6*~{kx<(8F zTdYg2Yc@q7nGI0UZsVffh2gQ03W|cP@LWA$?S2`p@rg+EZkj=^$zeBDrJyRmVq^Qd zGBGP*AZK<_y_mXK^YWXN)c`b-%oECFgkSNeDGRO3cb2BtxqL*V;P_SClyO5nyOng@;I|r{T*8Mf@XsEp}U5g&;T~xr6 zw1cCwI9=h*vG9Y>bY?Ge7Myp!pXM{K4JKHOUTkta;*{kzbzCi92Z9#IAj z05E(noNgtmNnva{wAyLp{>H?SPV?2kGus6^MeOp&VD^~RtZ0OJ_oEuA*MIQU(Wh7p z&nZ5}z4_C&=RCWOTGLfvPXu0W+1^vp($sxJ-%1exMpY`%Ci2-3r!iE&91aol71L#^ zomH%Py}fp9R0;Q-UD0|v`Zcc_R<9YWGUiNDh50-do;%-iyNwErWI|U1Ojapi|6xlpwyJI zJ~mXdO-8C5FF}?gZgmciXkHu@T%T7EpaO!1i?)x-`fNKbu&0K%3e*btBtgW+k_L3N zGo&@J3Etj3=*I|e7df7X>V@$KhZYvR3}JL}mBD`)s1Up_ImOXjdijuaQ9dz4NTTkE z>FeRNul+M7@8Fruir(K9j9+&3@Er(r^}Oyz9HsF=50~6F6bV+w9&qw%Jz=EGBC3nF z$xaa~S(;cc>(**Em;ib3iJcDBThWzOD@rY?T)5|zC?`X{gk`?fZqTI zNE2vu+#7hQA#$~YweH`n?!Awxs=*QXsKleja=8LUpWZ&5G`Zu5K+&E=&JR_j-&Bj1 z^W%4i7lnt$M5sjRAB+Kf&YCpVGRv&Opmzj)^(gVAn)A%u*7q!^oC~jAhV`j;;!=7UJ4e#k-!+ z82aoWMV7#u4lwNHThhMO<;!ybNW(8v44pbxBGA{#R2{yB`_!oxpGQcYoT@=wwSow} zYgoA~DPj@uCel^Y9xmUw*~&h3FSWyvsBdXunm8R`XPq;zQ0JGa48pXY=_^`LpR}gS#g^ zwv(2x8os%MwBMR-b8bHl@CkPfCAk|r_G5TyEwJgUw#6TiObiRp5dT!`qQY{4)%4&H z;B#1#Qdd9gQ>Y^jcD>k|KU{^lHsoot>YD_im8G77TkaV1m~3QEkBPq9 zs`osZ9csv5D;Gq}I~ZIKts3Y&cu@gsa2)OCEc$U_^&Kb>yO|W*P@;KrFG;gmZ>04q z$k@aTW&-qDa3>pXaz32!2^jWU7jmXva?I#8y|AxSh|p=em>oR1=8m-vSY%o!Cxvm= z_iq=QSNClKBUP(9SW4Qis0}cZf$?Brq26i#u;)c*Vg{*J*FoxwCVW?WiwYuK!F5@# z$gm2V;S9dI@^9Py57aPsi&1!Qd7TKbLt?6$#VC5kioHFJi*)fRN?OmK``;vvoOlGC z`&c;wqTAMO-JRn(5Q}GdmK9KNAw+e&8!)Wy6O}{3L{s$h>l6?@S!2*>TjR>+Hq(@1 z0)8g&gmai`p>}V9nHTZNvks>9tO~M4F>7CQUGsElae0VVtTeLuQ=ww)h;VU|qi~+C zsbT)^G@nTj5A~8~ZEy5tJyf54`a!JxDWK-Oc+k{xhy+YxW^v(UmCU};Q9P*yxWOLtbW6l>^GHa)t z1vN58?sbBDSBCkZ)vy@tvR1z1ENatcm9|YmV?U3E7fUput3Szt=#AeFhVpJt6ph50 zMAJXN_P^l5%rYbJrhFGxR%j0{(w!{{rY|PcmSp>#8l=%YRvsTB5wN{>^hnB69*G{W zmSUWm%C)O#pMMw6tgPv#6d4iw9PC0^^F88_b%HZrzib*`ES_gNzz)D4G(T_TzDZ0? zIO)VVV?rF*Fy+uqgZos?Gw9;FE!k^Ob^pv_L6uU(EHh1W`McH9%&`A*`gI8Yqk!^t zHqMIm%0fo2R%`#}yx(@@{QO?SmL~`M)NtE!DxvNE zo*!86EY!n-P@@7h_ED|&(~uZH#gJGIL7}nO9H6=I^;WsMm4Cs^4LZ(a|Jul+k8rAg z7wni>zxnCzb?M2cPf&f2uk9i{hDjZPHjQ3N{*f*x$n0wsZ&Om)jKR~rQDBdwEg)TD zJM#&w+xGGa$BpV`=Dlh^$M)9&Gzz$S9+{W1IwLx_z>$N(#k$HX@Pc^=l(Oxcg|Xv} zzj<^sk&tE|LqM){1xI4iwt|57$Kio1r4IB~7gWzK13!eqqlYMIf=gaV?5t+*qN@yQ zK;>XQ5j1 zlj%-()TKQ@Cl$b91ecHwEW$EC?PwZQSv1r;$WJ|;$egjQ__3dNZmhDy`(}YeEIjdK zJye@%i<}*hT@SjbNZ#Eosd99Mo1lVU_d3md^a&8xloIHNy;`7 zZcEHBDCo{vUwHG3HL>h9&P8{ zaOH7(VkT%qz;K+`XS}W1YTI70&3;qGVLy;|H2BSoo)SQHg7@&UK_rKg8RZ$1aD=Rf zB3Q~VA**3V6+*@qEX%HBr22eoBY^3Z(bN$_?1~wYiJM|rIR$A1;v1F-GTR;%Z4ap$ znaR1N9fPEt67;}3J;o7a@4IhDObFXT4xd*@eY5bR@aOEF=cs}wKG z4DV2B^U7JE|K=Yxg`KlpemCK9>b2A6lil@9rAy&_-~IHj+|_SVP9m5~Iq}M;k;{l_ zTU}T1g1~xMT(i_l^n~AOM8`JUL|L~1#mVC$p}osCrfB!_^pCt3NJ<2~v;nIrygldA zF}-{jHSK16G$_lv=H>b>y^+S>tg4Nd)Ae(J+Y)`V)j*Ppkp++!&<=9IC%aBdo0Z27 zC7k}kUgt+iKC-Xnvh(h#c0EN+Rq~wu7{aj+R#TdNJXQWM@IQ&O-|;N(y-8MyD%V}J z7R5IAh%r7@oslS>I*5R70#nTR2kyIo+0;b^7NY`-VFJXT$vsU28KUUyE41AEdrK8w z*fXci{gyx8gjQdg=GJ6N^=8G2arG06dLSi6l}Koos&8O&Sh2Z-%{pr-!-$VR>{gi zT+Gb(a1{Vu_l#Pe65pJ6G-`{$ES}R_6_>ZP%5Dnd(b}vR;=jq=4I5laG|8IOrq8@Q zknwf|gxG9cN$-aa8!j4$s75(Y%zrt&&1YMX@K`OUMk8Xz1`w_B z$9GK16Us50x|dy~0od})#TL9YJJfcDvk!q4nDV-2j8VV+#&S(h>%w*N zwTQ8CnDS_WWEiaD?nX9oTPTQ{C^d`he0X*F;`*#%dxkx6+_g`8v8t^dTB(su#`l`L zILv2ZwpV3pha~xQ930qcNFJMByj)awuSX4%?Tl8@E{MBACEXC^ga|GSNg5y`$Z$BGu9)Q2XEx+PjzU`C9)pjhIgHR%C| zxnW*P3FI(}uPYr=RM4~6!p=<~y~YaD@O>U?Ebf+vu5Z;=$S;zyDKKDQl*S+Zl_xw9 z##GBB#*aL#cmT zZ0H;}J2E~8rSBS%%AB6quvPRr?p%4?9ol#($VMe^6W|5zL{#%7Z}~3V`3QG(>T!4K zukjh`_tncn#jE9yk6SzD=}4MW>hcF6nJy5T=zT5Fs+s-0&2f>CKT~kA z_&g5tQjCm@3Mw9G$*H_5Vx2DB#1z^6XT-!`Zwl>F$60W0x!%0LR;jvnC>hb%nr?TH zW-Jm4W40SpaiyK_=@;AKArWZ5cFrYEP#yO!YTA3C2u@!w%uPsj=cb^)E;vf5Nm^=A zcu|*y2Y)G9fll+0$;wbKt=2$HOxs$v_td9QnBA0b-6A#y4M}Yp3$G(qN59-#`;=YGk$^z|Y&hof0rr?CUP`1qlX>orykYpR)S7Z2O!K5CU?|{kbmg#dD z;YHl>u2tsUc*p%`bcISZC=t$cIV#r|wZgMshL`oB6d4L5AcczZWv%}}_qc9mk7ISa^ZT02ZuPI9e5h zHpLgjisVcLdNz0~gt;#WM)tE>z}@%+s&c%)LL7MpeVRWzw;^*kTVF04BTj+&QEn5f z`8h^-F!JY~u(#Z6?<=ajYM^H1>CA=qucoxOQ;*Z&!h1%6g<_g1I@%Q-w)d8?{|qXg z$>3;=$Ea7HDS{18OHlic-#EnE#|)g0^stuKy06ifyiPyG!6t1`;ncT93#`H!#h=}& zU=NBTKTNrHDyZlMHcVQT=myh`I)CYXFH$y_PU7x#@^Zm>7ldDROv^Vq|CV>^(`vPQ zhd*|M6wy4@R)fR7;bN~}i(kf;c2#a?ZX92nqbI$gt*Oo2zCz~pG1zA$3Tb*!WLTRs z{%j*!KshL?&AHn_gTrEZe^a^rT`w3o<5wFX1V$YhTDpxj)XruFnmd+Paf;IZEP>fyDpH;NN~Ti$c`$NCoVW16|mfk(pQA+-A&#+jRSB2Gb-^F zY$@B?0X$+zGmExYQz`?0q*YslqTDk1a`K+Qs$Y!5Bz07i*V>zHr0yy=5DPIq7e!i6P!JS@xDLveg-DjAp;zLqSWjsks z`_;H;zHBVbg`H~Vuo=*wv-T16c8E0rgxB{DEUzsj7%xqH9s)=0|^0v<=)W~k_D6A)@!}g(rjs@YTXe|*Vr1THJyrniP zL*_!aggVe;lQZKTSA)ah(Vir5^frs-(U@seKOU{g`bp(k`tomajCmDzgc8yW+^H-U zzRXneyccFuMF)Am8GOanMcK7|E;*D@_KFv~hp00VfiYGL)4t>G9t7``3eGB)L3m?*6 zp}SYnYeU06G9X%z##~KxL0n$~prpNcf>{kd5vEFn}Vnw65FnS3B;|sZ$Bc$Y1WO~c71_>rgmgz zk;-bAUp$?@(^?~^5z%z3!rOU&LfktJsQTP>rsOeE3&<@|s9b@zX;DXBMK8NYJs_gY z^K)5aqmFqNcmHI`>+RHn7R20xYY8@=vv&|rnlzit>KhB}RV5WYUp_lw^^G$`@_Q&p z;?I)xRDMX_y8cPo$Vz>Qs=y(wA#(@6$cmVd@87B|DwSKF9N|r_8@7|h>TwL8rV@ge zX~HzKt5?a2XPHG7^Ja-|$>!Lr7~+hNPqy025&+Nc8OLjSSK?^>5zYRC4E*E`a*D_N z(gg4%uy5jn$nz_Ltr2LE^*7~Hn-5~Fs^CAf1HbSP|5uz&`G^B2A|DN^F^IR;ZB?R( zysuA6ZvR6__In5e^TsSv_lDKaq2x~`#tsS-KmTb8{>(gZVllA9q!tQpV>3!PPx5h+ zN&Q3dbnCY5BPV7SEWC9T$^8Wqz_cGvHr?o}UvdB5IE{bjbXD&)k`PYk$$)!&M7$1i z(B=^7cWjx0wbQz$Nwcu|zFFF%yI5iBALO}+=-H+J%+mh(EhZ$D@x*}_NG0^aUERTL zfkUX+O~Fu1X03JqrR^M-q&>7=^OBHS%B2&)=6T#FiRo)cbjh=S_4VyNy?(s1qHYwm zklVru-z@CE}UE15hELTmBO^Y<@akM0K+S(dP%Dr3Z- zio0~`EXP(DVuHq|4g4E_0p34cZ@bJbK(UOAOT=}JSBap1AtbBiq*F=>fU((o<@>WQj0jj}nmc8CO-9W+;? z#??i}$|66p&r`3}w#EA;A2-FOsi(^^nP`_H~m;b7^+ezt_9vz9o= zV};*BLiH|B_cg=Q9v~Cy5W4~_Alq`|4)t|-;7eRTP0aGJjpOJKl%AmRgYA%w5=>aV zC=!+b^iu|s>eJzoK7Nt*{yQT<#>>xSfd1hr50}nT%kY!C_x{=9nanqe#djw;*5mo% zA{8G`L|ehqk&iHYUwcr;kD+EPi>gM_k}1Lb0=|7-haxGR}vG4 zhliuCh^L!R&PLTLB6uu-YtnN`VD?S}cWdhhN*0&5(@TqsHTI&}1 zzxR38da_dEgANf+N}FIAH7UB^CT`xFVYzfw=9XuY%BhL-UCW);w=L9Dv1V|o{Y)ML zY>-ffWtD`_+@A@G&7K(&pe>uLl7xuDPC7N=>Ov~sk`>MJ8>cE0mm|Vo&%M(VP1WpD z#+b_TV)|+F0PLbY_s@!(N&WbBYc{Sl5%`|4Dx7g>$&5Tb&&A3!!N%j8p>t$nhj+UF zTQgY9_V^KlF_$;Uphu44b^|6a^ZThkrX`D=i@*E z$vWrQ<#9*Y3tw3H73xpi0soMmseuHql3Y{lBTAKtpm zU=G-zP=4%gR@*LJ#(P;}Rp&Hisc#fsNIlYaY)jx==dS&v{+D@_E&rBG0GPzo@~3aW zl8X5aD~s$01fm_rz92$L8$`W;r4!$IA>j1$1KNCQTER>YLrQ{g_lzxEn}Cf)NJtHj zXX`wz>&&cXWR_5$Lupe$@pU5zE28#?6FKN}&uy!`=I*-K;4td7x%~#!t#Bzic9> z)X1xM(~Pryk~$V&=O`6V(r4^eMB}p~k47cu#tD)p8StG7@oePIWZK_~Za+6!;6CZw zeu#^vv-3Z9UQg<+Q4LNOqf}OL6S~n^@Lu9EhIT|7dvxwKoLqf<17KI=^%zbz%1sYJ z77FvI&|jre17^C19$t)1E=dhk*ZZTq!)4}gK0CCxR-8;nMOjxU77FM178+|Y3OvK9 zbDDl()nU@?-uu%0(3il$_f_p~S&pE|EA3OIrlFzt4-GC%+#B|q_HS9}VhBaHL&mAD z6^G3Z2W^!xGr{gpJ67!y-a*Sxj0I3V%@;(Bcpu%BZZXX{_d`4p+Yjf;$H$c^7r^qX zm$LQi8}_^ii8ev>vYJb$pu>P<^JzPaAU&%a9@xt)xn4V=ID)hr|DWc_OX2CfA>Gw> z$xqx~Ppsw3b;(jM7u2az^|CM-`L3G2#@Fe9t1KOk;W9m)WrKCWwg=Gcz_8E_JxM|6 z)+L{5fi8K4u7-Y<*oc|6XMr>dwWR@;W_xt#(>LF%~TqT~03iRY>-BU5itg z)~~|_XGZ&hR1_2>qUP%}iHV7+RmnS`R;y$GCHaO@Qx#VhtBh*6O5LggwRLFEni~&{ z$@&0rkGG>S4h7Q7`jD0NOd0^+s;@s`IMk__{!_J8e?A zW_!XW?)%z^MEW`%510#>{Z$)p1h_9~np5JPk5=QuPV_y{76Z5^pYjcBE}sWc^k(R$ z!5o~?XJ@(N6TIrPLwT)E0Yb81B(uSiCVGY@Ky478u=~0d2tMqk5ET~a-_l;$j$ht$ zkGFiLH{qyPafit+5BuKnulN@ylfd#zMrR$4R!&z1MG?k27Oi6P+Uli>s| z+u04!J=YpZzE)UI?y+2)SY}kr-f#ey*9g=uWcOQnV07;F!yiw zM{O|)yz_q>8hpRm4WuHLo7e8On*yx!a@@SrF)ooLYa%5^XuEj41YG+#bxD`wAjv*; zaH}m*;~;)7yNSQqFdD$yZLsP*C18-i&MTq^(&vI`SlTH#TL0&(^r{ytfTaBtt;U06zQ3WQ_ ztp!=y>90M=y3K`Hw@Ss`%fv!AoeI!s2H{;-tF25`aEqnQ<@iS3=$8K2MWSO`-%9@T zE`cTT$eS{IxL?61){|}6)ag;>z0%#-k0TZYm$*=*trm1H>56}LRm0y?&Cwz)?pc}G zED4m8)b>-zwBK1tu*3#oM<=sR2dNdyepxsuHN7@AMNO_D-01THeZ&ZfHe46c*rBf_;QS6Z-5V}W5*dQ=pO3JU^g|O%s8<1 z$hLhcX5o1r>am1Fs`aAN) z-`#S)_-e1RmWBo$V(#E2W~{^|@$>>K^a497f8QihI2e)VSLCOLt(^?Z-0^{WXn*)? z{oNNsTW|emy}PxPDPSD~C%8PW~ToWq@jc=z(XrgJU}LDk>zbm=k4?&f7aPu9Kw zI+^%8^KO~Yk7BhZBrOO~Zmv9US&Z~Sr^w}B0=!>=F<^sQKtOwD z{+SH+@)|~>GKq_!B8Yu5#6J0>U;8KM4+ZovwYQtO@eD?ioRs>GFev|#z?WF1Ox^<^<|f$o~65W;%$ zTM7KZ>tD=E79@^|g!v9t)TDk1oV>(yB#23A zitj%A+u;5A^zGqGwTfpnvQBMy)PJd0|FRLcg&D+yJ0+tfp8xmWIn(}d`;)0*me0TG zAMVqi&oBZw8r%DCB>qO@zdwDez_5uc=+PwQf4A}{w0ZC^KmF_L0?3|9EYBntE&g}w zUUHb$!ze=3{zdvQ?>#8{4G+JgUid`jzgw5Yv@SgP_~RdPufLh|2U8q5wX?eQ625<; zgkP=G5Mx@;?R`r6UxxGc)eFp^RIsVG{e#8-K4J%7Fs&2u-pT#%LH?mX@$KXA{pr+%0xBkB=`QMcM@?QU0WB=PF|Jx=1S`hy; zT;~7tCI9q)|MMmPbMOCwbiW|e{}9*z5Z8b30|rU_4+Q^@m;4PVe=Ugr|9FXYZCmAN zh5P>{i%);v3OYIpu}y4oDY*OQ+3o)(R2b4I?lj`S>w{eIL>mPDAC87$f)Dg+w&{5< z`Z|`zg;-~No>IN}mpT3YjU9NT4ohE$JnTuIt6Jyx0FYB9{SHaHFUC2IRW;J1?ss^r wnf{-q&!D#lEC>+K7qyFzs?iFHiW4{3gmw}dMO0zbzhVC5rB$TL-@Fa}f8lW==Kufz literal 0 HcmV?d00001 diff --git a/docs/images/login-web.png b/docs/images/login-web.png new file mode 100644 index 0000000000000000000000000000000000000000..64e29c9014ebfd09b464b2a63804f8d91f0356a9 GIT binary patch literal 594452 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 z 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 ZYmeKgW7yuuA+0%$Co@E|T(-e5 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�{>z?_ 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�_! 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 kvsTcooj}XP;Cx6?j0niBL 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

    EM>+Kml6`qm1#Mz5zo|1o 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 z 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 A^Z)<= literal 0 HcmV?d00001 diff --git a/docs/images/org-repo-collaborators.png b/docs/images/org-repo-collaborators.png new file mode 100644 index 0000000000000000000000000000000000000000..3d80a1aa66475df5260d864d570201a953fcbbda GIT binary patch literal 59489 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 z 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 z zthSCK>2zoDB}c5;!4HcKHl0YA<$KN=5Sp!Q(_ca(*f4lVobT>OeDbZa8P-Xkpw4bxqf*>oJ~~ z+K$x6c_A?RO*33YgwCIvpHb82p+KDK@Y&e!^9)NI)zjhi9cy+Mi$Tgm-Iz_@=T;)^mD$Jp#XI23Kw9q9sgwJ%wp$2xQ$=GYs%v^SMs?(HNYyQvoVtdO{MT)B@ZCLl zL`Mr^>|WXjDy>ND;8SK>X?`UA&v>P*MzI%M;hj*lAo<2@;0Z0fLE7(SzNmKH{F(u6 zZ$VY`i>%)~I+}wGev$re=Ji&J&m`1gvDLh0K#0DU5z7^IY$P{cNNBcLA;|--pzEd& zdT`&wrw`T#0a8!zCIE!ndkoEgMahcm6CxQPv(cSsR_=` z{6!VBySUBaS>6BD-g`hrxixFTZ9eCya6D!t=&=z20VQWt6l}8O)S!}tCg%nkIHF<% zZ3HB%WSSf$HAZqyO$H^$CPULe|Mlv*cV_NCYv!9fbN_$Mx*toI61sW!-c_}$o_eZE zv4D>K{jg8_o7rG6BYXpTNgPY8J!USXuF035m*`)|SeY!fl!N>_#^RVL-6DV9u#+cI z`Mj+6KRw3EwBN7Rg(ox8TROkH<+B{d=FlB&*X)~kcL((rKQ2*C&3uDrt9yQ&$zMqz z!YNAS+rP2Rv8<+JuRCNNJEI_yc3VgHY0De;x94UrICXT%&v=$)w@55s zXv#zB7ZR;g&*ZCkUVFyC&7-CaUzvh~sdLTM32}?8J$hqAMM<0Y9hnc`WPGX(aPOz% zUjAnDKK8cv6G%L=OV|NjrwRz2qE`-`aR5Jk!wVP0~k&n4@;O znyxSQ3X77=M0hoJ{S+XjDVc9~**3gU@8cso^n-P3zP0nsoG3}x*?pgr>-QU5EeyfB zqxLv96JI2UkWkx6Q9OD72J!2D&Z-Th!_T$azl&|eOaUR7>-CM z-O86dn&qJSZH^-@YjUNa)7dWG$gsWrPCF@86gffg`0H}Zc+V>jyjd7vy3N9>MNq%` zV-@}(*z$e;{b%ccyL3`}Y;hux<>5Q_r%yD}M^0!aeSeaj9d>cD>2-N;>E*AqOCKZq z>38>=-GF_Y9@Xy^(e@=TifC__bWQ5MD&8=$KWg{-KtbT`4m?-6wp#EJvrAK-$u~P5 zx^VTBYAuq<57dI6;C{8^4fN&O*kH1~)A`}tOE84_X9nLMq^S|2%qU4alM9cRB9_r) z?oj48kpo40e>|mlLVEXMOqRJ0()A z9Sgph{`EP2%Yus?rE6@ILD3lQeRDVZL_Wp534_k52t2Z|KQw<8tvz(;(-WUXk#x#syw zXX@qnqP8icik_B5$}LX>6Q#?slV8qVQnE4{Tg6PTiVI{1PZh=z zcCNiyp8xI397`sCVcWT5`AH;m@Zro^3%O~>n2KYPIO8j{5G4vh*LBPF&g>tD66%b+ z^iHWs{q;cg$KIhfGr(KSJai?px$)G_xtwCx2K7B6d!>oXgdq8N-)hRk%|ZFx{gHck zJHPYMXfdLrUBNSMVbuAF2(|%sqnnli55IOcY}&!?>F|ECHefY=4p~zZ?w50ni3K}O z#e-iv$EEU@9jiss9$Y^*OqHR&3wX}bQ{TJGsb<@G>y?Ljuu_qt*K*OFK_4H=mj|pa zs(#unpXcbtRW}2A!4nXeyO5gmyz=9~#;kqtB2NFt$kb;yFSJagrgJ-Ow;#Xb)YfNS z6tfMBPoE5GX=cvw_=TDaOTNLnCe=U1V@SL0R!yZ0+b17+tD+;4A|t)hTR4}O$7Xpc z8$N-BM0P5n1bOs{w;bGqcu@d8Xe zZeN3GPtPv<`zpM9-o|)UCC_t)vuJ?McW5p zsWKYeCOD>l%a|M5F3~n_=R&T#5jR*Tqjx62~vp?T%v=heWkJvhC8Su0i^JS31L5wUV@ zO4d?r6F5WP)NWT1u-w=AW0u@9=ems(EDT0#&##cfKs{lrRveXbbj|V9Zz;!M*7Oev zQp2v0f4Q+IKQBR`T`Fiv+uXh}X5UDOznr@a`9y-NxD!uCPsmYeX zC!zK(lZB>Fg1j>6QV*?N>q-vV&rScH=7wjQ%_+`@h3scqyGCjTPcPj2J`T)SL1Bkf zZF>prrSlWg4NzC0M z0_7@8t$q~_Z_fpYns$9zTmKkzo5#s(`Qv~fA$+*mLqc&N>PFs`td(ctW7!3g5FY@L zLQxbs(8~_*;1Pp2|7HJ=opDUNn~l;~eCQ<>bGrk)9K*5-<3aXZoKcQ)v3n6Kd+@t@ zg#u=wR0p#>ew=lxyXUw_hJ1U)V*~08cZY`r+{`X@XSqA?XfrA;`;(U3mWg9rrt6|0FA}mLa+q8bo`B?Hcqo5N%$5SeDM!Wyd0Aa3jm8kvEJgy~2 zahE1HPvo8Z8o2RLibFLkaO4ob$7djn|yqcaW|7zXiTGB{kbO&+8nlN9eRE1IS#kN*X&f*_=KrdituN_ zxvEUC@37YC7yW$UiZ(2^8kFkO&uwlmtZe**Uc_}yO2@M3di*q4C`TnTx1X0R>OUJ0 zll^9S=8hlb?~Qm9yE{U4?|=2_#oZ@W_&u12>%?R%89S z2v4UR*Q%%X>+p=$?^lbB)fnw4l(=<-%9UKvCmPpWpP64|^^oE^f>P4-@!5PV`Xi9^ z4T+4LDsnkKW>JR@FLA}Z>b6}qVng|dgna(i94q6EyxXJ7hM-cmhbTlu{Nr97JDz6O zTL_q^f4pE+gH3N?hSJmh>M3kHFC(j&KOA0%S>K0BdD(3%`_1~#{~%cMayj>f3))w& z-uvT^Kk{#V-02sNJY94cpg<~0N{d@NH2N!m-<nOY-!(f-1rR) z3)8YM>MdgMW|h5r%3pE=5*QkROl+>523FRs37DQdt6+z?TA7o&nZ~Km4&(f#OE>jQ z2?a3qa~W75HZUV}YM{LIoXYDr@b)6@b|?)+CU)r*2Qp28*q&h|hG_*N<*2J9X+}>| z^BoN8(}YP}y2)xW?WGI>7P2ZMbQrD$0DzL&MKjKO4N3~;AM1l zIxe$V0s5k7!K(QyHk~t!i*sx7Fc2#P%FxrGm-mykTrABPXS z!Nkp}q$vB=j{*CpN4HT`Y5W7q@e0pd%kWER%;e;x&cn@P$Byy9q8>kftaGmt65crI zi4E;oG^>Kx+_q`s)4+Fs)nK_a>jI@m=g*wE0;%i3Sif!j$}~k?#(TAWq$Whi*w}dR zhj;qRiG#;bd-v_DyOUE5f9?vi=MWg%TP5G0@aDq|T$pWhxB1N#Xduw4r7n}0s+GL4 zYFcC;6Rnm^Boc)^=Wjt8iO-a53?u16KYtVdUgj}?Pll5FOh|EU0W-ej+rv}BPT#LV zx1-dAglndRl~Bw2*Db#np)Rv+tPcl|Iu{>dXU~LTrY3s>u0T7J4QT2_phG(stV@Fk zP+`NMuS`e2wbpe-MI0o&$n&>=fa3++`vQx)V-N1%PthUi_T-o$-6hbNINyy_`?3Xv z3~Z?`2#j`?N%?Y}K*a=%I_rdjCmxJpv2!9aHf(mF+{h}9Pzdi84^K*feIq7BN3-@j z*YWkdcZvr+aD}7bfy5i~$O4acZzjS?AnysRB2K(t=GsiR7VM@raEXGvpof6RRF>Zs z397Bml=f#rqXKRrA+0>ihE|xsdp@{I%YtE17d8p>A}#13prfswkf4&7sp9zTwQ z#vdh6m7Na>I=imyEAZNk);SRJOzXBJ>z;h;NGXp@*cW8~`yo-dL8;hIy#DmqB#a?j zYSY;zZUTz=3Vo16*4QfA>EXueED6ShPC$aP9csbQ8010nVV5zj{T_oEj}LPx5n&)> z#>B*33roulFFq_xUGthu3^&iw*VfQ@^Xb!7Olyt%lh}Xh3jnh(`9M!dnI%f<(hK*| zlP?w7Ti|z-7@OmAESK)wcc1Iy#vs~=tRBwt1~JRZ*~_bB#=Z2yv8N{9vm%fsy+H(u zBb4OnQrCVg55?|k2C-; zz)@^graC04WlKJEqYPbWtD}M>S63*eS%}sT0>7iY|1e6tKi#xq08%R-Faq4%HG`bd zFG9|tHeo-}c<()~kU_0=u`e>J*jkN>6m!Ugj`UM7El_SMyExvCK5fe2!PpFv%N=?{ z^-N$@&2IzHmv)~J|7zR!{w9n_B#s=UaZcve@wb6czXB5hO-*2R6Cn9vBQYN7i|xB+ zdkR8E*usoj+U~+E)?EDy#02Q=aa}=yM@&o)`u7kM_Uu2#nsaXwrZmG++p|pNPCi$# zgZD>F4M{fxF+*7VXee@vNV-nEf%&2qR#qgKQ2FHXK~|~ zgaVkh>KE?#Ni7nUebvXO4B9n0e_4f2P1aDp7%6D+q|d$xDQ<+ZyecqB)C-Da&=~&k z=|{sb9hFlj##5SyM~Ud;x6W`%IpiN=G>ZRH8O$MoAs1i8@`oSeGt}lxc!3W1=y-LU zRowASiR+~E7x#dVZ{Px*0$NV9A_pM>E{fT%9QioHYDAcTY3A3b$4M}76|pEQ1Kw2H z&hQSB9u7_&a@Zv>5>PEgbjXu7T<$8(B4RT_?=cs|e76!qw9iVoi`Bm%b)6#_+D!HP zEH#vXU3Y_lu2XT0&16ubcqTT+o)(5cXC2Uznw z+}sOxq+dk5R%f^|&XO^aGTwz$8cZwgwiR`w4)h6e|HIuGW zFf1~Bo66W$m)o2VfRSjYG2~dC%kreUH6nVjc@5OwunC*fRSn}r^Bo3dF|9;SET>ou~xm<+9c z?CEv5w_r4B7F0JSLq9AV_~{Lp4c=bi=Lhyi1-=_8ODKT}t*%gaHQgvhZHFnO8E51l zBDWXpd>cHJ$gK}3#8AQTMX%)+#g0VfVaZ@Rk|^1mP2={C`P z#mUJDPJUydih~n_Ep=b1BkZ19EJut3jEKYx6!SsF)m6}}DWIOsuYAdx2{W>9Ssbkc zwQ_}Oj8rfmcbx<>OOD2p&%b$SIlFQXWA;O=wM~ zfyWmEjV&IUh^4|4mp~UnH?W>!_0M;0zsVf@;cviD%cCbxrsn4hZ^7`|j@7-kVB28K zZVEUsJmTW|F!$Z2BP|qhqu_Dq7OyXXWc^-!fbRSx*!z!|*3AoFtEwm#GVoPY^Bb5! zYw`TaN?q|&dbPa;V$_H zlkM$K!J=ZJ>3VHrqwHIE6Q70a<-qE7(>{ud_Pw`>{rPSp7!?)m8#f+R)S>*fj_o*& ze03;66bLnb;V4wH@XpJ~S1xA&_dZ!&mUa!yu3&_UB+T~|fl0t$D=RlvVLWjQ6!Afy zyF~aY91O44>Cw+Mf83dgC4tc1g;}`JcS#q#C=rp0*Va`&Fvu*NH_&#TLKqC60#Im*hbS5M#UAZ6)G3bh#f$JUvAYabt}!-q)lM zg93#{2<-=)3~QK&UE9>82SNy@k$-e-%m%)KTwZ&bSoQ5>K%6^Z_I4(yN`^t6LRQ6g ziKP2X3epd7+zz(wkEi~~CZTK)r9^!5oSYn+wxs9wWSZsdV1+3RJ0~UxRBUR(C^KYb z9f;`9^&0_SQ|cXCQEvt&VTn&a z`!Wp7*0_1|CHyR!n~O^kQO<#K?+!A-doUY|nd-_JJ~aEKva;5uV1r#zQIQ0$(Qiyl zt9DPHJZXg=#HA;L8PH)53=AZ_c{B7r^Wf!MLMIMHO1hf;ZT?JlS@Xjg2p)CgGI*`zvb6ZAI!D8Xa<%80-2(m2+*E;I249(vr9< z-D!r3Ci4XP!@%fdopr9inI$$aBW7gk#l*Y04=9%+EZToZquwVni$MuINq}XABTF!@9pPr z{%hAh#BgCWO-y2eGdmORwF9Novg-$pMdNIIO9~XzV&O9FfTf%xb)-ROKCmMVMe63} z33Ft+eM5whBDI1+hAw2nwp|y&DX$9--GxHeWD6v(zvsf7Z)k#$*azGB0|Yt9BO;>H znWA42?QPnl%gM<}8|^y^z4@}hiJ=$lMTtiMCv7reJ>4F!kUT6Kd*%bO1W>_$oR^b* z+V42Lg2kj!WY-qMU;q)+NQc+qr9P6xZ*ay_9o&L{MV zm6}f1eY(Xn+dd6WWcQN~B0AxJ*z%cm=9|^WMD81h;5~9fpC0x4>REH^g~f*lJXq-w59~c!KA&yu?NRsp9i6Tf51#Yn5c7*Eo23HUC3iFLHO{a``;vgG?!P&I67Q4iu{hMvidvYb^N1h0%w$y~_RIxi1smA)+jPJF~u@ z$7|tG&FHHfC!q%>5?2IIj7Yvn{ggbHy5i{)jy`!ow|F&CnaI+=kzK2MLHpyY1s>14 zWf!dCvfeQD`_R3g?ALK*tmJMDsyrB6OONJ073xQIz54_iS&~`3$=%W)4eRG!x zi=PAAARj#Ko7+FMr~OyDI!R}B^p6Jz%KM5k%saK5$Jx_YU(eIyLZ2y|{2Z?>?Gh<{ zeUG62Rr9$%Ex|oC8x$uZIzU7_=~%{SAK8GYz1{yChUh|ZAl7lyE2-td@F*4^e#a1t zrww=_mhO!#RBIW&TXfK??#l?CIYri@O=6-_t*+QK8$^lxnPGOjwV)jl=j88dw`%5=JGJj zu_t4I>zP8gpD|}IV<4sAApFiD?H`OZ$4@GDy`&b^HRZkW#&jWVLApWBC^5(B*(WN# zq;t5g!jyYFbI_bkL^oD5inSMd($EePKMvW+6^1@Lbki^GTve7F_lN*I&Xv8m*B5pL z*5=T-FhnUaqs)G(BVJqP#ks4sZjNzluMZB^fJ~i?DiHU%ePuvmH~13%S_rAH{q#=< zsInIm|cGc2AXPqW@-$757{nvoRn|CqA31p?+%*;5^o3OvzpmSNTt* zE{-($^s;iFvWQ|t{yFE{>OGe{UfVaDF6U-~Y>c^CSGd-U#6W=ZQr-~`4!?T(AVeNE zE$<#cPf)M2Wa&>}gEJu7n}D_jS$U#6-dwe`OajkX8gc6Q`5OmEQEunPBmZ(6O!;^^ z;vPDAcumzZPnt>b;Jz4gWIdx3!dUSO|8L6+`%$&AGTpKGY?veBD)WcWa5)NC4WB%MktcTi8z=mY!KkPzK6KIE!3=RP&8jS=)!~}@1rXiX|5Uxg< zHDehVlg`7-yTnEZ&jIe9n^UccPazii0l`7*T`03?1%7fS_^0bV(GZ!Vx#6pT8tFh- ziojO5$<{;`;kz%u$2^bu8-hU)D6G%ISLD6GVLhAN2K^qql(sfjv;dD2b{@GwpwChn z@(gIbl?peOPNp5qoY#5yi*A0o>!c zgD};W9K5}~R-v4>l{W%Dax-wI+v63P;g+)ATwhR9SI=r)g>c<<;p>m^vScQ=ZW&HS zWTN1Qo2o%!u{}C;QpobWnAqB*Gaux(*W<=7S5$1PR#E=k(Bfa|84*65=?b$DE*CQ+glk6cnxNu1Pl$e<41^%e( zQiIqu^w)SoNZj_r$%UXALQNfO>r^CME4cd&`;rRf>M1!50M$$t4f<+1 zJLeh}*l^aIy1YFq;3sis(0i^}5juZ{p(7eBkpL4x82~@!!FWx)4a~P}U_o4cKd-q@ zz@R5VxjQidnr^5f`vY(SkZooi{L&<8SR^S+o1PD1OYjMhp(sxs{R zORS-3vXY8QJ0Nc0yUq4iKMjv?@k(;OunTWd`dR#JOI1FBzXF?&4JLM**tU57_YGit9++n z1@PT#hZi#cLPC7bbLVW}N2j{;l2y)yP`hLa8|~BwpvNebM$;xc3Oaeq0M{QuWYhYs zz$Jup2mz5OxZCol3M~)ROaR%}V>X zxk$S-V&upk!J~QRpdwSfMOm^N6K5eX;yHi*21MbhxsM)o+h#h~b8sLw1m&1!-K^su z5D*ajOC2CN?;tM7?KCTef(YbK;^4@FP;R!rlu~53 zHrLN{;X?WXE1bUWjT_a6Ty8;ESv9Lzd=fep;s^j#a=UHG?&`<3Mgs6O7vNM@wS)@ z})f=q9!T2+?`4 z^lO8D70(pn6@uBZfgVRLKj@KFMxf%9l=B&e1xiE&p#@l2XR^Z^G!qB=x-rPu=E5M* zJ}#@gbBOYT7jhYE(~O#jAXQ6W|21GoNgzdcLD`XmhFFq>0Nu5`SzzGfm*L-a-9Bh# z(}AeLuZPb~lr1&3ZLJNOTD)U`@Y{4{-)50=Pe(v@xXY?57yEbATZ{NP{=BcH%1T8tflq>iv+BI2RCRU3kas{3Mo8SOcxA$` zw}B@`kkhO3^3yBEC=_dOG;Z%k>HRj75Zd5I>26eDVp38qi_X@c0V~%3P1w`K^8uw1 z05D$6k+=@NrU}=+DmvlNi;Y}}$P6-c0W_KZ@Yk-$OJ)xdwcy8=td|P^kV@2>kGpMA z`j9z*Q{)ER>*mdy$f1}(b5@q|e~offKkW5~q*OcLH(SngCgolTChIGKK%MZRVF2F- zht;cI4oP!H%d)s0y#@b4p|;bJ3mxi^<~>fL9BY5L-|&NoVQU36jt?Wq^8CrOXWH;? zKfpmAp4y79J5V;)egYHX=OB7-%P1P)f$$#8Ag(c5!fW`snCl>6jRq^YeDLqgWfdC0 zBhZLf=&xVDasxbN>a*~Giib1-w3{_XK7por9q9%_2zU(fZx|Z-MkB@@(Yf2V-vTzA7WNRf823;0VEGpM)S>($dC&aKUF`5al93JEj$Ynw7ay zstvTpMp70?2pcT7t^fAzTi+5xl=#ZufqPI5f>r`ngqLQAKY+2R77cij&^6y2C*US+ zfi6=?0Awo>@7%fbDk35k;`vlSH=snT1a4`a5cbj&BY$3GDd$7lBf0w5X1g#m@pQ&4z_Sc!ccJ{qv~#N{uC)l=Y^ z6=k-g9LOz@SaqAuD4MDlYI@aS(*cO|GPq$n-2&&&r&Lw}7O%s!18xd+(!BcLC&-#y z$6u;~WRJiac9gi`0P(?r|JSkCA3=9O8av9pJq8QqR%dVkM?#V}%~l!Qwj}_Gd=Kmm zfVGWL1vfuUP=8oARB{riR0^oy2IM9!M59D(+RyW0OSI$swu@J(gIR#r6Tqe#7TQLj z5fB)pCLHDraAM@PmP24_mPTU3?avRnB_s?|Q&Wivur$Qp-|gDJ%O54rd>PTC4^F2b zwKd>5d=PRkIGEpn09W9aA@DhpuY}hixi9o26gF$aet}HMf>(n$)?XeSGKA!6Rym@# zh%toJfceD}?P)r^2;L0X_jbuOl=$e$)zKr~L2E<*1C&)qQviLI2`2wJL(Ny#G&}_5Y9Zrhh-E()BCzj>6tqx0{IZf)9VM%Rl%0A4iFy80~*h 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 literal 0 HcmV?d00001 diff --git a/docs/images/orgs.png b/docs/images/orgs.png new file mode 100644 index 0000000000000000000000000000000000000000..fe1b89b31ceffa7e4d0359198ec8662850e8ae49 GIT binary patch literal 28202 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 literal 0 HcmV?d00001 diff --git a/docs/images/plus-carrot.png b/docs/images/plus-carrot.png new file mode 100644 index 0000000000000000000000000000000000000000..8c4cd37ded4ed4d69948be003d1e2cf66a57a446 GIT binary patch literal 459 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

    vyT;m@I@#^0`a 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 JvM*ZQ`7cbE6}SKZ literal 0 HcmV?d00001 diff --git a/docs/images/regex-help.png b/docs/images/regex-help.png new file mode 100644 index 0000000000000000000000000000000000000000..ad404de476e0fcd984b7dd9418329049e6aabc81 GIT binary patch literal 57818 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 literal 0 HcmV?d00001 diff --git a/docs/images/register-web.png b/docs/images/register-web.png new file mode 100644 index 0000000000000000000000000000000000000000..ea95e1f50bbce00a891fc2914fe29604c5c7f77e GIT binary patch literal 128865 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

    bvTpq|2MV|C?%=c%dzbY}4{WZ+ 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

  • hZZ;1Gn7fd#*F=n z?u3{nM`zm3xm2c@7QUS!rfeqJo0hO{=F7ctiLc$vp#B_^XQ8_C6KAhzfv15ovn$3&QscGwp)6^7Ln%scOlhDiFic!)m>(9+&oA`OIe<)t}72h*Ymn~lrUc>V-i&X z_2jW@QB=pS7R$7r&v;0!=kvx7q0PKof6Jp2$!XYJw8-sg{I%a_l(;A{#s11#QFeBi zak{tXU*wwnG*a4$MhZu6b=Micw_4)NfPX1kWWm^O#Ll1WBIJRO6T|ee-1dSYm>UN# zblB-t-Xn^xO`t24$O&u9}MTRxO)Cubp( z3D#ih*cqG&UPCZxJ(F`fOGV#A#!0<18FCNa!4j_SS)-{NSEsH0k$z^n?OX{Bz#WH^ zfgD+K0u|l!Lo{exx}B`oa61T8?RA(zk>8cMrznBkfi})v$cL;l^UN+f*#;7BfaEWBF_`cQ1j- zrCPgJ09wK&$7Z^@F5}ihk*)mHy@P|vtQMRALcjpsZ*(E5u+hj1P%h#__Gjhj+sj=8 zjtBZ1S4$KdS65TPcQyQ_u7O_qdE34q9B7q6nFU4?clou5$dpEb8yowXAH2^ z(*(F!RyAH%58h}4a|LA@sdYKVI&p84lb@@QL+P-UB~I6*B5AZapUdd3?Dvm1@mE;N zsM6EU(yB~nJRIzsihoSDf7L?~pTP6p&7QqTr;Jh)FdwT z7dh6ewoe$j|Miz9U%JHdUwMSS!J6yE>b)#WI_iu#MLwT3 zF(jHmGe2o>UWt+|!h-2)vX~8HjS@wIAf8x_K(yF-t6tDpro?y&Mw)t0e&rw8@Cm}R zk6lI2j9UA!J#oE3fK^%P$Y zAIiKFyYeMt@A8x7+KC()o`T}cc$3n~?T8+9b`s2A0#v}=2(2Ba%@)$eOW-420tIU@Ms!#=BU01!u|V9RL$En$|n)=fwC{9iK;F?r@qbXhc`Avvc!8 zQ|tbv^3#75eSAVdS<0nK#Zwmg)hl~;DJ|3VG&zQ3_g#CR9DNK&E@|4GU9oZErQ_wD zeE8Fp@1`oq3GaI<4Xn{I6kxtGu?57QRC~ zNtuj~p#8^sYGI(F$|&J*E8|?WZ{TJp(>Jvlk)p{+s%k^!Rx=!>M9SudqUG7TJeoj# zdhKZHY3?Qr1e%v8#Ac(7SARkoTNfrLBhn90S#@4X3g|Un{)oKXKnm~>opmQs#hq#; zp18Wslm1QQDWq(n%aLTDJ)ZqIuUcTg5pFZa*3?4}X~~_lH~g^PjFB$_HtP1xK(t*W zUSTR@W%@P-Cf|J%2+)+4gcyHqttyX&s@VvZN5qb+7YnynI!ylc^CLn!n63QGya4E? zC;_BtsG#KSmygQb^X0INIWl0E52>ySe953K2pqci3fK$1zyxEiDJ%g zreFK}SA;Cn>Gp2g4YjA+S^_L|IhRXb`QK+)b_-d)nbnzYH@W6|-d!g}(9YFTC<-K# zPDUC_4X)SSDJ0HJ556G6<8W7|#ve2(c&)@Zv&r9PoibTx=9}lyQ>dYIa;1g?I&`bDmz533yWRX31o6QGIig zz@P3}O=ZnX64 zssoMF*kRM(<}>1?Swv-SZ~M~f{dz#wDYBfSM_aiu>F~X(V!5}jS|V8jq++hkLM(#a z$8%I~BpNyVz&9_eTsmZ%UXgMk)%Nrtu*9o{jbb+5i;XAm$EUV(_tjuKl&g=ns#sm@ z%K15abVki6>yslX^J#<3h#IOr^AT=0Gbxn>sI$+7u#gJy=&P(|KcuimY&y70ON}V^ z*s>S(V$}!o_n@Xs)a7;8h4&J=Bft95N(rgq*{>UAJb_Q}a}-=0P56^7Cc!kezFEvo zEf}taoNVw*Hu&Xbg~hffF5jMd0R#);ajM9FNf~9!p+;YUP4`Dz_KQ0DcKw&q)}WdJ za+5!xr*DG$KGz~r&qk+FcLPa?*>V`>9cbGcG(t+qLr_uvbc5&IkuPFPN+`*WySLhSbf8e{;$;|o z?f?@gV<;>2CF?um!}Dd@?kCL$sEEHasX$I)EGn`Q!`k54Vih7nY0q}34m z>t)!D+kq&-+e4X|%{kgf9$frn)ksZy+Z0$&Bs?%xb>rr?b zXT*S8%Y0YLm5wH2d{|wZ%@VpGO#h+|P+@LIi#xup_)F!#gQ^Y=nWxgELs5iN(SIv5Pfd)BW=CG9<2Y@OVLtvG<<#rcTJGT^v@2YAbY723c zA4}hw3TX^3Fal9<#rZE99B5u(4u0k6NGevc2I#pw2Y=kP88)G?*=#IzQZ2$SQ`R5? zm6XS(oX;a+Q0rQH{pPDrmS6C`-#iOswit#57j^iM&I1L}+qz%(b)KbadA-`zZBrcR zYt4Dio6e{hJ7tcvq$-4C{=tPnZqrZ`xCjjuqDST~;?6v1C7umGkz}XcnH1nKI_-O} zTae05Q36y`hbyVls~a!sWceM{9;aG5efVW5*X`LV%L6+(PO-e|+m3oGa?3)^2U?oD z5~A)v&AZpDVLDL8bAOt{(?CO5J|l}~Hg77)(cyDF${aJ`UH5HszvSBHidbp<+28Ie z+K-F_T5F-&WRc`-&2&U4;@NvwNt+EuC$|6Kd=6(kq6IG=vA2}OLo#T_ph4Dg_|&Mo z0-l4w3ti{FY&1^eep_NoowvZKI%+)(1Ho{6+;L-!v64hIu3lcVQ=+Qjc;^2imlVu& zNz)lhZpkot(fXQx$Pf*XxwTW4oE;g~^Xz~(aX>a^f@SQmZV1b>srm$sI;)#YAijfur z+suxwqln3`UQ4QpGq_ml;BtUxX~LP0ur56~0p_YHC@=8JYzFg&ph-9$7eqzuuYUj- z;2}f+OKsz_?By7Hm&Y9YLtqB-KFQwDe1y=(!}*N9l)Hf?Q$5!UAj;NhV;Hy>o`u=i zDY|R3G(CY2BvNC+3N}{c^C+-}BEB89(L&T=E`bF78uLLv$vu!zS{B4kZMK}Re%Gq-99lu(NVFpGL zW}dRsMxc2B*}fJ$U|r9fHNJFZ3Nj|pto)-81CSj5vNkyt?ZD#XDITy527CfMPLp|0 zh&z*4lWm?z<8TDE9cBb8+uDESMg%1IZjlO57RW_n!xM{R0NX2imh5(PL8pu+v*fJS zSf-OOhMo8(&h}W*z?;2Y`hb{=7fv_CfPin=OFgJ9R=Q~lmVH204`R<|ThVuP?j9;A zbK%SyZCNNvrP5}n&jVQtID;S&4vQlcARk{+U++gTw;PrD0{)Q3wj;@T?1)jMs={#pA2YY}t%IREy_H33>2tccq70Xk}_ za#zu1k`MiW`EsJ&YutuhU@p0nBleF0<8M?q7(ikcS60CBD z(?8B*jGepVjw;`sgu94a8=eZ@Ok6Qk$MqjMJCk*9MLez$K<*~}o!9H(b{LGl)WA|` zoe$UybT@k80%K=T|RW=RCP4O)aj@0Lz0y_ znxe>|U?$TV!ToK)rVedxEA>h+R5ZY|$tbBv>O0@Kx2|Sc|8@90$|DQ$x9_-<6H`ug@+jg`! zym%|UZ~fKsQqNDSebk%{II6{i{hoA^y61 zuT2!0G+ue!o^Ym%%hLAS>H#SO?pxe^%-h6Q9opV*pJE)&VC3XeCs#c9U4`xIRXltB zy%>kSBW*>oqio9Z@_ERcyX6Lv{L=g<_tnlT^0uk2ZHMh?->vLM2>l-oWQN(v)*1E_ zX|C7ukwuyqo0#k`S2v%hH@a``&R_5Er=~5*ufS z@?d%Ex5(qavc8-7D_mc5_4e-MHSHAU7o{H-yQNp%w?Pfdp_RNLRjzb0h`ZR^vN-J^ zValG}pObkWOH@!g16s!R?_sHr92^m!D5F=&@9#_$)A4^D_(db8Y_8AuKY3XE!V0|feA&yBSxI7?1nd)g_mj;yQP}lov=ve*Di_f_ZpDi37&y?$+$4_*ZS$eI6 z^Qz3dCPt+z`>foQx7V5Tot;M0xO?%M#tvhAa!66*a7nDW0WB>?f0gdR{nty-k*4$8RF0Pb6V~AGJ&HOH;Gey^igF>li*B`x}yp z4Bl?ybyySoN%*w&B@WrwM$OcZRAk;)+Yt27!B>zsK_>5s@_9eaj*p{c_xrn6=Tp6T zw;DZb!uInue#l%_-a+klflagM9dCrWJHtwPi_gf2)y;MgGsT;WHFg2(Gt5-3jDVJ3 zFZ=^g^=D2$LJSgd7%fSoBy!b0S|?0jc^{p5HBX+txl;DxUrwNTpD!1R1o?-rC2C+# z@B1h{e0BH4$8)uEID-}WWNRpC$~s`v+$Uo+r|g3pOF9&i`CG5U8m!S}p`PIjE_ydL z-m6z*6mPjnn5{I?(qtoJSBx^7@}7;1pfgA$hf?>SFtn48!E7kjDT|8WW7Ct!0fOJ7 zK6zWHHDk6d>!?7RoYtQyu%3*~&toymIhRPNhy9&Ehs;FUo3m-;7;mg!4fAZPny?229E=E}PbxzXc&lh?mLTx{(1YbMsMk2JZCXQwB&m}exj6_QXh}7?N-_RUV+=QNQe*k=Esy|WXN2bY3($> zZo4a5;m^zM-QB>*dK!*0?TGEZ_r;D&4a(uWEmGes%mUOXMI8)Zag=H!$zgM*K*>U* z*16?%cz0}HhW_zAHfr#`?-COaj_gT5(5kH5uixJ?m*`ew4&o1^9olT`d=q~SVqkbRJ5H|}ZU{#(1;UG6F-{H*3?f@O|@=!CjwhMO<{>fCys7P8ye zD^tFuBY~?h22@XW!RzYw`5*4l+#-7R?o7_0iR+8T^Y?=$x(TD#DCQa+OO37tM@qA}sX4eGHC`r; zPfud3;2=)Dy)W?gIqM)UYG^~rWI?UWR&|(>3+>KmKcwitXe**|#-n?mj9?={P!b2e zsA&a8lv#b`p^bV@9*!tZ=$xOI7_&w3v6j>B07v5oyWM^bdF}e!!UEbLImQvV5K275 zASNfrJV0+Pw3Oeoa(~QNpd^_BeQDPw+l{b28PWFeI{fH$d^M=@`I(;0oSv?3d#;Sw z>6IK{_GVIIXE~WyQn$sL2FU0tmsm@aB1ky#h%H$)IjC^k#&2py<3M4 zK{rLlj2|s;slgIa9gue~NBSD_iWT>3rK|Rj-20C;clM@S1x1B^pRIi|GB{NjI-| zZ>(oKp%omoG={?x=J3k_Yj$=v^0dTbv8*gW&4LHp5@+FzP-5FlcB-es=->0zEN;8? zg^g`ET+Gy!`qT|sQ0P%5xM0QR8s98_&pg-5x)zRHu_uO*#HcFyLcDb?pf%`xd}gU~ zquup1%$cp##FOjUm3sTqS|EE(m<+pCMhV8FvmmH`s&1`F^ocaThm}#nRYIjy=?)Vk zvDXp>F0*pw)$GfW(Av2I{7pa1wJ@O&mEwc@C73@+)v?kW^DIp#@?3x?3>3!V1nS?t zP+VnaxXrNzDyAq^!kb|f2nnwpD(KI3mTFH`Rq@=ery3NsF+fg*$*T&B`2W>1dv=P7 zY^XpB?)F14E76I79v778<)Z+S+{2L%YAc`KSLurN z(vAyc|6zZk*wKvcUL|iSMa^Q>Pnt*Y)1FP0mizwM!$X^{JhZNr1)e5Q1kKb{L8?Zi z$#&N?yxU!xkq~w}lkBEa4Vl|!*3c&>L zyGn2J!IQ$LWP1BZH2W!|XvN@~5|1~-a(^}(Ue-7}{1p@>BO*#UI)gJ~q+{E6C2s_WMs$3q%0Jp!-a9-; ze4q4#_oZ7JZs6;KV!iC*NC4?D4SUu!cH&4^7TK`<#Ko;4Yg@8WIWxPu7|prJtkQDQ z?6a#d8zC|>_qST)gwd~+b2|%UV=&vl(%c-Sn%^PbV)Fr=uMif57f?WYh&N=@rkwVC0&6#rl&}!TtOuF5w zx*2~4o9i_qgfvu;ew1l-_plGHZNahjIv_j5$(e*s&*mq_=fgqu=@^_OeH%+yPquh* zvDTIr93J7L0P~$Iu!&1pd4&gIXw?V-z)OmBd3ihlw08#CWaOVpKdxmM`}&yt!M+j2 ziSzOGxVh#HR5YU$wr;#SOVy+@jFt^iw&Qf5dTAuiQ5p)+m>JB`v(`W9Kf!&t2}1d^ z>nZD7HmiNKH>WaCx!b29jC0L$r-r=eNS|^;F?3vE`qUHS)8Q?h^m8><0lCjZLPI+C zb~FHLHGK+cDvC=8+>J7|9lzK+Sm_0{h*1tB&xD|3be8zq$+~-tmUQ(XRN&^4RZlG_ zr{aQ61Im3kl5)-9{OuQ2m)`qV4*~KIrJCYJ$QSSSr%=w)y5tt85_BtZC6_0lXzfq4 zQ*yJsoMuNHB9456nu&|dQIUQ2NVT{3VIoSx1;dV@Ij-*J_&oXbfhYc`Qhx5{^&BT7 z2RZ;IAPqK?kUrt)sV7!fcW$~}U$b9K%iW`wmHDAKi+_Q5UF(u(9vkD~kEEdZ{q{Lf zuz%>Xe9RVAH%ts~p4=a;kY_jKbRM6kJQs|BySRQ(?zR2p;rjAzHKDtcmG7WmelSP5 z+-GGO(uryehFL*C4q94yk9N}c5-4Qb_|q>YgV0L2Cq^Z`aJY#4mLX}f0w2-zHb@tn z>bl>`}#e)Jql{~i0H|~2P^z#HP(`X;?7Z`jY`fu`rGpf zM$h7($Ai`YtakKEd?(-Y?w@E33lHh=_CCa8u|u!)29E=E4l-)`&%m}O>|U$(frxO= zio!;X4xCK^J;+4S{y8~ri0ZjTy$3lip4Fvu*R64!R%-+!T(M$qVjSJCxcG&xm*7Dd`fV?;@m9G{u_UccfpUxXa}k!tza+I@tvQry3_nM3o~ zU@-7yT!N~`j;U(=3zou{EQJn3R~C1vgyK5yp~tRzpMn5*6;H*9+{5-&s~lgmQKq$B z?K4%yl1ParnE4kji9r@Rf@6I$CSPPj>lP4W>E8wCw^iA6x$ z-kgUhMe}IlZ_sT=G*V|l@E37v1;AGHmx^+oWZrJ^9XMoQJI407&>x(HdRTlUnbIp5Z6VYwcAatO&~UQt#S zV^=#ti0~oeOwd`be7cI$N|~y>;IZXi+V<=>q-sLZY@E`)v;?CaBBDx*aSu!Z>RXSN z)pY~DoNXs%tQ*f(vEkA8j7;dRBGlh3EyaA=nSCGKME%r!-1^&RJNV1Rb@)ml5=20N z{GE2Hytd-`YlvD9I2o6Q=B%3q8Hk@;Ot1)LF?y%YQ(JkJ4CGr++r}Kwws2x3MlNwk z{#if0L-I)}MrUFgNidN2ZYLxPcTx)KomLK6{p3A0vs6zHdGds(%)m9Z*S6>}%7uon zw-D+tI!>B>S&!!iMV!Oy3rIKmpOC}z_#GO!(}_8(z;{{=6_TzPSWjJl%23#ghZ`4nx( zDz9lkx6wPsa$!~H^64v}W#GJ8MH3)r?lWQ`;j<-^IKh2jD(r2`w&ApYo~7j6wQvf6v=%_L}}vNAFbY9!1C zXea>16qK5O`jSZwAaQiMwvTm0M)wfRHuwov9XBfO#**5;(u$Bz`$3W%_ME#F3d)uG zMo_GvzOo#~2Rn_(z#ijmM4&uU3G8Vl;OPa8vxj}mFDspisV2XL@@>JDw8$avy+@>T zOz<*Kcd!^VJ`#(@K24M=*FPIFHAv4FR$S}0gs;MmD#%{BwuK1)lE=n>Vp)&DNRxpg zIN+)2ABS{ywJ*rg)*NMdN%C?vNcGIZ&qYn0sb-JQ(C{_uTem|n`A-EhL>{2q&q!V> zlSaY9ltbx+ktZ;MacF*EvDx7T{>#J%Eb~WH>^0lRPhajU8gsFJHi~@vW+7^wL1Y|D z_%`;bPS?(vf5W?vv@gN6ui?c~ajSiS-bgaJPR{>6bAR?V{4e!lVbN!h)?uhrL&mIO zZ*iw~?mpx@CRsEEhLPxV+Pg9QCtKFU&!(vBp3IMiEWA4Vfmt6xfmw^w-0W_N3fW_i z?~NcE207y3R7Ix3rS!Zp>_UewS}iaa(lHEmKI)#OiE7c~0PH0YutCboC%Pou`mTSp zdEP@>m-SAj;Z*I4#nI0Y`e+eI-TE{>y4IYwJl*MF&jgo47Uiib}# z+fM7FZ(= z!2NzhU(lmojtm3aY-h8m>gvX`kNH=={&@t};i*kfQ#&~TNChp*0lEG5jHJHbkw~SD zS(WHC5uq=zus5};Mfx0P=carGJin3p-{jxlVo1>l7S=Ew03=~o8AtWC@)f}Z^RLVX zOt>oJXEh)UqI0n=Ahn$LQ%GHADmAT!-!_Bd;E!uEku?d&S>5tOU~l41J=@lMPbBYh zNyns3TfdOr&pS8Akuv;h4E8ut6V&2CR8$8*No?$i-93ejW?Z03=jUCRt1DjjcLnWW z)#X9%zXp^?6C>dXSxV1Co|6&=g6_4tzQ?7%9R9P%3yXKLw+(7_&}c;8_XZ~v%vA}+ zQ7s53qq(jY)$phPLK}RxF`ixFOf0zkg!a?}FGN_;&J#0lkdXDoS6kSC@EwTPcoC3Ti0nkhMLhtc@JTee8klk+Sp;gMUZLerHwgKiUZjc|v<` ziKBozXD)HfJCuZv+^Q4#V*uKqrSKi9T$=#%hpbs1P*7cewfl*wQ23Is)iYtklJ9q} z+m|{sHVx2c)tb$of-49Btnf^?)R(>u@l?XdaPx%7`TJcMtP3rJR1_41It#U@*qo}t z)L((Tl2y0gX2eyf^n>u}hj+ydA&$j~NXD!KWlJ4l{;&EB{npTd05XbA8U)}Z;5i+m zy%-8VUjmeEd*y+D>h!O1%z#UAS^4ijSwi)6=|5Sb&{yggBs6It!_8lba!4f-rg$m#Q14TH=2SV5$p(m(he?+aGW3$NGK?hcvCLPJ?WTc~i~ zLQR35*bp~-wEXf$Ldzj>a-jK?j7_#7wHD*>5jE?<1Hue#a z1AwRtx<`;}b#MCNi8{Ly?cQQl&!%uYOQB~uHi4a1ugs_ce}qA_B=!5B(kd%31ZvXI zru^X9S&^9M>?9N|egXxs2D{~j31Qgm35VjE!I!54djiI#2_|?O{afuv=;Qib4eBlW8}omG7ZD zC>mW`1H><0yz~K3DrnqL&{GJv$}aS9V=WdSQeA+e&_QlsYz=q*3aA#l#ed~7(E;i| zK84Xwuq$B(QRm1#RGz~M*&P^6$R=}7Vi>IAOMxGH6w7)3nUauiN&|NDzJc3)lWi!S z3kwh-rP-M^EiFi$mmWrZa0rXtr1^U**Dh+gnKfDv9ZK zVb?&4G6(r%kcc+TMW}#oJGFlK#_*qdpMZ1*WWoAfdugSQKpBxu8x(dhOrjR20R=xN zza0Csi(2}rdCmJ*mG^v_yJjB`?) z_XT+}yV{mCOE(>6VW-&%X{_`}p#QAx`*FQ?ce^S{e{FfN{cu^&4wm%UCk~vHONT8Z zd($0|uur}QJLy4Cvu%emEBPGz#m^oPP?$-#5*d%1L#MHx(fzG#6+7ohCwB|m4576(=A19#5pw>Mqs+tsRofTX6q z1g%z&btMo@J>a>UR_{P)A#cRlztEuOlnogpA+!Bys8(HNA&O;J;1*Gss8+KrS{4QN ziXlEYM4suH05hOOYlx-Rk17C)K?len$o^~~!B88`B4O$%W>I`^a9ZaG>+-z^)uTaE zF|seXa^*SAzoythqbJx{Rae#xJw5ovEWN-*xB^Sr2$xSr63Hsq-p(Y!VuFEQi`5B~ z-SquK^Qt1zT2Of>6%;`Hg*eo!dP#CqmUr+=c}-&|F4^c;SV(Z&z?T>iH-d_ zMS8vVHM>in<>%PcqM5z7D8CFgrW5LmzrQ|s?_&ZLpi{4=jMxIelCQry#}^lWTm`;O z@%E0hH)rs3^!a>v45BTnKc_*%c5>$$9$%lu`Rc6)^54mY!2bawLZE{^2fPx4kU-wE z{+YyyfBSICw#17Cs|;x_u0JcIXqDqQ@7^&9b={6Li%5>reQFmC-H^hU9_D}g?%cAn z9y2K{+&odp|F^4l&>ZxPOkGr`v;hh7#Qn>Pm_N$;U2t2#yoIQGx6Fl$Yv**&m^9Fw z0Zj}DuFzwvuL=Ko2mGKHm9LKV<&uF-pftTmTx%ih@`QJB>5GOJa_&aFjkA3%U2l-D zy<+s%Sq=tdpnRq7&co6sMZar7x@%rBF^ui!ZE8XIQNxpPM(K^pY_aoJ&qwb$=pF$f za1E%_e}n_G?z~tdG9-xEUm7ERh+G_2cYQn@rhPM<5&+~qQ}xR)g>lcZ+%G)GeYqZL zIW|8}SZ?ShMaL+bn;#N@=mlkkz2?_Wzw+y`(IQht|Av7@WZebdyvPF19Hv{Bf2`A$ z3pRcSPzX!**+fMAS5GfXeg_)OU33}UdbWa_7p3ZgvX=EZO7e}0y|8owi1@OV20vh0 zy?bc~Ao^!6*>3(+>9^gR2-=Tse|bS41|A;<;AN+0g`gfs76eDhp9F=8ZQGL4Gv^(D zT!>{3Vf|~ft3+3((;SjiV8g~yyK14aU$6#V?y!^BX@VB1FEjA<-9I}mhL%UQ8h+FC z`05FS+}5mstGcX_fQs?a?U*-50iLx8LO$1c^Wjvy&azc4P@jdQn*as>$+KfIV=Icy zp=8t$VP7CpA3ca_;OF7{+gPZEh6I9i@n5@R0u0Ke`W!iN;w3}musuS-o<3(qQI%Ib z=4&-;soK)#dVz}8RFwsVM{Db@6*3@ly@mFKN%+J8Kn?|aHV_po$;EB}cl2eVP8W?XY4;9Z=<4pS zzm)30_{2nDVo>YGS!{U(B~WnynE?9k14nR_Ayr`@ZI%rQ!R)%M(aJH|pfWOj;pTR2 zb0fV_khK9J8zSVwx)kv{S;uM>w+YTDCsKkC}EZc)4LDXHlzv0-#9?DOkV2;#! z13Uy^<=E5&$NxxcVQ(BBq&42Bf(96huDjdgp4RU35*RN4dFeS~H68ngx(Z(pU?f(d zWM^G5YXpU)rNtZrm|91dS-1dPcP+$AMX9QN#p_NOG;)F0CPw{K^zZ!3a(a6Dc`e7M zyq?BbCKCDmtF&{(k)ZyOvIFAu6J-LB*)Xnk7PvQ|?m?kHo`|S-V+mtxI&C{s{6>lz z>>+0&CLj*UxeNhk;VYUQ0OUmPi|I&|t$8)Dv|fm!3F{&3y8)>0z(r(_*~Dmf=i{{H z)>4)<+`?O*E1dexm8=yXjEP+dm-qN|@qcHrJ#Kz>b3XRgB=cV&Hv{{#D-=4j#!OC1 zQfu+;3nZ^wgbIlE+DolK73nB;uTz&1B*wuHOLVptF%uUOb%wmR4zb{Q?O#e+fLApiYVJW2=ys zqaCKf3JPys>z0#Ee!yo}wXQ_Ik;hShI1$%5tdM@GVKq-#!+>#k-o2--Zuj3=fJohy z(5WF_4`&Ku)NC9wtFk1X>$UJa6nhgv*x#_-mah+_9$>gOejRc3vx?Z0&N@fnNDA4S zqM$Ry3sS~+bS+`oj^iXWo_7j9l6Psu1o59W{j5WI!?z(xyhKKw;p2gYeBXu(y!`An zJ1aIITEIT|RA~2E$)$i=je8#SMtb~FF>_6{XWs7kKwGcQ>(xI9P3gTI270@VlbxWx zEn!)lj$dpwuJLeiSK##ETMwz)FOdesf}^vAP5gmF(!t#z6q8~IX6CJyF<$rLhy&y*{$_pb!J^h!TVh@JSivo?TtLWgn{`3O0Za^U2t1e6?My z<(nud+xO{vA03%+@9*}-fW`E`cJ)WQzb)FXX4XxjoBDr;T#9*XM80XW#Eku?y}tQx zd!=bwS>}Y{WKFZ5S2`?buXKAZ7fjz?EH#rGO#cw^2tneL_rAM$y{N4`$GIDkn*H#X zhv|huXnS9!R*M~o#Ix2ZlOhjYI31;%7mzLg0@?g9wEn!yI+cKRY`x3v2T4CLK|S17 zU)^2p-LALo1_Y-wM{1}Z;jcdiuG&c6=IggCm=7R)cjvQ}*M}SynEmAh)-MxzRcGw0 z>sqxs7qd-!3Q9^hvYI+);BOEUupB=pApN~cj)Q~4$AJlv{lxGBYXsv^o15*HsBeQs z*grrIgaFE@y_oR&iH&pD{bh3o|DNG<@bB^_BPLl_R-}Ty$Q7PpoTe|pHe^sxAvCX} z#SaIhpy^I5!4Qam>+ME<+G9#e%4Ev&J@++Jn(x6RU%;r%-Q{e%$3p+>UnWCSL!HvX z|NV@nZB0Rh8{8~^w?q$??CL9Rr1w4Rpfg~6z;}I2nx+i| zPtY`bC;l}irF`^M;y*X9`HukwDheo8-=|lqPM9bdiy_|Up`2Mt3to@RSuR=S(~&#E zHK+SVn*Dq7RDdEPEEcFgxqx?g>T=;9Dw^F5JNXIJEi4@2Bz%I9KZKKq^S=#Tt`V(I zu%11J++42v**Ggx&{4j;6v^G*-su4|KhMdDLmpU&vUX5eI@!CI=>Ctd47wJKfMQ;i z!(6}00$H8Czj257Nd8ajWi%BZ9_U4+IFFUjbWC=UO2uqxoEeDQOA$YCWNjf_zzH8N zNREO&Qs4h`umRCIU?dS78dAeRb=u;wXewWPePn%)K;kG-56ta9De-czJVYPK-CRAm z+Y|%bpux782+WWG2KEC8b-a8_AG}8}foX_w%yH`ZtY ztwAVzytBLeDY(6Jtp>=cFR=$rOPwHMvZ+EF!)D?+G4it;KC+zp>W_I_M$QkGzJm!X zrP-<9GP#{AEhk+Pv&s+vqyi^}jC`vfVQh`~3R8-TI#GC?wBKDx7*c~`CW<&uvDwjj zo16^Ibg=FD6<}ZCapW<$5}Eoj5@5ocn^M&hum6j^w+yQ5>-q#Q?iLc-^-#|76t$&`2(jrWe=tj%rpX*e zh5!W+RH(LDXCwjw^`IyQ+E>&dAQiXPjO`a9*Ry#< z2r1BP?&)>g+uN}o4PBu0|F@t|2W|-<-P@$}kU={Jv!m^fz;GchE}pf6DcvB6TiXtM z6KlNhTlA}s|CcZB=ItI{Y5AsnxsxpFBg@jhbbpI=d$yYTtZDKJNU5|0mz311uTTGgvF|QE0tw4oTDD2Bo3- z)V1}eiPbq}!V-gCv5roO7BjA2S%u_)T1xJ(=M&W5JmY&B|HJU=I}%Y|-2mk4dq&_= za~oJ*a_Q<%4?Ve+nc*fAc7+3Q?;Cg|WPebFAzdDywm&jxl@0|s6vF;Mbg4=d1BSr1+iQy~~u$1vXR_KAC=-aCAtV zPN9T@3Lkh3$j`H(-`J#AYyQX3i;l=ai=WZ`AG9=l6`F*;R^NZd0dIBNmto}( z@|Pacd!5r>g~hb8nW@^nw5Bw@M}yESg;;(;rh+s!QiYS-nYen^BE}b+!-=6~UrC)%Ao)j& z;s8H_4ckBP)C3L!Xe)i7NdSA^M%Y&S!r;f_YaoGwTN&K#2H%j96AKKn`m7^`J_>*z z&xJcAuokuR^NJ*;O?h>u>xPQ%N(<~$Zt>s@H*0~N)j5~{v6f9Eo};_c1D!>^wWWCGp69f0%%)KOr3aU{C6oP&-?XvM%g*_K}!rXyps*uYN> z@rSE;^e1uc5AF6q^i?EYW0mc%vJtYM9uzfWxB?x);Jkx7~S$Yze{VM z0p5XU%A4gCio87ft=Yr-IC>;QLz?3yN{_(s6tVrKdU0EgUUm>2f0u09fC&4_7#9N6 z5zfyum(wpTy=<}M!y?4MI06dEyp~1#V;@@o?-ejpzUxSB0#^8OXz?=aY(LwFm)wx7 zix?rV!4ma?9ZLI6Do98S^8nqMo8dhhFFRa|p1XR+C=G2jF5ul$P8jTfiDUU-;~%p_ z#fFEc5Htq|2NfOiRgz|Zp>k#nWxk9W2{3zq8q@0QA{iPOCG^rCB&4cyM?M(EMIW z3xoU|HELT(a(m92V8w7L{n^Yi2&~0@_3?tH^fX)ykfM^@u~gw&dXDw-HyVT%;2;bC zKx#)L>RR!hq>Q=lJ^ns0x#CSiU#2 zrGiJewFM&9dq~N)48KQ%FuibtUD=iLKT`Un5;cyU<3}2xkb^IJ)c5~#bBQrOQO7Dq z_SqRXQ1rT+{Bw?sbQytu59co)aSF1@xEUuqSKZN9H_91Rx`FXOP+Q!jyHvel;?lPRW?Qk^jk?F z3H-tYk0DspG-?7FG2(c{Mu5^a=9X1M)YGthe!?1yE>F*o4a_M&A)-c`1aEBEs03)9 z-g{LE^89!9gSI@OiX3JV5zNmtVtoOCQh0xi19@)1p4}<6BD2HYI!8_O+cdtgN&#>& zU|Z3Y<7R*MXpeYqo;DFN4}1wOb7nC!Po8d@PM|m_yh4L?k4CA}3_XpLxC;W5+* zUxrZWd8eTslmkTq3DS?61AR&m|LanQpQlJupO~M^=s)6Sxy1(?2=Ug|dF=6{W)%>~ zrz}UG*NCrk9fjHFzVjZ9ObApvHaeBm5Qs9Wum=!oq_P+9;fQkF#1P!$>ic}81{(FoKQ*(2> zK5jJ)#slsmK%TX=4?Y8i;Y5DPKZT@s$Qz+2kGnEp2BgF=fzoKOuxsoy6JBP)%SKC$ z%rT?KZp4!e2(~rF{F_pzjVG5^E^ioPR^>mwl20G@Ta2_AUlby7jRbB1z;OesO?j=? zfsgg^;o(MpjYHP_t_|I(-p^4>p1Jc58vY=l-AQXWiIlPGv?ZRZ1B<%8-PrsGd(_(S zm)_5xgibh`+o&52S764x!tY{y|A^RV;`^BoimAnoJrttcWDtC2ec`sxk!xxrn?ji~ z3(;CO5vZP&PAgGfT;#%q7v*UEVDXzXi0Q@us0hU@F%`W4f zXGVk^Z!~&~2J%O-hZ-+zbiuHm6T9W)`KMwHtMf);|2M>hqzZ1r=4B|XAOF!haWFB} zJe};E{N!_j<#Vd@6t5}v=SG@jkcx1K8aTOuWC-lfirSjN_PMo}t0QQ)CppCtiHkFw zIV+Z*vAvR3u}@t&t#0mrtdaUZ;Cp^)ICt z2b9ZY*E)rhsPFUto2=^%vnBQD8~T_9S|bFa1vwP0`UeG_f02*qFC7-DVxgs4-?}z; zon(%2n5x3F08)1$NdV&irjEayLS$kF_#J^j1hxhQXlc8yiIT2 zkMfzctNe-Qo5|XAZema1Si+Us`0HUKebHq#yS_vfK!eyIrpYq#?MM&lRMe%$nNUIf3dtSXGd11>fCWcRpNsiv!xa z6%5U|V{LVmxR=d-tX?F9pfn2UfW9}9cnRtrGW+l2%T(SyMoLXE2t1{xpfbfrUYow5k9o%qHa)cZ&ead6t zL21;48JdyP93*X&19>9+U?q3h;jdfq!M^ z(BxDNAG|)>5I{9BBWBj-)qB-q{lB}Zxt`-XV##eEcoGruCdmTedtGXi4CXcb+xXfK z-FhUT@9R+bkJGpUUs-()VVC}!$MjcNc+rf@2n=8xm`-mWmDHT=4JFW%1oVO$p5KF_ zC#Mp0eKFqxE@nWv2M39lDUgns{;k9SCbOOzkZ53DyU8L96w)I@%zEshh*S`OXE2XE zPq^=IN8d2Jv;F#P`ib|Dw^D7fr53=bOydo4mUwDv7IZ6e?Z>_p#h>XD0sCU$C#_va z2%=)31pu`l2ttGU8DgQ3fh4?OzxP>yeg}evAdqC%`a)bMf76KLkrRIfaWz^zO4Tw< z2#~-B6|JE4KznBKU*dkZD;qnJr^JNNwn<0aP@jgj?;m1!0G9)_FNpx8_K#V>kcNXE zR{UsmA43bGqkr|bV!$+x%X_@0Up}z(!~^iSfXnu>^@<8mtKk#;Rjm-Qo8$(X1N4Rp z5W!bGPRCN3yd*Fz*|6ehHLC~CUbp)EiKZ_z$e^*^6eF;nFOrfqBHBITUAs)I_#lo0 zY=HlRn1~9v_1{SLimG<_lpan*?+FLRebR9NLpnPv_$V7rT^t}nn05G2uHt2&gHZeF zCOhs-B{X1I9bFK-Hhw|dDG{{dp}{g%e)0$|fwax%MQ8PQ#PnC1iiQMH3jT{`vtth# zV42%Z0D@L4@a+}M)9lYS0Xur^C!t*4sM%!c32sL|PZ10#J09?PivwcY3ESo_;@i#*KpKt#@5+hyjjZsCgK%HsBwghU>a$es!<=-wu&|VF4hws6{O=H z^XEe$!JzjFDF2L%Htj!or-k2DkCbiO5i#P6T|%{I(f}C)Lgi7gDo`tfcL@}(BDpOE#nhN?))Q*^*_{m#w80#00z z$dS(B0@i!qf&x{a+BZSio@6LTS3*I7@)6H)Bq{>10ia~u)nxF?SQZ!i2WyYBPCSp} zndKNC(9rY7Q=m#P)J$kt4#L*5L@4Uz$qJC(@j{>_$OezyRfqe*;;5g1>#aNnAFz*) z{76blDw~BA8Bc)@a_@6LT20=9j@)wMM}CATLh8R#i2IXPg$qk(z$?lac>f_ACXgc2Byma-Hz=B|8q=jC>+RlNVH+)n>;_v^u*qu`;FJ!%mMzDQ|BWEpVJZ?~pd^2kV;OZn4O-j90t9 zs#yAs9dXn3=F<)u_9v!YhNss*?5bCe_9C1Y=Y!7*;8Wf=qaOI5QoU@!>BXRk!#61> z2Ba6f^v@A{*P+%Kq($=&)(Lzp2(pUjSFqTD}dZXOpTtC8N z-$3Ai&{LfzbOmSL0er=4oo`b4$2f7yt0XC?xyF0>Qd`S*H{U z8oY4Hwu9rHtUKH(DWCjB!TnB8i*`^B*HQ$UGmp0XnT)3t9j+LGXAT(WyFA!KfIHKs zsm_88_3}!;q1LhxP+Z|1WyWPm}x3#lt!_i&5s)!Mn;M!1A z;7_mQg%Qi66RHajKxgMF%obWJ@!(9Ub5K!??kt>G*4av#SGAAfC%>o0Gg;~u~z?AO7IcQD>X+`Gl zj&8nA*&kq(9wQFmwRnsW+X`HNZwUzq5hRoS#}D1^z_YO9lam&}Jw&)Q-j&PH#jF~v zJOgCuBaRv$CkGT(=a}Say3-hVQc@5Gk8ezPk9y2~ zmJ%o^f2s%ok)HX#HcCsJ4d_9lEj56N;E`~yh|#YGX)S?2l&}dGZ&chuiNG+z$JGGH zN@++yI{}I3Feeogz$lV#iT^dvVs1*h2FX9V znVOmcP|wP(^L81*k`y^L^0wqj9-Wy8YZAf2l=|l)ImU0mTpW}W%p^fGs{9V&QPv~D z*kb_V-lW_|?en+)oha#61${yFZ|(8_o?e-l6sq}eFTlUP;s08@{BNW2|Efg#pL3gs zsK%Sf^8BJx(R+c7N%LM=I?fm=M(STkxbQE>-Xv8xK9kUrn9}j8+1n*}wxF%0?f9zT zS;sRZM7%c|Pu$ROsUlRqzq5(i;jB)*zFC{EO?=K7^N!ZYMU*m1h~nL06Wys5aE65xH43MY)x&jZ6xa}$A>%XtT)JKPa zsQcF^hz-f--$^yn|#> z>(fi98{xQ*=~Aq~-*(sj4S1J=8AEI7*M>Yl2Qf-9|5RaR$0nz+53Clf5M-BbSvlTN zJ6l6tehKTnr>3Hmcz9SrPF9EtjVhN5TXy6%298GE?$ zCPl^kBqKLeT$l_DzBAW90s63koP>I36f?0Iq5k5ocUSw?+y>Jm2mf|mK-Tue(@`C`;vcMvb&c&3!SD0gbg z9Sr_VY7;e>sr}U(=`Mz9WEQ+Ird$`zs|A86T}ubJ5=EdZ!bUu8rXl#9kZ@hYIpYf6TyFrdvuNGSupO z&J(iR=A1Mf6=wIPw2u`rDJ5D`8xCf9Y76gDGm}HT0(C|y5mR~$5vP%AX7IbU$v&DW zO-N7E+9(WHU1c2?3z!_=(XPq9J4zXmf8~E_!JKA(dbRmE*aNbpc3^um`mXD_ljx-I zif&(k#ZB%XbTKn#ougGef|xPSoHm?+w@=#OaFB~h%9Uq9 z7{g$g<(Fq=@Nl+Ms_{6y)98vfwtVD!i`HpRyHTzqXF&9>7iL}~f#Kq}+(5WIoPBv4 zMts~Z($>5 zET#5M6aQMI!r@rK)c%r>Yz94-_5Xn8KOUUu@pI^~8vewTRNJe$GXo6ka`^MPl<4|u zw}FFWb0@JAxOs1n@86*0)i}QNnx2~#*UWp^+sD6eNRzqv3~M?kXb<2JDtv`z_eT#U z+2@xg=k8Qj&YkolI>qPY2po_aW{FEUNNtUvPLx_dOqKP!N&MzgqhSO6vG>}fyqA9y zh?cD9`T1^(D_I^s3Kc;fxJ0^)D@RMoW$~kNU9tzaLRHhV7CxMQuhCZ|<>lkBvX!sw z9ALD_!L?I}pss6(ju(X2**{iKLo@p#)_}`s<)3RFbNZQisF*@a{D;4}Qr~iI)%MZg z(BU5MMI6quFJ08uoaf}GSlwOpm;U7*4u1@beJ{%4esU3A9b)qGCCcPXI%H?7b8v4{ z3+fIYOu8JbqCb`V#U{fFU7ntIkb)uP+uUB$H}MKF_}me>6<9&tnAx$3DN5#FoX&>~ zx4{8;ZtA|B3xZL0OG_^R|4tYx! z&pkieIk%)&N#6XPz{(9fGK=P#rlWdahd==iz5mJdGpiI@UUh zaL$v$`a(S}G&0b*g>CL9owcn;ZLfQ(;^W$ROw&DZwq6mP4f0{qNuFNyGi#YL zVZ_e_(;bQi18>bd9lm&d$?C1dy7R_-a4PRE<~i`7Y0kp^;vLgnK#=|*!qKEaU+IOq zq`h}+Ti!hWQ18{#XW7$dz-QOLerdh7G|^V%U_LiXt|_PxbmEUguRgQV}sc%c^qq<|F}i(Ka~(lpo4 zU!M}x@j2gWejwb&oz}v{2%hPZr`}APjNUKo#JZaLI3)iD+eiGZGmDWNHiZrJYH&0Z zE}zu-9LMIcX^C2Z&R)=C)9F%Z-tt6O`AH_WzR1|k45wo3`u9U0Z=H=F@V_Yzbb6S` zsf!)>guwEP>$PJ`xcEKff?Bj_<&xRZ|Q%cebWC`J1wlxx<|Ber^GV;b3Zog zdgV~`lmG(QZ>|=9T*|-k(mh<*gvOk++-Owq1b#rdK&d`j^!4-Mupr&&MyDKvN$hFA*R-0qO3BPYmS3U*i9o*)QXGc5x0{>hUSGiWTHgK+k<>86FgkZawe59SxQjjxdc`je4 z4u(FXTT`a{=)`4J+l%H}Hn9a3`;;KUy=iLu6dhTePbPakEmr=~77@=Td{fQu*CIYa z0j<&`mhuG^f69J#2J#nDI9rD@_B73GV-sD1zNKI77+3q#L|dwwD$~djGd^>??hW&J zAM<#gYl-liz!(?rT<_x&>!e>{SFbY`6#mEPJH8uX86`Dfg1;C8Nr7 zFpeFuE_}3o8gZLWvXzrQ-`#5@Gf8Ru?Z&DSr1qXUJl&#;nwatNR@*t=+X?l`Ibs=> zFiicyQ=7eLqBPrrp(kg(%s8~zR6e;sdg{=pb?B=>IQlr7)#Qn7LH>`Tn>t0=#? z2lb<4f7+Y0s`&Ga?i=t^Q}Y7o&Kb3?&*|bTYomXli6+NQ=e8BY*Az@{YJ+sgbXdG( z1HBxWZWT>a<;}!Bn?G8NEx}@vueG!nuX>8D{rb2+!kXdsrtgyIXz7JSK^azdT%yOH zMH3&fevt)^tRq}Yi2*&g#9s4{1iD%umPZNFNu`6`3oZnR;v7&KMkoUL*1k(MfBXr4 z^$SXg?yE_2LFb*Kl9ja#Ls_|G53AVr{?6U5djTOE``=$n5*t}W>*m+pl~-@ql1C37 zN+#C6e&ca$yyykVLgxt6_UrJ}(V>zyAum>5A66s-?^O>Zw)JN3algK;w{r+5b(4En zT!CdR&}L*bzr0170RygV*SknlW$N_~nV2KW#OYkS{=a3d5gVOO>D^!TcR$g0)EadR zb?=?&6VQKB_i$3@+PKUi)$-yN9^JbbT_cL&x}03Ul*dSpV#AVBQ5PgPd@L0OUWEVy zYgrg;vBTwhS(}fyN#&V#7AL>e$(7xQkaL6jVd1&oj$IUHU;X?ob`Rd9{_wKXDj430 z23cU}m3(0G#A+;jV5`d?wO59?ADJ#fZ+b%Gporn zoW6Ilbl@VY0M}HM>MN-j{ILWKvjL=nA*6wW5CL9qeaXLY(;Un8hK8Q1ohCq@1g8m z&oM=26-u0~{I&D6_ANeJ+wew&9obK9x`VL|N4Kv&E|wku?eMAwEd7Xrg~L0+qf5ba zLGor`oglw?_J~hVra#hJZ8{Lf@VzGp-8W@cC4UF~fzusMwGMB4sO5vV2a0*ip z@p(4m16qU$mi>xeN+fESaG3b)lx=;~6jBj_>P|l!iQc|hza3b)LrJu8Kw1BqIOdLA zL!pRn1u9@3UZYDd9zNm%@%bA+$ptTlmIGGEj4ruO57>*5wBblGsMSS3BaUU5x~*S( zK*$s5c%sraq;6B!fb93}M@jDNH)9(jdGfz9Y+Hf4xv)vw{ z=!^T)F5w{6HD%;{`+89r2p3Lv<1YXRh|dY9S)IC84VqexEnlL?to6N;FXGA-4jC`0 z=GV_%=?f5U=$74gyowWBf?G~lZxS`-C4_g2+q~I9j!(BHTJ|{~tJi?tRq}Y7pO_Cw z?(r^`cCP)Y=q=r#1B*&NuR><;+anNu#JS)6f6wy}#dDc40(*6wW;lsa%vWLKH;uy! z<@Htgi zIl?YqH+bFKd4$uBBYS^7QA-XZ@dlgSATuUN`C-FR5eN3h3$NV>B@cJ5ChIdCn~&gb zzNtIIW~;f`{aZ~!Lv?OMOj;h~!%pj8QABawRMb+x=Y#`)FiZa$G{UHotG`6<#dTkR zH5>EeKjDMz2f#?ftc7-EynqKN$7)@0m4#6f8c|;#6<8?fOW2r?|D3~t5s_Rp2{lI1 z4>ckLrBlT6y~LukM97X$%-Si`OpU&NvpBrh7&!=aPf&F$*(WQLheM_m^)SEsP`u<`e?B~KUqp~c%Cl`bcuynMr!q(q4?f8Hsrx+a2TUQJqU6Xp!f#~p8e0R z#beDUYq1FehfEI;3(eC+a^`~WH6Jyq_k;IRQnNiTOcyAge64I`DP9VT{`t#gfxFhX zdn94O?y5<(`y87!&KO(AKeRmG84*P|LKS(Tqp%fChKH9T~fR3T|9<`h59VaRJW=wTAjB1&_SlAD*h1!8-q z7j%$v4V;UPrPeF0(%oUKl_^qZU5ug}LmSBLIdD6skyByLCg7-Rdte{bv8=Ru+!3`% z(lTd1O%H3F8X*f$%N<7`KSH0=GqAfEuDCk;)I$Uh@Xt2E{M5DgP5wLwU!A3N_hw^C zYqK;v0w^V=-yPJwxjhCsljH9{#2LR&Q}vL(GIa;XGAaJr4^8AsJO5(25V6SE8J~14 zgVr06`*-rE%>immiQ8Vk^&_c&T80IX^M{{!@STRK{()_T+n~kaUc*=8X83x6oEi__fQmR{gMdk)w>^Z8sF!*ffmr z!dNN-6Ov{Fb9KR?Ue;lTy%mRsLft-%Y&i_e1xC;Dkhcv{Hp;%@e4px?Zg%c0=+!7b zyJYF4J|=9d@#CDhqzoG9lq4(H3znzs;6ym2m-tTo2$hL?sEZV zYS8OBnBu6bE0o=mC18F=A$CPrvr*~U`bH&+P32Du(%)9q?$k@_YnU}Qda%6CraVda zxyii~1pY=HK$O^KJra>dg#93w)WL2|r+f~-nWWEj+8%a|vPUv3LD_H8^a(x@=439^ z4+3WIL4O#aH@_mEWK{ySdGctSpPg8>&An@sssyMZ0#jZdXN##5^0I&)VW}H@PcFh+ z$Xrsw^m8sM+i$UYa4q}UXsF9r0BaH}2hku`IYhApmo2O znXXy1pu*D@so@(ws=_S7-!2-Wu!cfMN7a%SqN85Dvh61cCY<$D-GWy&$rw3fvJvn& zkVB#O2|!y)Au=6!ldxFBDNm`oa!@pHg zQMPQw5nk>DnJu)W-Bpz0o;V~AJ5LH|RkAgYUnkd-5c6KnCLM?zH8yH)JWk;K>^_t?>;&)|#yY02%Sl%e0j&hsp5u+!KqbQ@jEgUF4d$Jn>*(h^ z2%IF3h`osJcJ6r20q)88I(0W86;D}U5BA962vGKeV6LsaMCk1J(YrKB-mtzOu1^pj zK8<(lWnk_*^GZZBb^Gqu1eR-t;BrwRg?DpB%cn&Lr@A|DE&&hAcfJ51xMYAs3BoQ+ zWAHfuRhFOsdyifY&{MN;U?16rv4PB@?cthLzQqKGGxRnN{s-1oG-W}UwX;%IuOn8y zcZZj?R(Rk7Tz(nc!|3+OoT2RJYgE0+SG1WfHd{4{fHlEAjUZ@gVWw8?7?e-r&-eRYODdJ<hdC!PjqfORxC%{T&!>XmL#lO(?iD$rk;f6Bp?FlRZ(Ha*5;xw(^?^u zJ)~x-4Zb=gx~aHZ^%mq_b*&pYo+@i;pRAyvqn^P_H#gTahXM1I6Kh3YUDlAPs4~~# zl17XI5jC4rOU=J%u=0Lqig8d_)?|ygiI!o3U(WY%mfc<^+j1vI0fUt~ZD#)Hg++!R zeGG&)UG`n_J*(;mHH4}Og0=PjL!+}S<&C{D50PzcKqiRhr=}fq&$kHxWBTJCEnuIX zH+=Ga;vX+NMRhK~Sy{iG4;V#@84r^DDC#bVR4UqT=}##y z#|9|*(#=1#rXWUxK1A~i=(9D>uU9a}fN3d~*=i#R;|x+4T3m%1xVP+Ty{;!TfNM8= zWaEd3tnDsr!y3)fJVqiyh;KdI{QhA;FPVoWCS)1<^#HE?oY*?k{)#ReIlU{P#alM= z6i{BYgI>9I10gl712SPa6Vkpr!#qvG*>DIRmJZ?kg(6<4&C}bDlzu9UD2LU_jbY5d zXXs$6IpEi6UP zYSH5K=ECyC9~`cYOnR<#AcL9Pi(Aru9)k_GXHKW;my$tczC4U5l8 zDsde((6 zY(V_sCnHYQti!n*ZUXyS+Y;-m5-xmO>&ni-80>{v2O9CgesZteG8n9zj^98uU-OZd zz~&A1Is{AhzkbNL{#UdjmKJcoe|^Lg82=N*rvFWv)_=xr8bx`r+oP*4SnBG_UA%06 zcKt`s=t-ohCf&w{c@R#13tPD7Vq|G;mf-vpX?2yO!4nQwE%MTY%3*)d4*Rdqx76CA z;k@%XRJK19I<>=dGsO%o3k&Lj-v6FD8k9H8ChXw4g@xL?*�^pESysxA_0Qp8u@@ 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 Nb(LpNFprRN1 literal 0 HcmV?d00001 diff --git a/docs/images/repo_links.png b/docs/images/repo_links.png new file mode 100644 index 0000000000000000000000000000000000000000..09a4bd63c18cd9639f54438d554bf1be986f66ba GIT binary patch literal 18407 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 literal 0 HcmV?d00001 diff --git a/docs/images/scan-drilldown.gif b/docs/images/scan-drilldown.gif new file mode 100644 index 0000000000000000000000000000000000000000..e74acc162e1cbebeef19f89773ec97e1eb66493f GIT binary patch literal 107378 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%0D}VOsBs8@5dtI6 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 literal 0 HcmV?d00001 diff --git a/docs/images/scan-results.png b/docs/images/scan-results.png new file mode 100644 index 0000000000000000000000000000000000000000..608674fee35ffe47e3519ff71f7a8907bde59b08 GIT binary patch literal 55276 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Π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 literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000000..5a51c99055 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,92 @@ ++++ +title = "Overview of Docker Hub" +description = "Docker Hub overview" +keywords = ["Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation, accounts, organizations, repositories, groups, teams"] +aliases = "/docker-hub/overview/" +[menu.main] +parent="mn_pubhub" +weight=-99 + ++++ + +# Overview of Docker Hub + +[Docker Hub](https://hub.docker.com) is a cloud-based registry service which +allows you to link to code repositories, build your images and test them, stores +manually pushed images, and links to [Docker Cloud](https://docs.docker.com/docker-cloud/) so you can deploy images to your +hosts. It provides a centralized resource for container image discovery, +distribution and change management, [user and team collaboration](orgs.md), and +workflow automation throughout the development pipeline. + +Log in to Docker Hub and Docker Cloud using [your free Docker ID](accounts.md). + +![Getting started with Docker Hub](./images/getting-started.png) + +Docker Hub provides the following major features: + +* [Image Repositories](repos.md): Find, manage, and push and pull images from community, official, and private image libraries. +* [Automated Builds](builds.md): Automatically create new images when you make changes to a source code repository. +* [Webhooks](webhooks.md): A feature of Automated Builds, Webhooks let you trigger actions after a successful push to a repository. +* [Organizations](orgs.md): Create work groups to manage access to image repositories. +* GitHub and Bitbucket Integration: Add the Hub and your Docker Images to your current workflows. + + +## Create a Docker ID + +To explore Docker Hub, you'll need to create an account by following the +directions in [Your Docker ID](accounts.md). + +> **Note**: You can search for and pull Docker images from Hub without logging in, however to push images you must log in. + +Your Docker ID gives you one private Docker Hub repository for free. If you need +more private repositories, you can upgrade from your free account to a paid +plan. To learn more, log in to Docker Hub and go to [Billing & Plans](https://hub.docker.com/account/billing-plans/), in the Settings menu. + +### Explore repositories + +You can find public repositories and images from Docker Hub in two ways. +You can "Search" from the Docker Hub website, or you can use the Docker command line tool to run the `docker search` command. For example if you were looking for an ubuntu image, you might run the following command line search: + +``` + $ docker search ubuntu +``` + +Both methods list the available public repositories on Docker Hub which match +the search term. + +Private repositories do not appear in the repository search results. To see all +the repositories you can access and their status, view your "Dashboard" page on +[Docker Hub](https://hub.docker.com). + + +You can find more information on working with Docker images in the [Docker userguide](https://docs.docker.com/userguide/dockerimages/). + +### Use Official Repositories + +Docker Hub contains a number of [Official +Repositories](http://hub.docker.com/explore/). These are public, certified +repositories from vendors and contributors to Docker. They contain Docker images +from vendors like Canonical, Oracle, and Red Hat that you can use as the basis +to building your applications and services. + +With Official Repositories you know you're using an optimized and +up-to-date image that was built by experts to power your applications. + +> **Note:** If you would like to contribute an Official Repository for your organization or product, see the documentation on [Official Repositories on Docker Hub](official_repos.md) for more information. + + +## Work with Docker Hub image repositories + +Docker Hub provides a place for you and your team to build and ship Docker images. + +You can configure Docker Hub repositories in two ways: + +* [Repositories](repos.md), which allow you to push images from a local Docker daemon to Docker Hub, and +* [Automated Builds](builds.md), which link to a source code repository and trigger an image rebuild process on Docker Hub when changes are detected in the source code. + +You can create public repositories which can be accessed by any other Hub user, or you can create private repositories with limited access you control. + +### Docker commands and Docker Hub + +Docker itself provides access to Docker Hub services via the [`docker search`](http://docs.docker.com/reference/commandline/search), +[`pull`](http://docs.docker.com/reference/commandline/pull), [`login`](http://docs.docker.com/reference/commandline/login), and [`push`](http://docs.docker.com/reference/commandline/push) commands. diff --git a/docs/menu.md b/docs/menu.md new file mode 100644 index 0000000000..1a89dc09ae --- /dev/null +++ b/docs/menu.md @@ -0,0 +1,14 @@ + + +# Menu topic + +If you can view this content, please raise a bug report. diff --git a/docs/official_repos.md b/docs/official_repos.md new file mode 100644 index 0000000000..56b5689a7f --- /dev/null +++ b/docs/official_repos.md @@ -0,0 +1,125 @@ ++++ +title = "Official Repositories on Docker Hub" +description = "Guidelines for Official Repositories on Docker Hub" +keywords = ["Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, official, image, documentation"] +[menu.main] +parent="mn_pubhub" +weight=15 ++++ + +# Official Repositories on Docker Hub + +The Docker [Official Repositories](https://hub.docker.com/official/) are a +curated set of Docker repositories that are promoted on Docker Hub. They are designed to: + +* Provide essential base OS repositories (for example, + [ubuntu](https://hub.docker.com/_/ubuntu/), + [centos](https://hub.docker.com/_/centos/)) that serve as the + starting point for the majority of users. + +* Provide drop-in solutions for popular programming language runtimes, data + stores, and other services, similar to what a Platform-as-a-Service (PAAS) + would offer. + +* Exemplify [`Dockerfile` best practices](https://docs.docker.com/articles/dockerfile_best-practices) + and provide clear documentation to serve as a reference for other `Dockerfile` + authors. + +* Ensure that security updates are applied in a timely manner. This is + particularly important as many Official Repositories are some of the most + popular on Docker Hub. + +* Provide a channel for software vendors to redistribute up-to-date and + supported versions of their products. Organization accounts on Docker Hub can + also serve this purpose, without the careful review or restrictions on what + can be published. + +Docker, Inc. sponsors a dedicated team that is responsible for reviewing and +publishing all Official Repositories content. This team works in collaboration +with upstream software maintainers, security experts, and the broader Docker +community. + +While it is preferrable to have upstream software authors maintaining their +corresponding Official Repositories, this is not a strict requirement. Creating +and maintaining images for Official Repositories is a public process. It takes +place openly on GitHub where participation is encouraged. Anyone can provide +feedback, contribute code, suggest process changes, or even propose a new +Official Repository. + +## Should I use Official Repositories? + +New Docker users are encouraged to use the Official Repositories in their +projects. These repositories have clear documentation, promote best practices, +and are designed for the most common use cases. Advanced users are encouraged to +review the Official Repositories as part of their `Dockerfile` learning process. + +A common rationale for diverging from Official Repositories is to optimize for +image size. For instance, many of the programming language stack images contain +a complete build toolchain to support installation of modules that depend on +optimized code. An advanced user could build a custom image with just the +necessary pre-compiled libraries to save space. + +A number of language stacks such as +[python](https://hub.docker.com/_/python/) and +[ruby](https://hub.docker.com/_/ruby/) have `-slim` tag variants +designed to fill the need for optimization. Even when these "slim" variants are +insufficient, it is still recommended to inherit from an Official Repository +base OS image to leverage the ongoing maintenance work, rather than duplicating +these efforts. + +## How do I know the Official Repositories are secure? + +Docker provides a preview version of Docker Cloud's [Security Scanning service](http://docs.docker.com/docker-cloud/builds/image-scan/) for all of the +Official Repositories located on Docker Hub. These security scan results provide +valuable information about which images contain security vulnerabilities, which +you should use to help you choose secure components for your own projects. + +To view the Docker Security Scanning results: + +1. Make sure you're logged in to Docker Hub. + You can view Official Images even while logged out, however the scan results are only available once you log in. +2. Navigate to the official repository whose security scan you want to view. +3. Click the `Tags` tab to see a list of tags and their security scan summaries. + ![](images/scan-drilldown.gif) + +You can click into a tag's detail page to see more information about which +layers in the image and which components within the layer are vulnerable. +Details including a link to the official CVE report for the vulnerability appear +when you click an individual vulnerable component. + +## How can I get involved? + +All Official Repositories contain a **User Feedback** section in their +documentation which covers the details for that specific repository. In most +cases, the GitHub repository which contains the Dockerfiles for an Official +Repository also has an active issue tracker. General feedback and support +questions should be directed to `#docker-library` on Freenode IRC. + +## How do I create a new Official Repository? + +From a high level, an Official Repository starts out as a proposal in the form +of a set of GitHub pull requests. You'll find detailed and objective proposal +requirements in the following GitHub repositories: + +* [docker-library/official-images](https://github.com/docker-library/official-images) + +* [docker-library/docs](https://github.com/docker-library/docs) + +The Official Repositories team, with help from community contributors, formally +review each proposal and provide feedback to the author. This initial review +process may require a bit of back and forth before the proposal is accepted. + +There are also subjective considerations during the review process. These +subjective concerns boil down to the basic question: "is this image generally +useful?" For example, the [python](https://hub.docker.com/_/python/) +Official Repository is "generally useful" to the large Python developer +community, whereas an obscure text adventure game written in Python last week is +not. + +Once a new proposal is accepted, the author is responsibile for keeping +their images up-to-date and responding to user feedback. The Official +Repositories team becomes responsibile for publishing the images and +documentation on Docker Hub. Updates to the Official Repository follow the same +pull request process, though with less review. The Official Repositories team +ultimately acts as a gatekeeper for all changes, which helps mitigate the risk +of quality and security issues from being introduced. diff --git a/docs/orgs.md b/docs/orgs.md new file mode 100644 index 0000000000..d14f5a1dce --- /dev/null +++ b/docs/orgs.md @@ -0,0 +1,53 @@ ++++ +title = "Teams & Organizations" +description = "Docker Hub Teams and Organizations" +keywords = ["Docker, docker, registry, teams, organizations, plans, Dockerfile, Docker Hub, docs, documentation"] +[menu.main] +parent="mn_pubhub" +weight=-80 ++++ + +# Organizations and teams + +Docker Hub [organizations](https://hub.docker.com/organizations/) let you +create teams so you can give colleagues access to shared image repositories. +A Docker Hub organization can contain public and private repositories just like +a user account. +Access to push or pull for these repositories is allocated by defining teams of users and then assigning team rights to specific repositories. Repository +creation is limited to users in the organization owner's group. This allows you +to distribute limited access Docker images, and to select which Docker Hub users +can publish new images. + +### Creating and viewing organizations + +You can see which organizations you belong to and add new organizations by clicking "Organizations" in the top nav bar. + +![organizations](images/orgs.png) + +### Organization teams + +Users in the "Owners" team of an organization can create and modify the +membership of all teams. + +Other users can only see teams they belong to. + +![teams](images/groups.png) + +### Repository team permissions + +Use teams to manage who can interact with your repositories. + +You need to be a member of the organization's "Owners" team to create a new team, +Hub repository, or automated build. As an "Owner", you then delegate the following +repository access rights to a team using the "Collaborators" section of the repository view: + +- `Read` access allows a user to view, search, and pull a private repository in the same way as they can a public repository. +- `Write` access users are able to push to non-automated repositories on the Docker Hub. +- `Admin` access allows the user to modify the repositories "Description", "Collaborators" rights, + "Public/Private" visibility and "Delete". + +> **Note**: A User who has not yet verified their email address will only have +> `Read` access to the repository, regardless of the rights their team +> membership has given them. + +![Organization repository collaborators](images/org-repo-collaborators.png) diff --git a/docs/repos.md b/docs/repos.md new file mode 100644 index 0000000000..7f47b83cf1 --- /dev/null +++ b/docs/repos.md @@ -0,0 +1,270 @@ ++++ +title = "Repositories on Docker Hub" +description = "Your Repositories on Docker Hub" +keywords = ["Docker, docker, trusted, registry, accounts, plans, Dockerfile, Docker Hub, webhooks, docs, documentation"] +[menu.main] +parent="mn_pubhub" +weight=5 ++++ + +# Your Hub repositories + +Docker Hub repositories let you share images with co-workers, +customers, or the Docker community at large. If you're building your images internally, +either on your own Docker daemon, or using your own Continuous integration services, +you can push them to a Docker Hub repository that you add to your Docker Hub user or +organization account. + +Alternatively, if the source code for your Docker image is on GitHub or Bitbucket, +you can use an "Automated build" repository, which is built by the Docker Hub +services. See the [automated builds documentation](builds.md) to read about +the extra functionality provided by those services. + +![repositories](images/repos.png) + +## Searching for images + +You can search the [Docker Hub](https://hub.docker.com) registry via its search +interface or by using the command line interface. Searching can find images by image +name, user name, or description: + + $ docker search centos + NAME DESCRIPTION STARS OFFICIAL AUTOMATED + centos The official build of CentOS. 1034 [OK] + ansible/centos7-ansible Ansible on Centos7 43 [OK] + tutum/centos Centos image with SSH access. For the root... 13 [OK] + ... + +There you can see two example results: `centos` and `ansible/centos7-ansible`. The second +result shows that it comes from the public repository of a user, named +`ansible/`, while the first result, `centos`, doesn't explicitly list a +repository which means that it comes from the top-level namespace for +[Official Repositories](official_repos.md). The `/` character separates +a user's repository from the image name. + +Once you've found the image you want, you can download it with `docker pull `: + + $ docker pull centos + latest: Pulling from centos + 6941bfcbbfca: Pull complete + 41459f052977: Pull complete + fd44297e2ddb: Already exists + centos:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security. + Digest: sha256:d601d3b928eb2954653c59e65862aabb31edefa868bd5148a41fa45004c12288 + Status: Downloaded newer image for centos:latest + +You now have an image from which you can run containers. + +## Viewing repository tags + +Docker Hub's repository "Tags" view shows you the available tags and the size +of the associated image. + +Image sizes are the cumulative space taken up by the image and all +its parent images. This is also the disk space used by the contents of the +Tar file created when you `docker save` an image. + +![images/busybox-image-tags.png](images/busybox-image-tags.png) + +## Creating a new repository on Docker Hub + +When you first create a Docker Hub user, you will have a "Get started with Docker Hub." +screen, from which you can click directly into "Create Repository". +You can also use the "Create ▼" menu to "Create Repository". + +When creating a new repository, you can choose to put it in your Docker ID namespace, or that of any [organization](orgs.md) that you +are in the "Owners" team. +The Repository Name will need to be unique in that namespace, can be two to 255 characters, +and can only contain lowercase letters, numbers or `-` and `_`. + +The "Short Description" of 100 characters will be used in the search results, while the +"Full Description" can be used as the Readme for the repository, and can use Markdown to +add simple formatting. + +After you hit the "Create" button, you then need to `docker push` images to that Hub based +repository. + + + +## Pushing a repository image to Docker Hub + +In order to push a repository to the Docker Hub, you need to +name your local image using your Docker Hub username, and the +repository name that you created in the previous step. +You can add multiple images to a repository, by adding a specific `:` to +it (for example `docs/base:testing`). If its not specified, the tag defaults to +`latest`. +You can name your local images either when you build it, using +`docker build -t /[:]`, +by re-tagging an existing local image `docker tag /[:]`, +or by using `docker commit /[:]` to commit +changes. +See [Working with Docker images](https://docs.docker.com/userguide/dockerimages) for a detailed description. + +Now you can push this repository to the registry designated by its name or tag. + + $ docker push /: + +The image will then be uploaded and available for use by your team-mates and/or the +community. + + +## Stars + +Your repositories can be starred and you can star repositories in +return. Stars are a way to show that you like a repository. They are +also an easy way of bookmarking your favorites. + +## Comments + +You can interact with other members of the Docker community and maintainers by +leaving comments on repositories. If you find any comments that are not +appropriate, you can flag them for review. + +## Collaborators and their role + +A collaborator is someone you want to give access to a private +repository. Once designated, they can `push` and `pull` to your +repositories. They will not be allowed to perform any administrative +tasks such as deleting the repository or changing its status from +private to public. + +> **Note:** +> A collaborator cannot add other collaborators. Only the owner of +> the repository has administrative access. + +You can also assign more granular collaborator rights ("Read", "Write", or "Admin") +on Docker Hub by using organizations and teams. For more information +see the [organizations documentation](orgs.md). + +## Private repositories + +Private repositories allow you to have repositories that contain images +that you want to keep private, either to your own account or within an +organization or team. + +To work with a private repository on [Docker +Hub](https://hub.docker.com), you will need to add one via the [Add +Repository](https://hub.docker.com/add/repository/) +button. You get one private repository for free with your Docker Hub +user account (not usable for organizations you're a member of). If +you need more accounts you can upgrade your [Docker +Hub](https://hub.docker.com/account/billing-plans/) plan. + +Once the private repository is created, you can `push` and `pull` images +to and from it using Docker. + +> *Note:* You need to be signed in and have access to work with a +> private repository. + +Private repositories are just like public ones. However, it isn't +possible to browse them or search their content on the public registry. +They do not get cached the same way as a public repository either. + +It is possible to give access to a private repository to those whom you +designate (i.e., collaborators) from its "Settings" page. From there, you +can also switch repository status (*public* to *private*, or +vice-versa). You will need to have an available private repository slot +open before you can do such a switch. If you don't have any available, +you can always upgrade your [Docker +Hub](https://hub.docker.com/account/billing-plans/) plan. + +## Webhooks + +A webhook is an HTTP call-back triggered by a specific event. +You can use a Hub repository webhook to notify people, services, and other +applications after a new image is pushed to your repository (this also happens +for Automated builds). For example, you can trigger an automated test or +deployment to happen as soon as the image is available. + +To get started adding webhooks, go to the desired repository in the Hub, +and click "Webhooks" under the "Settings" box. +A webhook is called only after a successful `push` is +made. The webhook calls are HTTP POST requests with a JSON payload +similar to the example shown below. + +*Example webhook JSON payload:* + +```json +{ + "callback_url": "https://registry.hub.docker.com/u/svendowideit/busybox/hook/2141bc0cdec4hebec411i4c1g40242eg110020/", + "push_data": { + "images": [ + "27d47432a69bca5f2700e4dff7de0388ed65f9d3fb1ec645e2bc24c223dc1cc3", + "51a9c7c1f8bb2fa19bcd09789a34e63f35abb80044bc10196e304f6634cc582c", + "..." + ], + "pushed_at": 1.417566822e+09, + "pusher": "svendowideit" + }, + "repository": { + "comment_count": 0, + "date_created": 1.417566665e+09, + "description": "", + "full_description": "webhook triggered from a 'docker push'", + "is_official": false, + "is_private": false, + "is_trusted": false, + "name": "busybox", + "namespace": "svendowideit", + "owner": "svendowideit", + "repo_name": "svendowideit/busybox", + "repo_url": "https://registry.hub.docker.com/u/svendowideit/busybox/", + "star_count": 0, + "status": "Active" + } +} +``` + + + +>**Note:** If you want to test your webhook, we recommend using a tool like +>[requestb.in](http://requestb.in/). Also note, the Docker Hub server can't be +>filtered by IP address. + +### Webhook chains + +Webhook chains allow you to chain calls to multiple services. For example, +you can use this to trigger a deployment of your container only after +it has been successfully tested, then update a separate Changelog once the +deployment is complete. +After clicking the "Add webhook" button, simply add as many URLs as necessary +in your chain. + +The first webhook in a chain will be called after a successful push. Subsequent +URLs will be contacted after the callback has been validated. + +### Validating a callback + +In order to validate a callback in a webhook chain, you need to + +1. Retrieve the `callback_url` value in the request's JSON payload. +1. Send a POST request to this URL containing a valid JSON body. + +> **Note**: A chain request will only be considered complete once the last +> callback has been validated. + +To help you debug or simply view the results of your webhook(s), +view the "History" of the webhook available on its settings page. + +#### Callback JSON data + +The following parameters are recognized in callback data: + +* `state` (required): Accepted values are `success`, `failure` and `error`. + If the state isn't `success`, the webhook chain will be interrupted. +* `description`: A string containing miscellaneous information that will be + available on the Docker Hub. Maximum 255 characters. +* `context`: A string containing the context of the operation. Can be retrieved + from the Docker Hub. Maximum 100 characters. +* `target_url`: The URL where the results of the operation can be found. Can be + retrieved on the Docker Hub. + +*Example callback payload:* + + { + "state": "success", + "description": "387 tests PASSED", + "context": "Continuous integration by Acme CI", + "target_url": "http://ci.acme.com/results/afd339c1c3d27" + } diff --git a/docs/s3_website.json b/docs/s3_website.json new file mode 100644 index 0000000000..96eea7318e --- /dev/null +++ b/docs/s3_website.json @@ -0,0 +1,8 @@ +{ + "ErrorDocument": { + "Key": "jsearch/index.html" + }, + "IndexDocument": { + "Suffix": "index.html" + } +} diff --git a/docs/webhooks.md b/docs/webhooks.md new file mode 100644 index 0000000000..a50206e3f6 --- /dev/null +++ b/docs/webhooks.md @@ -0,0 +1,50 @@ ++++ +title = "Webhooks for automated builds" +description = "Docker Hub Automated Builds" +keywords = ["Docker, webhookds, hub, builds"] +[menu.main] +parent="mn_pubhub" +weight=7 ++++ + +# Webhooks for automated builds + +If you have an automated build repository in Docker Hub, you can use Webhooks to cause an action in another application in response to an event in the repository. Docker Hub webhooks fire when an image is built in, or a new tag added to, your automated build repository. + +With your webhook, you specify a target URL and a JSON payload to deliver. The example webhook below generates an HTTP POST that delivers a JSON payload: + +```json +{ + "callback_url": "https://registry.hub.docker.com/u/svendowideit/testhook/hook/2141b5bi5i5b02bec211i4eeih0242eg11000a/", + "push_data": { + "images": [ + "27d47432a69bca5f2700e4dff7de0388ed65f9d3fb1ec645e2bc24c223dc1cc3", + "51a9c7c1f8bb2fa19bcd09789a34e63f35abb80044bc10196e304f6634cc582c", + "..." + ], + "pushed_at": 1.417566161e+09, + "pusher": "trustedbuilder" + }, + "repository": { + "comment_count": "0", + "date_created": 1.417494799e+09, + "description": "", + "dockerfile": "#\n# BUILD\u0009\u0009docker build -t svendowideit/apt-cacher .\n# RUN\u0009\u0009docker run -d -p 3142:3142 -name apt-cacher-run apt-cacher\n#\n# and then you can run containers with:\n# \u0009\u0009docker run -t -i -rm -e http_proxy http://192.168.1.2:3142/ debian bash\n#\nFROM\u0009\u0009ubuntu\nMAINTAINER\u0009SvenDowideit@home.org.au\n\n\nVOLUME\u0009\u0009[\/var/cache/apt-cacher-ng\]\nRUN\u0009\u0009apt-get update ; apt-get install -yq apt-cacher-ng\n\nEXPOSE \u0009\u00093142\nCMD\u0009\u0009chmod 777 /var/cache/apt-cacher-ng ; /etc/init.d/apt-cacher-ng start ; tail -f /var/log/apt-cacher-ng/*\n, + full_description: Docker Hub based automated build from a GitHub repo", + "is_official": false, + "is_private": true, + "is_trusted": true, + "name": "testhook", + "namespace": "svendowideit", + "owner": "svendowideit", + "repo_name": "svendowideit/testhook", + "repo_url": "https://registry.hub.docker.com/u/svendowideit/testhook/", + "star_count": 0, + "status": "Active" + } +} +``` + +>**Note:** If you want to test your webhook, we recommend using a tool like +>[requestb.in](http://requestb.in/). Also note, the Docker Hub server can't be +>filtered by IP address. diff --git a/fabfile.py b/fabfile.py new file mode 100644 index 0000000000..80d2a1aedc --- /dev/null +++ b/fabfile.py @@ -0,0 +1,14 @@ +from fabric.api import run + +def start_project(email="none", user="none", auth="none", beta_password="maybejustnotsomeemptyspaceyea?", sha="latest", new_relic_key="", new_relic_app_name="hub-stage-node"): + run('docker rm $(docker ps -a -q) > /dev/null 2>&1 || :') + run('docker rmi $(docker images -q) > /dev/null 2>&1 || :') + run('cd /home/') + run('docker login -e %s -u %s -p %s' % (email, user, auth)) + run('docker pull bagel/hub-prod:%s' % sha) + run('docker pull bagel/haproxy_beta:latest') + run("docker ps | awk '{if($1 != \"CONTAINER\"){print $1}}' | xargs -r docker kill") + # We should tag the image with the git commit and deploy that instead of "latest" + run('docker run -dp 7001:3000 -e ENV=production --restart=on-failure:5 -e HUB_API_BASE_URL=https://hub-beta-stage.docker.com -e REGISTRY_API_BASE_URL=https://hub-beta-stage.docker.com -e NEW_RELIC_LICENSE_KEY=%s -e NEW_RELIC_APP_NAME=%s bagel/hub-prod:%s' % (new_relic_key, new_relic_app_name, sha)) + # HAProxy doesn't change a lot. We should check the image names before killing/rebooting + run('docker run -dp 80:80 -p 443:443 -e BETA_PASSWORD=%s --restart=on-failure:5 -v /opt/haproxy.pem:/haproxy/keys/hub-beta.docker.com/hub-beta.docker.pem bagel/haproxy_beta:latest' % beta_password) diff --git a/flow-libs/async.js b/flow-libs/async.js new file mode 100644 index 0000000000..2d9f0cccef --- /dev/null +++ b/flow-libs/async.js @@ -0,0 +1,12 @@ +type AsyncCallback = (err: ?Object, results: ?any) => void; +type ParallelFuncs = (callback: AsyncCallback) => void; + +declare module 'async' { + declare function parallel(tasks: Array | Object, + callback: AsyncCallback): void + declare function series(tasks: Array, + callback: AsyncCallback): void + declare function each(arr: Array, + func: Function, + callback: Function): void +} \ No newline at end of file diff --git a/flow-libs/debug.js b/flow-libs/debug.js new file mode 100644 index 0000000000..4807c40f8a --- /dev/null +++ b/flow-libs/debug.js @@ -0,0 +1,5 @@ +type DebugFunction = (thing: any) => void; + +declare module 'debug' { + declare function exports(string: string): DebugFunction; +} \ No newline at end of file diff --git a/flow-libs/fluxible.js b/flow-libs/fluxible.js new file mode 100644 index 0000000000..3ad2f4e95f --- /dev/null +++ b/flow-libs/fluxible.js @@ -0,0 +1,4 @@ +export type FluxibleActionContext = { + dispatch(eventName: string, + payload: any): void; +} diff --git a/flow-libs/hub-js-sdk.js b/flow-libs/hub-js-sdk.js new file mode 100644 index 0000000000..79da45ff99 --- /dev/null +++ b/flow-libs/hub-js-sdk.js @@ -0,0 +1,74 @@ +type SuperAgentCallback = (err: any, + res: any) => void; + +type JWT = String; +type ChangePasswordData = { + username: String; + oldpassword: String; + newpassword: String +} + +declare module 'hub-js-sdk' { + declare var Auth: { + getToken(username: string, + password: string, + cb: SuperAgentCallback): void; + } + declare var Repositories: { + createRepository(jwt: JWT, + repository: any, + cb: SuperAgentCallback): void; + getReposForUser(jwt: JWT, + username: String, + cb: SuperAgentCallback): void + } + declare var Emails: { + getEmailSubscriptions(JWT: JWT, + user: String, + cb: SuperAgentCallback): void; + unsubscribeEmails(JWT: JWT, + user: String, + data: Object, + cb: SuperAgentCallback): void; + subscribeEmails(JWT:JWT, + user: String, + data: Object, + cb: SuperAgentCallback): void; + getEmailsJWT(JWT:JWT, + cb:SuperAgentCallback): void; + getEmailsForUser(JWT: JWT, + user: String, + cb: SuperAgentCallback): void; + deleteEmailByID(JWT: JWT, + id: String, + cb: SuperAgentCallback): void; + updateEmailByID(JWT: JWT, + id: String, + data: Object, + cb: SuperAgentCallback): void; + addEmailsForUser(JWT: JWT, + user: Object, + email: string, + cb: SuperAgentCallback): void; + } +} + +declare module 'hub-js-sdk/src/Hub/SDK/Users' { + declare function changePassword(JWT: JWT, + data: ChangePasswordData, + cb: SuperAgentCallback): void; + declare function getUser(JWT: JWT, + user: String, + cb: SuperAgentCallback): void; +} + +declare module 'hub-js-sdk/src/Hub/SDK/Auth' { + declare function getToken(username: String, + password: String, + cb: SuperAgentCallback): void; +} + +declare module 'hub-js-sdk/src/Hub/SDK/Notifications' { + declare function getActivityFeed(JWT: JWT, + cb: SuperAgentCallback): void; +} diff --git a/flow-libs/lodash.js b/flow-libs/lodash.js new file mode 100644 index 0000000000..a047b9e1b5 --- /dev/null +++ b/flow-libs/lodash.js @@ -0,0 +1,5 @@ +declare module 'lodash' { + declare function sortByOrder(arr: Array, + properties: Array, + sortOrder: Array): Array; +} \ No newline at end of file diff --git a/gulp-tasks/img.js b/gulp-tasks/img.js new file mode 100644 index 0000000000..524d9a86f6 --- /dev/null +++ b/gulp-tasks/img.js @@ -0,0 +1,24 @@ +var gulp = require('gulp'); +var imagemin = require('gulp-imagemin'); +var pngquant = require('imagemin-pngquant'); + +//Hub2 Images for dev & production (There is a separate task for docker-ux images) +gulp.task('images::dev', function () { + return gulp.src('app/img/**') + .pipe(imagemin({ + progressive: true, + svgoPlugins: [{removeViewBox: false}], + use: [pngquant({ quality: '65-80', speed: 4 })] + })) + .pipe(gulp.dest('app/.build/public/img')); +}); + +gulp.task('images::prod', function() { + return gulp.src('app/img/**') + .pipe(imagemin({ + progressive: true, + svgoPlugins: [{removeViewBox: false}], + use: [pngquant({ quality: '65-80', speed: 4 })] + })) + .pipe(gulp.dest('.tmp/server/build/img')); +}); diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000000..05734a32b9 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,3 @@ +'use strict'; +require('./gulp-tasks/img'); + diff --git a/local.Dockerfile b/local.Dockerfile new file mode 100644 index 0000000000..794df7bc63 --- /dev/null +++ b/local.Dockerfile @@ -0,0 +1,22 @@ +FROM bagel/universe:dc9b2190001e9c64d7b5e63dbf9999b2e4c83d25 + +ENV ENV local +ENV NODE_ENV local + +COPY ./app /opt/hub/app +COPY ./Makefile /opt/hub/Makefile +COPY ./_webpack /opt/hub/_webpack +COPY ./gulpfile.js /opt/hub/gulpfile.js +COPY ./gulp-tasks /opt/hub/gulp-tasks +COPY ./app-server /opt/hub/app-server +COPY ./.eslintrc /opt/hub/.eslintrc + +RUN make server-prod-target +RUN make server-extras +RUN make js-local +RUN make images-prod +RUN make docker-font-prod +RUN gulp images::prod +RUN make styles-base-prod +RUN make stats-dir +RUN make css-stats diff --git a/package.json b/package.json new file mode 100644 index 0000000000..f73588bdf2 --- /dev/null +++ b/package.json @@ -0,0 +1,113 @@ +{ + "name": "docker-2.0", + "version": "0.0.1", + "private": true, + "scripts": { + "test": "jest", + "build:dev": "DEBUG=* webpack -dw" + }, + "jest": { + "rootDir": "./app/scripts", + "scriptPreprocessor": "../../node_modules/babel-jest", + "testFileExtensions": [ + "js" + ], + "moduleFileExtensions": [ + "jsx", + "js", + "json" + ], + "modulePathIgnorePatterns": [ + "/node_modules/" + ], + "unmockedModulePathPatterns": [ + "react" + ] + }, + "dependencies": { + "@dux/element-button": "0.0.3", + "@dux/element-card": "0.0.7", + "@dux/element-markdown": "0.0.8", + "@dux/hub-sdk": "^0.1.1", + "async": "^1.3.0", + "babel": "^5.6.14", + "babel-core": "^5.6.14", + "babel-runtime": "^5.6.18", + "body-parser": "^1.12.2", + "bugsnag": "^1.7.0", + "classnames": "^2.1.2", + "cookie": "^0.2.3", + "cookie-parser": "^1.3.4", + "csurf": "^1.8.0", + "debug": "^2.1.3", + "dux": "file:./private-deps/docker-ux", + "express": "^4.12.3", + "express-state": "^1.2.0", + "fluxible": "^1.0.3", + "fluxible-addons-react": "^0.2.0", + "highlight.js": "^9.0.0", + "history": "^1.17.0", + "hub-js-sdk": "file:./private-deps/hub-js-sdk", + "immutable": "^3.7.6", + "keymirror": "^0.1.1", + "lodash": "^3.6.0", + "marked": "^0.3.3", + "md5": "^2.0.0", + "moment": "^2.10.3", + "newrelic": "christopherbiscardi/node-newrelic#c4ccca3764acafaf9c5899e4a1abece828e1f7b8", + "normalizr": "^1.4.0", + "numeral": "^1.5.3", + "rc-tooltip": "^3.3.0", + "react": "^0.14.7", + "react-dom": "^0.14.3", + "react-router": "^1.0.0", + "react-select": "^1.0.0-beta6", + "recurly-js": "git://github.com/recurly/recurly-js#d9740eb3ee416fb999635daecfb524a492dbb058", + "redux": "^3.0.5", + "redux-logger": "^2.3.2", + "redux-ui": "0.0.8", + "remarkable": "^1.6.0", + "reselect": "^2.0.1", + "serialize-javascript": "^1.0.0", + "serve-favicon": "^2.2.0", + "superagent": "^1.1.0", + "svg-inline-react": "^0.3.1", + "velocity-animate": "^1.2.3", + "velocity-react": "1.1.3" + }, + "devDependencies": { + "babel-eslint": "^4.0.0", + "babel-jest": "^5.0.1", + "babel-loader": "^5.0.0", + "css-loader": "^0.23.0", + "cssnano": "^3.2.0", + "cssstats": "^1.10.0", + "eslint": "^1.2.1", + "eslint-loader": "^1.0.0", + "extract-text-webpack-plugin": "^0.9.1", + "gulp": "^3.8.11", + "gulp-imagemin": "^2.2.1", + "imagemin-pngquant": "^4.0.0", + "json-loader": "^0.5.2", + "lost": "^6.6.2", + "nodemon": "^1.3.7", + "postcss-browser-reporter": "^0.4.0", + "postcss-constants": "^0.1.1", + "postcss-cssnext": "^2.1.0", + "postcss-cssstats": "^1.0.0", + "postcss-each": "^0.7.0", + "postcss-import": "^7.0.0", + "postcss-loader": "^0.8.0", + "postcss-nested": "^1.0.0", + "postcss-url": "^5.0.1", + "react-redux": "^4.0.3", + "redux": "^3.0.5", + "reselect": "^2.0.1", + "style-loader": "^0.13.0", + "svg-inline-loader": "^0.4.0", + "webpack": "^1.10" + }, + "engines": { + "node": ">=4.0.0" + } +} diff --git a/pr-docs/css.md b/pr-docs/css.md new file mode 100644 index 0000000000..f019c08e6c --- /dev/null +++ b/pr-docs/css.md @@ -0,0 +1,62 @@ +[Demo](https://css-modules.github.io/webpack-demo/) + +The approach is thus: Use Foundation as a "browser reset" stylesheet, +then put everything that isn't a foundation `_settings.scss` variable +in CSSModule sidecar files. This links our javascript modules with our +css and increases the ease with which we can create a module library. + +# Implementation + +## File Structure + +``` +app/scripts/ +|-- ScopedSelectors.js +|-- ScopedSelectors.css +``` + +## Usage + +```javascript +import styles from './ScopedSelectors.css'; + +import React, { Component } from 'react'; + +export default class ScopedSelectors extends Component { + + render() { + return ( +
      +

      Scoped Selectors

      +
      + ); + } + +}; +``` + +```css +.root { + border-width: 2px; + border-style: solid; + border-color: #777; + padding: 0 20px; + margin: 0 6px; + max-width: 400px; +} + +.text { + color: #777; + font-size: 24px; + font-family: helvetica, arial, sans-serif; + font-weight: 600; +} +``` + +# Approach + +* modules should be scoped to themselves and not affect children or + siblings. +* Webpack already has support for css-modules in it's `css-loader`. So + we'll start with that. +* [css-modules and preprocessors (sass)](https://github.com/css-modules/css-modules#usage-with-preprocessors) diff --git a/pr-docs/linting.md b/pr-docs/linting.md new file mode 100644 index 0000000000..e66ad8c472 --- /dev/null +++ b/pr-docs/linting.md @@ -0,0 +1,28 @@ +# Linting + +All code must pass [ESLint][eslint] before being merged into master +branch. The ESLint config can be found in `.eslintrc` and is +integrated into webpack. + +# Running ESLint + +``` +gulp webpack +``` + +Since linting is integrated with webpack, it is possible to lint code +while it is being developed without any extra effort. This is +important because if it is not approximate to effortless to run +linting, it will not be run while developing. + +# We should block deploys for linting errors + +Since we do CI/CD, the static analysis present in ESLint can help us +catch bugs before shipping. We should therefore block deploys if +ESLint detects an error-level (level `2` in `.eslintrc`) issue. + +* [eslint][eslint] +* [babel-eslint][babel-eslint] + +[eslint]: http://eslint.org/ +[babel-eslint]: https://github.com/babel/babel-eslint diff --git a/pr-docs/routes.md b/pr-docs/routes.md new file mode 100644 index 0000000000..99876f2e52 --- /dev/null +++ b/pr-docs/routes.md @@ -0,0 +1,262 @@ +# Routes + +Two items affect this proposal. + +1. [Distribution's work](https://github.com/docker/distribution), + specifically relating to defining Repositories, Images, Manifests, + Digests and Tags. +2. The Current Hub's Routing Issues + +## Distributions Work (partially summarized) + +### Repository + +* A set of blobs +* Subsets of these blobs make up Images + +### Image + +* A set of blobs + - Layers + - Tag + - Signatures + - Manifest +* A Tag (potentially containing signatures) points to a Manifest +* A Manifest points to multiple layers. + +### Manifest + +As defined in the [distribution][manifest-pr] Manifest PR: + +> A [Content Manifest][manifest] is a simple JSON file which contains +> general fields that are typical to any package management +> system. The goal is for these manifests to describe an application +> and its dependencies in a content-addressable and verifiable way. + +### Tag + +As defined in the [distribution][d-tag-pr] PR: + +> A [tag][tag] is simply a named pointer to content. The content can +> be any blob but should mostly be a manifest. One can sign tags to +> later verify that they were created by a trusted party. + +### Additional Content + +Image names will be allowed to have many slashes in the future. + +## Current Hub Issues + +### Collisions + +The URLs for user and repo collide: + +A user's Starred Repos: + +``` +/u/biscarch/starred/ +``` + +A user's repository, named Starred. + +``` +/u/biscarch/starred/ +``` + +## Future Problems + +An image for the user `biscarch`, named `my/repo`: + +``` +/u/biscarch/my/repo/ +``` + +An image for the user `biscarch`, named `my`, tagged `repo`: + +``` +/u/biscarch/my/repo/ +``` + +## Solutions + +Namespace `Users`, `Repos` and `Images` as such (with the user +`biscarch`) + +``` +/u/:user +/r/:user/:repo +/i/:user/:repo/:tag +``` + +### Solving Starred Repos + +Prefix defines whether we are referring to a repo or attribute of a +user: + +``` +/u/biscarch/starred +/r/biscarch/starred +``` + +### Solving Repo/Image Conflicts + +Prefix determines whether we are referring to a Repository or Image: + +``` +/r/biscarch/my/repo/ +/i/biscarch/my/repo/ +``` + +## The new Spec + +``` +/u/ +/u/:user/ +/r/:user/:repo/ +/i/:user/:repo/:tag/ +``` + +### Full List + +### Dashboard + +`/` + +### Official Repositories + +"username" === library, which is represented as the root `_`. +All management of `library` namespaced repos is done from the usual +`/u/library/:repo/` + +``` +/_/:repo/ +/_/:repo/dockerfile/ +/_/:repo/dockerfile/raw +/_/:repo/tags/ +``` + +### Single Endpoints + +* Search + - `/search/` +* Plans + - `/plans/` + +### Account + +Mostly Settings; Add Repository Page; + +`/account/` should redirect to `/account/settings/` + +``` +/account/accounts/ +/account/authorized_services/ +/account/change-password/ +/account/confirm-email// +/account/emails/ +/account/notifications/ +/account/organizations/ +/account/organizations/:org_name/ +/account/organizations/:org_name/groups/:group_id/ +/account/repositories/add/ +/account/settings/ +/account/subscriptions/ +``` + +### Users + +``` +/u/ +/u/:user/ +/u/:user/activity/ +/u/:user/contributed/ +/u/:user/starred/ +``` + +### Repos + +``` +/r/:user/:repo/ +/r/:user/:repo/~/settings/ +/r/:user/:repo/~/settings/collaborators/ +/r/:user/:repo/~/settings/links/ +/r/:user/:repo/~/settings/triggers/ +/r/:user/:repo/~/settings/webhooks/ +/r/:user/:repo/~/settings/tags/ +``` + +Current build history urls: + +``` +/r/:user/:repo/~/builds_history/ +``` + +### Images + +We currently don't do a lot for Images. Repositories have been the +main focus. + +``` +/i/:user/:repo/:tag/ +/i/:user/:repo/:tag/~/dockerfile/ +/i/:user/:repo/:tag/~/dockerfile/raw/ +``` + +### Automated Builds + +``` +/automated-builds/ +/builds/ +/builds/:user/:repo/ +``` + +### Convenience Redirects + +Also, potential pages to build out more agressively. + +* `/official/` + - redirects to `/search?q=library&f=official` + - future: Potentially `Explore` type page for official repos +* `/most_stars/`, `/popular/` + - redirects to `search?q=library&s=stars` +* `/recent_updated/` + - `search?q=library&s=last_updated` + +#### Help + +* `/help` + - `https://www.docker.com/resources/help/` + - Can we rely on this url to stick around? +* `/help/docs` + - `https://docs.docker.com/` + +## Make Separate Sites for: + +### Highland URLs + +We need to pull out the APIs used on the current Hub for this. + +``` +/highland/ +/highland/build-configs/ +/highland/builds/ +/highland/search/ +/highland/stats/ +``` + + +## More Issues + +* There are no links to comments +* `/opensearch.xml` times out on the current site + - Should we re-implement? +* `/sitemap.xml` + +# Concerns with this Proposal + +* Automated Build urls need to be given more thought + +[tag]: https://github.com/stevvooe/distribution/blob/a8d3f3474b7b60576dc64250d95db3717bf07c33/doc/spec/tags.md#tags +[d-tag-pr]: https://github.com/docker/distribution/pull/173/files +[d-manifest-pr]: https://github.com/docker/distribution/pull/62 +[manifest]: https://github.com/jlhawn/distribution/blob/e8b5c8c32b565b9b643c3a0b0e87339bf40eb206/doc/spec/manifest.md diff --git a/production_ready.md b/production_ready.md new file mode 100644 index 0000000000..ee92e5a3b3 --- /dev/null +++ b/production_ready.md @@ -0,0 +1,93 @@ +Production Readiness: Docker Hub Front-End (hub-web-v2) +================================ + +Testing +------- + + * **What is the max traffic load that your service has been tested with?** + Hub UI has not been load tested. + + * **How has the service been soak-tested?** + Hub UI has not been soak tested. + + Monitoring + ---------- + + * **How do you monitor?** + New Relic for server monitoring, BugSnag for JavaScript errors and PagerDuty for alerting. + + * **What’s the link(s) to the dashboard(s)?** + New Relic: https://rpm.newrelic.com/accounts/532547/applications/8853774 + BugSnag: https://bugsnag.com/docker/hub-prod/errors + PagerDuty: https://docker.pagerduty.com/services/PKZG21B + + * **Do you use an exception tracking service (e.g. Bugsnag, Sentry, New Relic)?** + Yes, BugSnag and New Relic. + + * **What’s the health check endpoint? And what checks does that endpoint perform?** + https://hub.docker.com/_health/ + + * **What external services do you depend on? How do you monitor them and handle failures?** + Hub API Gateway and all downstream Docker Cloud services. + Google Tag Manager (gtm.js) + Recurly (recurly.js) + + + + * **What’s the link to view the logs?** + + Alerting + -------- + + * **How do you know if your service is down?** + PagerDuty alerts + Prometheus alerts + + * **What are the metrics that you alert on?** + 500's from Front End containers + + * **Have you tested tripping on an alert to page somebody?** + Not manually tested. But production systems are paging properly. + + * **What’s the link to your on-call schedule?** + https://docker.pagerduty.com/schedules#P88XAI9 + + * **Where is your on-call run-book?** + https://docker.atlassian.net/wiki/display/DE/Hub+UI+Runbook + + Disaster + -------- + + * **What’s the plan if your persistence layer blows up?** + Front-end is stateless so this shouldn't be required, but restart Container if unsure. + + * **What’s the plan if any of your external service dependencies blows up?** + Hub API Gateway or downstream service - find service owner, escalate/alert through PagerDuty, contact service team via Slack. + Google Tag Manager - disable Google Tag Manager from https://tagmanager.google.com - single signon with docker.com account + Recurly problem - check status.recurly.com, escalate/alert Billing team through PagerDuty, contact service team via Slack. + Update status.io describing impact to UI if any. + + + Security + -------- + + * **Is the service exposed on the public internet? Does it require TLS?** + https://hub.docker.com/ + + * **How do you store production secrets?** + Front-End does not store secrets. JWT is stored in user's browser cookie. + + * **What is your authentication model (both user authentication and service-to-service authentication)?** + oauth + + * **Do you store any sensitive user data (emails, phone numbers, intellectual property)?** + JWT in cookie. + + Release process + --------------- + + * **What’s the link to your docs on how to do a release?** + https://docker.atlassian.net/wiki/display/DH/Hub+frontend+Deployment+Process + + * **How long does it take to release a code fix to production?** + 4-8 hours diff --git a/startup-scripts/boot-dev-tmux.sh b/startup-scripts/boot-dev-tmux.sh new file mode 100755 index 0000000000..0907330ac3 --- /dev/null +++ b/startup-scripts/boot-dev-tmux.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +set -e + +eval $(docker-machine env dev) + +############################################################### +# You must have `tmux` installed locally. On OSX, this can be # +# accomplished with `brew install tmux` # +############################################################### + +SESSION=HubDev +DIR=${PWD##*/}_hub_1 +CONTAINER=$(sed s/-//g <<< $DIR) + + +# Create new tmux session +tmux -2 new-session -d -s $SESSION + +# Window 1 + +## webpack task +tmux split-window +tmux select-pane -t 0 +tmux send-keys "DEBUG=* webpack -wd" C-m + +## styles + +tmux select-pane -t 1 +tmux send-keys "DEBUG=* gulp watch::styles::dev" C-m + +## Flow + +tmux split-window -h +tmux select-pane -t 2 +tmux send-keys "flow" C-m + +## docker logs + +tmux select-pane -t 0 +tmux split-window -h +tmux send-keys "docker-compose logs hub" C-m + +# Attach to session +tmux -2 attach-session -t $SESSION diff --git a/startup-scripts/boot-dev.sh b/startup-scripts/boot-dev.sh new file mode 100755 index 0000000000..83b569ffe3 --- /dev/null +++ b/startup-scripts/boot-dev.sh @@ -0,0 +1,2 @@ +DEBUG=* webpack -dw & +cd app/.build && nodemon ./server.js diff --git a/startup-scripts/bootstrap-dev.sh b/startup-scripts/bootstrap-dev.sh new file mode 100755 index 0000000000..454c4620fa --- /dev/null +++ b/startup-scripts/bootstrap-dev.sh @@ -0,0 +1,8 @@ +# run this before the development container to bootstrap your local filesystem +npm install +cp app/favicon.ico app/.build/favicon.ico +make server-target +make styles-base +gulp images::dev +make images +make docker-font-dev diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000000..9a5242e5ec --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,151 @@ +const debug = require('debug')('webpack-debug'); +var ENV_CONFIG = require('./_webpack/_envConfig.js'); +var fs = require('fs'); +var path = require('path'); +var ExtractTextPlugin = require("extract-text-webpack-plugin"); +var _ = require('lodash'); +var webpack = require('webpack'); + +var loaders = require('./_webpack/_commonLoaders'); + +/** + * blacklist this array from being included in `externals`. + * + * This has the effect of making any modules in this list be + * resolved at build time instead of runtime. This affects the + * server bundle + */ +var blacklist = ['.bin', 'hub-js-sdk', 'dux']; +var node_modules = fs.readdirSync('node_modules').filter(function(x) { + return !_.includes(blacklist, x); +}); + +/* Dux Button Config */ +var elementButton = require('@dux/element-button/defaults'); +var buttons = elementButton.mkButtons([{ + name: 'primary', + color: '#FFF', + bg: '#22B8EB' +},{ + name: 'secondary', + color: '#FFF', + bg: '#232C37' +},{ + name: 'coral', + color: '#FFF', + bg: '#FF85AF' +},{ + name: 'success', + color: '#FFF', + bg: '#0FD85A' +},{ + name: 'warning', + color: '#FFF', + bg: '#FF8546' +},{ + name: 'yellow', + color: '#FFF', + bg: '#FFDE50' +},{ + name: 'alert', + color: '#FFF', + bg: '#EB3E46' +}]); +debug('modules that will be runtime require dependencies of the server if the server requires them: ', node_modules); +var commonConfig = { + resolve: { + extensions: ['', '.js', '.jsx', '.json'], + root: [ + path.resolve(__dirname, './app/scripts/'), + path.resolve(__dirname, './app/scripts/components/') + ], + modulesDirectories: ['node_modules', 'app/scripts'] + }, + module: { + preLoaders: loaders.preLoaders, + loaders: loaders.commonLoaders + }, + plugins: [ + ENV_CONFIG, + new webpack.optimize.DedupePlugin(), + new ExtractTextPlugin('public/styles/style.css', { allChunks: true }) + ], + postcss: [ + require('postcss-import')(), + require('postcss-constants')({ + defaults: _.merge(require('@dux/element-card/defaults')({ + capBackground: '#f1f6fb', + borderColor: '#c4cdda' + }), + { + duxElementButton: { + radius: '.25rem', + buttons: buttons + } + }) + }), + require('postcss-each'), + require('postcss-cssnext')({ + browsers: 'last 2 versions', + features: { + // https://github.com/robwierzbowski/node-pixrem/issues/40 + rem: false + } + }), + require('postcss-nested'), + require('lost')({ + gutter: '1.25rem', + flexbox: 'flex' + }), + require('postcss-cssstats')(function(stats) { + /** + * this is in test-phase because it runs on all + * files individually. We should either figure out + * that that is useful or get it to run on the full postcss + * AST or extracted CSS file. + */ + debug(stats); + }), + require('postcss-url')(), + require('cssnano')(), + require('postcss-browser-reporter') + ], + eslint: { + failOnError: true + }, + profile: true +} + +var clientBundle = _.assign({}, + commonConfig, + { + // client.js + entry: './app/scripts/client.js', + devtool: 'eval-source-map', + output: { + path: 'app/.build/public/', + filename: 'js/client.js' + } + }); + +var serverBundle = _.assign({}, + commonConfig, + { + // server.js + entry: './app/scripts/server.js', + output: { + path: 'app/.build/', + filename: 'server.js', + libraryTarget: 'commonjs2' + }, + target: 'node', + externals: node_modules, + node: { + __dirname: '/opt/hub/' + } + }); + +module.exports = [ + clientBundle, + serverBundle +];