Deprecated: Get started with libraries
The generated library using Skedulo SDK (Deprecated).
Important
The Skedulo SDK is being deprecated. For more information about timelines, alternative solutions, and impacts on existing extensions, please see the deprecation notice.You can start develop Skedulo library within a package using the Skedulo Packages SDK.
- Create a new package or open an existing one in the Skedulo SDK. See Skedulo packages for more information.
- In the SDK package project, click Add Library.
- Provide the
Name
andDescription
of your library, then click Create Library Project. - In the SDK package, click Develop on the library project to open the developer environment.
- Click Bootstrap to add any dependencies and validate the library.
- Click Start Development to start developing the library.
queries.graphql file
The queries.graphql
file is located in the library project’s source (/src/queries) folder.
This file contains all the queries for graphql execution.
query fetchJobsWithJobProducts($filter: EQLQueryFilterJobs!) {
jobs(filter: $filter) {
edges {
node {
UID
Name
JobProducts {
UID
Qty
Name
JobId
ProductId
}
}
}
}
}
query fetchProducts($orderBy: EQLOrderByClauseProducts, $filter: EQLQueryFilterProducts, $offset: NonNegativeInt) {
page: products(orderBy: $orderBy, filter: $filter, offset: $offset) {
totalCount
edges {
node {
UID
Name
Description
ProductCode
}
}
}
}
graphql.ts file
The graphql.ts
file is located in the library project’s source (/src/__graphql) folder.
This file contains all the type definitions that Skedulo exports for function and view to use.
For example, we want to export the type for a new Job Product or a new Job Offer:
export interface NewJobOffers {
CreatedByResource?: Maybe<boolean>;
JobId: string;
ResourceRequirementId?: Maybe<string>;
Status?: Maybe<OfferStatus>;
}
export interface NewJobProducts {
JobId: string;
ProductId?: Maybe<string>;
Qty: number;
}
index.ts file
So, the default library exports the DocumentNode for graphql, converts types representing data available in queries and generates raw types for other module use.
// Converted types representing data available in queries
export { JobProduct, Product, JobProductsManagedData, JobProductCacheData, JobProductsUnmanagedData } from './custom-types'
// Documents for execution
export { fetchJobsWithJobProducts, fetchProducts } from './queries/queries.graphql'
// Raw generated types for other use (raw schema types from server)
export { JobProducts, NewJobProducts, UpdateJobProducts, FetchJobsWithJobProducts, FetchProducts } from './__graphql/graphql'
Feedback
Was this page helpful?