Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skip address validation. #15985

Closed
wants to merge 137 commits into from
Closed

Skip address validation. #15985

wants to merge 137 commits into from

Conversation

zedzior
Copy link
Member

@zedzior zedzior commented May 14, 2024

I want to merge this change because...

Impact

  • New migrations
  • New/Updated API fields or mutations
  • Deprecated API fields or mutations
  • Removed API types, fields, or mutations

Docs

  • Link to documentation:

Pull Request Checklist

  • Privileged queries and mutations are either absent or guarded by proper permission checks
  • Database queries are optimized and the number of queries is constant
  • Database migrations are either absent or optimized for zero downtime
  • The changes are covered by test cases
  • All new fields/inputs/mutations have proper labels added (ADDED_IN_X, PREVIEW_FEATURE, etc.)
  • All migrations have proper dependencies
  • All indexes are added concurrently in migrations
  • All RunSql and RunPython migrations have revert option defined

zedzior and others added 30 commits February 19, 2024 15:24
* Simplify tax break logic

* Add plugin to tax configuration

* Correct changelog

* Allow all plugins to be set in taxConfiguration

* Allow custom plugins for tax configuration

* Rename empty tax data error
* Bulk create attribute value (#14985)

 Conflicts:
	saleor/attribute/models/base.py
	saleor/graphql/attribute/utils.py

* Fix saving attribute values in order (#15269)

* add indexing for attribute value saving

* change comment

* refactor, revert break

* Add ingore_conficlts option in bulk_create in AttributeValueManager

* Fix failing tests

---------

Co-authored-by: Krzysztof Kwaśniak <mr.brzys@gmail.com>
Co-authored-by: Jakub <jakub.kuc@saleor.io>
* Confirm active users

* Confirm users logged in by OIDC are confirmed

* Allow to RequestPasswordReset for all active users

* Update SetPassword mutation to confirm account and match user orders
Call staff_created or customer_created event when user is created in OIDC

Send user updated events in OIDC

Move send_user_event to account/utils.py
* add fields to 'PromotionRule' and 'Product' to mark items for price recalculation.

* change PromotionRule and Product recalculation for remaining mutations.

* fix tests.

* Move discounted_price_dirty flag to ProductChannelListing (#15338)

* Rebuild the logic to relay on channel relation and limit the data required to process by celery workers

* Add changes to match applied changes on main feature branch

* Clean up logic, add more tests, add dirty mark in missing places

* Add flag to control the celery settings

* Apply changes after review

* Correct the version of removing in comments

* Added a proper comment about extending category/collection where filter

* Fix code after cherry picks

* Recalculate prices when variant removed from the rule

* Use call_event in all calls to mark products/rules as dirty

---------

Co-authored-by: Artur Pietracha <artur.pietracha@gmail.com>
Co-authored-by: SzymJ <31098825+SzymJ@users.noreply.github.com>
* Reduce amount of queries called by update-products-search-vector-task

* Improve editor js logic to handle the to_string for rich text faster

* Add replica to queries

* Correct the comment about memory usage
@db-queries
Copy link

db-queries bot commented May 14, 2024

Here is the report for dce179f (saleor:merx-442-skip-address-validation)
Missing base report (d4682fc). The results couldn't be compared.

No differences were found.

# saleor.graphql.accountbenchmark account
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  addresses for federation query count                                    	          9	          9	              2
  customers query                                                         	         51	         51	              0
  delete staff members                                                    	         40	         40	              0
  query staff user                                                        	         22	         22	              3
  staff create                                                            	         22	         22	              3
  staff update groups and permissions                                     	         35	         35	              5
  users for federation query count                                        	          8	          8	              3

# saleor.graphql.accountbenchmark permission group
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  groups for federation query count                                       	          3	          3	              0
  permission group create                                                 	         24	         24	              0
  permission group delete                                                 	         29	         29	              3
  permission group query                                                  	         14	         14	              0
  permission group update                                                 	         43	         43	              2
  permission group update remove users with manage staff                  	         35	         35	              3

# saleor.graphql.appbenchmarks app extensions
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  app extensions                                                          	         15	         15	              0
  app extensions with filter[filter0]                                     	         14	         14	              0
  app extensions with filter[filter1]                                     	         10	         10	              0
  app extensions with filter[filter2]                                     	         14	         14	              0
  app extensions with filter[filter3]                                     	         10	         10	              0

# saleor.graphql.appbenchmarks apps
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  apps for federation query count                                         	          9	          9	              3
  apps with tokens and webhooks                                           	          9	          9	              0

# saleor.graphql.attributebenchmark attribute
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  attribute translation                                                   	          6	          6	              0
  attribute value translation                                             	         20	         20	              0
  query attribute                                                         	          6	          6	              0
  query attributes                                                        	          8	          8	              0

# saleor.graphql.channelbenchmark channel
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  channels query                                                          	          5	          5	              0

# saleor.graphql.channelmutations channel update
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  channel update mutation remove warehouse                                	         39	         39	              6

# saleor.graphql.checkoutbenchmark checkout mutations
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  add billing address to checkout                                         	         80	         80	             10
  add checkout lines                                                      	         92	         92	             14
  add checkout lines catalogue discount applies                           	        190	        190	             15
  add checkout lines gift discount applies                                	        155	        155	             23
  add checkout lines multiple catalogue discount applies                  	        205	        205	             20
  add checkout lines order discount applies                               	        168	        168	             18
  add checkout lines with external shipping                               	        194	        194	             77
  add checkout lines with reservations                                    	        193	        193	             66
  add delivery to checkout                                                	         88	         88	             14
  add shipping to checkout                                                	         98	         98	             17
  checkout email update                                                   	         46	         46	              2
  checkout payment charge                                                 	         60	         60	             17
  checkout shipping address update                                        	         92	         92	             11
  checkout voucher code                                                   	        105	        105	             19
  complete checkout                                                       	        244	        244	             81
  complete checkout preorder                                              	        239	        239	             82
  complete checkout with digital line                                     	        282	        282	             95
  complete checkout with out of stock webhook                             	        246	        246	             81
  complete checkout with single line                                      	        246	        246	             81
  create checkout                                                         	         87	         87	              9
  create checkout with gift promotion                                     	        127	        127	             19
  create checkout with order promotion                                    	        109	        109	              9
  create checkout with reservations                                       	        159	        159	             28
  customer complete checkout                                              	        257	        257	             87
  customer complete checkout for cc                                       	        232	        232	             77
  update checkout lines                                                   	         85	         85	             14
  update checkout lines with reservations                                 	        199	        199	             79

# saleor.graphql.checkoutbenchmark checkouts
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  staff multiple checkouts                                                	          6	          6	              0

# saleor.graphql.checkoutbenchmark homepage
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  user checkout details                                                   	         64	         64	              6
  user checkout details with tax app                                      	         85	         85	             28

# saleor.graphql.discountbenchmark promotion create
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  promotion create                                                        	         23	         23	              1
  promotion create order promotion                                        	         37	         37	              7

# saleor.graphql.discountbenchmark promotion delete
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  gift promotion delete                                                   	         25	         25	              1
  promotion delete                                                        	         30	         30	              1

# saleor.graphql.discountbenchmark promotion rule create
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  promotion rule create                                                   	         23	         23	              1
  promotion rule create gift                                              	        134	        134	              7

# saleor.graphql.discountbenchmark promotion rule delete
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  promotion rule delete                                                   	         23	         23	              0

# saleor.graphql.discountbenchmark promotion rule update
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  promotion rule update                                                   	         38	         38	              0

# saleor.graphql.discountbenchmark promotion update
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  promotion update                                                        	         16	         16	              0

# saleor.graphql.discountbenchmark promotions
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  promotions querytest promotions query                                   	          9	          9	              0

# saleor.graphql.discountbenchmark sales
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  sales query with channel slug                                           	          9	          9	              0
  sales query without channel slug                                        	          7	          7	              0

# saleor.graphql.discountbenchmark voucher code bulk delete
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  voucher code bulk delete queries                                        	         20	         20	              2

# saleor.graphql.discountbenchmark vouchers
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  vouchers query with channel slug                                        	         20	         20	              0
  vouchers query withot channel slug                                      	         19	         19	              0

# saleor.graphql.giftcardbenchmark gift card mutations
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  create never expiry gift card                                           	         27	         27	              4
  gift card bulk activate by staff                                        	         15	         15	              3
  update gift card                                                        	         35	         35	              4

# saleor.graphql.giftcardbenchmark gift card queries
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  filter gift cards by products                                           	         14	         14	              3
  filter gift cards by tags                                               	         12	         12	              3
  filter gift cards by used by user                                       	         13	         13	              3
  query gift card details                                                 	         14	         14	              3
  query gift cards                                                        	         12	         12	              3

# saleor.graphql.orderbenchmark fulfillment
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  fulfillment query                                                       	          6	          6	              0

# saleor.graphql.orderbenchmark fulfillment refund and return products
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  fulfillment refund products order lines                                 	         61	         61	              0
  fulfillment return products order lines                                 	        103	        103	              7

# saleor.graphql.orderbenchmark order
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  staff multiple draft orders                                             	          7	          7	              0
  staff multiple orders                                                   	          7	          7	              0
  staff order details                                                     	         57	         57	              7
  user order details                                                      	         55	         55	              8

# saleor.graphql.orderbenchmark order bulk create
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  order bulk create                                                       	         20	         20	              2

# saleor.graphql.orderbenchmark order fulfill
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  order fulfill                                                           	         18	         18	              0
  order fulfill with gift cards                                           	         18	         18	              0

# saleor.graphql.orderbenchmark order lines create
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  order lines create                                                      	         95	         95	             17
  order lines create variants on promotion                                	        154	        154	             22

# saleor.graphql.pagebenchmark page type
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  page types for federation query count                                   	          3	          3	              0
  query page type                                                         	         18	         18	              6
  query page types                                                        	         25	         25	             12

# saleor.graphql.paymentbenchmark payment transactions
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  payment transactions                                                    	         54	         54	             20

# saleor.graphql.productbenchmark category
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  categories children                                                     	          4	          4	              0
  categories for federation query count                                   	          3	          3	              0
  category delete                                                         	         48	         48	              4
  category view                                                           	         28	         28	              1

# saleor.graphql.productbenchmark collection
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  collection add products                                                 	         22	         22	              5
  collection bulk delete                                                  	         27	         27	              3
  collection view                                                         	          7	          7	              0
  collections for federation query count                                  	          4	          4	              0
  create collection                                                       	         37	         37	              5
  delete collection                                                       	         40	         40	              5
  remove products from collection                                         	         19	         19	              5
  retrieve collection channel listings                                    	          5	          5	              0

# saleor.graphql.productbenchmark homepage
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  report product sales                                                    	         10	         10	              3
  retrieve product list                                                   	          4	          4	              0

# saleor.graphql.productbenchmark product
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  filter products by attributes                                           	          7	          7	              0
  filter products by boolean attributes                                   	         14	         14	              0
  filter products by gift card                                            	         12	         12	              1
  filter products by numeric attributes                                   	         13	         13	              0
  product create                                                          	         48	         48	              3
  product details                                                         	         41	         41	              1
  product translations                                                    	          5	          5	              0
  products for federation query count                                     	          6	          6	              1
  products media for federation query count                               	          5	          5	              0
  products types for federation query count                               	          2	          2	              0
  retrieve channel listings                                               	         20	         20	              0
  retrieve product attributes                                             	          8	          8	              0
  retrieve product images                                                 	          4	          4	              0
  retrieve product media                                                  	          4	          4	              0
  retrive products with product types and attributes                      	          7	          7	              0
  update product                                                          	         71	         71	              5

# saleor.graphql.productbenchmark product variant channel listing update
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  variant channel listing update                                          	         35	         35	              3

# saleor.graphql.productbenchmark variant
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  product variant bulk create                                             	         45	         45	              1
  product variant create                                                  	         61	         61	              3
  products variants for federation query count                            	          6	          6	              1
  retrieve variant list                                                   	         34	         34	              1
  update product variant                                                  	         64	         64	              7

# saleor.graphql.productbenchmark variant stocks
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  product variants stocks create                                          	         28	         28	              4
  product variants stocks create with single webhook called               	         27	         27	              4
  product variants stocks delete by id                                    	         29	         29	              4
  product variants stocks delete by sku                                   	         29	         29	              4
  product variants stocks delete with out of stock webhook many calls     	         25	         25	              3
  product variants stocks update by sku                                   	         27	         27	              4
  product variants stocks update byid                                     	         27	         27	              4
  query product variants stocks                                           	         10	         10	              0

# saleor.graphql.producttest product sorting attributes
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  sort product not having attribute data                                  	         20	         20	              0

# saleor.graphql.shippingbenchmark shipping methods
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  vouchers query with channel slug                                        	          7	          7	              0
  vouchers query without channel slug                                     	          7	          7	              0

# saleor.graphql.shippingbenchmark shipping zones
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  shipping zones query                                                    	          6	          6	              0

# saleor.graphql.shopbenchmark homepage
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  retrieve shop                                                           	          2	          2	              0

# saleor.graphql.warehousebenchmark stock bulk update
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  stocks bulk update queries count                                        	         31	         31	              5

# saleor.graphql.warehousebenchmark stocks
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  stocks query                                                            	          5	          5	              0

# saleor.graphql.webhookbenchmark webhook events
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  webhooks                                                                	          6	          6	              0

# saleor.orderbenchmark fetch order prices
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  fetch order prices catalogue discount                                   	         45	         45	              6
  fetch order prices multiple catalogue discounts                         	        107	        107	             20

# saleor.ordertest fetch
  test name                                                               	left count 	right count	duplicate count
  ------------------------------------------------------------------------	-----------	-----------	---------------
  fetch draft order lines info                                            	         18	         18	              1

Copy link

codecov bot commented May 14, 2024

Codecov Report

Attention: Patch coverage is 96.09562% with 49 lines in your changes are missing coverage. Please review.

Project coverage is 94.02%. Comparing base (77ade2c) to head (9c5d5cf).
Report is 137 commits behind head on main.

❗ Current head 9c5d5cf differs from pull request most recent head 5d596cb. Consider uploading reports for the commit 5d596cb to get more accurate results

Files Patch % Lines
saleor/discount/utils.py 95.80% 4 Missing and 8 partials ⚠️
saleor/core/db/connection.py 91.93% 4 Missing and 1 partial ⚠️
saleor/graphql/attribute/utils.py 92.95% 4 Missing and 1 partial ⚠️
saleor/graphql/discount/utils.py 64.28% 1 Missing and 4 partials ⚠️
saleor/attribute/models/base.py 95.08% 0 Missing and 3 partials ⚠️
saleor/account/i18n.py 86.66% 1 Missing and 1 partial ⚠️
saleor/checkout/calculations.py 94.28% 2 Missing ⚠️
saleor/checkout/complete_checkout.py 94.11% 2 Missing ⚠️
saleor/checkout/utils.py 94.11% 0 Missing and 2 partials ⚠️
...aleor/graphql/discount/mutations/bulk_mutations.py 66.66% 1 Missing and 1 partial ⚠️
... and 8 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #15985      +/-   ##
==========================================
+ Coverage   93.92%   94.02%   +0.09%     
==========================================
  Files         930      932       +2     
  Lines       70972    72604    +1632     
  Branches     8257     8575     +318     
==========================================
+ Hits        66662    68263    +1601     
+ Misses       2768     2767       -1     
- Partials     1542     1574      +32     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

zedzior and others added 2 commits May 14, 2024 11:05
* Calculate order promotions in draft order (#15459)

* Add `unique_type` to discount line models - migration compatibility (#15953)

* Add product name to gift line. (#15977)

* Fix subtotal discount propagation. (#15980)
metadata = graphene.List(
graphene.NonNull(MetadataInput),
description="Address public metadata." + ADDED_IN_315,
required=False,
)
skip_validation = graphene.Boolean(
description="Determine if the address should be validated."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add here a note about required permission. Also maybe a single sentence about what exactly means the validation ( I mean, with skip-validation, we will not validate the fields like postal-code and require a specific format of the input etc)

aniav and others added 19 commits May 14, 2024 15:48
…llocation-3.19

Order line operations without allocation
* Fix mixing up attibute values because of the same slug value

* Fix multiselect pre_save return
* Fix overfetching in CategoryChildrenByCategoryIdLoader

* Add parent resolver to category type

* Add price and channel index on ProductVariantChannelListing

* Fix migrations

* Remove unnecessary disctinct

* Remove unnecessary tracing

* Extend benchmark

* Fix migrations

* Merge migrations after port
…mutations; allow using 'AuthorizationFilters'.
@zedzior zedzior force-pushed the merx-442-skip-address-validation branch from 9c5d5cf to 1a0a2b4 Compare May 16, 2024 12:10
@zedzior zedzior force-pushed the merx-442-skip-address-validation branch from f70548e to 5d596cb Compare May 16, 2024 14:28
@zedzior zedzior closed this May 16, 2024
@zedzior
Copy link
Member Author

zedzior commented May 16, 2024

moved to #16008

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet