Skip to content

Commit

Permalink
Add Rich Text Schema
Browse files Browse the repository at this point in the history
  • Loading branch information
alexcibotari committed Nov 29, 2024
1 parent ec045da commit bd6dca0
Show file tree
Hide file tree
Showing 15 changed files with 777 additions and 25 deletions.
8 changes: 8 additions & 0 deletions functions/src/models/schema.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ export interface SchemaEnumValue {
export type SchemaField =
| SchemaFieldText
| SchemaFieldTextarea
| SchemaFieldRichText
| SchemaFieldMarkdown
| SchemaFieldNumber
| SchemaFieldColor
Expand All @@ -56,6 +57,7 @@ export type SchemaField =
export enum SchemaFieldKind {
TEXT = 'TEXT',
TEXTAREA = 'TEXTAREA',
RICH_TEXT = 'RICH_TEXT',
MARKDOWN = 'MARKDOWN',
NUMBER = 'NUMBER',
COLOR = 'COLOR',
Expand Down Expand Up @@ -95,6 +97,12 @@ export interface SchemaFieldTextarea extends SchemaFieldBase {
maxLength?: number;
}

export interface SchemaFieldRichText extends SchemaFieldBase {
kind: SchemaFieldKind.RICH_TEXT;
minLength?: number;
maxLength?: number;
}

export interface SchemaFieldMarkdown extends SchemaFieldBase {
kind: SchemaFieldKind.MARKDOWN;
minLength?: number;
Expand Down
7 changes: 7 additions & 0 deletions functions/src/models/schema.zod.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,12 @@ export const schemaFieldTextareaSchema = schemaFieldBaseSchema.extend({
maxLength: z.number().optional(),
});

export const schemaFieldRichTextSchema = schemaFieldBaseSchema.extend({
kind: z.literal(SchemaFieldKind.RICH_TEXT),
minLength: z.number().optional(),
maxLength: z.number().optional(),
});

export const schemaFieldMarkdownSchema = schemaFieldBaseSchema.extend({
kind: z.literal(SchemaFieldKind.MARKDOWN),
minLength: z.number().optional(),
Expand Down Expand Up @@ -134,6 +140,7 @@ export const schemaFieldAssetsSchema = schemaFieldBaseSchema.extend({
export const schemaFieldSchema = z.union([
schemaFieldTextSchema,
schemaFieldTextareaSchema,
schemaFieldRichTextSchema,
schemaFieldMarkdownSchema,
schemaFieldNumberSchema,
schemaFieldColorSchema,
Expand Down
Loading

0 comments on commit bd6dca0

Please sign in to comment.