No description
Find a file
Alex 8714a36d27
[deploy] User subscriptions API and backend updates (#8779)
* Create "blank" EmailSubscriptionTag

* Refactor liquid_tags_used with spec

* Create /user_subscriptions#create

- Update liquid tag name to UserSubscriptionTag

* Add rate limiting and specs

* Add counter_culture for user_subscriptions

* Update /async_info/base_data

- Alphabetize user_data
- Add email
- Add subscription_source_article_ids
- Cache subscription_source_article_ids on User model

* Add stale email check and specs

* Change user_email to subscriber_email for clarity

* Restrict UserSubscriptionTag

* Rename RESTRICTED_TAGS to RESTRICTED_LIQUID_TAGS

* Make TODO comment more clear

* Refactor error responses and update specs

* Update type to source_type in error message

* Use constantize over safe_constantize

* Add check for active source

* Refactor checking of current_user's subscriptions

- Remove data from async_info
- Create a new service to fetch/cache a user's existing subscriptions

* Restrict email in base_data to admin roles

* Oops! Rename liquid tag file

* Change error back to result...oops!

* It's not goodbye, it's see you later. RIP email :/

* Add current_email to /user_subscriptions/base_data

* Revert adding current_email

* Undo async_info_controller changes/fix conflict

* Move params to constant

* Refactor SubscriptionCacheChecker

* Remove duplicate status code in JSON response

* Remove duplicate status code for #subscribed

* Use response.parsed_body

* Remove user guard in SubscriptionCacheChecker
2020-06-23 13:43:32 -04:00
.gems Bugfix for #7663 and refactor of container setup (#7747) 2020-05-28 12:11:51 -05:00
.github Update SRE files in CODEOWNERS (#8857) 2020-06-23 10:07:53 -05:00
.vscode Add nickytonline.dev-to-extension-pack to VSCode recommendations (#6437) 2020-03-04 14:22:28 -05:00
.yarn/releases Update yarn version (#6857) 2020-03-26 18:08:49 -04:00
app [deploy] User subscriptions API and backend updates (#8779) 2020-06-23 13:43:32 -04:00
bin Conditionally install foreman during setup (#8391) 2020-06-22 19:47:57 -04:00
config [deploy] User subscriptions API and backend updates (#8779) 2020-06-23 13:43:32 -04:00
datadog [deploy] dont configure Honeycomb if its disabled (#6618) 2020-05-11 11:59:18 -05:00
db [deploy] User subscriptions API and backend updates (#8779) 2020-06-23 13:43:32 -04:00
docs Adds ability to run spec not headlessly (#8844) 2020-06-23 08:37:37 -05:00
lib Rails 6 autoloader: prepare liquid tags code (#8707) 2020-06-17 16:50:14 +02:00
log
public Remove trailing slashes from URLs to improve SEO (#8836) [deploy] 2020-06-22 13:44:58 -07:00
scripts Bugfix for #7663 and refactor of container setup (#7747) 2020-05-28 12:11:51 -05:00
spec [deploy] User subscriptions API and backend updates (#8779) 2020-06-23 13:43:32 -04:00
vendor [deploy] Bump aws-sdk-lambda from 1.42.0 to 1.44.0 (#8804) 2020-06-22 16:19:21 -04:00
.codeclimate.yml Loosen CodeClimate's method-lines rule (#7980) 2020-05-20 16:44:35 +02:00
.dockerignore Set --disable-march-tune-native when building sassc. (#8229) 2020-06-01 22:25:47 -05:00
.editorconfig
.erb-lint.yml [deploy] Remove Unused Pro Memberships (#7894) 2020-05-20 11:54:30 -05:00
.eslintignore
.eslintrc.js Fix eslint files for prettier (#8815) 2020-06-22 10:25:05 +02:00
.gitattributes Topbar icons states (#7012) 2020-04-02 11:50:05 +02:00
.gitdocs.js
.gitignore Bugfix for #7663 and refactor of container setup (#7747) 2020-05-28 12:11:51 -05:00
.gitpod.dockerfile Update config.hosts for GitPod (#8677) 2020-06-15 17:18:33 +02:00
.gitpod.yml [deploy] Remove ALL Algolia Code (#7577) 2020-04-29 10:11:57 -05:00
.nvmrc Update config.hosts for GitPod (#8677) 2020-06-15 17:18:33 +02:00
.postcssrc.yml
.prettierignore Use yarn 1.21.1 (#5786) 2020-02-05 17:04:06 -05:00
.rspec [deploy] Spec Speedup: Use Knapsack to Run Parallel Builds (#8390) 2020-06-11 10:27:11 -05:00
.rubocop.yml Routine rubocop fixes (#8346) 2020-06-08 17:37:25 +02:00
.rubocop_todo.yml Routine rubocop fixes (#8685) 2020-06-16 11:09:15 +02:00
.ruby-version Upgrade Ruby to 2.7.1 (#7097) [deploy] 2020-04-06 18:21:50 +02:00
.simplecov Update .simplecov (#8078) 2020-05-27 14:37:21 -04:00
.slugignore Add .slugignore (#6528) 2020-03-10 14:43:48 -04:00
.travis.yml [deploy] Upgrade Rails to 6.0.3.2 To Fix CVE-2020-8185 (#8736) 2020-06-17 11:29:54 -05:00
.validaterc Validate API OpenAPI 3 spec (#6519) 2020-03-09 16:40:05 +01:00
.yardopts
.yarnrc Update yarn version (#6857) 2020-03-26 18:08:49 -04:00
babel.config.js [deploy] Update webpacker configuration (#8004) 2020-05-25 12:03:18 -04:00
CODE_OF_CONDUCT.md Replace ban/banned with suspend/suspended in user facing text (#5816) [deploy] 2020-02-10 10:12:53 -05:00
config.ru
container-compose.yml Bugfix for #7663 and refactor of container setup (#7747) 2020-05-28 12:11:51 -05:00
Containerfile Set --disable-march-tune-native when building sassc. (#8229) 2020-06-01 22:25:47 -05:00
CONTRIBUTING.md [deploy] Move contributing documentation and document difficulty labels (#8775) 2020-06-22 13:14:49 -05:00
docker-compose.yml Bugfix for #7663 and refactor of container setup (#7747) 2020-05-28 12:11:51 -05:00
Dockerfile Bugfix for #7663 and refactor of container setup (#7747) 2020-05-28 12:11:51 -05:00
empty-module.js
Envfile Make Devise.mailer_sender configurable (#8246) 2020-06-08 12:02:07 +02:00
Gemfile [deploy] Bump aws-sdk-lambda from 1.42.0 to 1.44.0 (#8804) 2020-06-22 16:19:21 -04:00
Gemfile.lock [deploy] Bump aws-sdk-lambda from 1.42.0 to 1.44.0 (#8804) 2020-06-22 16:19:21 -04:00
Guardfile
jest.config.js Since we've added more testing, coverage thresholds can be bumped up a bit. (#8824) 2020-06-22 14:16:22 +02:00
jsconfig.json [deploy] New Feature: Mod Actions Panel (#7777) 2020-06-08 13:24:18 -04:00
LICENSE.md Ran all markdown files through prettier to fix a handful. (#4599) 2019-10-28 08:20:53 -04:00
package.json Bump @babel/preset-env from 7.10.2 to 7.10.3 (#8807) 2020-06-22 16:45:07 -04:00
Procfile remove rake jobs:work references from code (#6082) [deploy] 2020-02-14 15:18:08 -05:00
Procfile.dev Adapt dev env to run on a remote box (#8232) 2020-06-18 13:01:49 +02:00
Procfile.dev-hot
Rakefile
README.md Documentation: Add More Knapsack Information to Docs (#8419) 2020-06-11 17:50:32 -05:00
release-tasks.sh [deploy] Consolidate Setup Tasks to a Single Rake Task (#8065) 2020-05-27 11:59:07 -05:00
testSetup.js Import jest-axe matchers via setupFilesAfterEnv config property (#8217) 2020-06-01 16:37:32 +02:00
yarn.lock Bump @babel/preset-env from 7.10.2 to 7.10.3 (#8807) 2020-06-22 16:45:07 -04:00


DEV

DEV Community 👩‍💻👨‍💻

The Human Layer of the Stack

ruby version rails version Travis Status for thepracticaldev/dev.to Code Climate maintainability Code Climate test coverage Code Climate technical debt CodeTriage badge Dependabot Badge GitPod badge Netlify badge GitHub code size in bytes GitHub commit activity GitHub issues ready for dev Honeybadger badge Knapsack Pro Parallel CI builds for dev.to

Welcome to the dev.to codebase. We are so excited to have you. With your help, we can build out DEV to be more stable and better serve our community.

What is dev.to?

dev.to (or just DEV) is a platform where software developers write articles, take part in discussions, and build their professional profiles. We value supportive and constructive dialogue in the pursuit of great code and career growth for all members. The ecosystem spans from beginner to advanced developers, and all are welcome to find their place within our community. ❤️

Table of Contents

Contributing

We encourage you to contribute to dev.to! Please check out the Contributing to dev.to guide for guidelines about how to proceed.

Getting Started

This section provides a high-level quick start guide. If you're looking for the installation guide, you'll want to refer to our complete Developer Documentation.

We run on a Rails backend, and we are currently transitioning to a Preact-first frontend.

A more complete overview of our stack is available in our docs.

Prerequisites

Local

Containers

Linux

OS X

Installation Documentation

View Full Installation Documentation.

Developer Documentation

Check out our dedicated docs page for more technical documentation.

Core team

Vulnerability disclosure

We welcome security research on DEV under the terms of our vulnerability disclosure policy.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Please see the LICENSE file in our repository for the full text.

Like many open source projects, we require that contributors provide us with a Contributor License Agreement (CLA). By submitting code to the DEV project, you are granting us a right to use that code under the terms of the CLA.

Our version of the CLA was adapted from the Microsoft Contributor License Agreement, which they generously made available to the public domain under Creative Commons CC0 1.0 Universal.

Any questions, please refer to our license FAQ doc or email yo@dev.to.


Sloan, the sloth mascot
Happy Coding ❤️