Skip to content

Conversation

ProvorovOleksii
Copy link
Collaborator

@ProvorovOleksii ProvorovOleksii commented Nov 29, 2024

Updated:

  • Added Metafield definitions support
  • Added them to pull/ push CLI commands
  • Added them to applySchema() tento method
  • Added products API support
  • Added Common API for Jobs
  • Updated Metaobejct definition types for inferSelect, inferInsert
  • If field is required - it'll be required on insert, and also it'll be taken to account for GET API methods
  • Added new removeSchema() tento method
  • Added configuration for applySchema/ removeSchema methods
  • { unknownEntities: 'ignore' | 'remove' } - this option will help us to understand what metaobjects and metafields definition must be included for applying or removing process
  • Changed query Shopify method to request
  • Updated Readme
  • Updated tests
  • Updated graphql-codegen types
  • Updated example OAuth
  • Changed hono to express as in official Shopify example

- Updated metaobjects:
> - Added upsert, delete
- Added metafields:
> - Only schema
> They have all fields possibilities as metaobjects + reference on metaobject
- Restructured project to have metaobjects and metafields in different packages
- Added products:
> - Update
> - Get list
- Updated cli + lib migrations:
> - Added metafields
- Added tests
- Removed 'prefix' from CLI and client
> Also removed from defineConfig function
- Added config for tento.applySchema()
> - { unknownEntities: "delete" | "ignore" } -> 'ignore' by default
> It will help us to ensure that only specified metaobjects and metafields are retained, preventing the deletion of other existing items
- Lint files, add default Biom formatter
- Updated oauth example app
> - Removed Hono, added express
> This one only because shopify doesn't work with Hono
> - Changed schema, added metafileds
- Added removeSchema API for tento
> - It has the same config as applySchema() function
> We will remove only local schema intersections with remote introspect for 'ignore' option
> Remove all for 'delete' option
- Moved jobs function in own ShopifyJobsOperations class
- On metaobject.bulkDelete() return ShopifyJobOperations instance with done field and method to check -> checkDone()
- Update product definition config, added TName generic type to get metafield name as key for products.update metafields object
- Rewrote products syntax to make it symilar to metaobjects
- Added types for products from gql to simplify them for ts
- Removed `POST /apply` API
> Everything applies in `GET /` API
- Removed unnecessary libs

Updated client:
- Added all missing field definitions for metaobject and metafield
> They were written, but not provided to fields type
- Made metaobject definition `name` field not null, this field is also not null in Shopify definition

Fixed client:
- Now metaobjects list() method returns not union type
> Specified 2 same abstract methods list() to help typescript understanding what type to return
- Now if you provide partial select for products with both `true` and `false` it'll work as for metaobjects - `false` will be ignored
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant