Co-authored-by: kodiakhq <kodiakhq@users.noreply.github.com> Co-authored-by: Shahed Nasser <shahednasser@gmail.com>
258 lines
17 KiB
Plaintext
258 lines
17 KiB
Plaintext
import { TypeList } from "docs-ui"
|
|
|
|
# utils
|
|
|
|
## Namespaces
|
|
|
|
- [CoreFlowsUitls](../../utils/utils.CoreFlowsUitls/page.mdx)
|
|
- [FulfillmentUtils](../../utils/utils.FulfillmentUtils/page.mdx)
|
|
- [GraphQLUtils](../../utils/utils.GraphQLUtils/page.mdx)
|
|
- [InventoryUtils](../../utils/utils.InventoryUtils/page.mdx)
|
|
- [LinkUtils](../../utils/utils.LinkUtils/page.mdx)
|
|
- [OrderUtils](../../utils/utils.OrderUtils/page.mdx)
|
|
- [ProductUtils](../../utils/utils.ProductUtils/page.mdx)
|
|
- [PromotionUtils](../../utils/utils.PromotionUtils/page.mdx)
|
|
- [ShippingProfileUtils](../../utils/utils.ShippingProfileUtils/page.mdx)
|
|
- [UserUtils](../../utils/utils.UserUtils/page.mdx)
|
|
|
|
## Enumerations
|
|
|
|
- [NotificationStatus](../../utils/enums/utils.NotificationStatus/page.mdx)
|
|
- [PaymentCollectionStatus](../../utils/enums/utils.PaymentCollectionStatus/page.mdx)
|
|
- [PaymentSessionStatus](../../utils/enums/utils.PaymentSessionStatus/page.mdx)
|
|
- [PaymentWebhookEvents](../../utils/enums/utils.PaymentWebhookEvents/page.mdx)
|
|
- [PaymentActions](../../utils/enums/utils.PaymentActions/page.mdx)
|
|
- [PriceListStatus](../../utils/enums/utils.PriceListStatus/page.mdx)
|
|
- [PriceListType](../../utils/enums/utils.PriceListType/page.mdx)
|
|
|
|
## Classes
|
|
|
|
- [GraphQLParser](../../utils/classes/utils.GraphQLParser/page.mdx)
|
|
|
|
## Interfaces
|
|
|
|
- [JoinerArgument](../../utils/interfaces/utils.JoinerArgument/page.mdx)
|
|
- [JoinerDirective](../../utils/interfaces/utils.JoinerDirective/page.mdx)
|
|
- [RemoteJoinerQuery](../../utils/interfaces/utils.RemoteJoinerQuery/page.mdx)
|
|
- [Argument](../../utils/interfaces/utils.Argument/page.mdx)
|
|
- [Directive](../../utils/interfaces/utils.Directive/page.mdx)
|
|
- [Entity](../../utils/interfaces/utils.Entity/page.mdx)
|
|
|
|
## Variables
|
|
|
|
- [MedusaModuleType](page.mdx#medusamoduletype)
|
|
- [NotificationEvents](page.mdx#notificationevents)
|
|
- [PaymentEvents](page.mdx#paymentevents)
|
|
- [PricingEvents](page.mdx#pricingevents)
|
|
|
|
## Functions
|
|
|
|
- [generateJwtToken](page.mdx#generatejwttoken)
|
|
- [cleanGraphQLSchema](page.mdx#cleangraphqlschema)
|
|
- [extractRelationsFromGQL](page.mdx#extractrelationsfromgql)
|
|
- [gqlGetFieldsAndRelations](page.mdx#gqlgetfieldsandrelations)
|
|
- [graphqlSchemaToFields](page.mdx#graphqlschematofields)
|
|
- [gqlSchemaToTypes](page.mdx#gqlschematotypes)
|
|
- [parseConnectionString](page.mdx#parseconnectionstring)
|
|
- [createClient](page.mdx#createclient)
|
|
- [createDb](page.mdx#createdb)
|
|
- [dbExists](page.mdx#dbexists)
|
|
|
|
___
|
|
|
|
## Variables
|
|
|
|
### MedusaModuleType
|
|
|
|
`Const` **MedusaModuleType**: typeof [MedusaModuleType](page.mdx#medusamoduletype)
|
|
|
|
### NotificationEvents
|
|
|
|
`Const` **NotificationEvents**: ReturnType<["notification"]>
|
|
|
|
### PaymentEvents
|
|
|
|
`Const` **PaymentEvents**: `Object`
|
|
|
|
#### Properties
|
|
|
|
<TypeList types={[{"name":"CAPTURED","type":"`string`","description":"","optional":false,"defaultValue":"\"payment.captured\"","expandable":false,"children":[]},{"name":"REFUNDED","type":"`string`","description":"","optional":false,"defaultValue":"\"payment.refunded\"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="PaymentEvents"/>
|
|
|
|
### PricingEvents
|
|
|
|
`Const` **PricingEvents**: ReturnType<["priceListRule", "priceList", "priceRule", "priceSet", "price"]>
|
|
|
|
___
|
|
|
|
## Functions
|
|
|
|
### generateJwtToken
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"tokenPayload","type":"`Record<string, unknown>`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"jwtConfig","type":"`object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"secret","type":"`undefined` \\| `string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"expiresIn","type":"`undefined` \\| `string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="generateJwtToken"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"string","type":"`string`","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="generateJwtToken"/>
|
|
|
|
### cleanGraphQLSchema
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"schema","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="cleanGraphQLSchema"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"schema","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"notFound","type":"`Record<string, Record<string, string>>`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="cleanGraphQLSchema"/>
|
|
|
|
<TypeList types={[{"name":"schema","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"notFound","type":"`Record<string, Record<string, string>>`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="cleanGraphQLSchema"/>
|
|
|
|
### extractRelationsFromGQL
|
|
|
|
Extracts only the relation fields from the GraphQL type map.
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"typeMap","type":"Map<string, any>","description":"The GraphQL schema TypeMap.","optional":false,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="extractRelationsFromGQL"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"Map","type":"Map<string, Map<string, string>>","optional":false,"defaultValue":"","description":"A map where each key is an entity name, and the values are a map of relation fields and their corresponding entity type.","expandable":false,"children":[{"name":"string","type":"`string`","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]},{"name":"Map","type":"Map<string, string>","optional":false,"defaultValue":"","description":"","expandable":false,"children":[{"name":"string","type":"`string`","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]},{"name":"string","type":"`string`","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]}]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="extractRelationsFromGQL"/>
|
|
|
|
### gqlGetFieldsAndRelations
|
|
|
|
Generate a list of fields and fields relations for a given type with the requested relations
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"schemaTypeMap","type":"`object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"typeName","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"relations","type":"`string`[]","description":"","optional":false,"defaultValue":"[]","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="gqlGetFieldsAndRelations"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"string[]","type":"`string`[]","optional":false,"defaultValue":"","description":"Generate a list of fields and fields relations for a given type with the requested relations","expandable":false,"children":[{"name":"string","type":"`string`","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="gqlGetFieldsAndRelations"/>
|
|
|
|
### graphqlSchemaToFields
|
|
|
|
From graphql schema get all the fields for the requested type and relations
|
|
|
|
#### Example
|
|
|
|
```ts
|
|
const userModule = `
|
|
type User {
|
|
id: ID!
|
|
name: String!
|
|
blabla: WHATEVER
|
|
}
|
|
|
|
type Post {
|
|
author: User!
|
|
}
|
|
`
|
|
|
|
const postModule = `
|
|
type Post {
|
|
id: ID!
|
|
title: String!
|
|
date: String
|
|
}
|
|
|
|
type User {
|
|
posts: [Post!]!
|
|
}
|
|
|
|
type WHATEVER {
|
|
random_field: String
|
|
post: Post
|
|
}
|
|
`
|
|
|
|
const mergedSchema = mergeTypeDefs([userModule, postModule])
|
|
const schema = makeExecutableSchema({
|
|
typeDefs: mergedSchema,
|
|
})
|
|
|
|
const fields = graphqlSchemaToFields(types, "User", ["posts"])
|
|
|
|
console.log(fields)
|
|
|
|
// [
|
|
// "id",
|
|
// "name",
|
|
// "posts.id",
|
|
// "posts.title",
|
|
// "posts.date",
|
|
// ]
|
|
```
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"schemaTypeMap","type":"`object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"typeName","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"relations","type":"`string`[]","description":"","optional":false,"defaultValue":"[]","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="graphqlSchemaToFields"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"string[]","type":"`string`[]","optional":false,"defaultValue":"","description":"From graphql schema get all the fields for the requested type and relations","expandable":false,"children":[{"name":"string","type":"`string`","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="graphqlSchemaToFields"/>
|
|
|
|
### gqlSchemaToTypes
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"__namedParameters","type":"`object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"schema","type":"`GraphQLSchema`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"outputDir","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"filename","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"joinerConfigs","type":"[ModuleJoinerConfig](../../types/ModulesSdkTypes/types/types.ModulesSdkTypes.ModuleJoinerConfig/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"schema","type":"`string`","description":"GraphQL schema for the all module's available entities and fields","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"relationships","type":"[ModuleJoinerRelationship](../../types/ModulesSdkTypes/types/types.ModulesSdkTypes.ModuleJoinerRelationship/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"extends","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"serviceName","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"primaryKeys","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isLink","type":"`boolean`","description":"If the module is a link module","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"linkableKeys","type":"`Record<string, string>`","description":"Keys that can be used to link to other modules. e.g { product\\_id: \"Product\" } \"Product\" being the entity it refers to","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isReadOnlyLink","type":"`boolean`","description":"If true it expands a RemoteQuery property but doesn't create a pivot table","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"extraDataFields","type":"`string`[]","description":"Fields that will be part of the link record aside from the primary keys that can be updated\nIf not explicitly defined, this array will be populated by databaseConfig.extraFields","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"databaseConfig","type":"`object`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"interfaceName","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="gqlSchemaToTypes"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"Promise","type":"Promise<void>","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="gqlSchemaToTypes"/>
|
|
|
|
### parseConnectionString
|
|
|
|
Parsers the database connection string into an object
|
|
of postgreSQL options
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"connectionString","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="parseConnectionString"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"ConnectionOptions","type":"`ConnectionOptions`","optional":false,"defaultValue":"","description":"Parsers the database connection string into an object\nof postgreSQL options","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="parseConnectionString"/>
|
|
|
|
### createClient
|
|
|
|
Creates a PostgreSQL database client using the connection
|
|
string or database options
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"options","type":"`string` \\| `ClientConfig`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="createClient"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"Client","type":"`Client`","optional":false,"defaultValue":"","description":"Creates a PostgreSQL database client using the connection\nstring or database options","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="createClient"/>
|
|
|
|
### createDb
|
|
|
|
Creates a database using the client. Make sure to call
|
|
`client.connect` before using this utility.
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"client","type":"`Client`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"databaseName","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="createDb"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"Promise","type":"Promise<void>","optional":false,"defaultValue":"","description":"Creates a database using the client. Make sure to call\n`client.connect` before using this utility.","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="createDb"/>
|
|
|
|
### dbExists
|
|
|
|
Checks if a database exists using the Client. Make sure to call
|
|
`client.connect` before using this utility.
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"client","type":"`Client`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"databaseName","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="dbExists"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"Promise","type":"Promise<boolean>","optional":false,"defaultValue":"","description":"Checks if a database exists using the Client. Make sure to call\n`client.connect` before using this utility.","expandable":false,"children":[{"name":"boolean","type":"`boolean`","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="dbExists"/>
|