Name generation and gradient calculation
This commit is contained in:
parent
8e5954e0ca
commit
ba1697ffc7
12 changed files with 418 additions and 54 deletions
|
|
@ -1,24 +1,33 @@
|
|||
const dayjs = require('dayjs');
|
||||
|
||||
const adjectives = require('../res/adjectives.json');
|
||||
const crabs = require('../res/crabs.json');
|
||||
|
||||
String.prototype.capitalize = () => this.charAt(0).toUpperCase() + this.slice(1);
|
||||
|
||||
const generateId = (name) => {
|
||||
const id = name.trim().toLowerCase().replace(/[^A-Za-z0-9 ]/g, '').replace(/\s+/g, '-');
|
||||
const number = Math.floor(100000 + Math.random() * 900000);
|
||||
return `${id}-${number}`;
|
||||
};
|
||||
|
||||
const generateName = () => {
|
||||
return `${adjectives[Math.floor(Math.random() * adjectives.length)].capitalize()} ${crabs[Math.floor(Math.random() * crabs.length)]} Crab`;
|
||||
};
|
||||
|
||||
module.exports = async (req, res) => {
|
||||
const { event } = req.body;
|
||||
|
||||
try {
|
||||
const eventId = generateId(event.name);
|
||||
const name = event.name.trim() === '' ? generateName() : event.name.trim();
|
||||
const eventId = generateId(name);
|
||||
const currentTime = dayjs().unix();
|
||||
|
||||
const entity = {
|
||||
key: req.datastore.key(['Event', eventId]),
|
||||
data: {
|
||||
name: event.name.trim(),
|
||||
name: name,
|
||||
created: currentTime,
|
||||
timezone: event.timezone,
|
||||
startTime: event.startTime,
|
||||
endTime: event.endTime,
|
||||
dates: event.dates,
|
||||
|
|
@ -29,9 +38,8 @@ module.exports = async (req, res) => {
|
|||
|
||||
res.status(201).send({
|
||||
id: eventId,
|
||||
name: event.name.trim(),
|
||||
name: name,
|
||||
created: currentTime,
|
||||
timezone: event.timezone,
|
||||
startTime: event.startTime,
|
||||
endTime: event.endTime,
|
||||
dates: event.dates,
|
||||
|
|
|
|||
|
|
@ -7,9 +7,13 @@ module.exports = async (req, res) => {
|
|||
|
||||
try {
|
||||
const event = (await req.datastore.get(req.datastore.key(['Event', eventId])))[0];
|
||||
const query = req.datastore.createQuery('Person')
|
||||
.filter('eventId', eventId)
|
||||
.filter('name', person.name);
|
||||
let personResult = (await req.datastore.runQuery(query))[0][0];
|
||||
|
||||
if (event) {
|
||||
if (person) {
|
||||
if (person && personResult === undefined) {
|
||||
const currentTime = dayjs().unix();
|
||||
|
||||
// If password
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue