Sha256: 09ac51aeab1b164dea8d8a55c893783607b7524a63bb8e52e27248b0869a401f

Contents?: true

Size: 1.44 KB

Versions: 1

Compression:

Stored size: 1.44 KB

Contents

import * as Attachments from "./Attachments";
import * as Images from "./Images";
import { LocalizedValue, MaybeLocalizedValue } from "../types";

export type Author = [name: string, id: number];

export type Ancestor = {
  id: number;
  name: LocalizedValue;
  path_segment: LocalizedValue;
};

export type StatusLabels = {
  [index: number]: string;
};

type BaseResource = {
  id?: number;
  blocks: Blocks;
  news_page: boolean;
  parent_page_id: number;
  permissions: string[];
  pinned: boolean;
  published_at: Date;
  status: number;
};

export type TreeResource = BaseResource & {
  editing?: boolean;
};

export type Blocks = {
  [index: string]: MaybeLocalizedValue;
  name: LocalizedValue;
};

export type MetaImage = {
  src?: string;
  image?: Images.Resource;
};

export type Resource = BaseResource & {
  all_day: boolean;
  ancestors: Ancestor[];
  enabled_tags: string[];
  ends_at: Date;
  errors: { attribute: string; message: string }[];
  feed_enabled: boolean;
  meta_image: MetaImage;
  page_files: Attachments.Record[];
  page_images: Images.Record[];
  path_segment: MaybeLocalizedValue;
  redirect_to: string;
  skip_index: boolean;
  starts_at: Date;
  tags_and_suggestions: string[];
  template: string;
  unique_name: string;
  urls: LocalizedValue;
  user_id: number;
};

export type SerializedResource = Omit<
  Resource,
  "published_at" | "starts_at" | "ends_at"
> & {
  published_at: string;
  starts_at: string;
  ends_at: string;
};

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pages_core-3.15.5 app/javascript/types/Pages.ts