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.
- Add optional
tradeName
argument toupdateOrganization
mutation
- Github Action to trigger manual tests by dispatch
- Support for organization
tradeName
field and cost centerphoneNumber
field (both optional)
- Added the query to get the organizations without a sales manager
- Added handling to the addUser mutation by showing the correct message when the user already exists.
- Added the pagination to getUsers query
- Cancellation request route to support
vtex.b2b-orders-history
- Checkout client
- Permission check in
order
route
- Use admin OMS API to get order details, to ensure we have the user's email
- Added duplicate check for create organization request
- the structure of the components has been improved;
- Added 2 mutations in order to follow the mutations from storefront permissions (updateUser and addUser);
- Remove a couple of conditionals nested;
- Remove unnecessary variables, some changes to inline returns;
- add subfield
email
of theb2bCustomerAdmin
field to check duplicate requests by email
Added 2 mutations to handle the cost center addresses
- updateCostCenterAddress
- createCostCenterAddress see schema/schema.graphql for more details
- Optional
businessDocument
field for cost centers
- Adjust
getPaymentTerms
query so that it now returns all enabled payment methods, not just promissories
- In the
orders
route handler, request the user's permissions forvtex.b2b-orders-history
instead ofvtex.b2b-organizations
- In
impersonateUser
resolver, ifclId
is provided butuserId
is not, check CL document to see if userId exists there and then update storefront-permissions' user record - Similarly, when editing a user, if
userId
is null, check CL document to see if userId exists there and then sync it with storefront-permissions
- Use storefront-permissions' GraphQL interface directly instead of sending requests through
vtex.graphql-server
impersonateUser
mutation- Permission checks related to sales roles
- Increase timeout
checkConfig
promise bug that prevented MD schema from being created
- Correctly handle spaces when searching masterdata
- Use CL id instead of user id in
saveUser
andremoveUser
operations
- SonarCloud PR integration
- Organization admins will be notified via email if an organization's status changes
- App no longer stores data in AppSettings, to allow app to function without being explicitly installed
- Enable immediate indexing for MD schemas
costCenters
property in organization schema (expect this to be an empty array)
- Support for enabling/disabling specific payment terms per cost center
- When an organization request is approved, the user specified as the organization admin is now created and/or the appropriate permissions and organization / cost center are assigned to them.
- Improved email templates for organization creation / approval / denial
- Format of creation date MD schema fields to allow for proper date sorting
- Properly return ID of created MD document in GraphQL mutations that create documents
- Use returned value
DocumentId
from MD creation operations instead ofId
to eliminate unnecessaryreplace()
functions
- Permissions check to
getUsers
query andsaveUser
,removeUser
mutations
getCostCenterByIdStorefront
query ID argument is now optional, will use user's cost center ID as default
- Made storefront queries private
- Send email to Sales Admins and Customer Admin on organization and request updates.
/b2b/oms/user/checkout/
route to returnpaymentTerms
and Cost Center addresses
- Create separate queries for storefront users that check user's permissions
- Initialize
B2BUser
query field resolvers - Don't set
sessionToken
header inGraphQLServer
client if token is null
getUsers
querysaveUser
andremoveUser
mutationswithSession
directivegetOrganizationById
andgetCostCenterByOrganizationId
queries will now use the user's organization ID if no ID argument is provided
- Allow organization names to be changed
- App sender from
[email protected]
to[email protected]
- Payment Term support
- Orders history support
getCostCenters
query
- handle spaces in masterdata search terms
- Add
schema
argument toupdateCostCenter
masterdata call - Utilize
where
argument for masterdata searches (instead of unsupportedkeyword
argument)
- Correct handling of masterdata document IDs in
createOrganization
andcreateCostCenter
resolvers
- Initial release