@dosgato/api 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +74 -0
- package/dist/access/access.model.d.ts +2 -0
- package/dist/access/access.model.js +14 -0
- package/dist/access/access.model.js.map +1 -0
- package/dist/access/access.resolver.d.ts +15 -0
- package/dist/access/access.resolver.js +133 -0
- package/dist/access/access.resolver.js.map +1 -0
- package/dist/asset/asset.database.d.ts +12 -0
- package/dist/asset/asset.database.js +116 -0
- package/dist/asset/asset.database.js.map +1 -0
- package/dist/asset/asset.model.d.ts +81 -0
- package/dist/asset/asset.model.js +271 -0
- package/dist/asset/asset.model.js.map +1 -0
- package/dist/asset/asset.resolver.d.ts +32 -0
- package/dist/asset/asset.resolver.js +325 -0
- package/dist/asset/asset.resolver.js.map +1 -0
- package/dist/asset/asset.service.d.ts +35 -0
- package/dist/asset/asset.service.js +225 -0
- package/dist/asset/asset.service.js.map +1 -0
- package/dist/assetfolder/assetfolder.database.d.ts +7 -0
- package/dist/assetfolder/assetfolder.database.js +85 -0
- package/dist/assetfolder/assetfolder.database.js.map +1 -0
- package/dist/assetfolder/assetfolder.model.d.ts +56 -0
- package/dist/assetfolder/assetfolder.model.js +160 -0
- package/dist/assetfolder/assetfolder.model.js.map +1 -0
- package/dist/assetfolder/assetfolder.resolver.d.ts +25 -0
- package/dist/assetfolder/assetfolder.resolver.js +255 -0
- package/dist/assetfolder/assetfolder.resolver.js.map +1 -0
- package/dist/assetfolder/assetfolder.service.d.ts +39 -0
- package/dist/assetfolder/assetfolder.service.js +355 -0
- package/dist/assetfolder/assetfolder.service.js.map +1 -0
- package/dist/assetrule/assetrule.database.d.ts +5 -0
- package/dist/assetrule/assetrule.database.js +161 -0
- package/dist/assetrule/assetrule.database.js.map +1 -0
- package/dist/assetrule/assetrule.model.d.ts +71 -0
- package/dist/assetrule/assetrule.model.js +221 -0
- package/dist/assetrule/assetrule.model.js.map +1 -0
- package/dist/assetrule/assetrule.resolver.d.ts +12 -0
- package/dist/assetrule/assetrule.resolver.js +100 -0
- package/dist/assetrule/assetrule.resolver.js.map +1 -0
- package/dist/assetrule/assetrule.service.d.ts +26 -0
- package/dist/assetrule/assetrule.service.js +184 -0
- package/dist/assetrule/assetrule.service.js.map +1 -0
- package/dist/createdb.d.ts +2 -0
- package/dist/createdb.js +541 -0
- package/dist/createdb.js.map +1 -0
- package/dist/data/data.database.d.ts +7 -0
- package/dist/data/data.database.js +265 -0
- package/dist/data/data.database.js.map +1 -0
- package/dist/data/data.indexing.d.ts +2 -0
- package/dist/data/data.indexing.js +23 -0
- package/dist/data/data.indexing.js.map +1 -0
- package/dist/data/data.model.d.ts +69 -0
- package/dist/data/data.model.js +206 -0
- package/dist/data/data.model.js.map +1 -0
- package/dist/data/data.resolver.d.ts +36 -0
- package/dist/data/data.resolver.js +384 -0
- package/dist/data/data.resolver.js.map +1 -0
- package/dist/data/data.service.d.ts +41 -0
- package/dist/data/data.service.js +374 -0
- package/dist/data/data.service.js.map +1 -0
- package/dist/datafolder/datafolder.database.d.ts +7 -0
- package/dist/datafolder/datafolder.database.js +72 -0
- package/dist/datafolder/datafolder.database.js.map +1 -0
- package/dist/datafolder/datafolder.model.d.ts +48 -0
- package/dist/datafolder/datafolder.model.js +139 -0
- package/dist/datafolder/datafolder.model.js.map +1 -0
- package/dist/datafolder/datafolder.resolver.d.ts +24 -0
- package/dist/datafolder/datafolder.resolver.js +243 -0
- package/dist/datafolder/datafolder.resolver.js.map +1 -0
- package/dist/datafolder/datafolder.service.d.ts +32 -0
- package/dist/datafolder/datafolder.service.js +223 -0
- package/dist/datafolder/datafolder.service.js.map +1 -0
- package/dist/dataroot/dataroot.model.d.ts +19 -0
- package/dist/dataroot/dataroot.model.js +72 -0
- package/dist/dataroot/dataroot.model.js.map +1 -0
- package/dist/dataroot/dataroot.resolver.d.ts +11 -0
- package/dist/dataroot/dataroot.resolver.js +87 -0
- package/dist/dataroot/dataroot.resolver.js.map +1 -0
- package/dist/dataroot/dataroot.service.d.ts +12 -0
- package/dist/dataroot/dataroot.service.js +62 -0
- package/dist/dataroot/dataroot.service.js.map +1 -0
- package/dist/datarule/datarule.database.d.ts +5 -0
- package/dist/datarule/datarule.database.js +144 -0
- package/dist/datarule/datarule.database.js.map +1 -0
- package/dist/datarule/datarule.model.d.ts +55 -0
- package/dist/datarule/datarule.model.js +200 -0
- package/dist/datarule/datarule.model.js.map +1 -0
- package/dist/datarule/datarule.resolver.d.ts +13 -0
- package/dist/datarule/datarule.resolver.js +114 -0
- package/dist/datarule/datarule.resolver.js.map +1 -0
- package/dist/datarule/datarule.service.d.ts +27 -0
- package/dist/datarule/datarule.service.js +191 -0
- package/dist/datarule/datarule.service.js.map +1 -0
- package/dist/fixtures.d.ts +1 -0
- package/dist/fixtures.js +697 -0
- package/dist/fixtures.js.map +1 -0
- package/dist/fixturetemplates.d.ts +110 -0
- package/dist/fixturetemplates.js +178 -0
- package/dist/fixturetemplates.js.map +1 -0
- package/dist/globalrule/globalrule.database.d.ts +5 -0
- package/dist/globalrule/globalrule.database.js +65 -0
- package/dist/globalrule/globalrule.database.js.map +1 -0
- package/dist/globalrule/globalrule.model.d.ts +34 -0
- package/dist/globalrule/globalrule.model.js +120 -0
- package/dist/globalrule/globalrule.model.js.map +1 -0
- package/dist/globalrule/globalrule.resolver.d.ts +11 -0
- package/dist/globalrule/globalrule.resolver.js +85 -0
- package/dist/globalrule/globalrule.resolver.js.map +1 -0
- package/dist/globalrule/globalrule.service.d.ts +18 -0
- package/dist/globalrule/globalrule.service.js +111 -0
- package/dist/globalrule/globalrule.service.js.map +1 -0
- package/dist/group/group.database.d.ts +41 -0
- package/dist/group/group.database.js +190 -0
- package/dist/group/group.database.js.map +1 -0
- package/dist/group/group.model.d.ts +19 -0
- package/dist/group/group.model.js +70 -0
- package/dist/group/group.model.js.map +1 -0
- package/dist/group/group.resolver.d.ts +27 -0
- package/dist/group/group.resolver.js +275 -0
- package/dist/group/group.resolver.js.map +1 -0
- package/dist/group/group.service.d.ts +46 -0
- package/dist/group/group.service.js +384 -0
- package/dist/group/group.service.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +109 -0
- package/dist/index.js.map +1 -0
- package/dist/internal.d.ts +88 -0
- package/dist/internal.js +89 -0
- package/dist/internal.js.map +1 -0
- package/dist/migrations.d.ts +2 -0
- package/dist/migrations.js +41 -0
- package/dist/migrations.js.map +1 -0
- package/dist/organization/organization.database.d.ts +2 -0
- package/dist/organization/organization.database.js +16 -0
- package/dist/organization/organization.database.js.map +1 -0
- package/dist/organization/organization.model.d.ts +5 -0
- package/dist/organization/organization.model.js +35 -0
- package/dist/organization/organization.model.js.map +1 -0
- package/dist/organization/organization.resolver.d.ts +6 -0
- package/dist/organization/organization.resolver.js +43 -0
- package/dist/organization/organization.resolver.js.map +1 -0
- package/dist/organization/organization.service.d.ts +12 -0
- package/dist/organization/organization.service.js +35 -0
- package/dist/organization/organization.service.js.map +1 -0
- package/dist/page/page.database.d.ts +10 -0
- package/dist/page/page.database.js +269 -0
- package/dist/page/page.database.js.map +1 -0
- package/dist/page/page.indexing.d.ts +3 -0
- package/dist/page/page.indexing.js +26 -0
- package/dist/page/page.indexing.js.map +1 -0
- package/dist/page/page.migrations.d.ts +13 -0
- package/dist/page/page.migrations.js +55 -0
- package/dist/page/page.migrations.js.map +1 -0
- package/dist/page/page.model.d.ts +88 -0
- package/dist/page/page.model.js +272 -0
- package/dist/page/page.model.js.map +1 -0
- package/dist/page/page.resolver.d.ts +48 -0
- package/dist/page/page.resolver.js +542 -0
- package/dist/page/page.resolver.js.map +1 -0
- package/dist/page/page.service.d.ts +59 -0
- package/dist/page/page.service.js +399 -0
- package/dist/page/page.service.js.map +1 -0
- package/dist/page/page.util.d.ts +3 -0
- package/dist/page/page.util.js +16 -0
- package/dist/page/page.util.js.map +1 -0
- package/dist/page/page.validation.d.ts +2 -0
- package/dist/page/page.validation.js +21 -0
- package/dist/page/page.validation.js.map +1 -0
- package/dist/pagerule/pagerule.database.d.ts +5 -0
- package/dist/pagerule/pagerule.database.js +212 -0
- package/dist/pagerule/pagerule.database.js.map +1 -0
- package/dist/pagerule/pagerule.model.d.ts +71 -0
- package/dist/pagerule/pagerule.model.js +272 -0
- package/dist/pagerule/pagerule.model.js.map +1 -0
- package/dist/pagerule/pagerule.resolver.d.ts +13 -0
- package/dist/pagerule/pagerule.resolver.js +114 -0
- package/dist/pagerule/pagerule.resolver.js.map +1 -0
- package/dist/pagerule/pagerule.service.d.ts +23 -0
- package/dist/pagerule/pagerule.service.js +180 -0
- package/dist/pagerule/pagerule.service.js.map +1 -0
- package/dist/pagetree/pagetree.database.d.ts +13 -0
- package/dist/pagetree/pagetree.database.js +84 -0
- package/dist/pagetree/pagetree.database.js.map +1 -0
- package/dist/pagetree/pagetree.model.d.ts +43 -0
- package/dist/pagetree/pagetree.model.js +146 -0
- package/dist/pagetree/pagetree.model.js.map +1 -0
- package/dist/pagetree/pagetree.resolver.d.ts +23 -0
- package/dist/pagetree/pagetree.resolver.js +238 -0
- package/dist/pagetree/pagetree.resolver.js.map +1 -0
- package/dist/pagetree/pagetree.service.d.ts +25 -0
- package/dist/pagetree/pagetree.service.js +221 -0
- package/dist/pagetree/pagetree.service.js.map +1 -0
- package/dist/role/role.database.d.ts +17 -0
- package/dist/role/role.database.js +74 -0
- package/dist/role/role.database.js.map +1 -0
- package/dist/role/role.model.d.ts +26 -0
- package/dist/role/role.model.js +84 -0
- package/dist/role/role.model.js.map +1 -0
- package/dist/role/role.resolver.d.ts +27 -0
- package/dist/role/role.resolver.js +294 -0
- package/dist/role/role.resolver.js.map +1 -0
- package/dist/role/role.service.d.ts +33 -0
- package/dist/role/role.service.js +265 -0
- package/dist/role/role.service.js.map +1 -0
- package/dist/run.d.ts +1 -0
- package/dist/run.js +29 -0
- package/dist/run.js.map +1 -0
- package/dist/scalars/datetime.d.ts +2 -0
- package/dist/scalars/datetime.js +19 -0
- package/dist/scalars/datetime.js.map +1 -0
- package/dist/scalars/index.d.ts +3 -0
- package/dist/scalars/index.js +4 -0
- package/dist/scalars/index.js.map +1 -0
- package/dist/scalars/jsondata.d.ts +2 -0
- package/dist/scalars/jsondata.js +15 -0
- package/dist/scalars/jsondata.js.map +1 -0
- package/dist/scalars/urlsafestring.d.ts +4 -0
- package/dist/scalars/urlsafestring.js +28 -0
- package/dist/scalars/urlsafestring.js.map +1 -0
- package/dist/site/site.database.d.ts +15 -0
- package/dist/site/site.database.js +164 -0
- package/dist/site/site.database.js.map +1 -0
- package/dist/site/site.model.d.ts +62 -0
- package/dist/site/site.model.js +197 -0
- package/dist/site/site.model.js.map +1 -0
- package/dist/site/site.resolver.d.ts +30 -0
- package/dist/site/site.resolver.js +326 -0
- package/dist/site/site.resolver.js.map +1 -0
- package/dist/site/site.service.d.ts +35 -0
- package/dist/site/site.service.js +199 -0
- package/dist/site/site.service.js.map +1 -0
- package/dist/siterule/siterule.database.d.ts +5 -0
- package/dist/siterule/siterule.database.js +139 -0
- package/dist/siterule/siterule.database.js.map +1 -0
- package/dist/siterule/siterule.model.d.ts +53 -0
- package/dist/siterule/siterule.model.js +203 -0
- package/dist/siterule/siterule.model.js.map +1 -0
- package/dist/siterule/siterule.resolver.d.ts +12 -0
- package/dist/siterule/siterule.resolver.js +100 -0
- package/dist/siterule/siterule.resolver.js.map +1 -0
- package/dist/siterule/siterule.service.d.ts +23 -0
- package/dist/siterule/siterule.service.js +148 -0
- package/dist/siterule/siterule.service.js.map +1 -0
- package/dist/template/template.database.d.ts +15 -0
- package/dist/template/template.database.js +61 -0
- package/dist/template/template.database.js.map +1 -0
- package/dist/template/template.model.d.ts +32 -0
- package/dist/template/template.model.js +124 -0
- package/dist/template/template.model.js.map +1 -0
- package/dist/template/template.resolver.d.ts +22 -0
- package/dist/template/template.resolver.js +216 -0
- package/dist/template/template.resolver.js.map +1 -0
- package/dist/template/template.service.d.ts +27 -0
- package/dist/template/template.service.js +192 -0
- package/dist/template/template.service.js.map +1 -0
- package/dist/templaterule/templaterule.database.d.ts +5 -0
- package/dist/templaterule/templaterule.database.js +80 -0
- package/dist/templaterule/templaterule.database.js.map +1 -0
- package/dist/templaterule/templaterule.model.d.ts +38 -0
- package/dist/templaterule/templaterule.model.js +136 -0
- package/dist/templaterule/templaterule.model.js.map +1 -0
- package/dist/templaterule/templaterule.resolver.d.ts +12 -0
- package/dist/templaterule/templaterule.resolver.js +100 -0
- package/dist/templaterule/templaterule.resolver.js.map +1 -0
- package/dist/templaterule/templaterule.service.d.ts +19 -0
- package/dist/templaterule/templaterule.service.js +123 -0
- package/dist/templaterule/templaterule.service.js.map +1 -0
- package/dist/user/user.database.d.ts +22 -0
- package/dist/user/user.database.js +116 -0
- package/dist/user/user.database.js.map +1 -0
- package/dist/user/user.model.d.ts +42 -0
- package/dist/user/user.model.js +122 -0
- package/dist/user/user.model.js.map +1 -0
- package/dist/user/user.resolver.d.ts +16 -0
- package/dist/user/user.resolver.js +140 -0
- package/dist/user/user.resolver.js.map +1 -0
- package/dist/user/user.service.d.ts +29 -0
- package/dist/user/user.service.js +195 -0
- package/dist/user/user.service.js.map +1 -0
- package/dist/util/authservice.d.ts +28 -0
- package/dist/util/authservice.js +131 -0
- package/dist/util/authservice.js.map +1 -0
- package/dist/util/dates.d.ts +2 -0
- package/dist/util/dates.js +4 -0
- package/dist/util/dates.js.map +1 -0
- package/dist/util/filehandler.d.ts +15 -0
- package/dist/util/filehandler.js +48 -0
- package/dist/util/filehandler.js.map +1 -0
- package/dist/util/index.d.ts +13 -0
- package/dist/util/index.js +26 -0
- package/dist/util/index.js.map +1 -0
- package/dist/util/indexing.d.ts +12 -0
- package/dist/util/indexing.js +74 -0
- package/dist/util/indexing.js.map +1 -0
- package/dist/util/migrations.d.ts +15 -0
- package/dist/util/migrations.js +2 -0
- package/dist/util/migrations.js.map +1 -0
- package/dist/util/mutationlogger.d.ts +1 -0
- package/dist/util/mutationlogger.js +9 -0
- package/dist/util/mutationlogger.js.map +1 -0
- package/dist/util/registry.d.ts +25 -0
- package/dist/util/registry.js +66 -0
- package/dist/util/registry.js.map +1 -0
- package/dist/util/rules.d.ts +6 -0
- package/dist/util/rules.js +31 -0
- package/dist/util/rules.js.map +1 -0
- package/dist/util/sharedtypes.d.ts +3 -0
- package/dist/util/sharedtypes.js +2 -0
- package/dist/util/sharedtypes.js.map +1 -0
- package/dist/util/stopwords.d.ts +1 -0
- package/dist/util/stopwords.js +152 -0
- package/dist/util/stopwords.js.map +1 -0
- package/dist/version/version.model.d.ts +11 -0
- package/dist/version/version.model.js +46 -0
- package/dist/version/version.model.js.map +1 -0
- package/dist/version/version.resolver.d.ts +6 -0
- package/dist/version/version.resolver.js +45 -0
- package/dist/version/version.resolver.js.map +1 -0
- package/dist/versionedservice/service.d.ts +148 -0
- package/dist/versionedservice/service.js +547 -0
- package/dist/versionedservice/service.js.map +1 -0
- package/dist/versionedservice/types.d.ts +87 -0
- package/dist/versionedservice/types.js +11 -0
- package/dist/versionedservice/types.js.map +1 -0
- package/package.json +50 -0
- package/readme/DosGato.mwb +0 -0
- package/readme/DosGato.mwb.bak +0 -0
- package/readme/upgradeflow2.png +0 -0
package/dist/createdb.js
ADDED
|
@@ -0,0 +1,541 @@
|
|
|
1
|
+
export async function init(db) {
|
|
2
|
+
await db.execute("\
|
|
3
|
+
CREATE TABLE IF NOT EXISTS `users` ( \
|
|
4
|
+
`id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
5
|
+
`login` VARCHAR(255) CHARACTER SET 'ascii' COLLATE 'ascii_general_ci' NOT NULL, \
|
|
6
|
+
`name` VARCHAR(255) NOT NULL, \
|
|
7
|
+
`email` VARCHAR(255) NOT NULL, \
|
|
8
|
+
`lastlogin` DATETIME, \
|
|
9
|
+
`lastlogout` DATETIME, \
|
|
10
|
+
`disabledAt` DATETIME, \
|
|
11
|
+
PRIMARY KEY (`id`), \
|
|
12
|
+
UNIQUE INDEX `login_UNIQUE` (`login`)) \
|
|
13
|
+
ENGINE = InnoDB \
|
|
14
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
15
|
+
DEFAULT COLLATE = utf8mb4_general_ci;");
|
|
16
|
+
await db.execute('\
|
|
17
|
+
CREATE TABLE IF NOT EXISTS `organizations` ( \
|
|
18
|
+
`id` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
19
|
+
`name` VARCHAR(255) NOT NULL, \
|
|
20
|
+
PRIMARY KEY (`id`), \
|
|
21
|
+
UNIQUE INDEX `name_UNIQUE` (`name`)) \
|
|
22
|
+
ENGINE = InnoDB \
|
|
23
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
24
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
25
|
+
await db.execute("\
|
|
26
|
+
CREATE TABLE IF NOT EXISTS `assetfolders` ( \
|
|
27
|
+
`id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
28
|
+
`siteId` SMALLINT UNSIGNED NOT NULL COMMENT 'for lookup convenience, not canonical', \
|
|
29
|
+
`path` TEXT NOT NULL, \
|
|
30
|
+
`name` VARCHAR(255) NOT NULL, \
|
|
31
|
+
`guid` CHAR(10) CHARACTER SET 'ascii' COLLATE 'ascii_bin' NOT NULL, \
|
|
32
|
+
`deletedAt` DATETIME, \
|
|
33
|
+
`deletedBy` MEDIUMINT UNSIGNED, \
|
|
34
|
+
PRIMARY KEY (`id`), \
|
|
35
|
+
INDEX `path_idx` (`path`(255)), \
|
|
36
|
+
CONSTRAINT `FK_assetfolders_users` \
|
|
37
|
+
FOREIGN KEY (`deletedBy`) \
|
|
38
|
+
REFERENCES `users` (`id`)) \
|
|
39
|
+
ENGINE = InnoDB \
|
|
40
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
41
|
+
DEFAULT COLLATE = utf8mb4_general_ci;");
|
|
42
|
+
await db.execute("\
|
|
43
|
+
CREATE TABLE IF NOT EXISTS `sites` ( \
|
|
44
|
+
`id` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
45
|
+
`name` VARCHAR(255) NOT NULL, \
|
|
46
|
+
`primaryPagetreeId` MEDIUMINT UNSIGNED, \
|
|
47
|
+
`rootAssetFolderId` MEDIUMINT UNSIGNED, \
|
|
48
|
+
`launchHost` VARCHAR(255), \
|
|
49
|
+
`launchPath` VARCHAR(255) DEFAULT '/', \
|
|
50
|
+
`organizationId` SMALLINT UNSIGNED, \
|
|
51
|
+
`ownerId` MEDIUMINT UNSIGNED, \
|
|
52
|
+
`deletedAt` DATETIME, \
|
|
53
|
+
`deletedBy` MEDIUMINT UNSIGNED, \
|
|
54
|
+
PRIMARY KEY (`id`), \
|
|
55
|
+
UNIQUE INDEX `name_UNIQUE` (`name`), \
|
|
56
|
+
UNIQUE INDEX `primary_pagetree_id_UNIQUE` (`primaryPagetreeId`), \
|
|
57
|
+
UNIQUE INDEX `asset_root_id_UNIQUE` (`rootAssetFolderId`), \
|
|
58
|
+
INDEX `launchUrl` (`launchHost`, `launchPath`), \
|
|
59
|
+
CONSTRAINT `FK_sites_users` \
|
|
60
|
+
FOREIGN KEY (`ownerId`) \
|
|
61
|
+
REFERENCES `users` (`id`), \
|
|
62
|
+
CONSTRAINT `FK_sites_organizations` \
|
|
63
|
+
FOREIGN KEY (`organizationId`) \
|
|
64
|
+
REFERENCES `organizations` (`id`), \
|
|
65
|
+
CONSTRAINT `FK_sites_assetfolders` \
|
|
66
|
+
FOREIGN KEY (`rootAssetFolderId`) \
|
|
67
|
+
REFERENCES `assetfolders` (`id`)) \
|
|
68
|
+
ENGINE = InnoDB \
|
|
69
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
70
|
+
DEFAULT COLLATE = utf8mb4_general_ci;");
|
|
71
|
+
await db.execute("\
|
|
72
|
+
CREATE TABLE IF NOT EXISTS `pagetrees` ( \
|
|
73
|
+
`id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
74
|
+
`siteId` SMALLINT UNSIGNED NOT NULL, \
|
|
75
|
+
`type` ENUM('primary', 'sandbox', 'archive') NOT NULL DEFAULT 'sandbox', \
|
|
76
|
+
`name` VARCHAR(255) NOT NULL, \
|
|
77
|
+
`createdAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, \
|
|
78
|
+
`promotedAt` DATETIME, \
|
|
79
|
+
`archivedAt` DATETIME, \
|
|
80
|
+
`deletedAt` DATETIME, \
|
|
81
|
+
`deletedBy` MEDIUMINT UNSIGNED, \
|
|
82
|
+
PRIMARY KEY (`id`), \
|
|
83
|
+
UNIQUE INDEX `nameinsite` (`siteId`, `name`), \
|
|
84
|
+
INDEX `site_idx` (`siteId`, `type`), \
|
|
85
|
+
CONSTRAINT `FK_pagetrees_users` \
|
|
86
|
+
FOREIGN KEY (`deletedBy`) \
|
|
87
|
+
REFERENCES `users` (`id`), \
|
|
88
|
+
CONSTRAINT `FK_pagetrees_sites` \
|
|
89
|
+
FOREIGN KEY (`siteId`) \
|
|
90
|
+
REFERENCES `sites` (`id`)) \
|
|
91
|
+
ENGINE = InnoDB \
|
|
92
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
93
|
+
DEFAULT COLLATE = utf8mb4_general_ci;");
|
|
94
|
+
await db.execute('\
|
|
95
|
+
CREATE TABLE IF NOT EXISTS `sites_managers` ( \
|
|
96
|
+
`siteId` SMALLINT UNSIGNED NOT NULL, \
|
|
97
|
+
`userId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
98
|
+
PRIMARY KEY (`siteId`,`userId`), \
|
|
99
|
+
CONSTRAINT `FK_sites_managers_sites` \
|
|
100
|
+
FOREIGN KEY (`siteId`) \
|
|
101
|
+
REFERENCES `sites` (`id`), \
|
|
102
|
+
CONSTRAINT `FK_sites_managers_users` \
|
|
103
|
+
FOREIGN KEY (`userId`) \
|
|
104
|
+
REFERENCES `users` (`id`)) \
|
|
105
|
+
ENGINE = InnoDB \
|
|
106
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
107
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
108
|
+
await db.execute("\
|
|
109
|
+
CREATE TABLE IF NOT EXISTS `binaries` ( \
|
|
110
|
+
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
111
|
+
`shasum` CHAR(40) CHARACTER SET 'ascii' COLLATE 'ascii_bin' NOT NULL, \
|
|
112
|
+
`mime` VARCHAR(255) CHARACTER SET 'ascii' COLLATE 'ascii_bin' NOT NULL, \
|
|
113
|
+
`meta` JSON NOT NULL, \
|
|
114
|
+
`bytes` BIGINT UNSIGNED NOT NULL, \
|
|
115
|
+
PRIMARY KEY (`id`), \
|
|
116
|
+
UNIQUE INDEX `shasum_UNIQUE` (`shasum`)) \
|
|
117
|
+
ENGINE = InnoDB \
|
|
118
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
119
|
+
DEFAULT COLLATE = utf8mb4_general_ci;");
|
|
120
|
+
await db.execute("\
|
|
121
|
+
CREATE TABLE IF NOT EXISTS `assets` ( \
|
|
122
|
+
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
123
|
+
`name` VARCHAR(255) NOT NULL, \
|
|
124
|
+
`folderId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
125
|
+
`dataId` CHAR(10) CHARACTER SET 'ascii' COLLATE 'ascii_general_ci' NOT NULL, \
|
|
126
|
+
`shasum` CHAR(40) CHARACTER SET 'ascii' COLLATE 'ascii_bin' NOT NULL, \
|
|
127
|
+
`deletedAt` DATETIME, \
|
|
128
|
+
`deletedBy` MEDIUMINT UNSIGNED, \
|
|
129
|
+
PRIMARY KEY (`id`), \
|
|
130
|
+
INDEX `name_idx` (`name`), \
|
|
131
|
+
CONSTRAINT `FK_assets_assetfolders` \
|
|
132
|
+
FOREIGN KEY (`folderId`) \
|
|
133
|
+
REFERENCES `assetfolders` (`id`), \
|
|
134
|
+
CONSTRAINT `FK_assets_users` \
|
|
135
|
+
FOREIGN KEY (`deletedBy`) \
|
|
136
|
+
REFERENCES `users` (`id`), \
|
|
137
|
+
CONSTRAINT `FK_assets_binaries` \
|
|
138
|
+
FOREIGN KEY (`shasum`) \
|
|
139
|
+
REFERENCES `binaries` (`shasum`)) \
|
|
140
|
+
ENGINE = InnoDB \
|
|
141
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
142
|
+
DEFAULT COLLATE = utf8mb4_general_ci;");
|
|
143
|
+
await db.execute('\
|
|
144
|
+
CREATE TABLE IF NOT EXISTS `groups` ( \
|
|
145
|
+
`id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
146
|
+
`name` VARCHAR(255) NOT NULL, \
|
|
147
|
+
PRIMARY KEY (`id`), \
|
|
148
|
+
UNIQUE INDEX `name_UNIQUE` (`name`)) \
|
|
149
|
+
ENGINE = InnoDB \
|
|
150
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
151
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
152
|
+
await db.execute('\
|
|
153
|
+
CREATE TABLE IF NOT EXISTS `groups_groups` ( \
|
|
154
|
+
`parentId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
155
|
+
`childId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
156
|
+
PRIMARY KEY (`parentId`, `childId`), \
|
|
157
|
+
CONSTRAINT `FK_groups_groups_parent` \
|
|
158
|
+
FOREIGN KEY (`parentId`) \
|
|
159
|
+
REFERENCES `groups` (`id`), \
|
|
160
|
+
CONSTRAINT `FK_groups_groups_child` \
|
|
161
|
+
FOREIGN KEY (`childId`) \
|
|
162
|
+
REFERENCES `groups` (`id`)) \
|
|
163
|
+
ENGINE = InnoDB \
|
|
164
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
165
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
166
|
+
await db.execute('\
|
|
167
|
+
CREATE TABLE IF NOT EXISTS `groups_managers` ( \
|
|
168
|
+
`groupId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
169
|
+
`userId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
170
|
+
PRIMARY KEY (`groupId`,`userId`), \
|
|
171
|
+
CONSTRAINT `FK_groups_managers_groups` \
|
|
172
|
+
FOREIGN KEY (`groupId`) \
|
|
173
|
+
REFERENCES `groups` (`id`), \
|
|
174
|
+
CONSTRAINT `FK_groups_managers_users` \
|
|
175
|
+
FOREIGN KEY (`userId`) \
|
|
176
|
+
REFERENCES `users` (`id`)) \
|
|
177
|
+
ENGINE = InnoDB \
|
|
178
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
179
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
180
|
+
await db.execute('\
|
|
181
|
+
CREATE TABLE IF NOT EXISTS `groups_sites` ( \
|
|
182
|
+
`groupId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
183
|
+
`siteId` SMALLINT UNSIGNED NOT NULL, \
|
|
184
|
+
PRIMARY KEY (`groupId`,`siteId`), \
|
|
185
|
+
CONSTRAINT `FK_groups_sites_groups` \
|
|
186
|
+
FOREIGN KEY (`groupId`) \
|
|
187
|
+
REFERENCES `groups` (`id`), \
|
|
188
|
+
CONSTRAINT `FK_groups_sites_sites` \
|
|
189
|
+
FOREIGN KEY (`siteId`) \
|
|
190
|
+
REFERENCES `sites` (`id`)) \
|
|
191
|
+
ENGINE = InnoDB \
|
|
192
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
193
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
194
|
+
await db.execute('\
|
|
195
|
+
CREATE TABLE IF NOT EXISTS `roles` ( \
|
|
196
|
+
`id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
197
|
+
`name` VARCHAR(255) NOT NULL, \
|
|
198
|
+
PRIMARY KEY (`id`), \
|
|
199
|
+
UNIQUE INDEX `name_UNIQUE` (`name`)) \
|
|
200
|
+
ENGINE = InnoDB \
|
|
201
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
202
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
203
|
+
await db.execute('\
|
|
204
|
+
CREATE TABLE IF NOT EXISTS `siterules` ( \
|
|
205
|
+
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
206
|
+
`roleId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
207
|
+
`siteId` SMALLINT UNSIGNED, \
|
|
208
|
+
`launch` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
209
|
+
`rename` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
210
|
+
`manageOwners` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
211
|
+
`managePagetrees` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
212
|
+
`promotePagetree` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
213
|
+
`delete` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
214
|
+
`undelete` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
215
|
+
PRIMARY KEY (`id`), \
|
|
216
|
+
CONSTRAINT `FK_siterules_roles` \
|
|
217
|
+
FOREIGN KEY (`roleId`) \
|
|
218
|
+
REFERENCES `roles` (`id`), \
|
|
219
|
+
CONSTRAINT `FK_siterules_sites` \
|
|
220
|
+
FOREIGN KEY (`siteId`) \
|
|
221
|
+
REFERENCES `sites` (`id`)) \
|
|
222
|
+
ENGINE = InnoDB \
|
|
223
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
224
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
225
|
+
await db.execute('\
|
|
226
|
+
CREATE TABLE IF NOT EXISTS `users_groups` ( \
|
|
227
|
+
`userId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
228
|
+
`groupId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
229
|
+
PRIMARY KEY (`userId`, `groupId`), \
|
|
230
|
+
CONSTRAINT `FK_user_groups_users` \
|
|
231
|
+
FOREIGN KEY (`userId`) \
|
|
232
|
+
REFERENCES `users` (`id`), \
|
|
233
|
+
CONSTRAINT `FK_users_groups_groups` \
|
|
234
|
+
FOREIGN KEY (`groupId`) \
|
|
235
|
+
REFERENCES `groups` (`id`)) \
|
|
236
|
+
ENGINE = InnoDB \
|
|
237
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
238
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
239
|
+
await db.execute("\
|
|
240
|
+
CREATE TABLE IF NOT EXISTS `pages` ( \
|
|
241
|
+
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
242
|
+
`name` VARCHAR(255) NOT NULL, \
|
|
243
|
+
`path` TEXT NOT NULL, \
|
|
244
|
+
`displayOrder` SMALLINT UNSIGNED NOT NULL, \
|
|
245
|
+
`pagetreeId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
246
|
+
`dataId` CHAR(10) CHARACTER SET 'ascii' COLLATE 'ascii_bin' NOT NULL, \
|
|
247
|
+
`linkId` CHAR(10) CHARACTER SET 'ascii' COLLATE 'ascii_bin' NOT NULL, \
|
|
248
|
+
`deletedAt` DATETIME, \
|
|
249
|
+
`deletedBy` MEDIUMINT UNSIGNED, \
|
|
250
|
+
PRIMARY KEY (`id`), \
|
|
251
|
+
UNIQUE INDEX `data_UNIQUE` (`dataId`), \
|
|
252
|
+
UNIQUE INDEX `linkId_in_pagetree` (`pagetreeId`, `linkId`), \
|
|
253
|
+
INDEX `linkId_idx` (`linkId`), \
|
|
254
|
+
INDEX `path_idx` (`path`(255), `displayOrder`), \
|
|
255
|
+
INDEX `name_idx` (`name`(255)), \
|
|
256
|
+
CONSTRAINT `FK_pages_pagetrees` \
|
|
257
|
+
FOREIGN KEY (`pagetreeId`) \
|
|
258
|
+
REFERENCES `pagetrees` (`id`), \
|
|
259
|
+
CONSTRAINT `FK_pages_storage` \
|
|
260
|
+
FOREIGN KEY (`dataId`) \
|
|
261
|
+
REFERENCES `storage` (`id`), \
|
|
262
|
+
CONSTRAINT `FK_pages_users` \
|
|
263
|
+
FOREIGN KEY (`deletedBy`) \
|
|
264
|
+
REFERENCES `users` (`id`)) \
|
|
265
|
+
ENGINE = InnoDB \
|
|
266
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
267
|
+
DEFAULT COLLATE = utf8mb4_general_ci;");
|
|
268
|
+
await db.execute('\
|
|
269
|
+
CREATE TABLE IF NOT EXISTS `groups_roles` ( \
|
|
270
|
+
`groupId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
271
|
+
`roleId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
272
|
+
PRIMARY KEY (`roleId`, `groupId`), \
|
|
273
|
+
CONSTRAINT `FK_groups_roles_groups` \
|
|
274
|
+
FOREIGN KEY (`groupId`) \
|
|
275
|
+
REFERENCES `groups` (`id`), \
|
|
276
|
+
CONSTRAINT `FK_groups_roles_roles` \
|
|
277
|
+
FOREIGN KEY (`roleId`) \
|
|
278
|
+
REFERENCES `roles` (`id`)) \
|
|
279
|
+
ENGINE = InnoDB \
|
|
280
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
281
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
282
|
+
await db.execute('\
|
|
283
|
+
CREATE TABLE IF NOT EXISTS `users_roles` ( \
|
|
284
|
+
`userId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
285
|
+
`roleId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
286
|
+
PRIMARY KEY (`userId`, `roleId`), \
|
|
287
|
+
CONSTRAINT `FK_users_roles_users` \
|
|
288
|
+
FOREIGN KEY (`userId`) \
|
|
289
|
+
REFERENCES `users` (`id`), \
|
|
290
|
+
CONSTRAINT `FK_user_roles_roles` \
|
|
291
|
+
FOREIGN KEY (`roleId`) \
|
|
292
|
+
REFERENCES `roles` (`id`)) \
|
|
293
|
+
ENGINE = InnoDB \
|
|
294
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
295
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
296
|
+
await db.execute('\
|
|
297
|
+
CREATE TABLE IF NOT EXISTS `resizes` ( \
|
|
298
|
+
`binaryId` INT UNSIGNED NOT NULL, \
|
|
299
|
+
`originalBinaryId` INT UNSIGNED NOT NULL, \
|
|
300
|
+
`width` SMALLINT UNSIGNED NOT NULL, \
|
|
301
|
+
`height` SMALLINT UNSIGNED NOT NULL, \
|
|
302
|
+
`quality` TINYINT UNSIGNED NOT NULL, \
|
|
303
|
+
`othersettings` JSON NOT NULL, \
|
|
304
|
+
PRIMARY KEY (`binaryId`), \
|
|
305
|
+
INDEX `resize_idx` (`originalBinaryId`, `width`, `height`, `quality`), \
|
|
306
|
+
CONSTRAINT `FK_resizes_binaries_id` \
|
|
307
|
+
FOREIGN KEY (`binaryId`) \
|
|
308
|
+
REFERENCES `binaries` (`id`), \
|
|
309
|
+
CONSTRAINT `FK_resizes_binaries_original` \
|
|
310
|
+
FOREIGN KEY (`originalBinaryId`) \
|
|
311
|
+
REFERENCES `binaries` (`id`)) \
|
|
312
|
+
ENGINE = InnoDB \
|
|
313
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
314
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
315
|
+
await db.execute("\
|
|
316
|
+
CREATE TABLE IF NOT EXISTS `templates` ( \
|
|
317
|
+
`id` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
318
|
+
`key` VARCHAR(255) CHARACTER SET 'ascii' COLLATE 'ascii_bin' NOT NULL, \
|
|
319
|
+
`name` VARCHAR(255) NOT NULL, \
|
|
320
|
+
`type` ENUM('component', 'page', 'data') NOT NULL, \
|
|
321
|
+
`universal` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
322
|
+
`deleted` TINYINT UNSIGNED NOT NULL, \
|
|
323
|
+
PRIMARY KEY (`id`), \
|
|
324
|
+
UNIQUE INDEX `name_UNIQUE` (`name`), \
|
|
325
|
+
UNIQUE INDEX `key_UNIQUE` (`key`)) \
|
|
326
|
+
ENGINE = InnoDB \
|
|
327
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
328
|
+
DEFAULT COLLATE = utf8mb4_general_ci;");
|
|
329
|
+
await db.execute('\
|
|
330
|
+
CREATE TABLE IF NOT EXISTS `sites_templates` ( \
|
|
331
|
+
`siteId` SMALLINT UNSIGNED NOT NULL, \
|
|
332
|
+
`templateId` SMALLINT UNSIGNED NOT NULL, \
|
|
333
|
+
PRIMARY KEY (`siteId`, `templateId`), \
|
|
334
|
+
CONSTRAINT `FK_sites_templates_sites` \
|
|
335
|
+
FOREIGN KEY (`siteId`) \
|
|
336
|
+
REFERENCES `sites` (`id`), \
|
|
337
|
+
CONSTRAINT `FK_sites_templates_templates` \
|
|
338
|
+
FOREIGN KEY (`templateId`) \
|
|
339
|
+
REFERENCES `templates` (`id`)) \
|
|
340
|
+
ENGINE = InnoDB \
|
|
341
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
342
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
343
|
+
await db.execute("\
|
|
344
|
+
CREATE TABLE IF NOT EXISTS `pagerules` ( \
|
|
345
|
+
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
346
|
+
`roleId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
347
|
+
`siteId` SMALLINT UNSIGNED, \
|
|
348
|
+
`pagetreeId` MEDIUMINT UNSIGNED, \
|
|
349
|
+
`path` VARCHAR(255) NOT NULL DEFAULT '/', \
|
|
350
|
+
`mode` ENUM('self', 'sub', 'selfsub') NOT NULL DEFAULT 'selfsub', \
|
|
351
|
+
`create` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
352
|
+
`update` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
353
|
+
`move` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
354
|
+
`publish` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
355
|
+
`unpublish` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
356
|
+
`delete` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
357
|
+
`undelete` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
358
|
+
PRIMARY KEY (`id`), \
|
|
359
|
+
INDEX `path` (`path`), \
|
|
360
|
+
CONSTRAINT `FK_pagerules_roles` \
|
|
361
|
+
FOREIGN KEY (`roleId`) \
|
|
362
|
+
REFERENCES `roles` (`id`), \
|
|
363
|
+
CONSTRAINT `FK_pagerules_pagetrees` \
|
|
364
|
+
FOREIGN KEY (`pagetreeId`) \
|
|
365
|
+
REFERENCES `pagetrees` (`id`)) \
|
|
366
|
+
ENGINE = InnoDB \
|
|
367
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
368
|
+
DEFAULT COLLATE = utf8mb4_general_ci;");
|
|
369
|
+
await db.execute("\
|
|
370
|
+
CREATE TABLE IF NOT EXISTS `assetrules` ( \
|
|
371
|
+
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
372
|
+
`roleId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
373
|
+
`siteId` SMALLINT UNSIGNED, \
|
|
374
|
+
`path` VARCHAR(255) NOT NULL DEFAULT '/', \
|
|
375
|
+
`mode` ENUM('self', 'sub', 'selfsub') NOT NULL DEFAULT 'selfsub', \
|
|
376
|
+
`create` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
377
|
+
`update` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
378
|
+
`move` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
379
|
+
`delete` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
380
|
+
`undelete` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
381
|
+
PRIMARY KEY (`id`), \
|
|
382
|
+
INDEX `path` (`path`), \
|
|
383
|
+
CONSTRAINT `FK_assetrules_sites` \
|
|
384
|
+
FOREIGN KEY (`siteId`) \
|
|
385
|
+
REFERENCES `sites` (`id`), \
|
|
386
|
+
CONSTRAINT `FK_assetrules_roles` \
|
|
387
|
+
FOREIGN KEY (`roleId`) \
|
|
388
|
+
REFERENCES `roles` (`id`)) \
|
|
389
|
+
ENGINE = InnoDB \
|
|
390
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
391
|
+
DEFAULT COLLATE = utf8mb4_general_ci;");
|
|
392
|
+
await db.execute('\
|
|
393
|
+
CREATE TABLE IF NOT EXISTS `pagetrees_templates` ( \
|
|
394
|
+
`pagetreeId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
395
|
+
`templateId` SMALLINT UNSIGNED NOT NULL, \
|
|
396
|
+
PRIMARY KEY (`pagetreeId`, `templateId`), \
|
|
397
|
+
CONSTRAINT `FK_pagetrees_templates_pagetrees` \
|
|
398
|
+
FOREIGN KEY (`pagetreeId`) \
|
|
399
|
+
REFERENCES `pagetrees` (`id`), \
|
|
400
|
+
CONSTRAINT `FK_pagetrees_templates_templates` \
|
|
401
|
+
FOREIGN KEY (`templateId`) \
|
|
402
|
+
REFERENCES `templates` (`id`)) \
|
|
403
|
+
ENGINE = InnoDB \
|
|
404
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
405
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
406
|
+
await db.execute('\
|
|
407
|
+
CREATE TABLE IF NOT EXISTS `datafolders` ( \
|
|
408
|
+
`id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
409
|
+
`name` VARCHAR(255) NOT NULL, \
|
|
410
|
+
`guid` CHAR(10) CHARACTER SET \'ascii\' COLLATE \'ascii_bin\' NOT NULL,\
|
|
411
|
+
`siteId` SMALLINT UNSIGNED, \
|
|
412
|
+
`templateId` SMALLINT UNSIGNED NOT NULL, \
|
|
413
|
+
`deletedAt` DATETIME, \
|
|
414
|
+
`deletedBy` MEDIUMINT UNSIGNED, \
|
|
415
|
+
PRIMARY KEY (`id`), \
|
|
416
|
+
CONSTRAINT `FK_datafolders_sites` \
|
|
417
|
+
FOREIGN KEY (`siteId`) \
|
|
418
|
+
REFERENCES `sites` (`id`), \
|
|
419
|
+
CONSTRAINT `FK_datafolders_templates` \
|
|
420
|
+
FOREIGN KEY (`templateId`) \
|
|
421
|
+
REFERENCES `templates` (`id`)) \
|
|
422
|
+
ENGINE = InnoDB \
|
|
423
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
424
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
425
|
+
await db.execute("\
|
|
426
|
+
CREATE TABLE IF NOT EXISTS `data` ( \
|
|
427
|
+
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
428
|
+
`dataId` CHAR(10) CHARACTER SET 'ascii' COLLATE 'ascii_bin' NOT NULL, \
|
|
429
|
+
`name` VARCHAR(255) NOT NULL, \
|
|
430
|
+
`displayOrder` SMALLINT UNSIGNED NOT NULL, \
|
|
431
|
+
`siteId` SMALLINT UNSIGNED, \
|
|
432
|
+
`folderId` MEDIUMINT UNSIGNED, \
|
|
433
|
+
`deletedAt` DATETIME, \
|
|
434
|
+
`deletedBy` MEDIUMINT UNSIGNED, \
|
|
435
|
+
PRIMARY KEY (`id`), \
|
|
436
|
+
UNIQUE INDEX `data_UNIQUE` (`dataId`), \
|
|
437
|
+
INDEX `folder_idx` (`folderId`, `displayOrder`), \
|
|
438
|
+
INDEX `name_idx` (`name`(255)), \
|
|
439
|
+
CONSTRAINT `FK_data_users` \
|
|
440
|
+
FOREIGN KEY (`deletedBy`) \
|
|
441
|
+
REFERENCES `users` (`id`), \
|
|
442
|
+
CONSTRAINT `FK_data_storage` \
|
|
443
|
+
FOREIGN KEY (`dataId`) \
|
|
444
|
+
REFERENCES `storage` (`id`), \
|
|
445
|
+
CONSTRAINT `FK_data_sites` \
|
|
446
|
+
FOREIGN KEY (`siteId`) \
|
|
447
|
+
REFERENCES `sites` (`id`), \
|
|
448
|
+
CONSTRAINT `FK_data_datafolders` \
|
|
449
|
+
FOREIGN KEY (`folderId`) \
|
|
450
|
+
REFERENCES `datafolders` (`id`)) \
|
|
451
|
+
ENGINE = InnoDB \
|
|
452
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
453
|
+
DEFAULT COLLATE = utf8mb4_general_ci;");
|
|
454
|
+
await db.execute("\
|
|
455
|
+
CREATE TABLE IF NOT EXISTS `datarules` ( \
|
|
456
|
+
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
457
|
+
`roleId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
458
|
+
`siteId` SMALLINT UNSIGNED, \
|
|
459
|
+
`templateId` SMALLINT UNSIGNED, \
|
|
460
|
+
`path` VARCHAR(255) NOT NULL DEFAULT '/', \
|
|
461
|
+
`create` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
462
|
+
`update` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
463
|
+
`move` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
464
|
+
`publish` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
465
|
+
`unpublish` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
466
|
+
`delete` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
467
|
+
`undelete` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
468
|
+
PRIMARY KEY (`id`), \
|
|
469
|
+
CONSTRAINT `FK_datarules_roles` \
|
|
470
|
+
FOREIGN KEY (`roleId`) \
|
|
471
|
+
REFERENCES `roles` (`id`), \
|
|
472
|
+
CONSTRAINT `FK_datarules_sites` \
|
|
473
|
+
FOREIGN KEY (`siteId`) \
|
|
474
|
+
REFERENCES `sites` (`id`), \
|
|
475
|
+
CONSTRAINT `FK_datarules_templates` \
|
|
476
|
+
FOREIGN KEY (`templateId`) \
|
|
477
|
+
REFERENCES `templates` (`id`)) \
|
|
478
|
+
ENGINE = InnoDB \
|
|
479
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
480
|
+
DEFAULT COLLATE = utf8mb4_general_ci;");
|
|
481
|
+
await db.execute('\
|
|
482
|
+
CREATE TABLE IF NOT EXISTS `templaterules` ( \
|
|
483
|
+
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
484
|
+
`roleId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
485
|
+
`templateId` SMALLINT UNSIGNED, \
|
|
486
|
+
`use` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
487
|
+
PRIMARY KEY (`id`), \
|
|
488
|
+
CONSTRAINT `FK_templaterules_roles` \
|
|
489
|
+
FOREIGN KEY (`roleId`) \
|
|
490
|
+
REFERENCES `roles` (`id`), \
|
|
491
|
+
CONSTRAINT `FK_templaterules_tmpl` \
|
|
492
|
+
FOREIGN KEY (`templateId`) \
|
|
493
|
+
REFERENCES `templates` (`id`)) \
|
|
494
|
+
ENGINE = InnoDB \
|
|
495
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
496
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
497
|
+
await db.execute('\
|
|
498
|
+
CREATE TABLE IF NOT EXISTS `mutationlog` ( \
|
|
499
|
+
`createdAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, \
|
|
500
|
+
`userId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
501
|
+
`mutation` VARCHAR(255) NOT NULL, \
|
|
502
|
+
`query` TEXT NOT NULL, \
|
|
503
|
+
`variables` JSON NOT NULL, \
|
|
504
|
+
INDEX `createdAt_idx` (`createdAt`), \
|
|
505
|
+
INDEX `mutation_idx` (`mutation`), \
|
|
506
|
+
CONSTRAINT `FK_mutationlog_users` \
|
|
507
|
+
FOREIGN KEY (`userId`) \
|
|
508
|
+
REFERENCES `users` (`id`)) \
|
|
509
|
+
ENGINE = InnoDB \
|
|
510
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
511
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
512
|
+
await db.execute('\
|
|
513
|
+
CREATE TABLE IF NOT EXISTS `globalrules` ( \
|
|
514
|
+
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, \
|
|
515
|
+
`roleId` MEDIUMINT UNSIGNED NOT NULL, \
|
|
516
|
+
`manageUsers` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
517
|
+
`createSites` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
518
|
+
`manageGlobalData` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
519
|
+
PRIMARY KEY (`id`), \
|
|
520
|
+
CONSTRAINT `FK_globalrules_roles` \
|
|
521
|
+
FOREIGN KEY (`roleId`) \
|
|
522
|
+
REFERENCES `roles` (`id`)) \
|
|
523
|
+
ENGINE = InnoDB \
|
|
524
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
525
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
526
|
+
await db.execute('\
|
|
527
|
+
CREATE TABLE IF NOT EXISTS `downloads` ( \
|
|
528
|
+
`binaryId` INT UNSIGNED NOT NULL, \
|
|
529
|
+
`year` SMALLINT UNSIGNED NOT NULL, \
|
|
530
|
+
`month` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
531
|
+
`day` TINYINT UNSIGNED NOT NULL DEFAULT 0, \
|
|
532
|
+
`downloads` INT UNSIGNED NOT NULL DEFAULT 0, \
|
|
533
|
+
PRIMARY KEY (`binaryId`, `year`, `month`, `day`), \
|
|
534
|
+
CONSTRAINT `FK_downloads_binaries` \
|
|
535
|
+
FOREIGN KEY (`binaryId`) \
|
|
536
|
+
REFERENCES `binaries` (`id`)) \
|
|
537
|
+
ENGINE = InnoDB \
|
|
538
|
+
DEFAULT CHARACTER SET = utf8mb4 \
|
|
539
|
+
DEFAULT COLLATE = utf8mb4_general_ci;');
|
|
540
|
+
}
|
|
541
|
+
//# sourceMappingURL=createdb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createdb.js","sourceRoot":"","sources":["../src/createdb.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Data, DataFilter, VersionedService, CreateDataInput, MoveDataTarget } from '../internal.js';
|
|
2
|
+
export declare function getData(filter?: DataFilter): Promise<Data[]>;
|
|
3
|
+
export declare function createDataEntry(versionedService: VersionedService, userId: string, args: CreateDataInput): Promise<Data>;
|
|
4
|
+
export declare function renameDataEntry(dataId: string, name: string): Promise<number>;
|
|
5
|
+
export declare function moveDataEntries(versionedService: VersionedService, dataIds: string[], templateKey: string, target: MoveDataTarget): Promise<number[] | void[]>;
|
|
6
|
+
export declare function deleteDataEntries(dataIds: string[], userInternalId: number): Promise<number>;
|
|
7
|
+
export declare function undeleteDataEntries(dataIds: string[]): Promise<number>;
|