All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Change the way to check if the cost center is valid
- Changed the token validation directive of the getUserByEmail operation
- Force setProfile to use a valid cost center
- Increase timeout to 45 seconds
- getRegionId now includes geographic coordinates in parameters when available
- Error changing Cost Center after placing order
- Use return instead of throwing a duplicate email error.
- Adjust session provider early return logic
- In session provider, return early if storeUserEmail is not populated
- Remove unnecessary b2b_users storage on vbase
- Add await to requests to properly handle inactive organizations on login
- Provide app token on calls to b2b-organizations-graphql app
- Add sort to searchDocumentsWithPaginationInfo at getAllUsers
- add new auth metric field
- addUser function to not accept invalid cost center
- Session audit metrics
- Changed the token validation directive of some operations
- Storefront considers the active organizations when setting the user's profile
- Changed the token validation directive of some operations
- Changed the token validation directive of some operations
- Add enforcement of new validation for admin and api tokens
- Add more details to admin and api token validation metric
- Changed the token validation directive of some operations
- Add admin validation directive
- Get tokens from headers when necessary
- Add validation metrics for admin and api tokens
- Add token validation directive
- Provide correct tokens to clients
- Check user is part of buyer org instead of "active" on checkUserAccess directive
- Improved metrics and logging for checkUserAccess and checkAdminAccess directives
- Add token validation logs
- Reverted changes from versions 1.40.3, 1.40.2 and 1.40.1
- Provide correct auth tokens to clients
- Fix auth issue by adding additional admin token check to checkUserAccess and checkAdminAccess
- Fix auth issue by adding role check to checkUserAccess directive
- Changed getUsersByEmail to filter OrgId and CostId
- Changed to remove space instead of character
- Adjust b2b-organizations-graphql integration
- Add intro description about Session Watcher
- Fix IsCorporate in SetProfile
- New
ignoreB2BSessionData
mutation to allow a user to leave/resume the B2B context
- add directive to validate auth token for some operations
- Add 'isDisposable' property to create address requests, indicating whether the address is disposable to prevent duplicates.
- Reduce sync roles, remove from checkUserPermissions and listRoles
- Remove get permissions from access audit metrics
- add an authentication metric to check if the access is authenticated
- Change Team action metrics
- Fix on check impersonation query
- Edited README.md file
- Removing the document on orderform in case of business/corporate profile data
- Removing all the non digits from the business document to prevent checkout errors
- Added sellers by cost center feature
- Fix error when accessing undefined "cl" variable
- Added the settings to allow the admin disable the facets on session
- Fixed some issues around phone number order form
- Fixed issue where
documentType
is always set to cpf
- geoCoordinates empty
- Fixed impersonation user
- Fix on impersonation user
- Added the x-b2b-senderapp header to fix problems with the new B2B API
- Fixed clear call async calls
- [ENGINEERS-1247] - Disable cypress tests in PR level
- Run schedule job only on saturday
- Fixed the
setProfile
to clear the cart properly - Improved calls on set profile in order to get faster response
- Changed the scroll to search with pagination
setProfile
adding sku 1 to the cart to set sales channel when the cart is emptysetProfile
losing item attachments after login
- Fixed the getCoordinates shipping data and removing unnecessary sync calls
- Added a feature when the user logs in or changes the current organization.
- Added sellers to set profile filter
- Bug fixed on getUserByEmail
- JSON web token updated
- Fixed on updating the sales channel by converting to string rather than number
- Fixed on updating the sales channel and was adding a element automatically
- Vtex Setup
- Updated cypress strategy
- bugfix when Sales Channel is inactive or unlinked to account.
- The bug is fixed when the active user is linked to an inactive user but has active organizations, so, setProfile finds the first active organization and sets it as active for the user, and proceeds with the login.
- Disable video for cypress tests
- Fix on getting all users into getActiveUserByEmail by getAllUsersByEmail
- getOrganizationsByEmail is returning all users instead of only first 50 records
- Fix setCurrentOrganization mutation
- Enable video for cypress tests
- minimist package updated from 1.2.5 to 1.2.7 due a critical security vulnerability
- Added the functionality to the storefront permissions to change the sales channel according to the Organization
- Join multiple priceTables with
,
instead of;
- Force the business document and state registration on setProfile method
- Split bindings testcase into two files
- Added lastName field to CL masterdata add request
- Marketing Tags to setProfile and attaching to the orderForm
- GitHub reusable workflow and Cy-Runner updated to version 2
- Bug fixed on set current organization
- As part of one-to-many feature, was added a mutation to set the current organization to the user
- Changed the validation of the add user
- Added a feature to allow adding users to many organizations
- App Review: Added logging, fixed security issues and code cleanup
- Fixed
getUserByEmail
query
- Fixed on update the user data, and it disappeared from the list
- Support for
tradeName
field on user's organization andphoneNumber
field on user's cost center
- Add error messages improvement
- Added a mutation to check if the schema is correctly configured.
- Created a constants file
- Added a graphql query to get all users by using the scroll MD function
- Added the pagination to listUsers query
- Fixed on checking if the user already exists
- Validation if the user is already on MD and check if the orgId is different
- HOTFIX on addUser
- create a new Mutation to add a single user
- create a new Mutation to update a single user
- optimize code / structure
- Support for
businessDocument
field on user's cost center
- Don't await orderForm update promises in session hook to avoid timeouts
- Check user impersonation status via session properties rather than orderForm
- Adjust conditional in
checkImpersonation
query so that only data related to B2B impersonation solution is returned
- Support for user impersonation via Telemarketing app
checkUserPermission
will return a superset of the original user's and the impersonated user's permissions, if impersonation is active. If the original user has a role, that user's role will be returned. If not, the impersonated user's role will be returned
- Reviewed README.md file
- New version to re-deploy
- Dependencies
search-segment-resolver
andsearch-segment-graphql
- Addition information to the
impersonateUser
Mutation
- Fix on shipping data payload
checkUserPermissions
will now always return the "parent" user's role and permissions regardless of impersonation- If impersonating a user, their organization and cost center will be applied to the session (and therefore their price list, catalog, etc)
- Changed the role handling from masterdata to vbase to avoid duplicated entries
- GraphQL query
getSessionWatcher
and mutationsessionWatcher
- Better logging
- When adding a new user, check if their email already exists in MD
checkImpersonation
Graphql query
impersonateUser
mutation
checkUserPermissions
query will no longer throw an error if the user's role has no enabled permissions for the app making the request
- Prevent login for users in inactive organizations by throwing error in
setProfile
route handler
- When syncing roles and features, new modules are now added to existing modules instead of replacing them
- Optional
permissionId
variables forlistUsers
query
- Not loading saved roles from checkPermissions
- Slug being updated if a Role name is changed
- Optional
organizationId
andcostCenterId
variables forlistUsers
query
saveUser
now creates users to the CL entity
- Default role labels from
Admin
,Approver
andBuyer
toOrganization Admin
,Organization Approver
andOrganization Buyer
vtex.search-session
,vtex.search-segment-graphql
andvtex.search-segment-resolver
as dependency
- Collection facets
- Doc update
- ListFeatures error when there's no apps depending on storefront-permissions
- Sets Organization, Costcenter, Address, PriceTables on login
- Policy for other apps to call this app's GraphQL routes
organization
,costCenter
,collections
are now populated in user's session
- Getting
priceTables
fromvtex.b2b-organizations-graphql
- Ignore errors when using
withUserPermissions
- Organization and Cost Center dropdown
- GraphQL Directive
withUserPermissions
- MD Schema
- Exception for
vtex.storefront-permissions-ui
requests
- Exported component
StorefrontPermissions
to be imported byvtex.admin-customers
- Duplicated Role
- License Manager insertion for new vtex users
- Turning it into a backend layer app
- new Graphql query
hasUsers
- User search at the admin (Dependency change)
billingOpstions
frommanifest.json
- Option to Create and Delete roles from the Admin
- Roles autosync from dependent Apps
checkUserPermission
return structure
totalNumberOfUsers
from graqhql query