@sheetbase/models v3.0.1
Sheetbase Models
Commonly used sheet structures for using Google Spreadsheet with Sheetbase backend.
Install & usage
npm install --save @sheetbase/models
import { Post } from '@sheetbase/models';
const posts: Post[] = [];
const post: Post = {};Models
:blue_heart: Category 101 :earth_asia:
sheetbase db create categories
:blue_heart: Tag 102 :earth_asia:
sheetbase db create tags
:blue_heart: Page 103 :earth_asia:
sheetbase db create pages
:blue_heart: Post 104 :earth_asia:
sheetbase db create posts
:blue_heart: Author 105 :earth_asia:
sheetbase db create authors
:blue_heart: Thread 106 :earth_asia:
sheetbase db create threads
:blue_heart: User 107 :x:
sheetbase db create users
:blue_heart: Option 108 :earth_asia:
sheetbase db create options
:green_heart: Bundle 111 :earth_asia:
sheetbase db create bundles
:green_heart: Audio 112 :earth_asia:
sheetbase db create audios
:green_heart: Video 113 :earth_asia:
sheetbase db create videos
:green_heart: Product 114 :earth_asia:
sheetbase db create products
:heart: Order 161 :x:
sheetbase db create orders
:heart: Property 162 :x:
sheetbase db create properties
:purple_heart: Notification 181 :earth_asia:
sheetbase db create notifications
:purple_heart: Promotion 182 :earth_asia:
sheetbase db create promotions
Field order
Sheet fields are sorted by groups.
- Ids:
#,title,$key type- Status:
status createdAt,updatedAtauthors- Images:
thumbnail,image - Content:
description|excerpt,content - (Specific properties)
localeoriginparentsrelationships- Taxonomies:
categories,tags, ... - Rating:
rating - Sharing:
sharing - Statistics:
viewCount,likeCount,commentCount keywords- Extras:
meta
Schema
Every model is defined in a .json file. File name is a plural string of a content type (categories, posts, ...) and is used as the model name.
export interface Schema {
gid: string | number; // will be corverted to string
public?: boolean;
dataUrl?: string;
schema: SchemaItem[];
}
export interface SchemaItem {
name: string;
width?: number;
note?: string;
}Gid
A Google Sheets sheet is indentified by its name (categories, posts, ...) or its gid (a string number as can be seen in the url #gid=0). @sheetbase/client uses the gid to request the public data accordingly.
Built-in models
A built-in model names its gid with 3 characters string number, prefix by 1.
- :blue_heart:
10x: major sheets - :green_heart:
11x-15x: custom content public sheets - :heart:
16x-17x: private sheets - :purple_heart:
18x-19x: miscellaneous sheets
Custom models
You can use any string number (from 1-9 characters) for your custom models, but it should not starts with 1 for 3 characters gid.
Suggested covention:
- :green_heart:
[2-9]1x-[2-9]5x: custom content public sheets - :heart:
[2-9]6x-[2-9]7x: private sheets - :purple_heart:
[2-9]8x-[2-9]9x: miscellaneous sheets
Lisence
Sheetbase Models is released under the MIT license.
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago