Skip to content

Commit 5530d3b

Browse files
Copilothotlong
andcommitted
Remove redundant FieldTypeToGraphQLMapping schema, keep helper function
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
1 parent f837385 commit 5530d3b

3 files changed

Lines changed: 3 additions & 345 deletions

File tree

content/docs/references/api/graphql.mdx

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,15 @@ description: Graphql protocol schemas
1212
## TypeScript Usage
1313

1414
```typescript
15-
import { FieldTypeToGraphQLMappingSchema, GraphQLConfigSchema, GraphQLDataLoaderConfigSchema, GraphQLDirectiveConfigSchema, GraphQLDirectiveLocationSchema, GraphQLMutationConfigSchema, GraphQLPersistedQuerySchema, GraphQLQueryComplexitySchema, GraphQLQueryConfigSchema, GraphQLQueryDepthLimitSchema, GraphQLRateLimitSchema, GraphQLResolverConfigSchema, GraphQLScalarTypeSchema, GraphQLSubscriptionConfigSchema, GraphQLTypeConfigSchema } from '@objectstack/spec/api';
16-
import type { FieldTypeToGraphQLMapping, GraphQLConfig, GraphQLDataLoaderConfig, GraphQLDirectiveConfig, GraphQLDirectiveLocation, GraphQLMutationConfig, GraphQLPersistedQuery, GraphQLQueryComplexity, GraphQLQueryConfig, GraphQLQueryDepthLimit, GraphQLRateLimit, GraphQLResolverConfig, GraphQLScalarType, GraphQLSubscriptionConfig, GraphQLTypeConfig } from '@objectstack/spec/api';
15+
import { GraphQLConfigSchema, GraphQLDataLoaderConfigSchema, GraphQLDirectiveConfigSchema, GraphQLDirectiveLocationSchema, GraphQLMutationConfigSchema, GraphQLPersistedQuerySchema, GraphQLQueryComplexitySchema, GraphQLQueryConfigSchema, GraphQLQueryDepthLimitSchema, GraphQLRateLimitSchema, GraphQLResolverConfigSchema, GraphQLScalarTypeSchema, GraphQLSubscriptionConfigSchema, GraphQLTypeConfigSchema } from '@objectstack/spec/api';
16+
import type { GraphQLConfig, GraphQLDataLoaderConfig, GraphQLDirectiveConfig, GraphQLDirectiveLocation, GraphQLMutationConfig, GraphQLPersistedQuery, GraphQLQueryComplexity, GraphQLQueryConfig, GraphQLQueryDepthLimit, GraphQLRateLimit, GraphQLResolverConfig, GraphQLScalarType, GraphQLSubscriptionConfig, GraphQLTypeConfig } from '@objectstack/spec/api';
1717

1818
// Validate data
19-
const result = FieldTypeToGraphQLMappingSchema.parse(data);
19+
const result = GraphQLConfigSchema.parse(data);
2020
```
2121

2222
---
2323

24-
## FieldTypeToGraphQLMapping
25-
26-
Field type to GraphQL type mapping configuration
27-
28-
---
29-
3024
## GraphQLConfig
3125

3226
### Properties

packages/spec/json-schema/api/FieldTypeToGraphQLMapping.json

Lines changed: 0 additions & 260 deletions
This file was deleted.

packages/spec/src/api/graphql.zod.ts

Lines changed: 0 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -109,82 +109,6 @@ export const GraphQLScalarType = z.enum([
109109

110110
export type GraphQLScalarType = z.infer<typeof GraphQLScalarType>;
111111

112-
/**
113-
* ObjectQL to GraphQL Type Mapping
114-
*
115-
* Maps ObjectQL field types to GraphQL scalar types.
116-
* This enables automatic schema generation from Object definitions.
117-
*/
118-
export const FieldTypeToGraphQLMapping = z.object({
119-
// Core Text -> String
120-
text: z.literal('String').default('String'),
121-
textarea: z.literal('String').default('String'),
122-
email: z.literal('Email').default('Email'),
123-
url: z.literal('URL').default('URL'),
124-
phone: z.literal('PhoneNumber').default('PhoneNumber'),
125-
password: z.literal('String').default('String'),
126-
127-
// Rich Content -> String
128-
markdown: z.literal('String').default('String'),
129-
html: z.literal('String').default('String'),
130-
richtext: z.literal('String').default('String'),
131-
132-
// Numbers
133-
number: z.literal('Float').default('Float'),
134-
currency: z.literal('Currency').default('Currency'),
135-
percent: z.literal('Float').default('Float'),
136-
137-
// Date & Time
138-
date: z.literal('Date').default('Date'),
139-
datetime: z.literal('DateTime').default('DateTime'),
140-
time: z.literal('Time').default('Time'),
141-
142-
// Logic
143-
boolean: z.literal('Boolean').default('Boolean'),
144-
toggle: z.literal('Boolean').default('Boolean'),
145-
146-
// Selection -> String (enum values)
147-
select: z.literal('String').default('String'),
148-
multiselect: z.array(z.literal('String')).default(['String']),
149-
radio: z.literal('String').default('String'),
150-
checkboxes: z.array(z.literal('String')).default(['String']),
151-
152-
// Relational -> ID
153-
lookup: z.literal('ID').default('ID'),
154-
master_detail: z.literal('ID').default('ID'),
155-
tree: z.literal('ID').default('ID'),
156-
157-
// Media -> String (URLs) or Upload
158-
image: z.literal('URL').default('URL'),
159-
file: z.literal('URL').default('URL'),
160-
avatar: z.literal('URL').default('URL'),
161-
video: z.literal('URL').default('URL'),
162-
audio: z.literal('URL').default('URL'),
163-
164-
// Calculated
165-
formula: z.literal('String').default('String'),
166-
summary: z.literal('Float').default('Float'),
167-
autonumber: z.literal('String').default('String'),
168-
169-
// Enhanced Types
170-
location: z.literal('JSONObject').default('JSONObject'),
171-
address: z.literal('JSONObject').default('JSONObject'),
172-
code: z.literal('String').default('String'),
173-
json: z.literal('JSON').default('JSON'),
174-
color: z.literal('String').default('String'),
175-
rating: z.literal('Float').default('Float'),
176-
slider: z.literal('Float').default('Float'),
177-
signature: z.literal('String').default('String'),
178-
qrcode: z.literal('String').default('String'),
179-
progress: z.literal('Float').default('Float'),
180-
tags: z.array(z.literal('String')).default(['String']),
181-
182-
// AI/ML Types
183-
vector: z.array(z.literal('Float')).default(['Float']),
184-
}).optional().describe('Field type to GraphQL type mapping configuration');
185-
186-
export type FieldTypeToGraphQLMapping = z.infer<typeof FieldTypeToGraphQLMapping>;
187-
188112
/**
189113
* GraphQL Type Configuration
190114
*

0 commit comments

Comments
 (0)