larvitcms
Advanced tools
Comparing version 0.0.1 to 0.0.2
38
cms.js
@@ -15,11 +15,6 @@ 'use strict'; | ||
sql = 'CREATE TABLE IF NOT EXISTS `cms_pages` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `published` tinyint(3) unsigned NOT NULL DEFAULT \'0\', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;'; | ||
db.query(sql, function(err) { | ||
if (err) { | ||
cb(err); | ||
return; | ||
} | ||
log.debug('larvitcms: createTablesIfNotExists() - Running'); | ||
sql = 'CREATE TABLE IF NOT EXISTS `cms_pagesData` (`pageId` int(10) unsigned NOT NULL, `lang` char(2) CHARACTER SET ascii NOT NULL, `htmlTitle` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, `slug` varchar(100) CHARACTER SET ascii NOT NULL, `body` text COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`pageId`,`lang`), CONSTRAINT `cms_pagesData_ibfk_1` FOREIGN KEY (`pageId`) REFERENCES `cms_pages` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;'; | ||
db.ready(function() { | ||
sql = 'CREATE TABLE IF NOT EXISTS `cms_pages` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `published` tinyint(3) unsigned NOT NULL DEFAULT \'0\', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;'; | ||
db.query(sql, function(err) { | ||
@@ -31,3 +26,3 @@ if (err) { | ||
sql = 'CREATE TABLE IF NOT EXISTS `cms_snippets` ( `slug` varchar(100) CHARACTER SET ascii NOT NULL,`lang` char(2) CHARACTER SET ascii NOT NULL DEFAULT \'en\',`body` text COLLATE utf8mb4_unicode_ci NOT NULL,PRIMARY KEY (`slug`,`lang`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;'; | ||
sql = 'CREATE TABLE IF NOT EXISTS `cms_pagesData` (`pageId` int(10) unsigned NOT NULL, `lang` char(2) CHARACTER SET ascii NOT NULL, `htmlTitle` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, `slug` varchar(100) CHARACTER SET ascii NOT NULL, `body` text COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`pageId`,`lang`), CONSTRAINT `cms_pagesData_ibfk_1` FOREIGN KEY (`pageId`) REFERENCES `cms_pages` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;'; | ||
@@ -40,4 +35,13 @@ db.query(sql, function(err) { | ||
dbChecked = true; | ||
eventEmitter.emit('checked'); | ||
sql = 'CREATE TABLE IF NOT EXISTS `cms_snippets` ( `slug` varchar(100) CHARACTER SET ascii NOT NULL,`lang` char(2) CHARACTER SET ascii NOT NULL DEFAULT \'en\',`body` text COLLATE utf8mb4_unicode_ci NOT NULL,PRIMARY KEY (`slug`,`lang`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;'; | ||
db.query(sql, function(err) { | ||
if (err) { | ||
cb(err); | ||
return; | ||
} | ||
dbChecked = true; | ||
eventEmitter.emit('checked'); | ||
}); | ||
}); | ||
@@ -67,2 +71,14 @@ }); | ||
// Make sure the database tables exists before going further! | ||
if ( ! dbChecked) { | ||
log.debug('larvitcms: getSnippets() - Database not checked, rerunning this method when event have been emitted.'); | ||
eventEmitter.on('checked', function() { | ||
log.debug('larvitcms: getSnippets() - Database check event received, rerunning getSnippets().'); | ||
getSnippets(options, cb); | ||
}); | ||
return; | ||
} | ||
if (options.onlySlugs) { | ||
@@ -69,0 +85,0 @@ sql = 'SELECT DISTINCT slug FROM cms_snippets ORDER BY slug;'; |
@@ -34,3 +34,3 @@ { | ||
}, | ||
"version": "0.0.1", | ||
"version": "0.0.2", | ||
"readmeFilename": "README.md", | ||
@@ -37,0 +37,0 @@ "bugs": { |
25692
572