Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions data/friendship.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
const casual = require('casual')
const userData = require('./user')

const statusArray = ['ACCEPTED', 'PENDING', 'REQUESTED']


casual.define('friendship', (requestorId, requesteeId, status) => ({
id: casual.uuid,
requestorId,
requesteeId,
status,
}))


const friendshipData = []

for (let i = 0; i < 20; ++i) {
const requestorId = casual.random_element(userData).id
const requesteeId = casual.random_element(userData).id
const status = statusArray[casual.integer(0, 2)]
friendshipData.push(casual.friendship(requestorId, requesteeId, status))
}

module.exports = friendshipData
19 changes: 19 additions & 0 deletions data/journalEntry.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
const casual = require('casual')
const userData = require('./user')

casual.define('journalEntry', userId => ({
id: casual.uuid,
userId,
date: casual.date(),
text: casual.text,
}))


const journalData = []

for (let i = 0; i < 20; ++i) {
const userId = casual.random_element(userData).id
journalData.push(casual.journalEntry(userId))
}

module.exports = journalData
21 changes: 21 additions & 0 deletions data/message.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
const casual = require('casual')
const userData = require('./user')

casual.define('message', (senderId, receiverId) => ({
id: casual.uuid,
senderId,
receiverId,
dateSent: casual.date(),
content: casual.text,
}))


const messageData = []

for (let i = 0; i < 20; ++i) {
const senderId = casual.random_element(userData).id
const receiverId = casual.random_element(userData).id
messageData.push(casual.message(senderId, receiverId))
}

module.exports = messageData
5 changes: 3 additions & 2 deletions data/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@ const password = '$2a$10$rQEY9CNl4OC.UtiyRgKnZeW0KaWnEANMKAxfIpNDQCgiCybm3G1fy'
casual.define('user', () => ({
id: casual.uuid,
email: casual.email,
firstName: casual.first_name,
lastName: casual.last_name,
dob: casual.date(),
password,
created_at: casual.moment,
updated_at: casual.moment,
}))


Expand Down
6 changes: 0 additions & 6 deletions sample.env

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
const { createTableIfNotExists } = require('../helpers')

exports.up = async knex => createTableIfNotExists(knex, 'users', table => {
exports.up = async knex => knex.schema.createTable('users', table => {
table
.uuid('id')
.notNullable()
Expand All @@ -12,7 +10,22 @@ exports.up = async knex => createTableIfNotExists(knex, 'users', table => {
.unique()
.notNullable()

table.string('password').notNullable()
table
.string('firstName')
.notNullable()

table
.string('lastName')
.notNullable()

table
.date('dob')
.notNullable()

table
.string('password')
.notNullable()


table.timestamp('createdAt').defaultTo(knex.fn.now())
table.timestamp('updatedAt').defaultTo(knex.fn.now())
Expand Down
27 changes: 27 additions & 0 deletions src/db/migrations/20200121110649_friendships.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@

exports.up = async knex => knex.schema.createTable('friendships', table => {
table
.uuid('id')
.notNullable()
.primary()
.defaultTo(knex.raw('uuid_generate_v4()'))

table
.uuid('requestorId')
.references('users.id')
.notNullable()
.onDelete('CASCADE')
.onUpdate('CASCADE')

table
.uuid('requesteeId')
.references('users.id')
.notNullable()
.onDelete('CASCADE')
.onUpdate('CASCADE')

table
.enum('status', ['ACCEPTED', 'PENDING', 'REQUESTED'])
})

exports.down = async knex => knex.schema.dropTableIfExists('friendships')
24 changes: 24 additions & 0 deletions src/db/migrations/20200121111707_journalEntries.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@

exports.up = async knex => knex.schema.createTable('journalEntries', table => {
table
.uuid('id')
.notNullable()
.primary()
.defaultTo(knex.raw('uuid_generate_v4()'))

table
.uuid('userId')
.references('users.id')
.notNullable()
.onDelete('CASCADE')
.onUpdate('CASCADE')

table
.date('date')
.notNullable()

table
.text('text')
})

exports.down = async knex => knex.schema.dropTableIfExists('journalEntries')
31 changes: 31 additions & 0 deletions src/db/migrations/20200121112352_messages.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

exports.up = async knex => knex.schema.createTable('messages', table => {
table
.uuid('id')
.notNullable()
.primary()
.defaultTo(knex.raw('uuid_generate_v4()'))

table
.uuid('senderId')
.references('users.id')
.notNullable()
.onDelete('CASCADE')
.onUpdate('CASCADE')

table
.uuid('receiverId')
.references('users.id')
.notNullable()
.onDelete('CASCADE')
.onUpdate('CASCADE')

table
.date('dateSent')
.notNullable()

table
.text('content')
})

exports.down = async knex => knex.schema.dropTableIfExists('messages')
4 changes: 4 additions & 0 deletions src/db/seeds/01_friendships.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const friendData = require('../../../data/friendship')

exports.seed = knex => knex('friendships').del()
.then(() => knex('friendships').insert(friendData))
4 changes: 4 additions & 0 deletions src/db/seeds/02_journalEntries.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const journalData = require('../../../data/journalEntry')

exports.seed = knex => knex('journalEntries').del()
.then(() => knex('journalEntries').insert(journalData))
4 changes: 4 additions & 0 deletions src/db/seeds/03_messages.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const messageData = require('../../../data/message')

exports.seed = knex => knex('messages').del()
.then(() => knex('messages').insert(messageData))