Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new contember content client #648

Merged
merged 17 commits into from
Dec 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
- job_name: dedupe
run_script: yarn dedupe --check

container: node:16-alpine
container: node:18-alpine
steps:
- name: Checkout code
uses: actions/checkout@v3
Expand Down Expand Up @@ -85,7 +85,7 @@ jobs:
--health-retries 5

contember-engine:
image: contember/engine:1.2.0
image: contember/engine:1.3.6
env:
NODE_ENV: 'development'
CONTEMBER_PORT: '4000'
Expand Down Expand Up @@ -172,7 +172,7 @@ jobs:
if: github.event_name == 'push' && github.ref_type == 'tag'
needs: [test, playwright]
runs-on: ubuntu-latest
container: node:16-alpine
container: node:18-alpine

env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
Expand Down
144 changes: 13 additions & 131 deletions build/api/binding.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,20 @@

```ts

import { ContentQueryBuilder } from '@contember/client';
import type { CrudQueryBuilder } from '@contember/client';
import { EmbeddedActionsParser } from 'chevrotain';
import { v4 as generateUuid } from 'uuid';
import { GraphQlBuilder } from '@contember/client';
import type { GraphQlClient } from '@contember/client';
import type { GraphQlClientFailedRequestMetadata } from '@contember/client';
import { GraphQlClient } from '@contember/client';
import { GraphQlClientError } from '@contember/client';
import type { GraphQlClientRequestOptions } from '@contember/client';
import { GraphQlLiteral } from '@contember/client';
import { Input } from '@contember/client';
import { MutationResult } from '@contember/client';
import type { Result } from '@contember/client';
import { TokenType } from 'chevrotain';
import { TransactionResult } from '@contember/client';
import type { TreeFilter } from '@contember/client';

// @public (undocumented)
Expand Down Expand Up @@ -112,9 +115,12 @@ export class Config {
setValue<Name extends keyof BindingConfig>(name: Name, value: BindingConfig[Name]): this;
}

// @public (undocumented)
export const createQueryBuilder: (schema: Schema) => ContentQueryBuilder;

// @public (undocumented)
export class DataBinding<Node> {
constructor(contentApiClient: GraphQlClient, systemApiClient: GraphQlClient, tenantApiClient: GraphQlClient, treeStore: TreeStore, environment: Environment, createMarkerTree: (node: Node, environment: Environment) => MarkerTreeRoot, batchedUpdates: (callback: () => any) => void, onUpdate: (newData: TreeRootAccessor<Node>, binding: DataBinding<Node>) => void, onError: (error: RequestError, binding: DataBinding<Node>) => void, onPersistSuccess: (result: SuccessfulPersistResult, binding: DataBinding<Node>) => void, options: {
constructor(contentApiClient: GraphQlClient, systemApiClient: GraphQlClient, tenantApiClient: GraphQlClient, treeStore: TreeStore, environment: Environment, createMarkerTree: (node: Node, environment: Environment) => MarkerTreeRoot, batchedUpdates: (callback: () => any) => void, onUpdate: (newData: TreeRootAccessor<Node>, binding: DataBinding<Node>) => void, onError: (error: GraphQlClientError, binding: DataBinding<Node>) => void, onPersistSuccess: (result: SuccessfulPersistResult, binding: DataBinding<Node>) => void, options: {
skipStateUpdateAfterPersist: boolean;
});
// (undocumented)
Expand All @@ -124,6 +130,9 @@ export class DataBinding<Node> {
// @public (undocumented)
export const DataBindingExtendAborted: unique symbol;

// @public (undocumented)
export type DataBindingTransactionResult = TransactionResult<Record<string, MutationResult<ReceivedEntityData>>>;

// @public (undocumented)
export class DirtinessTracker {
// (undocumented)
Expand Down Expand Up @@ -706,10 +715,7 @@ export namespace ErrorAccessor {
}

// @public (undocumented)
export type ErrorPathNodeType = FieldPathErrorFragment | IndexPathErrorFragment;

// @public (undocumented)
export type ErrorPersistResult = InvalidInputPersistResult | RequestError | InvalidResponseResult;
export type ErrorPersistResult = InvalidInputPersistResult | InvalidResponseResult;

// Warning: (ae-forgotten-export) The symbol "GenericEventsMap" needs to be exported by the entry point index.d.ts
//
Expand Down Expand Up @@ -788,16 +794,6 @@ export class EventManager {
triggerOnPersistSuccess(options: PersistSuccessOptions): Promise<void>;
}

// @public (undocumented)
export interface ExecutionError {
// (undocumented)
message: string | null;
// (undocumented)
path: MutationErrorPath;
// (undocumented)
type: Result.ExecutionErrorType;
}

// @public (undocumented)
export type ExpectedEntityCount = 'upToOne' | 'possiblyMany';

Expand Down Expand Up @@ -931,14 +927,6 @@ export class FieldMarker {
// @public (undocumented)
export type FieldName = string;

// @public (undocumented)
export interface FieldPathErrorFragment {
// (undocumented)
__typename: '_FieldPathFragment';
// (undocumented)
field: string;
}

// @public (undocumented)
export type FieldValue = JsonValue;

Expand All @@ -956,19 +944,6 @@ export type GetEntityListSubTree = (parametersOrAlias: Alias | SugaredQualifiedE
// @public (undocumented)
export type GetEntitySubTree = (parametersOrAlias: Alias | SugaredQualifiedSingleEntity | SugaredUnconstrainedQualifiedSingleEntity, treeId?: TreeRootId, environment?: Environment) => EntityAccessor;

// @public (undocumented)
export interface GqlError {
// (undocumented)
errors: {
message: string;
path?: string[];
}[];
// (undocumented)
query: string;
// (undocumented)
type: 'gqlError';
}

// @public (undocumented)
export interface HasManyRelation extends Relation, EntityListParameters, EntityListEventListeners {
}
Expand Down Expand Up @@ -1009,16 +984,6 @@ export class HasOneRelationMarker {
readonly placeholderName: string;
}

// @public (undocumented)
export interface IndexPathErrorFragment {
// (undocumented)
__typename: '_IndexPathFragment';
// (undocumented)
alias: string | null;
// (undocumented)
index: number;
}

// @public (undocumented)
export interface InvalidInputPersistResult {
// (undocumented)
Expand Down Expand Up @@ -1154,64 +1119,6 @@ export class MarkerTreeRoot {
// @public (undocumented)
export type MeaningfulMarker = FieldMarker | HasOneRelationMarker | HasManyRelationMarker | EntityListSubTreeMarker | EntitySubTreeMarker;

// @public (undocumented)
export const metadataToRequestError: (metadata: GraphQlClientFailedRequestMetadata) => RequestError;

// @public (undocumented)
export interface MutationDataResponse {
// (undocumented)
[alias: string]: MutationResponse;
}

// @public (undocumented)
export type MutationErrorPath = ErrorPathNodeType[];

// @public (undocumented)
export interface MutationRequestResponse {
// (undocumented)
data: MutationTransactionResponse | null;
// (undocumented)
errors?: {
message: string;
path?: string[];
}[];
}

// @public (undocumented)
export interface MutationResponse {
// (undocumented)
errorMessage: string | null;
// (undocumented)
errors: ExecutionError[];
// (undocumented)
node: ReceivedEntityData;
// (undocumented)
ok: boolean;
// (undocumented)
validation: {
valid: boolean;
errors: ValidationError[];
} | undefined;
}

// @public (undocumented)
export interface MutationTransactionResponse {
// (undocumented)
transaction: (MutationDataResponse & {
__typename: 'MutationTransaction';
ok: boolean;
errorMessage: string | null;
});
}

// @public (undocumented)
export interface NetworkErrorRequestError {
// (undocumented)
metadata: GraphQlClientFailedRequestMetadata;
// (undocumented)
type: 'networkError';
}

// @public (undocumented)
export const NIL_UUID = "00000000-0000-0000-0000-000000000000";

Expand Down Expand Up @@ -1538,9 +1445,6 @@ export type RelativeSingleField = AnyField & LeafField & {
// @public (undocumented)
export type RemovalType = 'disconnect' | 'delete';

// @public (undocumented)
export type RequestError = UnauthorizedRequestError | NetworkErrorRequestError | GqlError | UnknownErrorRequestError;

// @public (undocumented)
export type RuntimeId = ServerId | ClientGeneratedUuid | UnpersistedEntityDummyId;

Expand Down Expand Up @@ -2055,12 +1959,6 @@ export class TreeStore {
// @public (undocumented)
export const TYPENAME_KEY_NAME = "__typename";

// @public (undocumented)
export interface UnauthorizedRequestError {
// (undocumented)
type: 'unauthorized';
}

// @public (undocumented)
export interface UnconstrainedQualifiedEntityList extends QualifiedEntityParameters, EntityCreationParameters, EntityListEventListeners, EntityListPreferences {
// (undocumented)
Expand Down Expand Up @@ -2089,12 +1987,6 @@ export type UniqueEntityId = string & {
// @public (undocumented)
export type UniqueWhere<T = GraphQlBuilder.GraphQlLiteral> = Input.UniqueWhere<T>;

// @public (undocumented)
export interface UnknownErrorRequestError {
// (undocumented)
type: 'unknownError';
}

// @public (undocumented)
export class UnpersistedEntityDummyId implements RuntimeIdSpec {
constructor();
Expand Down Expand Up @@ -2229,16 +2121,6 @@ export interface UnsugarableUnconstrainedQualifiedSingleEntity extends Unsugarab
isUnpersisted?: boolean;
}

// @public (undocumented)
export interface ValidationError {
// (undocumented)
message: {
text: string;
};
// (undocumented)
path: MutationErrorPath;
}

// @public (undocumented)
export class VariableFieldValue {
constructor(variableName: string);
Expand Down
37 changes: 37 additions & 0 deletions build/api/client-content-generator.api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
## API Report File for "@contember/client-content-generator"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import { Model } from '@contember/schema';
import { SchemaNames } from '@contember/client-content';

// @public (undocumented)
export class ContemberClientGenerator {
constructor(nameSchemaGenerator?: NameSchemaGenerator, enumTypeSchemaGenerator?: EnumTypeSchemaGenerator, entityTypeSchemaGenerator?: EntityTypeSchemaGenerator);
// (undocumented)
generate(model: Model.Schema): Record<string, string>;
}

// @public (undocumented)
export class EntityTypeSchemaGenerator {
// (undocumented)
generate(model: Model.Schema): string;
}

// @public (undocumented)
export class EnumTypeSchemaGenerator {
// (undocumented)
generate(model: Model.Schema): string;
}

// @public (undocumented)
export class NameSchemaGenerator {
// (undocumented)
generate(model: Model.Schema): SchemaNames;
}

// (No @packageDocumentation comment for this package)

```
Loading
Loading