@platform/cell.schema
Version:
URI and database schemas for the `cell.os`.
59 lines (58 loc) • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var ID = {
NS: "([A-Za-z0-9.]*)",
CELL: "([A-Z]+[0-9]+)",
ROW: "([0-9]+)",
COLUMN: "([A-Z]+)",
FILE: "([A-Za-z0-9]+)",
FILENAME: "([-A-Za-z0-9._/]*)",
};
var KEY = {
NS: "\\::ns" + ID.NS,
CELL: ":key" + ID.CELL,
ROW: ":key" + ID.ROW,
COLUMN: ":key" + ID.COLUMN,
FILE: ":file" + ID.FILE,
FILENAME: ":filename" + ID.FILENAME,
};
exports.ROUTES = {
WILDCARD: '*',
SYS: {
FAVICON: '/favicon.ico',
INFO: ['/', '/.sys(/?)'],
UID: '/uid(/?)',
},
LOCAL: {
FS: "/local/fs",
},
FILE: {
BASE: "/file" + KEY.NS + "\\:" + KEY.FILE + "(/?)",
INFO: "/file" + KEY.NS + "\\:" + KEY.FILE + "/info(/?)",
UPLOADED: "/file" + KEY.NS + "\\:" + KEY.FILE + "/uploaded(/?)",
},
NS: {
CELL: "/ns" + KEY.NS + "\\:" + KEY.CELL + "(/?)",
INFO: "/ns" + KEY.NS + "(/?)",
TYPES: "/ns" + KEY.NS + "/types",
},
CELL: {
NS: "/cell" + KEY.NS + "(/?)",
INFO: "/cell" + KEY.NS + "\\:" + KEY.CELL + "(/?)",
FILE: {
BY_NAME: "/cell" + KEY.NS + "\\:" + KEY.CELL + "/file/" + KEY.FILENAME,
BY_FILE_URI: "/cell" + KEY.NS + "\\:" + KEY.CELL + "/file\\:" + KEY.FILENAME,
},
FILES: {
BASE: "/cell" + KEY.NS + "\\:" + KEY.CELL + "/files(/?)",
UPLOAD: "/cell" + KEY.NS + "\\:" + KEY.CELL + "/files/upload",
UPLOADED: "/cell" + KEY.NS + "\\:" + KEY.CELL + "/files/uploaded",
},
},
ROW: {
INFO: "/cell" + KEY.NS + "\\:" + KEY.ROW + "(/?)",
},
COLUMN: {
INFO: "/cell" + KEY.NS + "\\:" + KEY.COLUMN + "(/?)",
},
};